forked from rongchao/epmet-cloud-rizhao
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
6.9 KiB
177 lines
6.9 KiB
package com.epmet.controller;
|
|
|
|
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
|
|
import com.epmet.commons.tools.annotation.LoginUser;
|
|
import com.epmet.commons.tools.aop.NoRepeatSubmit;
|
|
import com.epmet.commons.tools.dto.form.PageFormDTO;
|
|
import com.epmet.commons.tools.exception.EpmetException;
|
|
import com.epmet.commons.tools.page.PageData;
|
|
import com.epmet.commons.tools.security.dto.TokenDto;
|
|
import com.epmet.commons.tools.utils.ExcelPoiUtils;
|
|
import com.epmet.commons.tools.utils.ExcelUtils;
|
|
import com.epmet.commons.tools.utils.Result;
|
|
import com.epmet.commons.tools.validator.AssertUtils;
|
|
import com.epmet.commons.tools.validator.ValidatorUtils;
|
|
import com.epmet.commons.tools.validator.group.AddGroup;
|
|
import com.epmet.commons.tools.validator.group.UpdateGroup;
|
|
import com.epmet.commons.tools.validator.group.DefaultGroup;
|
|
import com.epmet.constants.ImportTaskConstants;
|
|
import com.epmet.dao.IcVaccinePrarmeterDao;
|
|
import com.epmet.dto.IcPointNucleicMonitoringDTO;
|
|
import com.epmet.dto.IcVaccinePrarmeterDTO;
|
|
import com.epmet.dto.form.ImportTaskCommonFormDTO;
|
|
import com.epmet.dto.form.PointHSYMFormDTO;
|
|
import com.epmet.dto.form.VaccinePrarmeterListFormDTO;
|
|
import com.epmet.dto.result.ImportTaskCommonResultDTO;
|
|
import com.epmet.excel.IcPointNucleicMonitoringExcel;
|
|
import com.epmet.excel.IcVaccinePrarmeterExcel;
|
|
import com.epmet.feign.EpmetCommonServiceOpenFeignClient;
|
|
import com.epmet.service.IcPointNucleicMonitoringService;
|
|
import com.epmet.service.IcVaccinePrarmeterService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.apache.commons.io.FilenameUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.io.InputStream;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
* 新冠病毒疫苗接种人员信息台账
|
|
*
|
|
* @author generator generator@elink-cn.com
|
|
* @since v1.0.0 2022-08-22
|
|
*/
|
|
@RestController
|
|
@RequestMapping("icVaccinePrarmeter")
|
|
@Slf4j
|
|
public class IcVaccinePrarmeterController {
|
|
|
|
@Autowired
|
|
private IcVaccinePrarmeterService icVaccinePrarmeterService;
|
|
|
|
@Autowired
|
|
private IcVaccinePrarmeterDao icVaccinePrarmeterDao;
|
|
|
|
@Autowired
|
|
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient;
|
|
|
|
@RequestMapping("page")
|
|
public Result<PageData<IcVaccinePrarmeterDTO>> page(@RequestParam Map<String, Object> params){
|
|
PageData<IcVaccinePrarmeterDTO> page = icVaccinePrarmeterService.page(params);
|
|
return new Result<PageData<IcVaccinePrarmeterDTO>>().ok(page);
|
|
}
|
|
|
|
@RequestMapping(value = "{id}",method = {RequestMethod.POST,RequestMethod.GET})
|
|
public Result<IcVaccinePrarmeterDTO> get(@PathVariable("id") String id){
|
|
IcVaccinePrarmeterDTO data = icVaccinePrarmeterService.get(id);
|
|
return new Result<IcVaccinePrarmeterDTO>().ok(data);
|
|
}
|
|
|
|
@NoRepeatSubmit
|
|
@PostMapping("save")
|
|
public Result save(@RequestBody IcVaccinePrarmeterDTO dto){
|
|
//效验数据
|
|
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
|
|
icVaccinePrarmeterService.save(dto);
|
|
return new Result();
|
|
}
|
|
|
|
@NoRepeatSubmit
|
|
@PutMapping("update")
|
|
public Result update(@RequestBody IcVaccinePrarmeterDTO dto){
|
|
//效验数据
|
|
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
|
|
icVaccinePrarmeterService.update(dto);
|
|
return new Result();
|
|
}
|
|
|
|
@PostMapping("delete")
|
|
public Result delete(@RequestBody String[] ids){
|
|
//效验数据
|
|
AssertUtils.isArrayEmpty(ids, "id");
|
|
icVaccinePrarmeterService.delete(ids);
|
|
return new Result();
|
|
}
|
|
|
|
@GetMapping("export")
|
|
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
|
|
List<IcVaccinePrarmeterDTO> list = icVaccinePrarmeterService.list(params);
|
|
ExcelUtils.exportExcelToTarget(response, null, list, IcVaccinePrarmeterExcel.class);
|
|
}
|
|
|
|
/**
|
|
* Desc: 【新冠病毒疫苗接种人员信息台账】导出
|
|
* @param response
|
|
* @param formDTO
|
|
* @param tokenDto
|
|
* @author wgf
|
|
* @date 2022/6/24 13:57
|
|
*/
|
|
@PostMapping("vaccine-export")
|
|
public void vaccineExport(HttpServletResponse response, @RequestBody VaccinePrarmeterListFormDTO formDTO, @LoginUser TokenDto tokenDto) throws Exception {
|
|
ValidatorUtils.validateEntity(formDTO, PageFormDTO.AddUserInternalGroup.class);
|
|
List<IcVaccinePrarmeterDTO> list = icVaccinePrarmeterDao.vaccineExport(formDTO);
|
|
ExcelUtils.exportExcelToTarget(response, null, list, IcVaccinePrarmeterExcel.class);
|
|
|
|
}
|
|
|
|
/**
|
|
* 导出模板
|
|
* @param response
|
|
* @throws Exception
|
|
*/
|
|
@PostMapping("exporttemplate")
|
|
public void exportTemplate( HttpServletResponse response) throws Exception {
|
|
TemplateExportParams templatePath = new TemplateExportParams("excel/ic_vaccine_prarmeter_excel.xls");
|
|
ExcelPoiUtils.exportExcel(templatePath ,new HashMap<>(),"新冠病毒疫苗接种人员信息台账",response);
|
|
}
|
|
|
|
/**
|
|
* Desc: 【新冠病毒疫苗接种人员信息台账】导入
|
|
* @param
|
|
* @author wgf
|
|
* @date 2022/8/22 13:40
|
|
*/
|
|
@PostMapping("importFile")
|
|
public Result importFile(@LoginUser TokenDto tokenDto, @RequestParam("file") MultipartFile file){
|
|
if (file.isEmpty()) {
|
|
throw new EpmetException("请上传文件");
|
|
}
|
|
// 校验文件类型
|
|
String extension = FilenameUtils.getExtension(file.getOriginalFilename());
|
|
if (!"xls".equals(extension) && !"xlsx".equals(extension)) {
|
|
throw new EpmetException("文件类型不匹配");
|
|
}
|
|
|
|
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO();
|
|
importTaskForm.setOriginFileName(file.getOriginalFilename());
|
|
importTaskForm.setOperatorId(tokenDto.getUserId());
|
|
importTaskForm.setBizType(ImportTaskConstants.IC_VACCINE_PRARMETER);
|
|
Result<ImportTaskCommonResultDTO> result = commonServiceOpenFeignClient.createImportTask(importTaskForm);
|
|
if (!result.success()) {
|
|
throw new EpmetException(9999,"存在进行中的导入");
|
|
}
|
|
InputStream inputStream = null;
|
|
try {
|
|
inputStream = file.getInputStream();
|
|
}catch (Exception e){
|
|
ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO();
|
|
input.setOperatorId(tokenDto.getUserId());
|
|
input.setTaskId(result.getData().getTaskId());
|
|
input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL);
|
|
commonServiceOpenFeignClient.finishImportTask(input);
|
|
log.error("读取文件失败");
|
|
}
|
|
icVaccinePrarmeterService.importFile(tokenDto,inputStream,result.getData().getTaskId());
|
|
return new Result();
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|