From f87604fbb3393e4ea9fd1f9f770be10f95f966eb Mon Sep 17 00:00:00 2001 From: wanggongfeng <1305282856@qq.com> Date: Thu, 25 Aug 2022 13:50:30 +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------=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/IcVaccinePrarmeterDTO.java | 6 +- .../epmet/dto/form/IcVaccineCheckFormDTO.java | 79 ++++++ .../IcVaccinePrarmeterController.java | 19 +- .../entity/IcVaccinePrarmeterEntity.java | 6 +- .../epmet/excel/IcVaccinePrarmeterExcel.java | 12 +- .../excel/IcVaccinePrarmeterImportExcel.java | 18 +- .../IcVaccinePrarmeterImportErrorModel.java | 14 +- .../service/IcVaccinePrarmeterService.java | 9 + .../impl/IcVaccinePrarmeterServiceImpl.java | 237 +++++++++++++++++- 9 files changed, 365 insertions(+), 35 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcVaccineCheckFormDTO.java diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccinePrarmeterDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccinePrarmeterDTO.java index a7d56eeec7..55991fe87d 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccinePrarmeterDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcVaccinePrarmeterDTO.java @@ -116,7 +116,7 @@ public class IcVaccinePrarmeterDTO implements Serializable { /** * 第一次接种时间 */ - private String firstVacTime; + private Date firstVacTime; /** * 第一次接种地点 @@ -126,7 +126,7 @@ public class IcVaccinePrarmeterDTO implements Serializable { /** * 第二次接种时间 */ - private String secondVacTime; + private Date secondVacTime; /** * 第二次接种地点 @@ -136,7 +136,7 @@ public class IcVaccinePrarmeterDTO implements Serializable { /** * 第三次接种时间 */ - private String thirdVacTime; + private Date thirdVacTime; /** * 第三次接种地点 diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcVaccineCheckFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcVaccineCheckFormDTO.java new file mode 100644 index 0000000000..8edf20194d --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcVaccineCheckFormDTO.java @@ -0,0 +1,79 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +/** + * 新冠病毒疫苗接种人员信息台账-审核入参 + * + * @author wgf + * @since v1.0.0 2022-08-25 + */ +@Data +public class IcVaccineCheckFormDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @NotBlank(message = "Id不能为空") + private String id; + + /** + * 审核状态:0待审核 1未通过 2已通过 + */ + @NotBlank(message = "审核状态不能为空") + private String checkState; + + /** + * 审核原因 + */ + private String checkReason; + + /** + * 所属小区ID; + */ + private String villageId; + + /** + * 所属楼宇Id + */ + private String buildId; + + /** + * 单元号 + */ + private String unitId; + + /** + * 房间ID + */ + private String homeId; + + /** + * 房间号 + */ + private String doorName; + + /** + * 客户ID(审核人) + */ + private String customerId; + + /** + * 员工ID(审核人) + */ + private String userId; + + /** + * 员工姓名(审核人) + */ + private String realName; + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccinePrarmeterController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccinePrarmeterController.java index 9ef386164e..6627be1966 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccinePrarmeterController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccinePrarmeterController.java @@ -19,9 +19,7 @@ import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcVaccinePrarmeterDao; import com.epmet.dto.IcPointNucleicMonitoringDTO; import com.epmet.dto.IcVaccinePrarmeterDTO; -import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.PointHSYMFormDTO; -import com.epmet.dto.form.VaccinePrarmeterListFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.excel.IcPointNucleicMonitoringExcel; import com.epmet.excel.IcVaccinePrarmeterExcel; @@ -173,6 +171,21 @@ public class IcVaccinePrarmeterController { return new Result(); } + /** + * 信息采集-审核 + * @param formDTO + * @param tokenDto + * @return + */ + @PostMapping("vaccineCheck") + public Result vaccineCheck(@RequestBody IcVaccineCheckFormDTO formDTO, @LoginUser TokenDto tokenDto) { + formDTO.setUserId(tokenDto.getUserId()); + formDTO.setCustomerId(tokenDto.getCustomerId()); + icVaccinePrarmeterService.vaccineCheck(formDTO,tokenDto); + + return new Result(); + } + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccinePrarmeterEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccinePrarmeterEntity.java index c6b982f80d..e0331229c4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccinePrarmeterEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcVaccinePrarmeterEntity.java @@ -114,7 +114,7 @@ public class IcVaccinePrarmeterEntity extends BaseEpmetEntity { /** * 第一次接种时间 */ - private String firstVacTime; + private Date firstVacTime; /** * 第一次接种地点 @@ -124,7 +124,7 @@ public class IcVaccinePrarmeterEntity extends BaseEpmetEntity { /** * 第二次接种时间 */ - private String secondVacTime; + private Date secondVacTime; /** * 第二次接种地点 @@ -134,7 +134,7 @@ public class IcVaccinePrarmeterEntity extends BaseEpmetEntity { /** * 第三次接种时间 */ - private String thirdVacTime; + private Date thirdVacTime; /** * 第三次接种地点 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterExcel.java index 01200bb938..bb6b9c5d15 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterExcel.java @@ -50,20 +50,20 @@ public class IcVaccinePrarmeterExcel { @Excel(name = "是否接种", replace = {"否_0","是_1"}) private String isVaccination; - @Excel(name = "第一次接种时间") - private String firstVacTime; + @Excel(name = "第一次接种时间", format = "yyyy-MM-dd HH:mm:ss") + private Date firstVacTime; @Excel(name = "第一次接种地点") private String firstVacSite; - @Excel(name = "第二次接种时间") - private String secondVacTime; + @Excel(name = "第二次接种时间", format = "yyyy-MM-dd HH:mm:ss") + private Date secondVacTime; @Excel(name = "第二次接种地点") private String secondVacSite; - @Excel(name = "第三次接种时间") - private String thirdVacTime; + @Excel(name = "第三次接种时间", format = "yyyy-MM-dd HH:mm:ss") + private Date thirdVacTime; @Excel(name = "第三次接种地点") private String thirdVacSite; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterImportExcel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterImportExcel.java index 4eb027872b..daecc97e0e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterImportExcel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/IcVaccinePrarmeterImportExcel.java @@ -4,6 +4,8 @@ import cn.afterturn.easypoi.excel.annotation.Excel; import cn.afterturn.easypoi.excel.annotation.ExcelIgnore; import lombok.Data; +import java.util.Date; + /** * 新冠病毒疫苗接种人员信息台账 * @@ -43,20 +45,20 @@ public class IcVaccinePrarmeterImportExcel { @Excel(name = "是否接种", replace = {"否_0","是_1"}) private String isVaccination; - @Excel(name = "第一次接种时间") - private String firstVacTime; + @Excel(name = "第一次接种时间", format = "yyyy-MM-dd HH:mm:ss") + private Date firstVacTime; @Excel(name = "第一次接种地点") private String firstVacSite; - @Excel(name = "第二次接种时间") - private String secondVacTime; + @Excel(name = "第二次接种时间", format = "yyyy-MM-dd HH:mm:ss") + private Date secondVacTime; @Excel(name = "第二次接种地点") private String secondVacSite; - @Excel(name = "第三次接种时间") - private String thirdVacTime; + @Excel(name = "第三次接种时间", format = "yyyy-MM-dd HH:mm:ss") + private Date thirdVacTime; @Excel(name = "第三次接种地点") private String thirdVacSite; @@ -80,10 +82,10 @@ public class IcVaccinePrarmeterImportExcel { private String gridId; /** - * 组织ID上级 + * 组织ID */ @ExcelIgnore - private String pid; + private String agencyId; /** * 组织ID所有上级 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/IcVaccinePrarmeterImportErrorModel.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/IcVaccinePrarmeterImportErrorModel.java index f720b878c9..04768bb90e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/IcVaccinePrarmeterImportErrorModel.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/error/IcVaccinePrarmeterImportErrorModel.java @@ -3,6 +3,8 @@ package com.epmet.excel.error; import cn.afterturn.easypoi.excel.annotation.Excel; import lombok.Data; +import java.util.Date; + /** * @Author wgf * @DateTime 2022/6/21 16:57 @@ -45,20 +47,20 @@ public class IcVaccinePrarmeterImportErrorModel { @Excel(name = "是否接种", width = 30, replace = {"否_0","是_1"}) private String isVaccination; - @Excel(name = "第一次接种时间",width = 30) - private String firstVacTime; + @Excel(name = "第一次接种时间",width = 30, format = "yyyy-MM-dd HH:mm:ss") + private Date firstVacTime; @Excel(name = "第一次接种地点",width = 30) private String firstVacSite; - @Excel(name = "第二次接种时间",width = 30) - private String secondVacTime; + @Excel(name = "第二次接种时间",width = 30, format = "yyyy-MM-dd HH:mm:ss") + private Date secondVacTime; @Excel(name = "第二次接种地点",width = 30) private String secondVacSite; - @Excel(name = "第三次接种时间",width = 30) - private String thirdVacTime; + @Excel(name = "第三次接种时间",width = 30, format = "yyyy-MM-dd HH:mm:ss") + private Date thirdVacTime; @Excel(name = "第三次接种地点",width = 30) private String thirdVacSite; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccinePrarmeterService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccinePrarmeterService.java index a298a3e165..41137212df 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccinePrarmeterService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcVaccinePrarmeterService.java @@ -4,6 +4,8 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcVaccinePrarmeterDTO; +import com.epmet.dto.form.IcResiCollectCheckFormDTO; +import com.epmet.dto.form.IcVaccineCheckFormDTO; import com.epmet.entity.IcVaccinePrarmeterEntity; import java.io.InputStream; @@ -93,4 +95,11 @@ public interface IcVaccinePrarmeterService extends BaseService page(Map params) { IPage page = baseDao.selectPage( @@ -279,7 +294,7 @@ public class IcVaccinePrarmeterServiceImpl extends BaseServiceImpl userMap = queryOriginUserByHomeId(icResiCollectEntity.getHomeId(),icResiCollectEntity.getCustomerId()); + if(userIdCardEntity != null){ + // 已存在人员 + if(userMap.containsKey(icResiCollectEntity.getIdCard())){ + // 人员房屋一致(只更新人员信息) + updateUserInfo(icResiCollectEntity,false,formDTO,userIdCardEntity); + }else{ + // 人员房屋不一致(更新人员信息和变更记录) + updateUserInfo(icResiCollectEntity,true,formDTO,userIdCardEntity); + } + }else{ + // 不存在人员 + insertUserInfo(icResiCollectEntity,formDTO); + } + } + } + } + + /** + * 更新新冠病毒疫苗接种人员信息台账表房屋ID + * @param icResiCollectEntity + * @param formDTO + * @return + */ + private IcVaccinePrarmeterEntity updateHomeId(IcVaccinePrarmeterEntity icResiCollectEntity,IcVaccineCheckFormDTO formDTO){ + + // fegin获取房屋信息 + GetHouseInfoToCollectFormDTO getHouseInfoToCollectFormDTO = new GetHouseInfoToCollectFormDTO(); + getHouseInfoToCollectFormDTO.setBuildingUnitId(formDTO.getUnitId()); + getHouseInfoToCollectFormDTO.setDoorName(formDTO.getDoorName()); + Result resultDTOResult = govOrgFeignClient.getHouseInfoToCollect(getHouseInfoToCollectFormDTO); + IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = resultDTOResult.getData(); + + // 新增房屋后需要collect更新上房屋ID + // log + icResiCollectEntity.setHomeId(icHouseInfoCollectResultDTO.getId()); + baseDao.updateById(icResiCollectEntity); + return icResiCollectEntity; + + } + + /** + * 更新房屋信息 + * @param icResiCollectEntity + */ + private void updateHouseInfo(IcVaccinePrarmeterEntity icResiCollectEntity){ + CollectHouseFormDTO collectHouseFormDTO = new CollectHouseFormDTO(); + collectHouseFormDTO.setId(icResiCollectEntity.getHomeId()); + + + // fegin获取房屋信息 + GetHouseInfoToCollectFormDTO getHouseInfoToCollectFormDTO = new GetHouseInfoToCollectFormDTO(); + getHouseInfoToCollectFormDTO.setBuildingUnitId(icResiCollectEntity.getUnitId()); + getHouseInfoToCollectFormDTO.setDoorName(icResiCollectEntity.getHomeName()); + Result resultDTOResult = govOrgFeignClient.getHouseInfoToCollect(getHouseInfoToCollectFormDTO); + IcHouseInfoCollectResultDTO icHouseInfoCollectResultDTO = resultDTOResult.getData(); + + collectHouseFormDTO.setCustomerId(icResiCollectEntity.getCustomerId()); + collectHouseFormDTO.setResiNumber((icHouseInfoCollectResultDTO.getResiNumber() + 1)); + govOrgFeignClient.updateCollect(collectHouseFormDTO); + + } + + /** + * 获取人员信息 + * @param idCard + * @return + */ + private IcResiUserEntity queryOriginUserByIdCard(String idCard,String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcResiUserEntity::getIdCard, idCard); + query.eq(IcResiUserEntity::getCustomerId, customerId); + IcResiUserEntity originUser = icResiUserDao.selectOne(query); + return originUser; + } + + private Map queryOriginUserByHomeId(String homeId,String customerId) { + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); + query.eq(IcResiUserEntity::getHomeId, homeId); + query.eq(IcResiUserEntity::getCustomerId, customerId); + List originUserList = icResiUserDao.selectList(query); + Map memMap = originUserList.stream().collect(Collectors.toMap(IcResiUserEntity::getIdCard, Function.identity())); + return memMap; + } + + /** + * 更新人员信息 + * @param icResiCollectEntity 登记信息 + * @param isUpdateLog 是否更新记录 + * @param formDTO 入参 + * @param userEntity 根据身份证号查询到的user信息 + */ + private void updateUserInfo(IcVaccinePrarmeterEntity icResiCollectEntity,Boolean isUpdateLog, + IcVaccineCheckFormDTO formDTO,IcResiUserEntity userEntity){ + + userEntity.setPids(icResiCollectEntity.getPids()); // ic_resi_user表的组织的pids 含agencyId本身 + userEntity.setAgencyId(icResiCollectEntity.getAgencyId()); + userEntity.setGridId(icResiCollectEntity.getGridId()); + userEntity.setVillageId(icResiCollectEntity.getVillageId()); + userEntity.setBuildId(icResiCollectEntity.getBuildId()); + userEntity.setUnitId(icResiCollectEntity.getUnitId()); + userEntity.setHomeId(icResiCollectEntity.getHomeId()); + userEntity.setName(icResiCollectEntity.getName()); + userEntity.setMobile(icResiCollectEntity.getMobile()); + userEntity.setIdCard(icResiCollectEntity.getIdCard()); + icResiUserDao.updateById(userEntity); + + // 判断是否需要更新记录 + if(isUpdateLog){ + //变更记录表 + IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity(); + changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + changeRecordEntity.setOperatorId(formDTO.getUserId()); + changeRecordEntity.setIcUserId(userEntity.getId()); + changeRecordEntity.setOperatorName(formDTO.getRealName()); + changeRecordEntity.setIcUserName(userEntity.getName()); + changeRecordEntity.setType("update"); + changeRecordEntity.setTypeName("修改"); + changeRecordEntity.setBeforeChangeName("-"); + changeRecordEntity.setAfterChangeName("-"); + changeRecordEntity.setChangeTime(new java.util.Date()); + icUserChangeRecordService.insert(changeRecordEntity); + } + + } + + /** + * 新增人员信息 + * @param icResiCollectEntity + * @param formDTO + */ + private void insertUserInfo(IcVaccinePrarmeterEntity icResiCollectEntity,IcVaccineCheckFormDTO formDTO){ + + // 新增人员 + IcResiUserEntity userEntity = new IcResiUserEntity(); + userEntity.setPids(icResiCollectEntity.getPids()); // ic_resi_user表的组织的pids 含agencyId本身 + userEntity.setAgencyId(icResiCollectEntity.getAgencyId()); + userEntity.setGridId(icResiCollectEntity.getGridId()); + userEntity.setVillageId(icResiCollectEntity.getVillageId()); + userEntity.setBuildId(icResiCollectEntity.getBuildId()); + userEntity.setUnitId(icResiCollectEntity.getUnitId()); + userEntity.setHomeId(icResiCollectEntity.getHomeId()); + userEntity.setName(icResiCollectEntity.getName()); + userEntity.setMobile(icResiCollectEntity.getMobile()); + userEntity.setIdCard(icResiCollectEntity.getIdCard()); + userEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + icResiUserDao.insert(userEntity); + + //变更记录表 + IcUserChangeRecordEntity changeRecordEntity = new IcUserChangeRecordEntity(); + changeRecordEntity.setCustomerId(icResiCollectEntity.getCustomerId()); + changeRecordEntity.setOperatorId(formDTO.getUserId()); + changeRecordEntity.setIcUserId(userEntity.getId()); + changeRecordEntity.setOperatorName(formDTO.getRealName()); + changeRecordEntity.setIcUserName(userEntity.getName()); + changeRecordEntity.setType("add"); + changeRecordEntity.setTypeName("新增"); + changeRecordEntity.setBeforeChangeName("-"); + changeRecordEntity.setAfterChangeName("-"); + changeRecordEntity.setChangeTime(new java.util.Date()); + icUserChangeRecordService.insert(changeRecordEntity); + + } + }