|  |  | @ -21,6 +21,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.ConvertUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.DateUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.commons.tools.utils.YtHsResUtils; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.constant.EpidemicConstant; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dao.DataSyncConfigDao; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dao.IcNatDao; | 
			
		
	
		
			
				
					|  |  |  | import com.epmet.dto.DataSyncConfigDTO; | 
			
		
	
	
		
			
				
					|  |  | @ -134,7 +135,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao | 
			
		
	
		
			
				
					|  |  |  |     public PageData list(TokenDto tokenDto, PageFormDTO formDTO) { | 
			
		
	
		
			
				
					|  |  |  |         PageData<DataSyncConfigDTO> result = new PageData<>(new ArrayList<>(), NumConstant.ZERO_L); | 
			
		
	
		
			
				
					|  |  |  |         PageInfo<DataSyncConfigDTO> pageInfo = PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()) | 
			
		
	
		
			
				
					|  |  |  |                 .doSelectPageInfo(() -> baseDao.list(tokenDto.getCustomerId(), null)); | 
			
		
	
		
			
				
					|  |  |  |                 .doSelectPageInfo(() -> baseDao.list(tokenDto.getCustomerId(), null,null)); | 
			
		
	
		
			
				
					|  |  |  |         if (CollectionUtils.isNotEmpty(pageInfo.getList())) { | 
			
		
	
		
			
				
					|  |  |  |             result.setList(pageInfo.getList()); | 
			
		
	
		
			
				
					|  |  |  |             result.setTotal(Integer.parseInt(String.valueOf(pageInfo.getTotal()))); | 
			
		
	
	
		
			
				
					|  |  | @ -189,7 +190,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public void dataSyncForYanTaiTask(DataSyncTaskParam formDTO) { | 
			
		
	
		
			
				
					|  |  |  |         List<DataSyncConfigDTO> allConfigList = baseDao.list(formDTO.getCustomerId(), "open"); | 
			
		
	
		
			
				
					|  |  |  |         List<DataSyncConfigDTO> allConfigList = baseDao.list(formDTO.getCustomerId(), "open",null); | 
			
		
	
		
			
				
					|  |  |  |         if (CollectionUtils.isEmpty(allConfigList)) { | 
			
		
	
		
			
				
					|  |  |  |             return; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
	
		
			
				
					|  |  | @ -233,7 +234,43 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public void deathInfoScanTask(DataSyncTaskParam formDTO) { | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |         List<DataSyncConfigDTO> configData = getConfigData(null, EpidemicConstant.DATA_CODE_DEATH); | 
			
		
	
		
			
				
					|  |  |  |         if (CollectionUtils.isEmpty(configData)){ | 
			
		
	
		
			
				
					|  |  |  |             log.warn("deathInfoScanTask not exists config data,customer is "+formDTO.getCustomerId()); | 
			
		
	
		
			
				
					|  |  |  |             return; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         long count = configData.stream().filter(o -> CollectionUtils.isNotEmpty(o.getScopeList())).count(); | 
			
		
	
		
			
				
					|  |  |  |         if (count < 1) { | 
			
		
	
		
			
				
					|  |  |  |             log.warn("deathInfoScanTask scopeList is null"); | 
			
		
	
		
			
				
					|  |  |  |             return; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         int pageNo = NumConstant.ONE; | 
			
		
	
		
			
				
					|  |  |  |         int pageSize = NumConstant.ONE_THOUSAND; | 
			
		
	
		
			
				
					|  |  |  |         List<NatUserInfoResultDTO> dbResiList = null; | 
			
		
	
		
			
				
					|  |  |  |         do { | 
			
		
	
		
			
				
					|  |  |  |             for (DataSyncConfigDTO config : configData) { | 
			
		
	
		
			
				
					|  |  |  |                 // 设置查询数据范围
 | 
			
		
	
		
			
				
					|  |  |  |                 formDTO.setOrgList(config.getScopeList()); | 
			
		
	
		
			
				
					|  |  |  |                 DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); | 
			
		
	
		
			
				
					|  |  |  |                 dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); | 
			
		
	
		
			
				
					|  |  |  |                 if (CollectionUtils.isEmpty(dbResiList)) { | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |                 switch (anEnum) { | 
			
		
	
		
			
				
					|  |  |  |                     case SI_WANG: | 
			
		
	
		
			
				
					|  |  |  |                         try { | 
			
		
	
		
			
				
					|  |  |  |                             //查询正常状态的居民
 | 
			
		
	
		
			
				
					|  |  |  |                             siWang(dbResiList); | 
			
		
	
		
			
				
					|  |  |  |                             log.info("======siWang信息拉取结束======"); | 
			
		
	
		
			
				
					|  |  |  |                         } catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  |                             log.error("death thread execute exception", e); | 
			
		
	
		
			
				
					|  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |                     default: | 
			
		
	
		
			
				
					|  |  |  |                         log.warn("没有要处理的数据"); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             pageNo++; | 
			
		
	
		
			
				
					|  |  |  |         } while (dbResiList != null && dbResiList.size() == pageSize); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
	
		
			
				
					|  |  | @ -244,7 +281,116 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public void disabilityInfoScanTask(DataSyncTaskParam formDTO) { | 
			
		
	
		
			
				
					|  |  |  |         List<DataSyncConfigDTO> configData = getConfigData(null, EpidemicConstant.DATA_CODE_DISABILITY); | 
			
		
	
		
			
				
					|  |  |  |         if (CollectionUtils.isEmpty(configData)){ | 
			
		
	
		
			
				
					|  |  |  |             log.warn("disabilityInfoScanTask not exists config data,customer is "+formDTO.getCustomerId()); | 
			
		
	
		
			
				
					|  |  |  |             return; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         long count = configData.stream().filter(o -> CollectionUtils.isNotEmpty(o.getScopeList())).count(); | 
			
		
	
		
			
				
					|  |  |  |         if (count < 1) { | 
			
		
	
		
			
				
					|  |  |  |             log.warn("disabilityInfoScanTask scopeList is null"); | 
			
		
	
		
			
				
					|  |  |  |             return; | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         int pageNo = NumConstant.ONE; | 
			
		
	
		
			
				
					|  |  |  |         int pageSize = NumConstant.ONE_THOUSAND; | 
			
		
	
		
			
				
					|  |  |  |         List<NatUserInfoResultDTO> dbResiList = null; | 
			
		
	
		
			
				
					|  |  |  |         do { | 
			
		
	
		
			
				
					|  |  |  |             for (DataSyncConfigDTO config : configData) { | 
			
		
	
		
			
				
					|  |  |  |                 // 设置查询数据范围
 | 
			
		
	
		
			
				
					|  |  |  |                 formDTO.setOrgList(config.getScopeList()); | 
			
		
	
		
			
				
					|  |  |  |                 formDTO.setCategoryColumn("IS_CJ"); | 
			
		
	
		
			
				
					|  |  |  |                 DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); | 
			
		
	
		
			
				
					|  |  |  |                 dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); | 
			
		
	
		
			
				
					|  |  |  |                 if (CollectionUtils.isEmpty(dbResiList)) { | 
			
		
	
		
			
				
					|  |  |  |                     continue; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |                 switch (anEnum) { | 
			
		
	
		
			
				
					|  |  |  |                     case CAN_JI: | 
			
		
	
		
			
				
					|  |  |  |                         try { | 
			
		
	
		
			
				
					|  |  |  |                             //查询正常状态的居民
 | 
			
		
	
		
			
				
					|  |  |  |                             canJi(dbResiList); | 
			
		
	
		
			
				
					|  |  |  |                             log.info("======canJi信息拉取结束======"); | 
			
		
	
		
			
				
					|  |  |  |                         } catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  |                             log.error("disability thread execute exception", e); | 
			
		
	
		
			
				
					|  |  |  |                         } | 
			
		
	
		
			
				
					|  |  |  |                         break; | 
			
		
	
		
			
				
					|  |  |  |                     default: | 
			
		
	
		
			
				
					|  |  |  |                         log.warn("没有要处理的数据"); | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             pageNo++; | 
			
		
	
		
			
				
					|  |  |  |         } while (dbResiList != null && dbResiList.size() == pageSize); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * @Description 核酸检测信息定时拉取 | 
			
		
	
		
			
				
					|  |  |  |      * @param formDTO | 
			
		
	
		
			
				
					|  |  |  |      * @Author zxc | 
			
		
	
		
			
				
					|  |  |  |      * @Date 2022/11/8 10:37 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     @Override | 
			
		
	
		
			
				
					|  |  |  |     public void natInfoScanTask(DataSyncTaskParam formDTO) { | 
			
		
	
		
			
				
					|  |  |  |         List<DataSyncConfigDTO> configData = new ArrayList<>(); | 
			
		
	
		
			
				
					|  |  |  |         if (StringUtils.isBlank(formDTO.getAgencyId())){ | 
			
		
	
		
			
				
					|  |  |  |             configData = getConfigData(null, EpidemicConstant.DATA_CODE_DISABILITY); | 
			
		
	
		
			
				
					|  |  |  |             if (CollectionUtils.isEmpty(configData)){ | 
			
		
	
		
			
				
					|  |  |  |                 log.warn("natInfoScanTask not exists config data,customer is "+formDTO.getCustomerId()); | 
			
		
	
		
			
				
					|  |  |  |                 return; | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             long count = configData.stream().filter(o -> CollectionUtils.isNotEmpty(o.getScopeList())).count(); | 
			
		
	
		
			
				
					|  |  |  |             if (count < 1) { | 
			
		
	
		
			
				
					|  |  |  |                 log.warn("natInfoScanTask scopeList is null"); | 
			
		
	
		
			
				
					|  |  |  |                 return; | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |         int pageNo = NumConstant.ONE; | 
			
		
	
		
			
				
					|  |  |  |         int pageSize = NumConstant.ONE_THOUSAND; | 
			
		
	
		
			
				
					|  |  |  |         List<NatUserInfoResultDTO> dbResiList = null; | 
			
		
	
		
			
				
					|  |  |  |         do { | 
			
		
	
		
			
				
					|  |  |  |             if (StringUtils.isBlank(formDTO.getAgencyId())){ | 
			
		
	
		
			
				
					|  |  |  |                 for (DataSyncConfigDTO config : configData) { | 
			
		
	
		
			
				
					|  |  |  |                     // 设置查询数据范围
 | 
			
		
	
		
			
				
					|  |  |  |                     formDTO.setOrgList(config.getScopeList()); | 
			
		
	
		
			
				
					|  |  |  |                     DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode()); | 
			
		
	
		
			
				
					|  |  |  |                     dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); | 
			
		
	
		
			
				
					|  |  |  |                     if (CollectionUtils.isEmpty(dbResiList)) { | 
			
		
	
		
			
				
					|  |  |  |                         continue; | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                     switch (anEnum) { | 
			
		
	
		
			
				
					|  |  |  |                         case HE_SUAN: | 
			
		
	
		
			
				
					|  |  |  |                             try { | 
			
		
	
		
			
				
					|  |  |  |                                 //查询正常状态的居民
 | 
			
		
	
		
			
				
					|  |  |  |                                 yantaiHsjcByDbView(dbResiList, config.getCustomerId(), formDTO.getIsSync()); | 
			
		
	
		
			
				
					|  |  |  |                                 log.info("======核酸检测信息拉取结束======"); | 
			
		
	
		
			
				
					|  |  |  |                             } catch (Exception e) { | 
			
		
	
		
			
				
					|  |  |  |                                 log.error("nat thread execute exception", e); | 
			
		
	
		
			
				
					|  |  |  |                             } | 
			
		
	
		
			
				
					|  |  |  |                             break; | 
			
		
	
		
			
				
					|  |  |  |                         default: | 
			
		
	
		
			
				
					|  |  |  |                             log.warn("没有要处理的数据"); | 
			
		
	
		
			
				
					|  |  |  |                     } | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |             }else { | 
			
		
	
		
			
				
					|  |  |  |                 dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize); | 
			
		
	
		
			
				
					|  |  |  |                 if (CollectionUtils.isEmpty(dbResiList)){ | 
			
		
	
		
			
				
					|  |  |  |                     return; | 
			
		
	
		
			
				
					|  |  |  |                 } | 
			
		
	
		
			
				
					|  |  |  |                 yantaiHsjcByDbView(dbResiList, dbResiList.get(NumConstant.ZERO).getCustomerId(), formDTO.getIsSync()); | 
			
		
	
		
			
				
					|  |  |  |             } | 
			
		
	
		
			
				
					|  |  |  |             pageNo++; | 
			
		
	
		
			
				
					|  |  |  |         } while (dbResiList != null && dbResiList.size() == pageSize); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     /** | 
			
		
	
		
			
				
					|  |  |  |      * @Description 配置信息查询 | 
			
		
	
		
			
				
					|  |  |  |      * @param customerId | 
			
		
	
		
			
				
					|  |  |  |      * @param dataCode | 
			
		
	
		
			
				
					|  |  |  |      * @Author zxc | 
			
		
	
		
			
				
					|  |  |  |      * @Date 2022/11/8 10:41 | 
			
		
	
		
			
				
					|  |  |  |      */ | 
			
		
	
		
			
				
					|  |  |  |     public List<DataSyncConfigDTO> getConfigData(String customerId, String dataCode){ | 
			
		
	
		
			
				
					|  |  |  |         List<DataSyncConfigDTO> allConfigList = baseDao.list(customerId, "open",dataCode); | 
			
		
	
		
			
				
					|  |  |  |         return CollectionUtils.isEmpty(allConfigList) ? new ArrayList<>() : allConfigList; | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     private void dataSyncYanTaiParallel(List<DataSyncConfigDTO> configList, DataSyncTaskParam formDTO) { | 
			
		
	
	
		
			
				
					|  |  | 
 |