|
@ -63,37 +63,6 @@ public class IcVaccineController implements ResultDataResolver { |
|
|
@Autowired |
|
|
@Autowired |
|
|
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; |
|
|
private EpmetCommonServiceOpenFeignClient commonServiceOpenFeignClient; |
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 记录一下核酸记录模块的业务程序逻辑,防止后续理不清 ic_nat:基础信息表 ic_nat_relation:关系表 |
|
|
|
|
|
* 1.数字平台导入时,按身份证检测时间查询数据,查到数据不是导入的状态则记录下并跳过,是导入数据更新结果,未查到直接新增 |
|
|
|
|
|
* 是否居民以及userId值查询数据平台居民,能查到就相应的赋值; |
|
|
|
|
|
* 2.居民端录入可以录自己的或别人的,但是数据属于当前录入的组织; |
|
|
|
|
|
* 3.数据平台录入可以为已有居民录入也可以录新数据,新数据则是否居民和userId无值; |
|
|
|
|
|
* 4.导入数据不允许修改删除,录入数据可以修改删除,删除时相应的删除基础表和可能存在的所有关心表数据, |
|
|
|
|
|
* 数据同步可多次重复,只是修改对应的关系表数据,基础信息表数据公用; |
|
|
|
|
|
* 5.同一条数据被A街道和A社区都同步了,街道在看本辖区数据时会看到两条,但是只有A街道的那一条才能看到取消同步按钮; |
|
|
|
|
|
* 6.数据库一个人一个检测时间只存在一条记录,以导入数据结果为准,已导入的各项值都不能修改,即使错误也只能通过导入修改; |
|
|
|
|
|
* 7.新增、删除居民时会相应的修改基础信息表是否居民以及userId的值; |
|
|
|
|
|
* 注:1.导入数据不允许修改是觉得导入数据是官方提供的且没有问题的数据,不需要在平台有维护操作,只要看就可以了; |
|
|
|
|
|
* 2.是否居民的查询条件以及是否居民的列标题在看整个客户列表数据时这两个都隐藏 |
|
|
|
|
|
* |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Author sun |
|
|
|
|
|
* @Description 核酸检测-上报核酸记录 |
|
|
|
|
|
**/ |
|
|
|
|
|
//@NoRepeatSubmit
|
|
|
|
|
|
@PostMapping("add") |
|
|
|
|
|
public Result add(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { |
|
|
|
|
|
ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Nat.class); |
|
|
|
|
|
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|
|
|
|
|
formDTO.setStaffId(tokenDto.getUserId()); |
|
|
|
|
|
icVaccineService.add(formDTO); |
|
|
|
|
|
return new Result(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @Author sun |
|
|
* @Author sun |
|
|
* @Description 【核酸】核酸检测信息列表 |
|
|
* @Description 【核酸】核酸检测信息列表 |
|
@ -117,32 +86,6 @@ public class IcVaccineController implements ResultDataResolver { |
|
|
return new Result<IcNatDTO>().ok(icVaccineService.detail(formDTO)); |
|
|
return new Result<IcNatDTO>().ok(icVaccineService.detail(formDTO)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Author sun |
|
|
|
|
|
* @Description 【核酸】核酸检测信息修改 |
|
|
|
|
|
**/ |
|
|
|
|
|
@NoRepeatSubmit |
|
|
|
|
|
@PostMapping("edit") |
|
|
|
|
|
public Result edit(@LoginUser TokenDto tokenDto, @RequestBody AddIcNatFormDTO formDTO) { |
|
|
|
|
|
ValidatorUtils.validateEntity(formDTO, AddIcNatFormDTO.Edit.class); |
|
|
|
|
|
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|
|
|
|
|
formDTO.setStaffId(tokenDto.getUserId()); |
|
|
|
|
|
icVaccineService.edit(formDTO); |
|
|
|
|
|
return new Result(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* @Author sun |
|
|
|
|
|
* @Description 【核酸】核酸检测信息删除/取消同步 |
|
|
|
|
|
**/ |
|
|
|
|
|
@NoRepeatSubmit |
|
|
|
|
|
@PostMapping("del") |
|
|
|
|
|
public Result del(@RequestBody VaccineListFormDTO formDTO) { |
|
|
|
|
|
ValidatorUtils.validateEntity(formDTO, VaccineListFormDTO.Del.class); |
|
|
|
|
|
icVaccineService.del(formDTO); |
|
|
|
|
|
return new Result<>(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @Author sun |
|
|
* @Author sun |
|
|
* @Description 【核酸】核酸检测信息同步 |
|
|
* @Description 【核酸】核酸检测信息同步 |
|
@ -185,11 +128,11 @@ public class IcVaccineController implements ResultDataResolver { |
|
|
|
|
|
|
|
|
Path fileSavePath; |
|
|
Path fileSavePath; |
|
|
try { |
|
|
try { |
|
|
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import"); |
|
|
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import"); |
|
|
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); |
|
|
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName)); |
|
|
} catch (IOException e) { |
|
|
} catch (IOException e) { |
|
|
String errorMsg = ExceptionUtils.getErrorStackTrace(e); |
|
|
String errorMsg = ExceptionUtils.getErrorStackTrace(e); |
|
|
log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg); |
|
|
log.error("【疫苗接种导入】创建临时存储文件失败:{}", errorMsg); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -210,14 +153,14 @@ public class IcVaccineController implements ResultDataResolver { |
|
|
// 2.生成导入任务记录
|
|
|
// 2.生成导入任务记录
|
|
|
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); |
|
|
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); |
|
|
importTaskForm.setOperatorId(userId); |
|
|
importTaskForm.setOperatorId(userId); |
|
|
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT); |
|
|
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE); |
|
|
importTaskForm.setOriginFileName(originalFilename); |
|
|
importTaskForm.setOriginFileName(originalFilename); |
|
|
|
|
|
|
|
|
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), |
|
|
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm), |
|
|
ServiceConstant.EPMET_COMMON_SERVICE, |
|
|
ServiceConstant.EPMET_COMMON_SERVICE, |
|
|
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), |
|
|
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), |
|
|
"excel导入核酸检测信息错误", |
|
|
"excel导入疫苗接种信息错误", |
|
|
"导入居民核酸检测信息失败"); |
|
|
"导入居民疫苗接种信息失败"); |
|
|
|
|
|
|
|
|
// 3.执行导入
|
|
|
// 3.执行导入
|
|
|
icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); |
|
|
icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId()); |
|
@ -226,18 +169,17 @@ public class IcVaccineController implements ResultDataResolver { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* @Author sun |
|
|
* @Author zxc |
|
|
* @Description 【核酸】核酸检测信息下载模板 |
|
|
* @Description 【疫苗】疫苗接种信息下载模板 |
|
|
**/ |
|
|
**/ |
|
|
@RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) |
|
|
@RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST}) |
|
|
public void downloadTemplate(HttpServletResponse response) throws IOException { |
|
|
public void downloadTemplate(HttpServletResponse response) throws IOException { |
|
|
response.setCharacterEncoding("UTF-8"); |
|
|
response.setCharacterEncoding("UTF-8"); |
|
|
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); |
|
|
response.addHeader(HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS, "Content-Disposition"); |
|
|
//response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.ms-excel");
|
|
|
|
|
|
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
|
|
response.setHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); |
|
|
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); |
|
|
response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("社区自组织导入模板", "UTF-8") + ".xlsx"); |
|
|
|
|
|
|
|
|
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_nat.xlsx"); |
|
|
InputStream is = this.getClass().getClassLoader().getResourceAsStream("excel/ic_vaccine.xlsx"); |
|
|
try { |
|
|
try { |
|
|
ServletOutputStream os = response.getOutputStream(); |
|
|
ServletOutputStream os = response.getOutputStream(); |
|
|
IOUtils.copy(is, os); |
|
|
IOUtils.copy(is, os); |
|
@ -258,12 +200,7 @@ public class IcVaccineController implements ResultDataResolver { |
|
|
public void export(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO, HttpServletResponse response) { |
|
|
public void export(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO, HttpServletResponse response) { |
|
|
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|
|
formDTO.setCustomerId(tokenDto.getCustomerId()); |
|
|
formDTO.setUserId(tokenDto.getUserId()); |
|
|
formDTO.setUserId(tokenDto.getUserId()); |
|
|
|
|
|
|
|
|
//formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
|
|
|
|
|
|
//formDTO.setUserId("73ae6280e46a6653a5605d51d5462725");
|
|
|
|
|
|
|
|
|
|
|
|
formDTO.setIsPage(false); |
|
|
formDTO.setIsPage(false); |
|
|
|
|
|
|
|
|
ExcelWriter excelWriter = null; |
|
|
ExcelWriter excelWriter = null; |
|
|
formDTO.setPageSize(NumConstant.TEN_THOUSAND); |
|
|
formDTO.setPageSize(NumConstant.TEN_THOUSAND); |
|
|
int pageNo = formDTO.getPageNo(); |
|
|
int pageNo = formDTO.getPageNo(); |
|
|