diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java index 563bfc1500..00134f6c45 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/DataSyncTaskParam.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.dto.DataSyncScopeDTO; import lombok.Data; @@ -35,4 +36,15 @@ public class DataSyncTaskParam implements Serializable { * 类别字段 */ public String categoryColumn; + + /** + * 是否同步 1:是;0:否; + */ + private String isSync = NumConstant.ZERO_STR; + + /** + * 核酸检测信息列表 点击同步时使用此字段 不使用数据配置的范围 + */ + private String agencyId = null; + private String dataCode; } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 991884787a..fc872eb582 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -8,11 +8,13 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.result.YtDataSyncResDTO; +import com.epmet.commons.tools.dto.result.YtHscyResDTO; import com.epmet.commons.tools.dto.result.YtHsjcResDTO; import com.epmet.commons.tools.enums.GenderEnum; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; +import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.security.dto.TokenDto; @@ -178,58 +180,66 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList = null; - //设置查询数据范围 - formDTO.setOrgList(config.getScopeList()); - DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); - - do { - switch (anEnum) { - case HE_SUAN: - //查询正常状态的居民 - dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); - if (CollectionUtils.isEmpty(dbResiList)) { - break; - } - hsjc(dbResiList, config.getCustomerId()); - break; - case CAN_JI: - //查询正常状态的居民 并回显 残疾状态 - formDTO.setCategoryColumn("IS_CJ"); - dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); - canJi(dbResiList); - break; - case SI_WANG: - //查询正常状态的居民 - dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); - siWang(dbResiList); - break; - default: - log.warn("没有要处理的数据"); + if (StringUtils.isNotBlank(formDTO.getDataCode())){ + allConfigList.forEach(c -> { + if (c.getDataCode().equals(formDTO.getDataCode())){ + disAllData(c,formDTO); + return; } - pageNo++; - } while (false);//todo fangkaita(dbResiList != null && dbResiList.size() == pageSize); + }); + }else { + for (DataSyncConfigDTO config : allConfigList) { + //没有配置 数据拉取范围 继续下次循环 + if (CollectionUtils.isEmpty(config.getScopeList())) { + continue; + } + disAllData(config,formDTO); + } } + } + private void disAllData(DataSyncConfigDTO config,DataSyncTaskParam formDTO){ + //没传具体参数 则 按照 + int pageNo = NumConstant.ONE; + int pageSize = 1;//todo fangkaita NumConstant.ONE_THOUSAND; + //ToDo 去掉 + formDTO.setIdCards(Collections.singletonList("370283199912010302")); + List dbResiList = null; + //设置查询数据范围 + formDTO.setOrgList(config.getScopeList()); + DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); + + do { + switch (anEnum) { + case HE_SUAN: + //查询正常状态的居民 + dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); + if (CollectionUtils.isEmpty(dbResiList)) { + break; + } + hsjc(dbResiList, config.getCustomerId()); + break; + case CAN_JI: + //查询正常状态的居民 并回显 残疾状态 + formDTO.setCategoryColumn("IS_CJ"); + dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); + canJi(dbResiList); + break; + case SI_WANG: + //查询正常状态的居民 + dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); + siWang(dbResiList); + break; + default: + log.warn("没有要处理的数据"); + } + pageNo++; + } while (false);//todo fangkaita(dbResiList != null && dbResiList.size() == pageSize); } private void siWang(List dbResiList) { @@ -446,8 +456,9 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl entities = new ArrayList<>(); idCards.forEach(idCard -> { + YtHscyResDTO sampleResult = YtHsResUtils.hscy(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { + if ((CollectionUtils.isEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData())) || (CollectionUtils.isNotEmpty(sampleResult.getData()) && CollectionUtils.isNotEmpty(natInfoResult.getData()))) { natInfoResult.getData().forEach(natInfo -> { IcNatEntity e = new IcNatEntity(); e.setCustomerId(customerId); @@ -458,6 +469,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl - AND ( - - - GRID_ID = #{l.orgId} - PIDS LIKE CONCAT(#{l.orgIdPath},'%') - - - ) + + + AND ( + + + GRID_ID = #{l.orgId} + PIDS LIKE CONCAT(#{l.orgIdPath},'%') + + + ) + + + AND PIDS LIKE CONCAT(#{agencyId},'%') + + ORDER BY CREATED_TIME