diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java index 66c9828dfd..e8cec48fb4 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcNatDTO.java @@ -36,6 +36,11 @@ public class IcNatDTO implements Serializable { */ private String isResiUser; + /** + * 是否本辖区居民,1:是;0:否 + */ + private String isLocalResiUser; + /** * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 */ diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiAndLocalResiResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiAndLocalResiResultDTO.java new file mode 100644 index 0000000000..d03e83d124 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ResiAndLocalResiResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/10/24 16:09 + */ +@Data +public class ResiAndLocalResiResultDTO implements Serializable { + private static final long serialVersionUID = -7702043408016900850L; + + private Integer isLocal; + private Integer isResi; + + private String userId; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index dd9e97bbae..8caa220af2 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -430,4 +430,13 @@ public interface IcResiUserDao extends BaseDao { List getIcUserCount(IcUserCountFormDTO formDTO); List icUserStatisList(UserChartFormDTO formDTO); + + /** + * @Description 根据身份证获取组织下的居民个数 + * @param agencyId + * @param idCard + * @Author zxc + * @Date 2022/10/24 15:47 + */ + ResiAndLocalResiResultDTO getResiCount(@Param("agencyId")String agencyId,@Param("idCard")String idCard,@Param("customerId")String customerId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java index 7cbe8cdd66..93589747e9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcNatEntity.java @@ -34,6 +34,11 @@ public class IcNatEntity extends BaseEpmetEntity { */ private String isResiUser; + /** + * 是否本辖区居民,1:是;0:否 + */ + private String isLocalResiUser; + /** * 居民端小程序的用户id、数字社区的icResiUserId、其他情况无值 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index c600349029..d2c14a0c88 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -2,12 +2,15 @@ package com.epmet.excel.handler; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.listener.ReadListener; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dao.IcResiUserDao; +import com.epmet.dto.result.ResiAndLocalResiResultDTO; import com.epmet.entity.IcNatEntity; import com.epmet.excel.data.IcNatImportExcelData; import com.epmet.service.impl.IcNatServiceImpl; @@ -53,8 +56,9 @@ public class IcNatExcelImportListener implements ReadListener otherRows = new ArrayList<>(); private IcNatServiceImpl icNatService; + private IcResiUserDao icResiUserDao; - public IcNatExcelImportListener(String currentUserId, String currentAgencyId, String currentAgencyPids, IcNatServiceImpl icNatService) { + public IcNatExcelImportListener(String currentUserId, String currentAgencyId, String currentAgencyPids, IcNatServiceImpl icNatService, IcResiUserDao icResiUserDao) { this.currentUserId = currentUserId; this.currentAgencyId = currentAgencyId; this.currentAgencyPids = currentAgencyPids; @@ -101,7 +105,16 @@ public class IcNatExcelImportListener implements ReadListener imp IcNatEntity entity = ConvertUtils.sourceToTarget(formDTO, IcNatEntity.class); if (StringUtils.isNotBlank(formDTO.getUserId())) { entity.setIsResiUser("1"); + ResiAndLocalResiResultDTO resiCount = icResiUserDao.getResiCount(formDTO.getAgencyId(), formDTO.getIdCard(), formDTO.getCustomerId()); + entity.setIsLocalResiUser(resiCount.getIsLocal() == NumConstant.ZERO ? NumConstant.ZERO_STR : NumConstant.ONE_STR); } insert(entity); //3.核酸记录关系表新增与组织的关系数据 @@ -345,7 +347,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp String agencyId = loginUserDetails.getAgencyId(); - IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this); + IcNatExcelImportListener listener = new IcNatExcelImportListener(userId, agencyId, loginUserDetails.getOrgIdPath().replace(":".concat(agencyId), ""), this, icResiUserDao); EasyExcel.read(filePath.toFile(), IcNatImportExcelData.class, listener).headRowNumber(2).sheet(0).doRead(); diff --git a/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.78__ic_nat_add_local.sql b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.78__ic_nat_add_local.sql new file mode 100644 index 0000000000..9309fde879 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/resources/db/migration/V0.0.78__ic_nat_add_local.sql @@ -0,0 +1 @@ +alter table ic_nat add COLUMN `IS_LOCAL_RESI_USER` VARCHAR(1) COMMENT '是否本辖区居民,1:是;0:否'after IS_RESI_USER \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 7c651b76bc..b5f8788719 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -1383,4 +1383,23 @@ ORDER BY `name` ASC + + +