From 15b7d4006f1baf8422b4c16a6ecd9fbeb921efd0 Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Thu, 25 Aug 2022 17:14:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=86=A0=E7=97=85=E6=AF=92=E7=96=AB?= =?UTF-8?q?=E8=8B=97=E6=8E=A5=E7=A7=8D=E4=BA=BA=E5=91=98=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8F=B0=E8=B4=A6---=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dao/IcVaccineDao.java | 8 + .../com/epmet/dao/IcVaccineRelationDao.java | 6 +- .../impl/IcVaccinePrarmeterServiceImpl.java | 156 ++++++++++++++++-- .../excel/ic_vaccine_prarmeter_excel.xls | Bin 19968 -> 19968 bytes .../main/resources/mapper/IcVaccineDao.xml | 9 + .../resources/mapper/IcVaccineRelationDao.xml | 7 +- 6 files changed, 172 insertions(+), 14 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java index d4db61ad5b..55b4591be3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineDao.java @@ -64,4 +64,12 @@ public interface IcVaccineDao extends BaseDao { IcVaccineDTO getVaccineDTO(@Param("customerId") String customerId, @Param("icVaccineId") String icVaccineId, @Param("idCard") String idCard, @Param("inoculateTime") String inoculateTime); + /** + * 根据身份证号以及接种时间查询接种信息 + * @param idCard + * @param time + * @return + */ + List getVaccineListByIdCard(@Param("idCard") String idCard,@Param("time") String time); + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java index 60d80b3f61..6d087a1055 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcVaccineRelationDao.java @@ -14,4 +14,8 @@ import org.apache.ibatis.annotations.Param; @Mapper public interface IcVaccineRelationDao extends BaseDao { int delRelation(@Param("icVaccineId") String icNatId, @Param("agencyId") String agencyId); -} \ No newline at end of file + + void updateRelationInfoByVaccineId(IcVaccineRelationEntity icVaccineRelationEntity); + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java index 83cb4a4f29..6c68f85c19 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcVaccinePrarmeterServiceImpl.java @@ -22,16 +22,15 @@ import com.epmet.commons.tools.utils.ExcelPoiUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcResiUserDao; +import com.epmet.dao.IcVaccineDao; import com.epmet.dao.IcVaccinePrarmeterDao; +import com.epmet.dao.IcVaccineRelationDao; import com.epmet.dto.IcVaccinePrarmeterDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.GridInfoByNameResultDTO; import com.epmet.dto.result.IcHouseInfoCollectResultDTO; import com.epmet.dto.result.UploadImgResultDTO; -import com.epmet.entity.IcResiCollectEntity; -import com.epmet.entity.IcResiUserEntity; -import com.epmet.entity.IcUserChangeRecordEntity; -import com.epmet.entity.IcVaccinePrarmeterEntity; +import com.epmet.entity.*; import com.epmet.excel.IcVaccinePrarmeterImportExcel; import com.epmet.excel.error.IcVaccinePrarmeterImportErrorModel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; @@ -40,6 +39,7 @@ import com.epmet.feign.OssFeignClient; import com.epmet.redis.IcVaccinePrarmeterRedis; import com.epmet.service.IcUserChangeRecordService; import com.epmet.service.IcVaccinePrarmeterService; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.fileupload.FileItem; @@ -57,6 +57,7 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.text.SimpleDateFormat; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -89,6 +90,12 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -447,31 +454,31 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl userMap = queryOriginUserByHomeId(icResiCollectEntity.getHomeId(),icResiCollectEntity.getCustomerId()); if(userIdCardEntity != null){ + icResiUserId = userIdCardEntity.getId(); // 已存在人员 if(userMap.containsKey(icResiCollectEntity.getIdCard())){ // 人员房屋一致(只更新人员信息) @@ -482,12 +489,135 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl icVaccineEntityFirstList = icVaccineDao.getVaccineListByIdCard(icResiCollectEntity.getIdCard(),sdf.format(firstDate)); + if(icVaccineEntityFirstList.size() > 0){ + // 更新疫苗接种记录 and 疫苗接种记录关系 + for(IcVaccineEntity entity : icVaccineEntityFirstList){ + updateVaccineInfo(entity,icResiCollectEntity); + + } + + }else{ + // 新增疫苗接种记录 and 疫苗接种记录关系 + insertVaccineInfo(icResiCollectEntity,icResiUserId,firstDate); + + } + + // 查询第二次接种信息 + List icVaccineEntitySecondList = icVaccineDao.getVaccineListByIdCard(icResiCollectEntity.getIdCard(),sdf.format(secondDate)); + if(icVaccineEntitySecondList.size() > 0){ + // 更新疫苗接种记录 and 疫苗接种记录关系 + for(IcVaccineEntity entity : icVaccineEntitySecondList){ + updateVaccineInfo(entity,icResiCollectEntity); + + } + + }else{ + // 新增疫苗接种记录 and 疫苗接种记录关系 + insertVaccineInfo(icResiCollectEntity,icResiUserId,firstDate); + + } + + // 查询第三次接种信息 + List icVaccineEntityThirdList = icVaccineDao.getVaccineListByIdCard(icResiCollectEntity.getIdCard(),sdf.format(thirdDate)); + if(icVaccineEntityThirdList.size() > 0){ + // 更新疫苗接种记录 and 疫苗接种记录关系 + for(IcVaccineEntity entity : icVaccineEntityThirdList){ + updateVaccineInfo(entity,icResiCollectEntity); + + } + + }else{ + // 新增疫苗接种记录 and 疫苗接种记录关系 + insertVaccineInfo(icResiCollectEntity,icResiUserId,firstDate); + + } + } + + /** + * 更新疫苗接种记录 and 疫苗接种记录关系 + * @param entity + * @param icResiCollectEntity + */ + private void updateVaccineInfo(IcVaccineEntity entity,IcVaccinePrarmeterEntity icResiCollectEntity){ + // 更新疫苗接种记录 + entity.setInoculateAddress(icResiCollectEntity.getFirstVacSite()); + entity.setUserType("prarmeter"); + entity.setCustomerId(icResiCollectEntity.getCustomerId()); + icVaccineDao.updateById(entity); + + // 更新疫苗接种记录关系 + IcVaccineRelationEntity icVaccineRelationEntity = new IcVaccineRelationEntity(); + icVaccineRelationEntity.setIcVaccineId(entity.getId()); + icVaccineRelationEntity.setUserType("prarmeter"); + icVaccineRelationEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + icVaccineRelationDao.updateRelationInfoByVaccineId(icVaccineRelationEntity); + + } + + /** + * 新增疫苗接种记录 and 疫苗接种记录关系 + * @param icResiCollectEntity + * @param icResiUserId + * @param time + */ + private void insertVaccineInfo(IcVaccinePrarmeterEntity icResiCollectEntity,String icResiUserId,Date time){ + IcVaccineEntity icVaccineEntity = new IcVaccineEntity(); + icVaccineEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + icVaccineEntity.setName(icResiCollectEntity.getName()); + icVaccineEntity.setMobile(icResiCollectEntity.getMobile()); + icVaccineEntity.setIdCard(icResiCollectEntity.getIdCard()); + icVaccineEntity.setIsResiUser("1"); + icVaccineEntity.setUserType("prarmeter"); + icVaccineEntity.setUserId(icResiUserId); + icVaccineEntity.setInoculateTime(time); + icVaccineEntity.setInoculateAddress(icResiCollectEntity.getFirstVacSite()); + icVaccineDao.insert(icVaccineEntity); + + // 新增关系 + IcVaccineRelationEntity icVaccineRelationEntity = new IcVaccineRelationEntity(); + icVaccineRelationEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + icVaccineRelationEntity.setAgencyId(icResiCollectEntity.getAgencyId()); + icVaccineRelationEntity.setPids(icResiCollectEntity.getPids()); + icVaccineRelationEntity.setIcVaccineId(icVaccineEntity.getId()); + icVaccineRelationEntity.setUserType("prarmeter"); + icVaccineRelationDao.insert(icVaccineRelationEntity); + } + /** * 更新新冠病毒疫苗接种人员信息台账表房屋ID * @param icResiCollectEntity @@ -601,7 +731,7 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl3ZHAIrZ$6AzHG=Rk;+`?3HuM@5W#2+Px{$$=J9~id`Ia2M_Up{TXiHHMiSp%Kapj zpUDqrau)C)!E!_FTQ!}`$%n-=ap&KxS1=JRL$lOZ^l;fHqR_BM+yA-`|AHPMxS)sf zZa&G1qJclC@T-t=oRcPLLqnt?Ll&vHuzs9PD(A zMn8>9SJ!ABHP4Vw%{LTK3k-$SLPJ#&A9qk%M2bjXSYWj{Ddc3~`c&9Utr*6Yw^N+D zysv8iehGBh@+*tqE!j&q_giDSG^Ia(Jjz=6<<+ttWujiT-`y^k$6d}!uC1*~XYG@N Odv71N5AyW(q4gIUifv{9 delta 777 zcmX|Wq|#7ZM-?lfoO5prN5UMF0mCx|GB*jOckij_qM zMI^-u7IuCtTxsqKOA9MOtSoHwaIq6S}~Tm!7}a@*#9v9Wmf+>ZeKL2 zbB`J{!%=IvhO2z;;20jDg36Np)M&5$zy%b6pes>uf_V`+AVHz|s>$n8PS-hPgIU5o z#gy(ydGN5U&Qc#M7p^TW?yAIKsjfesw6*2m_R#64Hh<<+PYML~km0V-3eS#6lO$V2 z36kWG$dF7-Nm4QtIOm;098ibe&>*MI?gz)Qd1djZz^Ucy_^* zdm5QAQidR%OT>A~K`ye(*V0R!w^E|ogHc9}*t?4n$0)hI(4)fgq!}qp+MpK5zK#y| zp~T-J1+^fS>B=3Uak@6b!=!kH^2Dy7cmtZry0FX5dLbWXQ5+gI&-R-YBbVYoYko8D vR;oHx)i++P@3s8{owPQ8$79&VZpYqQtqoR;9dU;Aa7v6c@ diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml index 0ed766fb77..b8113074cf 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineDao.xml @@ -174,4 +174,13 @@ m.ID_CARD = t.ID_CARD AND m.DEL_FLAG = '0' + + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml index 011c1c7de1..acaf54c95f 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcVaccineRelationDao.xml @@ -12,5 +12,10 @@ AND AGENCY_ID = #{agencyId} + + update ic_vaccine_relation + set CUSTOMER_ID = #{customerId},USER_TYPE = #{userType} + where IC_VACCINE_ID = #{icVaccineId} + - \ No newline at end of file +