zxc 3 years ago
parent
commit
51c42f23b9
  1. 1
      epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java
  2. 79
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java
  3. 1
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java

1
epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/constants/ImportTaskConstants.java

@ -22,6 +22,7 @@ public interface ImportTaskConstants {
* 核酸检测
*/
String BIZ_TYPE_IC_NAT = "ic_nat";
String BIZ_TYPE_IC_VACCINE = "ic_vaccine";
/**
* 行程上报
*/

79
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java

@ -63,37 +63,6 @@ public class IcVaccineController implements ResultDataResolver {
@Autowired
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
* @Description 核酸核酸检测信息列表
@ -117,32 +86,6 @@ public class IcVaccineController implements ResultDataResolver {
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
* @Description 核酸核酸检测信息同步
@ -185,11 +128,11 @@ public class IcVaccineController implements ResultDataResolver {
Path fileSavePath;
try {
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_nat", "import");
Path importPath = FileUtils.getAndCreateDirUnderEpmetFilesDir("ic_vaccine", "import");
fileSavePath = importPath.resolve(UUID.randomUUID().toString().concat(extName));
} catch (IOException e) {
String errorMsg = ExceptionUtils.getErrorStackTrace(e);
log.error("【核酸检测导入】创建临时存储文件失败:{}", errorMsg);
log.error("【疫苗接种导入】创建临时存储文件失败:{}", errorMsg);
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "文件上传失败", "文件上传失败");
}
@ -210,14 +153,14 @@ public class IcVaccineController implements ResultDataResolver {
// 2.生成导入任务记录
ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO();
importTaskForm.setOperatorId(userId);
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_NAT);
importTaskForm.setBizType(ImportTaskConstants.BIZ_TYPE_IC_VACCINE);
importTaskForm.setOriginFileName(originalFilename);
ImportTaskCommonResultDTO rstData = getResultDataOrThrowsException(commonServiceOpenFeignClient.createImportTask(importTaskForm),
ServiceConstant.EPMET_COMMON_SERVICE,
EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),
"excel导入核酸检测信息错误",
"导入居民核酸检测信息失败");
"excel导入疫苗接种信息错误",
"导入居民疫苗接种信息失败");
// 3.执行导入
icVaccineService.execAsyncExcelImport(fileSavePath, rstData.getTaskId());
@ -226,18 +169,17 @@ public class IcVaccineController implements ResultDataResolver {
}
/**
* @Author sun
* @Description 核酸核酸检测信息下载模板
* @Author zxc
* @Description 疫苗疫苗接种信息下载模板
**/
@RequestMapping(value = "import-template-download", method = {RequestMethod.GET, RequestMethod.POST})
public void downloadTemplate(HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
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_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 {
ServletOutputStream os = response.getOutputStream();
IOUtils.copy(is, os);
@ -258,12 +200,7 @@ public class IcVaccineController implements ResultDataResolver {
public void export(@LoginUser TokenDto tokenDto, @RequestBody VaccineListFormDTO formDTO, HttpServletResponse response) {
formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId());
//formDTO.setCustomerId("45687aa479955f9d06204d415238f7cc");
//formDTO.setUserId("73ae6280e46a6653a5605d51d5462725");
formDTO.setIsPage(false);
ExcelWriter excelWriter = null;
formDTO.setPageSize(NumConstant.TEN_THOUSAND);
int pageNo = formDTO.getPageNo();

1
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccineServiceImpl.java

@ -311,7 +311,6 @@ public class IcVaccineServiceImpl extends BaseServiceImpl<IcVaccineDao, IcVaccin
@Override
public void execAsyncExcelImport(Path filePath, String importTaskId) {
String userId = null;
try {
userId = EpmetRequestHolder.getHeader(AppClientConstant.USER_ID);
String app = EpmetRequestHolder.getHeader(AppClientConstant.APP);

Loading…
Cancel
Save