Browse Source

修复疫苗接种信息导入与人员信息导入的bug

feature/yujt_vim
yujt 4 years ago
parent
commit
6f30f35b46
  1. 2
      epdc-cloud-client-yushan
  2. 2
      epdc-cloud-commons-yushan
  3. 17
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicReportUserInfoServiceImpl.java
  4. 20
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationErrorController.java
  5. 54
      epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationErrorServiceImpl.java
  6. 43
      epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationErrorDao.xml

2
epdc-cloud-client-yushan

@ -1 +1 @@
Subproject commit 8988e6551401ce573c21834f842f0f68ddbd98b2 Subproject commit 25b88835bfb861f17fcec918f51e35d1922dbe2d

2
epdc-cloud-commons-yushan

@ -1 +1 @@
Subproject commit 60b469fb3d9fccb7220f65c3ddbaa412033ecc01 Subproject commit ea8dce697c0d53096b090c2f13c5a8c6ee0a24e0

17
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/service/impl/EpidemicReportUserInfoServiceImpl.java

@ -253,7 +253,6 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
public Result importManualScoreExcel(MultipartFile file) { public Result importManualScoreExcel(MultipartFile file) {
log.info("进入Excel数据导入"); log.info("进入Excel数据导入");
File f = StreamUtils.conversionFile(file); File f = StreamUtils.conversionFile(file);
String checkInfo = "";
try { try {
//判断上传文件类型 //判断上传文件类型
String originalFilename = file.getOriginalFilename(); String originalFilename = file.getOriginalFilename();
@ -266,16 +265,15 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
return new Result().error("导入内容不能为空"); return new Result().error("导入内容不能为空");
} }
// 存储检测excel是否存在重复身份证号使用 // 存储检测excel是否存在重复身份证号使用
List<String> checkIdCardList = new ArrayList<String>(); List<String> checkIdCardList = new ArrayList<>();
// 存储需要逻辑删除的身份证号 // 存储需要逻辑删除的身份证号
List<String> deleteIdCardArr = new ArrayList<String>(); List<String> deleteIdCardArr = new ArrayList<>();
// 存储批量插入实体 // 存储批量插入实体
List<EpidemicReportUserInfoAllExcel> addList = new ArrayList<EpidemicReportUserInfoAllExcel>(); List<EpidemicReportUserInfoAllExcel> addList = new ArrayList<>();
// 存储错误数据批量插入实体 // 存储错误数据批量插入实体
List<EpidemicReportUserInfoAllExcel> addErrorList = new ArrayList<EpidemicReportUserInfoAllExcel>(); List<EpidemicReportUserInfoAllExcel> addErrorList = new ArrayList<>();
log.info("准备进入Excel数据导入循环"); log.info("准备进入Excel数据导入循环");
EpidemicReportUserInfoAllExcel epidemicReportUserInfoAllExcel; EpidemicReportUserInfoAllExcel epidemicReportUserInfoAllExcel;
String idCard; String idCard;
int age; int age;
@ -284,7 +282,6 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
// 校验是否存在空单元格(校验必填) // 校验是否存在空单元格(校验必填)
if (checkNullCell(epidemicReportUserInfoAllExcel)) { if (checkNullCell(epidemicReportUserInfoAllExcel)) {
checkInfo += "第" + (i + 1) + "条、";
epidemicReportUserInfoAllExcel.setErrorInfo("存在空单元格"); epidemicReportUserInfoAllExcel.setErrorInfo("存在空单元格");
addErrorList.add(epidemicReportUserInfoAllExcel); addErrorList.add(epidemicReportUserInfoAllExcel);
continue; continue;
@ -293,7 +290,6 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
idCard = epidemicReportUserInfoAllExcel.getIdCard(); idCard = epidemicReportUserInfoAllExcel.getIdCard();
// 校验excel中身份证号是否存在重复 // 校验excel中身份证号是否存在重复
if (checkIdCardList.contains(idCard)) { if (checkIdCardList.contains(idCard)) {
checkInfo += "第" + (i + 1) + "条、";
epidemicReportUserInfoAllExcel.setErrorInfo("身份证号存在重复"); epidemicReportUserInfoAllExcel.setErrorInfo("身份证号存在重复");
addErrorList.add(epidemicReportUserInfoAllExcel); addErrorList.add(epidemicReportUserInfoAllExcel);
continue; continue;
@ -308,12 +304,10 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
if (StringUtils.isBlank(checkInfoStr)) { if (StringUtils.isBlank(checkInfoStr)) {
epidemicReportUserInfoAllExcel = addressCheckDto.getEpidemicReportUserInfoAllExcel(); epidemicReportUserInfoAllExcel = addressCheckDto.getEpidemicReportUserInfoAllExcel();
} else { } else {
checkInfo += checkInfoStr;
continue; continue;
} }
if (StringUtils.isBlank(idCard) || (idCard.length() != 18 && idCard.length() != 15)) { if (StringUtils.isBlank(idCard) || (idCard.length() != 18 && idCard.length() != 15)) {
checkInfo += "第" + (i + 1) + "条、";
epidemicReportUserInfoAllExcel.setErrorInfo("身份证号不合法"); epidemicReportUserInfoAllExcel.setErrorInfo("身份证号不合法");
addErrorList.add(epidemicReportUserInfoAllExcel); addErrorList.add(epidemicReportUserInfoAllExcel);
continue; continue;
@ -322,6 +316,7 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
age = IdentityNoUtils.getAge(idCard); age = IdentityNoUtils.getAge(idCard);
if (age < 0 || age > 150) { if (age < 0 || age > 150) {
epidemicReportUserInfoAllExcel.setErrorInfo("身份证号年龄异常"); epidemicReportUserInfoAllExcel.setErrorInfo("身份证号年龄异常");
addErrorList.add(epidemicReportUserInfoAllExcel);
continue; continue;
} }
epidemicReportUserInfoAllExcel.setAge(age); epidemicReportUserInfoAllExcel.setAge(age);
@ -359,7 +354,7 @@ public class EpidemicReportUserInfoServiceImpl extends CrudServiceImpl<EpidemicR
epidemicUserErrorService.insertBatch(insertErrorList); epidemicUserErrorService.insertBatch(insertErrorList);
// 提示报错信息 // 提示报错信息
if (checkInfo.length() > 0) { if (CollUtil.isNotEmpty(insertErrorList)) {
return new Result().ok("数据异常,请下载Excel后重新导入!"); return new Result().ok("数据异常,请下载Excel后重新导入!");
} }

20
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationErrorController.java

@ -56,12 +56,6 @@ public class VaccinationErrorController {
return new Result<PageData<VaccinationErrorDTO>>().ok(page); return new Result<PageData<VaccinationErrorDTO>>().ok(page);
} }
// @GetMapping("{id}")
// public Result<VaccinationErrorDTO> get(@PathVariable("id") String id) {
// VaccinationErrorDTO data = vaccinationErrorService.get(id);
// return new Result<VaccinationErrorDTO>().ok(data);
// }
@PostMapping @PostMapping
public Result save(@RequestBody VaccinationErrorDTO dto) { public Result save(@RequestBody VaccinationErrorDTO dto) {
//效验数据 //效验数据
@ -78,14 +72,6 @@ public class VaccinationErrorController {
return new Result(); return new Result();
} }
// @DeleteMapping
// public Result delete(@RequestBody String[] ids) {
// //效验数据
// AssertUtils.isArrayEmpty(ids, "id");
// vaccinationErrorService.delete(ids);
// return new Result();
// }
@GetMapping("export") @GetMapping("export")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<VaccinationErrorDTO> list = vaccinationErrorService.list(params); List<VaccinationErrorDTO> list = vaccinationErrorService.list(params);
@ -94,10 +80,8 @@ public class VaccinationErrorController {
@GetMapping("exportError") @GetMapping("exportError")
@LogOperation("导出") @LogOperation("导出")
public void exportError(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception { public void exportError(HttpServletResponse response) throws Exception {
List<VaccinationErrorDTO> list = vaccinationErrorService.getErrorInfoByMax(); ExcelUtils.exportExcelToTarget(response, null, vaccinationErrorService.getErrorInfoByMax(), VaccinationInfoAllExcel.class);
ExcelUtils.exportExcelToTarget(response, null, list, VaccinationInfoAllExcel.class);
} }
} }

54
epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/impl/VaccinationErrorServiceImpl.java

@ -51,61 +51,9 @@ public class VaccinationErrorServiceImpl extends BaseVimCurdServiceImpl<Vaccinat
wrapper.like(StringUtils.isNotBlank(mobile), "MOBILE", mobile); wrapper.like(StringUtils.isNotBlank(mobile), "MOBILE", mobile);
return wrapper; return wrapper;
} }
// @Override
// public PageData<VaccinationErrorDTO> page(Map<String, Object> params) {
// IPage<VaccinationErrorEntity> page = baseDao.selectPage(
// getPage(params, FieldConstant.CREATED_TIME, false),
// getWrapper(params)
// );
// return getPageData(page, VaccinationErrorDTO.class);
// }
//
// @Override
// public List<VaccinationErrorDTO> list(Map<String, Object> params) {
// List<VaccinationErrorEntity> entityList = baseDao.selectList(getWrapper(params));
//
// return ConvertUtils.sourceToTarget(entityList, VaccinationErrorDTO.class);
// }
//
// public QueryWrapper<VaccinationErrorEntity> getWrapper(Map<String, Object> params) {
// String id = (String) params.get(FieldConstant.ID_HUMP);
//
// QueryWrapper<VaccinationErrorEntity> wrapper = new QueryWrapper<>();
// wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id);
//
// return wrapper;
// }
//
// @Override
// public VaccinationErrorDTO get(String id) {
// VaccinationErrorEntity entity = baseDao.selectById(id);
// return ConvertUtils.sourceToTarget(entity, VaccinationErrorDTO.class);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void save(VaccinationErrorDTO dto) {
// VaccinationErrorEntity entity = ConvertUtils.sourceToTarget(dto, VaccinationErrorEntity.class);
// insert(entity);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void update(VaccinationErrorDTO dto) {
// VaccinationErrorEntity entity = ConvertUtils.sourceToTarget(dto, VaccinationErrorEntity.class);
// updateById(entity);
// }
//
// @Override
// @Transactional(rollbackFor = Exception.class)
// public void delete(String[] ids) {
// // 逻辑删除(@TableLogic 注解)
// baseDao.deleteBatchIds(Arrays.asList(ids));
// }
@Override @Override
public List<VaccinationErrorDTO> getErrorInfoByMax() { public List<VaccinationErrorDTO> getErrorInfoByMax() {
List<VaccinationErrorDTO> list = baseDao.getErrorInfoByMax(SecurityUser.getUserId().toString()); return baseDao.getErrorInfoByMax(SecurityUser.getUserId().toString());
return list;
} }
} }

43
epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationErrorDao.xml

@ -3,36 +3,6 @@
<mapper namespace="com.elink.esua.epdc.vaccine.vim.dao.VaccinationErrorDao"> <mapper namespace="com.elink.esua.epdc.vaccine.vim.dao.VaccinationErrorDao">
<resultMap type="com.elink.esua.epdc.vaccine.vim.dto.VaccinationErrorDTO" id="vaccinationErrorMap">
<result property="id" column="ID"/>
<result property="realName" column="REAL_NAME"/>
<result property="identityNo" column="IDENTITY_NO"/>
<result property="mobile" column="MOBILE"/>
<result property="sex" column="SEX"/>
<result property="county" column="COUNTY"/>
<result property="street" column="STREET"/>
<result property="streetId" column="STREET_ID"/>
<result property="community" column="COMMUNITY"/>
<result property="grid" column="GRID"/>
<result property="villageName" column="VILLAGE_NAME"/>
<result property="dwellingPlace" column="DWELLING_PLACE"/>
<result property="vaccinationTime" column="VACCINATION_TIME"/>
<result property="age" column="AGE"/>
<result property="dose" column="DOSE"/>
<result property="vaccineId" column="VACCINE_ID"/>
<result property="companyId" column="COMPANY_ID"/>
<result property="siteId" column="SITE_ID"/>
<result property="batchNo" column="BATCH_NO"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="errorInfo" column="ERROR_INFO"/>
<result property="insertNo" column="INSERT_NO"/>
</resultMap>
<select id="getMaxInsertNo" resultType="java.lang.Integer"> <select id="getMaxInsertNo" resultType="java.lang.Integer">
select (IFNULL(MAX(ee.INSERT_NO),0) + 1) as insertNo from vaccination_error ee where ee.DEL_FLAG = 0 select (IFNULL(MAX(ee.INSERT_NO),0) + 1) as insertNo from vaccination_error ee where ee.DEL_FLAG = 0
</select> </select>
@ -54,24 +24,13 @@
e.BATCH_NO, e.BATCH_NO,
e.ERROR_INFO, e.ERROR_INFO,
IFNULL( IFNULL(
vt.VACCINE_NAME,
e.VACCINE_NAME
) AS VACCINE_NAME,
IFNULL(
vc.COMPANY_NAME, vc.COMPANY_NAME,
e.COMPANY_NAME e.COMPANY_NAME
) AS COMPANY_NAME, ) AS COMPANY_NAME,
IFNULL(vs.SITE_NAME, e.SITE_NAME) AS SITE_NAME, IFNULL(vs.SITE_NAME, e.SITE_NAME) AS SITE_NAME,
CASE e.sex
WHEN e.sex = 0 THEN
'男'
WHEN e.sex = 1 THEN
'女'
END AS sex
FROM FROM
vaccination_error e vaccination_error e
LEFT JOIN vaccine_type vt ON vt.id = e.VACCINE_ID
AND vt.DEL_FLAG = '0'
LEFT JOIN vaccine_company vc ON vc.id = e.COMPANY_ID LEFT JOIN vaccine_company vc ON vc.id = e.COMPANY_ID
AND vc.DEL_FLAG = '0' AND vc.DEL_FLAG = '0'
LEFT JOIN vaccination_site vs ON vs.id = e.SITE_ID LEFT JOIN vaccination_site vs ON vs.id = e.SITE_ID

Loading…
Cancel
Save