diff --git a/epdc-cloud-client-yushan b/epdc-cloud-client-yushan index 25b8883..8988e65 160000 --- a/epdc-cloud-client-yushan +++ b/epdc-cloud-client-yushan @@ -1 +1 @@ -Subproject commit 25b88835bfb861f17fcec918f51e35d1922dbe2d +Subproject commit 8988e6551401ce573c21834f842f0f68ddbd98b2 diff --git a/epdc-cloud-commons-yushan b/epdc-cloud-commons-yushan index ea8dce6..60b469f 160000 --- a/epdc-cloud-commons-yushan +++ b/epdc-cloud-commons-yushan @@ -1 +1 @@ -Subproject commit ea8dce697c0d53096b090c2f13c5a8c6ee0a24e0 +Subproject commit 60b469fb3d9fccb7220f65c3ddbaa412033ecc01 diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInoutRecordDao.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInoutRecordDao.java index 19289c0..202257e 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInoutRecordDao.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/epidemic/dao/EpidemicUserInoutRecordDao.java @@ -24,108 +24,119 @@ import java.util.List; @Mapper public interface EpidemicUserInoutRecordDao extends BaseDao { - /* - * + /** * 根据身份证号,更新身份证 - * @param s 新身份证号 - * @param idCard 旧身份证号 + * + * @param s 新身份证号 + * @param idCard 旧身份证号 + * @return void * @author wk * @date 2021-01-29 13:48 - * @return void */ void updateListByIdCard(@Param("s") String s, @Param("idCard") String idCard); - /* - * + /** * 判断人员出现状态 - * @param idCard 身份证号 + * + * @param idCard 身份证号 + * @return java.lang.Integer * @author wk * @date 2021-01-29 14:45 - * @return java.lang.Integer */ Integer selectByState(@Param("idCard") String idCard); /** - * @describe: 人口类别分析 - * @author wangtong - * @date 2021/3/3 16:31 - * @params [] - * @return java.util.List - */ + * @return java.util.List + * @describe: 人口类别分析 + * @author wangtong + * @date 2021/3/3 16:31 + * @params [] + */ List getPersonCategory(); - /* - * + /** * 查询房屋总数 + * + * @return java.lang.Integer * @author wk * @date 2021-03-03 16:51 - * @return java.lang.Integer */ Integer getHouseNum(); - /* - * + /** * 查询房屋分类请况 + * + * @return java.util.List * @author wk * @date 2021-03-03 17:05 - * @return java.util.List */ List selectHouseType(); - /* - * + /** * 查询房屋种类 + * + * @return java.util.List * @author wk * @date 2021-03-03 17:20 - * @return java.util.List */ List getHouseTypeNames(); - /* - * + /** * 查询所在区域 以及其房屋数量 + * + * @return java.util.Map * @author wk * @date 2021-03-03 17:43 - * @return java.util.Map */ List getHouseNumByArea(); + /** + * @return com.elink.esua.epdc.vaccine.epidemic.dto.ScreenPersonTypeDTO * @describe: 人群类型分布 * @author wangtong * @date 2021/3/3 17:58 * @params [] - * @return com.elink.esua.epdc.vaccine.epidemic.dto.ScreenPersonTypeDTO */ List getPersonType(); /** + * @return com.elink.esua.epdc.commons.tools.utils.Result * @describe: 小区楼宇基本信息 * @author wanggongfeng * @date 2021/3/4 * @params formDTO - * @return com.elink.esua.epdc.commons.tools.utils.Result */ List getResidentialBuildInfoList(ResidentialBuildInfoFormDTO formDTO); Integer getTotal(ResidentialBuildInfoFormDTO formDTO); /** + * @return com.elink.esua.epdc.commons.tools.utils.Result * @describe: 小区楼宇搜索 * @author wanggongfeng * @date 2021/3/4 * @params formDTO - * @return com.elink.esua.epdc.commons.tools.utils.Result */ List getsearchList(BuildSearchFormDTO formDTO); Integer getsearchTotal(BuildSearchFormDTO formDTO); /** - * @describe: 人口区域分布 - * @author wangtong - * @date 2021/3/4 17:52 - * @params [] - * @return java.util.List - */ + * @return java.util.List + * @describe: 人口区域分布 + * @author wangtong + * @date 2021/3/4 17:52 + * @params [] + */ List getPersonArealDistribution(); + + /** + * 查询人员地址信息 + * + * @param idCards + * @return java.util.List + * @author zhy + * @date 2021/5/20 17:37 + */ + List getAddressInfo(@Param("idCards") List idCards); } diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationInfoController.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationInfoController.java index aece98b..0af80e7 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationInfoController.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/controller/VaccinationInfoController.java @@ -84,6 +84,12 @@ public class VaccinationInfoController { ExcelUtils.exportExcelToTarget(response, null, list, VaccinationInfoExcel.class); } + @GetMapping("updateAddress") + public Result updateAddress() { + + return vaccinationInfoService.updateAddress(); + } + /** * @Description: 批量导入 * @Param: [file] diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationInfoDao.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationInfoDao.java index dbad100..80847c3 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationInfoDao.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/dao/VaccinationInfoDao.java @@ -1,7 +1,6 @@ package com.elink.esua.epdc.vaccine.vim.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; -import com.elink.esua.epdc.vaccine.epidemic.entity.EpidemicUserInfoEntity; import com.elink.esua.epdc.vaccine.vim.dto.VaccinationInfoDTO; import com.elink.esua.epdc.vaccine.vim.dto.result.EpdcAppVimInfoResultDTO; import com.elink.esua.epdc.vaccine.vim.entity.VaccinationInfoEntity; @@ -40,6 +39,15 @@ public interface VaccinationInfoDao extends BaseDao { */ List checkVaccination(VaccinationInfoDTO dto); + /** + * 查询地址为空的记录 + * + * @return java.util.List + * @author zhy + * @date 2021/4/22 18:35 + */ + List checkEmptyAddress(); + /** * 覆盖重复剂次 * @@ -50,6 +58,16 @@ public interface VaccinationInfoDao extends BaseDao { */ void deleteDistinctDose(@Param("deleteVaccArr") List deleteVaccArr); + /** + * 更新地址信息 + * + * @param entity + * @return void + * @author zhy + * @date 2021/5/20 17:46 + */ + void updateAddress(VaccinationInfoEntity entity); + /** * 查询实际接种情况 * diff --git a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/VaccinationInfoService.java b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/VaccinationInfoService.java index 25fa597..fc768bc 100644 --- a/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/VaccinationInfoService.java +++ b/epdc-cloud-vim-yushan/src/main/java/com/elink/esua/epdc/vaccine/vim/service/VaccinationInfoService.java @@ -68,6 +68,16 @@ public interface VaccinationInfoService extends CrudService getWrapper(Map params) { @@ -132,6 +136,28 @@ public class VaccinationInfoServiceImpl extends BaseVimCurdServiceImpl entities = baseDao.checkEmptyAddress(); + List allUserIdCards = entities.stream().map(VaccinationInfoEntity::getIdentityNo).collect(Collectors.toList()); + List addressList = epidemicUserInoutRecordDao.getAddressInfo(allUserIdCards); + + entities.forEach(entity -> { + Optional addressOptional = addressList.stream().filter(address -> address.getIdCard().equals(entity.getIdentityNo())).findFirst(); + if (addressOptional.isPresent()) { + entity.setStreet(addressOptional.get().getLiveAddressName()); + entity.setStreetId(addressOptional.get().getLiveAddressCode()); + entity.setCommunity(addressOptional.get().getCommunity()); + entity.setGrid(addressOptional.get().getGridName()); + entity.setVillageName(addressOptional.get().getPlot()); + baseDao.updateAddress(entity); + } + }); + log.info("已更新" + entities.size() + "条记录"); + return new Result(); + } + @Override @Transactional public Result deleteNew(Long[] ids) { @@ -285,12 +311,17 @@ public class VaccinationInfoServiceImpl extends BaseVimCurdServiceImpl idCards = new ArrayList<>(maxDoseMap.keySet()); + List insertUserList = new ArrayList<>(); List updateList = new ArrayList<>(); + List insertErrorList = new ArrayList<>(); + List addressList = new ArrayList<>(); EpidemicUserInfoDTO epidemicUserInfo; String idCard; if (!idCards.isEmpty()) { List existUserList = epidemicUserInfoDao.selectByIdCards(idCards); + addressList = epidemicUserInoutRecordDao.getAddressInfo(idCards); + EpidemicUserInfoDTO updateDto; for (EpidemicUserInfoDTO item : existUserList) { if (null == item) { @@ -318,27 +349,42 @@ public class VaccinationInfoServiceImpl extends BaseVimCurdServiceImpl insertUserList = ConvertUtils.sourceToTarget(addList, VaccinationInfoEntity.class); - insertBatch(insertUserList); + if (!addList.isEmpty()) { + insertUserList = ConvertUtils.sourceToTarget(addList, VaccinationInfoEntity.class); + List finalAddressList = addressList; + insertUserList.forEach(entity -> { + Optional addressOptional = finalAddressList.stream().filter(address -> address.getIdCard().equals(entity.getIdentityNo())).findFirst(); + if (addressOptional.isPresent()) { + entity.setStreet(addressOptional.get().getLiveAddressName()); + entity.setStreetId(addressOptional.get().getLiveAddressCode()); + entity.setCommunity(addressOptional.get().getCommunity()); + entity.setGrid(addressOptional.get().getGridName()); + entity.setVillageName(addressOptional.get().getPlot()); + } + }); + insertBatch(insertUserList); + } // 更新人员的接种信息 for (EpidemicUserInfoDTO dto : updateList) { epidemicUserInfoDao.updateVaccinationInfo(dto); } // 批量插入错误数据 - List insertErrorList = ConvertUtils.sourceToTarget(addErrorList, VaccinationErrorEntity.class); - Integer insertNo = vaccinationErrorDao.getMaxInsertNo(); - for (VaccinationErrorEntity entity : insertErrorList) { - entity.setInsertNo(insertNo); + if (!addErrorList.isEmpty()) { + insertErrorList = ConvertUtils.sourceToTarget(addErrorList, VaccinationErrorEntity.class); + Integer insertNo = vaccinationErrorDao.getMaxInsertNo(); + for (VaccinationErrorEntity entity : insertErrorList) { + entity.setInsertNo(insertNo); + } + vaccinationErrorService.insertBatch(insertErrorList); } - vaccinationErrorService.insertBatch(insertErrorList); + log.info("已删除用户数量:" + deleteIdCardArr.size() + "||已插入接种记录" + insertUserList.size() + "||已更新用户记录:" + updateList.size() + "||错误信息记录:" + insertErrorList.size()); // 提示报错信息 if (CollUtil.isNotEmpty(addErrorList)) { diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInoutRecordDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInoutRecordDao.xml index fac1a19..f3cfef2 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInoutRecordDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/epidemic/EpidemicUserInoutRecordDao.xml @@ -395,6 +395,25 @@ group by d.id - + diff --git a/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml b/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml index d9de20c..fad93b8 100644 --- a/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml +++ b/epdc-cloud-vim-yushan/src/main/resources/mapper/vim/VaccinationInfoDao.xml @@ -3,7 +3,6 @@ - + + - UPDATE vaccination_info - SET DEL_FLAG = '1' - WHERE id in + UPDATE vaccination_info + SET DEL_FLAG = '1' + WHERE id in #{item} + + UPDATE vaccination_info + SET + STREET = #{street}, + STREET_ID = #{streetId}, + COMMUNITY = #{community}, + GRID = #{grid}, + VILLAGE_NAME = #{villageName} + WHERE id = #{id} + +