diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java index b41afbd23b..6ed4887e13 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/YtHsResUtils.java @@ -26,6 +26,7 @@ public class YtHsResUtils { private static final String PAGE_SIZE = "PAGESIZE"; private static final String START = "ROWNUM"; private static final String LIMIT = "PAGESIZE"; + /** * desc:图片同步扫描 * @@ -35,24 +36,28 @@ public class YtHsResUtils { try { //String param = String.format("&card_no=%s&ROWNUM=%s&PAGESIZE=%s", cardNo, rowNum, pageSize); //String apiUrl = url.concat(param); - Map param = new HashMap<>(); - param.put(APP_KEY,APP_KEY_VALUE); - param.put(CARD_NO,cardNo); - param.put(ROW_NUM,rowNum); - param.put(PAGE_SIZE,pageSize); - log.info("hsjc api param:{}",param); - Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hsjcxx", param); - log.info("hsjc api result:{}",JSON.toJSONString(result)); + Map param = new HashMap<>(); + param.put(APP_KEY, APP_KEY_VALUE); + param.put(CARD_NO, cardNo); + param.put(ROW_NUM, rowNum); + param.put(PAGE_SIZE, pageSize); + log.info("hsjc api param:{}", param); + //todo 核酸检测 mock数据 放开她 + //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"hsjcxx", param); + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":[{\"id\":\"6a31eb2d38c011eda054fa163ebc7ff4\",\"name\":\"数据同步测试用户\",\"card_no\":\"370283199912010302\",\"telephone\":\"13697890860\",\"address\":\"保利香榭里公馆18-1-302\",\"test_time\":\"2022-09-20 12:52:28\",\"depart_name\":\"天仁医学检验实验室有限公司\",\"county\":\"莱山区\",\"upload_time\":\"2022-09-20 21:23:10\",\"sample_result_pcr\":\"2\",\"sample_time\":\"2022-09-20 06:48:28\",\"sampling_org_pcr\":\"采样点327\"}],\"total\":1}"; + Result result = new Result().ok(mockData); + log.info("hsjc api result:{}", JSON.toJSONString(result)); if (result.success()) { return JSON.parseObject(result.getData(), YtHsjcResDTO.class); } } catch (Exception e) { - log.warn(String.format("烟台核酸检测结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); + log.error(String.format("烟台核酸检测结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); } YtHsjcResDTO resultResult = new YtHsjcResDTO(); resultResult.setData(new ArrayList<>()); return resultResult; } + /** * desc:死亡数据同步 * @@ -65,48 +70,55 @@ public class YtHsResUtils { // 3)idcard身份证号 必填 // 4)start开始默认0 // 5)limit每页记录数 - Map param = new HashMap<>(); - param.put(APP_KEY,APP_KEY_VALUE); - param.put("id_card",cardNo); - param.put("name",userName); - param.put("start",0); - param.put("limit",1); + Map param = new HashMap<>(); + param.put(APP_KEY, APP_KEY_VALUE); + param.put("id_card", cardNo); + param.put("name", userName); + param.put("start", 0); + param.put("limit", 1); - log.info("siWang api param:{}",param); + log.info("siWang api param:{}", param); //todo 放开他 //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"mzt_hhrysj1", param); String mockData2 = "{\"code\":200,\"data\":\"{\\\"data\\\":[{\\\"AGE\\\":\\\"73\\\",\\\"CARD_TYPE\\\":\\\"9\\\",\\\"CREATE_ORGAN_NAME\\\":\\\"菏泽市巨野县殡仪馆\\\",\\\"CREMATION_TIME\\\":\\\"2014-04-17 14:46\\\",\\\"DEAD_ID\\\":\\\"SZ-371724-2012-1006560\\\",\\\"DEATH_DATE\\\":\\\"2014-04-17\\\",\\\"FAMILY_ADD\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"FOLK\\\":\\\"01\\\",\\\"ID_CARD\\\":\\\"1\\\",\\\"NAME\\\":\\\"郭**\\\",\\\"NATION\\\":\\\"156\\\",\\\"POPULACE\\\":\\\"3381C3014B60439FE05319003C0A0897\\\",\\\"POPULACE_NAME\\\":\\\"菏泽市巨野县开发区马庄村\\\",\\\"RECORD_ID\\\":\\\"E-371724-2012-100000000000407849\\\",\\\"RN\\\":\\\"1\\\",\\\"SEX\\\":\\\"1\\\"}],\\\"fields\\\":[\\\"RN\\\",\\\"RECORD_ID\\\",\\\"DEAD_ID\\\",\\\"NAME\\\",\\\"SEX\\\",\\\"CARD_TYPE\\\",\\\"ID_CARD\\\",\\\"BIRTHDAY\\\",\\\"AGE\\\",\\\"NATION\\\",\\\"FOLK\\\",\\\"IF_LOCAL\\\",\\\"POPULACE\\\",\\\"FAMILY_ADD\\\",\\\"WORK_NAME\\\",\\\"DEATH_DATE\\\",\\\"CREMATION_TIME\\\",\\\"CREATE_ORGAN_NAME\\\",\\\"POPULACE_NAME\\\"],\\\"total\\\":\\\"4903\\\"}\",\"message\":\"\"}"; - String mockData = "{\"code\":200,\"data\":\"{\\\"data\\\":[],\\\"fields\\\":[\\\"RN\\\",\\\"RECORD_ID\\\",\\\"DEAD_ID\\\",\\\"NAME\\\",\\\"SEX\\\",\\\"CARD_TYPE\\\",\\\"ID_CARD\\\",\\\"BIRTHDAY\\\",\\\"AGE\\\",\\\"NATION\\\",\\\"FOLK\\\",\\\"IF_LOCAL\\\",\\\"POPULACE\\\",\\\"FAMILY_ADD\\\",\\\"WORK_NAME\\\",\\\"DEATH_DATE\\\",\\\"CREMATION_TIME\\\",\\\"CREATE_ORGAN_NAME\\\",\\\"POPULACE_NAME\\\"],\\\"total\\\":\\\"4903\\\"}\",\"message\":\"\"}"; + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":\\\"{\\\\\\\"data\\\\\\\":[{\\\\\\\"AGE\\\\\\\":\\\\\\\"82\\\\\\\",\\\\\\\"BIRTHDAY\\\\\\\":\\\\\\\"1933-02-23\\\\\\\",\\\\\\\"CARD_TYPE\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"CREATE_ORGAN_NAME\\\\\\\":\\\\\\\"莱州市殡仪馆\\\\\\\",\\\\\\\"CREMATION_TIME\\\\\\\":\\\\\\\"2016-01-03 13:01\\\\\\\",\\\\\\\"DEAD_ID\\\\\\\":\\\\\\\"8abc809851ffaf1501520600555c2849\\\\\\\",\\\\\\\"DEATH_DATE\\\\\\\":\\\\\\\"2016-01-02\\\\\\\",\\\\\\\"FAMILY_ADD\\\\\\\":\\\\\\\"山东省莱州市光州西路420号\\\\\\\",\\\\\\\"FOLK\\\\\\\":\\\\\\\"01\\\\\\\",\\\\\\\"ID_CARD\\\\\\\":\\\\\\\"370625193302231929\\\\\\\",\\\\\\\"NAME\\\\\\\":\\\\\\\"陈秀芬\\\\\\\",\\\\\\\"NATION\\\\\\\":\\\\\\\"156\\\\\\\",\\\\\\\"POPULACE\\\\\\\":\\\\\\\"3381C300B4B9439FE05319003C0A0897\\\\\\\",\\\\\\\"POPULACE_NAME\\\\\\\":\\\\\\\"烟台市莱州市文昌路街道\\\\\\\",\\\\\\\"RECORD_ID\\\\\\\":\\\\\\\"8abc809851ffaf1501520600694e2877\\\\\\\",\\\\\\\"RN\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"SEX\\\\\\\":\\\\\\\"2\\\\\\\"}],\\\\\\\"fields\\\\\\\":[\\\\\\\"RN\\\\\\\",\\\\\\\"RECORD_ID\\\\\\\",\\\\\\\"DEAD_ID\\\\\\\",\\\\\\\"NAME\\\\\\\",\\\\\\\"SEX\\\\\\\",\\\\\\\"CARD_TYPE\\\\\\\",\\\\\\\"ID_CARD\\\\\\\",\\\\\\\"BIRTHDAY\\\\\\\",\\\\\\\"AGE\\\\\\\",\\\\\\\"NATION\\\\\\\",\\\\\\\"FOLK\\\\\\\",\\\\\\\"IF_LOCAL\\\\\\\",\\\\\\\"POPULACE\\\\\\\",\\\\\\\"FAMILY_ADD\\\\\\\",\\\\\\\"WORK_NAME\\\\\\\",\\\\\\\"DEATH_DATE\\\\\\\",\\\\\\\"CREMATION_TIME\\\\\\\",\\\\\\\"CREATE_ORGAN_NAME\\\\\\\",\\\\\\\"POPULACE_NAME\\\\\\\"],\\\\\\\"total\\\\\\\":\\\\\\\"1\\\\\\\"}\\\",\\\"message\\\":\\\"\\\"}\",\"total\":0}"; Result result = new Result().ok(mockData); - log.info("siWang api result:{}",JSON.toJSONString(result)); + log.info("siWang api result:{}", JSON.toJSONString(result)); String data = result.getData(); JSONObject jsonObject = JSON.parseObject(data); //他们的结果是成功的 - if (jsonObject!= null && "200".equals(jsonObject.getString("code"))){ - //第一层data - JSONObject realObject = JSON.parseObject(jsonObject.getString("data")); - if (realObject!= null&& realObject.getJSONArray("data") != null) { - //第二层 data - Object thirdData = realObject.getJSONArray("data").get(0); - YtDataSyncResDTO ytDataSyncResDTO = new YtDataSyncResDTO(200,"",thirdData.toString()); - return ytDataSyncResDTO; - }else { - log.warn("canji 调用蓝图接口成功但是蓝图的结果中 省平台失败"); + if (jsonObject != null && "200".equals(jsonObject.getString("code"))) { + //第一层 + JSONObject firstData = JSON.parseObject(jsonObject.getString("data")); + + //第二层 data + if (firstData != null && "200".equals(firstData.getString("code"))) { + //第一层 + JSONObject secondData = JSON.parseObject(firstData.getString("data")); + Object thirdData = ""; + if (secondData != null && secondData.getJSONArray("data") != null) { + //第二层 data + thirdData = secondData.getJSONArray("data").get(0); + } + return new YtDataSyncResDTO(200, "", thirdData.toString()); + } else { + log.warn("siWang 调用蓝图接口成功但是蓝图的结果中 省平台失败"); } - }else { - log.warn("canji 调用蓝图接口败"); + } else { + log.warn("siWang 调用蓝图接口败"); } } catch (Exception e) { - log.warn(String.format("烟台siWang结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); + log.error(String.format("烟台siWang结果查询异常cardNo:%s,异常信息:%s", cardNo, e.getMessage())); } return new YtDataSyncResDTO(); } /** * desc:残疾数据同步 - * @remark:默认失败 因为一旦成功没有数据 会影响残疾人的数据 接口失败数据不做任何处理 + * * @return + * @remark:默认失败 因为一旦成功没有数据 会影响残疾人的数据 接口失败数据不做任何处理 */ public static YtDataSyncResDTO canji(String idCard, String userName) { @@ -117,19 +129,19 @@ public class YtHsResUtils { // 1)appkey // 2)name姓名 // 3)citizenId身份证号 - Map param = new HashMap<>(); - param.put(APP_KEY,APP_KEY_VALUE); - param.put("citizenId",idCard); - param.put("name",userName); + Map param = new HashMap<>(); + param.put(APP_KEY, APP_KEY_VALUE); + param.put("citizenId", idCard); + param.put("name", userName); - log.info("canji api param:{}",param); + log.info("canji api param:{}", param); //todo 上线放开她 //Result result = HttpClientManager.getInstance().sendGet(SERVER_URL+"sdcl_xxzx_czcjr1", param); - String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":{\\\"result\\\":true,\\\"errorcode\\\":0,\\\"msg\\\":\\\"获取成功\\\",\\\"data\\\":{\\\"isNewRecord\\\":\\\"true\\\",\\\"delFlag\\\":\\\"0\\\",\\\"pageNo\\\":\\\"0\\\",\\\"pageSize\\\":\\\"0\\\",\\\"name\\\":\\\"姓名\\\",\\\"genderName\\\":\\\"性别\\\",\\\"citizenId\\\":\\\"身份证号\\\",\\\"cardNum\\\":\\\"残疾证号\\\",\\\"idtKindName\\\":\\\"残疾类别\\\",\\\"idtLevelName\\\":\\\"残疾等级\\\",\\\"eduLevelName\\\":\\\"教育程度\\\",\\\"marriagerName\\\":\\\"婚姻状况\\\",\\\"guardian\\\":\\\"监护人\\\",\\\"guardianPhone\\\":\\\"监护人联系方式\\\",\\\"residentAdd\\\":\\\"户籍地址\\\",\\\"nowAdd\\\":\\\"现居住地\\\",\\\"phoneNo\\\":\\\"联系电话\\\"}},\\\"message\\\":\\\"\\\"}\",\"total\":0}"; + String mockData = "{\"code\":\"200\",\"msg\":\"请求成功\",\"data\":\"{\\\"code\\\":200,\\\"data\\\":\\\"{\\\\\\\"result\\\\\\\":true,\\\\\\\"errorcode\\\\\\\":0,\\\\\\\"msg\\\\\\\":\\\\\\\"获取成功\\\\\\\",\\\\\\\"data\\\\\\\":{\\\\\\\"isNewRecord\\\\\\\":true,\\\\\\\"delFlag\\\\\\\":\\\\\\\"0\\\\\\\",\\\\\\\"pageNo\\\\\\\":0,\\\\\\\"pageSize\\\\\\\":0,\\\\\\\"name\\\\\\\":\\\\\\\"数据同步测试用户\\\\\\\",\\\\\\\"genderName\\\\\\\":\\\\\\\"男\\\\\\\",\\\\\\\"citizenId\\\\\\\":\\\\\\\"370682198002072719\\\\\\\",\\\\\\\"cardNum\\\\\\\":\\\\\\\"370283199912010302\\\\\\\",\\\\\\\"idtKindName\\\\\\\":\\\\\\\"精神\\\\\\\",\\\\\\\"idtLevelName\\\\\\\":\\\\\\\"二级\\\\\\\",\\\\\\\"eduLevelName\\\\\\\":\\\\\\\"小学\\\\\\\",\\\\\\\"marriagerName\\\\\\\":\\\\\\\"未婚\\\\\\\",\\\\\\\"guardian\\\\\\\":\\\\\\\"盖希仁\\\\\\\",\\\\\\\"guardianPhone\\\\\\\":\\\\\\\"13854516627\\\\\\\",\\\\\\\"guardianRName\\\\\\\":\\\\\\\"兄/弟/姐/妹\\\\\\\",\\\\\\\"raceName\\\\\\\":\\\\\\\"汉族\\\\\\\",\\\\\\\"certDate\\\\\\\":1620779842000,\\\\\\\"residentAdd\\\\\\\":\\\\\\\"姜疃镇凤头村248号附1号\\\\\\\",\\\\\\\"nowAdd\\\\\\\":\\\\\\\"山东省烟台市莱阳市姜疃镇凤头村委会\\\\\\\",\\\\\\\"phoneNo\\\\\\\":\\\\\\\"13854516627\\\\\\\"}}\\\",\\\"message\\\":\\\"\\\"}\",\"total\":0}"; Result result = new Result().ok(mockData); - log.info("canji api result:{}",JSON.toJSONString(result)); + log.info("canji api result:{}", JSON.toJSONString(result)); if (result.success()) { /*返回示例 { @@ -153,25 +165,24 @@ public class YtHsResUtils { String data = result.getData(); JSONObject jsonObject = JSON.parseObject(data); //他们的结果是成功的 - if (jsonObject!= null && "200".equals(jsonObject.getString("code"))){ + if (jsonObject != null && "200".equals(jsonObject.getString("code"))) { //第一层data JSONObject realObject = JSON.parseObject(jsonObject.getString("data")); - if (realObject!= null && "200".equals(realObject.getString("code"))) { + if (realObject != null && "200".equals(realObject.getString("code"))) { //第二层 data String thirdData = realObject.getString("data"); - YtDataSyncResDTO ytDataSyncResDTO = JSON.parseObject(thirdData, YtDataSyncResDTO.class); - return ytDataSyncResDTO; - }else { + return JSON.parseObject(thirdData, YtDataSyncResDTO.class); + } else { log.warn("canji 调用蓝图接口成功但是蓝图的结果中 省平台失败"); } - }else { + } else { log.warn("canji 调用蓝图接口败"); } } } catch (Exception e) { - log.warn(String.format("烟台canji结果查询异常cardNo:%s,异常信息:%s", idCard, e.getMessage())); + log.error(String.format("烟台canji结果查询异常cardNo:%s,异常信息:%s", idCard, e.getMessage())); } return failResult; } @@ -179,11 +190,11 @@ public class YtHsResUtils { public static void main(String[] args) { YtDataSyncResDTO canji = canji("123", "123"); - System.out.println("残疾结果:"+JSON.toJSON(canji)); + System.out.println("残疾结果:" + JSON.toJSON(canji)); YtDataSyncResDTO siwang = siWang("1213", "!23"); - System.out.println("死亡结果:"+JSON.toJSON(siwang)); + System.out.println("死亡结果:" + JSON.toJSON(siwang)); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java index d1a35d8d77..748a039549 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/DataSyncRecordDisabilityDTO.java @@ -84,9 +84,29 @@ public class DataSyncRecordDisabilityDTO implements Serializable { private String eduLevel; /** - * 婚姻状况 + * 婚姻状况 中文 */ - private String maritalStatus; + private String maritalStatusName; + + /** + * 民族 中文 + */ + private String mzCn; + + /** + * 性别1男2女 + */ + private Integer gender; + + /** + * 户籍地址 + */ + private String residentAdd; + + /** + * 现居住地址 + */ + private String nowAdd; /** * 监护人 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java index 50dc64edbe..810b153665 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/DataSyncRecordDisabilityEntity.java @@ -79,9 +79,29 @@ public class DataSyncRecordDisabilityEntity extends BaseEpmetEntity { private String eduLevel; /** - * 婚姻状况 + * 婚姻状况 中文 */ - private String maritalStatus; + private String maritalStatusName; + + /** + * 民族 中文 + */ + private String mzCn; + + /** + * 性别1男2女 + */ + private Integer gender; + + /** + * 户籍地址 + */ + private String residentAdd; + + /** + * 现居住地址 + */ + private String nowAdd; /** * 监护人 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 d70289b0fb..8515089201 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 @@ -9,6 +9,7 @@ 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.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; @@ -40,10 +41,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -182,7 +180,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList = null; //设置查询数据范围 formDTO.setOrgList(config.getScopeList()); @@ -206,7 +206,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl dbResiList) { - List list = new ArrayList<>(); - for (NatUserInfoResultDTO dbResi : dbResiList) { - YtDataSyncResDTO thirdResult = YtHsResUtils.siWang(dbResi.getIdCard(), dbResi.getName()); - if (200 != thirdResult.getCode()) { - log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); - continue; - } + try { + List list = new ArrayList<>(); + for (NatUserInfoResultDTO dbResi : dbResiList) { + YtDataSyncResDTO thirdResult = YtHsResUtils.siWang(dbResi.getIdCard(), dbResi.getName()); + if (200 != thirdResult.getCode()) { + log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); + continue; + } - String thirdResultData = thirdResult.getData(); - JSONObject thirdResultObject = JSON.parseObject(thirdResultData); + String thirdResultData = thirdResult.getData(); + JSONObject thirdResultObject = JSON.parseObject(thirdResultData); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(DataSyncRecordDeathEntity::getIdCard, dbResi.getIdCard()); - //获取数据库里的记录 - DataSyncRecordDeathDTO dbDeathEntity = dataSyncRecordDeathService.selectOne(queryWrapper); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DataSyncRecordDeathEntity::getIdCard, dbResi.getIdCard()); + //获取数据库里的记录 + DataSyncRecordDeathDTO dbDeathEntity = dataSyncRecordDeathService.selectOne(queryWrapper); - JudgeDealStatus judgeDealStatus= new JudgeDealStatus(thirdResultObject,dbDeathEntity).invokeDeath(); - if (judgeDealStatus.isStop()) { - continue; - } + JudgeDealStatus judgeDealStatus = new JudgeDealStatus(thirdResultObject, dbDeathEntity).invokeDeath(); + if (judgeDealStatus.isStop()) { + continue; + } + + DataSyncRecordDeathEntity entity = new DataSyncRecordDeathEntity(); + if (dbDeathEntity != null && StringUtils.isNotBlank(dbDeathEntity.getId())) { + entity.setId(dbDeathEntity.getId()); + } + entity.setCustomerId(dbResi.getCustomerId()); + entity.setAgencyId(dbResi.getAgencyId()); + entity.setPids(dbResi.getPids()); + entity.setGridId(dbResi.getGridId()); + entity.setName(dbResi.getName()); + entity.setIdCard(dbResi.getIdCard()); + entity.setIcResiUserId(dbResi.getUserId()); + //死亡未获取到数据 + if (thirdResultObject != null) { + entity.setAge(thirdResultObject.getString("AGE")); + entity.setAddress(thirdResultObject.getString("FAMILY_ADD")); + entity.setDeathDate(thirdResultObject.getString("DEATH_DATE")); + entity.setCremationTime(thirdResultObject.getString("CREMATION_TIME")); + entity.setMz(thirdResultObject.getString("FAMILY_ADD")); + entity.setOrganName(thirdResultObject.getString("CREATE_ORGAN_NAME")); + entity.setNation(thirdResultObject.getString("NATION")); + entity.setThirdRecordId(thirdResultObject.getString("RECORD_ID")); + } - DataSyncRecordDeathEntity entity = new DataSyncRecordDeathEntity(); - entity.setId(dbDeathEntity.getId()); - entity.setCustomerId(dbResi.getCustomerId()); - entity.setAgencyId(dbResi.getAgencyId()); - entity.setPids(dbResi.getPids()); - entity.setGridId(dbResi.getGridId()); - entity.setName(dbResi.getName()); - entity.setIdCard(dbResi.getIdCard()); - entity.setIcResiUserId(dbResi.getUserId()); - - entity.setAge(thirdResultObject.getString("AGE")); - entity.setAddress(thirdResultObject.getString("FAMILY_ADD")); - entity.setDeathDate(thirdResultObject.getString("DEATH_DATE")); - entity.setCremationTime(thirdResultObject.getString("CREMATION_TIME")); - entity.setMz(thirdResultObject.getString("FAMILY_ADD")); - entity.setOrganName(thirdResultObject.getString("CREATE_ORGAN_NAME")); - entity.setNation(thirdResultObject.getString("NATION")); - entity.setThirdRecordId(thirdResultObject.getString("RECORD_ID")); - entity.setDealStatus(NumConstant.ZERO); - entity.setDealResult(StrConstant.EPMETY_STR); - if (judgeDealStatus.isNeedSetStatus) { - entity.setDealResult(judgeDealStatus.dealResult); - entity.setDealStatus(judgeDealStatus.dealStatus); + entity.setDealStatus(NumConstant.ZERO); + entity.setDealResult(StrConstant.EPMETY_STR); + if (judgeDealStatus.isNeedSetStatus) { + entity.setDealResult(judgeDealStatus.dealResult); + entity.setDealStatus(judgeDealStatus.dealStatus); + } + entity.setUpdatedTime(new Date()); + list.add(entity); } - list.add(entity); - } - if (list.size()==NumConstant.ZERO){ - return; + if (list.size() == NumConstant.ZERO) { + return; + } + dataSyncRecordDeathService.saveOrUpdateBatch(list, NumConstant.TWO_HUNDRED); + } catch (Exception e) { + log.error("siwang exception", e); } - dataSyncRecordDeathService.saveOrUpdateBatch(list,NumConstant.TWO_HUNDRED); } /** @@ -295,13 +305,13 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl getNatUserInfoFromDb(DataSyncTaskParam formDTO, DataSyncEnum anEnum, int pageNo, int pageSize) { + private List getNatUserInfoFromDb(DataSyncTaskParam formDTO, int pageNo, int pageSize) { //根据 组织 分页获取 居民数据 PageInfo pageInfo = PageHelper.startPage(pageNo, pageSize, false) .doSelectPageInfo(() -> baseDao.getIdCardsByScope(formDTO)); List dbResiList; dbResiList = pageInfo.getList(); - //如果传了身份证号 则按照身份证号查询 并同步记录, userId如果为空则是 手动录入的 此人没有录入居民库 但是也可以同步 + /* //如果传了身份证号 则按照身份证号查询 并同步记录, userId如果为空则是 手动录入的 此人没有录入居民库 但是也可以同步 if (CollectionUtils.isNotEmpty(formDTO.getIdCards()) && DataSyncEnum.HE_SUAN.getCode().equals(anEnum.getCode())) { List collect = formDTO.getIdCards().stream().map(id -> { NatUserInfoResultDTO e = new NatUserInfoResultDTO(); @@ -314,95 +324,112 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl u.getIdCard().equals(c.getIdCard())).forEach(u -> c.setUserId(u.getUserId())); } dbResiList = collect; - } + }*/ return dbResiList; } private void canJi(List resiList) { - List list = new ArrayList<>(); - for (NatUserInfoResultDTO dbResi : resiList) { - YtDataSyncResDTO thirdResult = YtHsResUtils.canji(dbResi.getIdCard(), dbResi.getName()); - if (200 != thirdResult.getCode()) { - log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); - continue; - } - String thirdResultData = thirdResult.getData(); - JSONObject thirdResultObject = JSON.parseObject(thirdResultData); - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(DataSyncRecordDisabilityEntity::getIdCard, dbResi.getIdCard()); - //获取数据库里的记录 - DataSyncRecordDisabilityDTO dbDisablityEntity = dataSyncRecordDisabilityService.selectOne(queryWrapper); - + try { + List list = new ArrayList<>(); + for (NatUserInfoResultDTO dbResi : resiList) { + YtDataSyncResDTO thirdResult = YtHsResUtils.canji(dbResi.getIdCard(), dbResi.getName()); + if (200 != thirdResult.getCode()) { + log.warn("canJi 调用蓝图接口失败了 继续处理下一个人"); + continue; + } + String thirdResultData = thirdResult.getData(); + JSONObject thirdResultObject = JSON.parseObject(thirdResultData); - DataSyncRecordDisabilityEntity entity = new DataSyncRecordDisabilityEntity(); - entity.setId(dbDisablityEntity.getId()); - //居民库里 是否是残疾 - String categoryColumn = dbResi.getCategoryColumn(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(DataSyncRecordDisabilityEntity::getIdCard, dbResi.getIdCard()); + //获取数据库里的记录 + DataSyncRecordDisabilityDTO dbDisablityEntity = dataSyncRecordDisabilityService.selectOne(queryWrapper); - JudgeDealStatus judgeDealStatus = null; - int disabilityStatus = 0; - //居民是残疾 - if (NumConstant.ONE_STR.equals(categoryColumn)) { - // 第三方返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 - if (thirdResultObject != null) { - //todo 联调时看一下 为什么db == null 总是true - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); - if (judgeDealStatus.isStop()) { - continue; + DataSyncRecordDisabilityEntity entity = new DataSyncRecordDisabilityEntity(); + if (dbDisablityEntity != null && StringUtils.isNotBlank(dbDisablityEntity.getId())) { + entity.setId(dbDisablityEntity.getId()); + } + //居民库里 是否是残疾 + String categoryColumn = dbResi.getCategoryColumn(); + + + JudgeDealStatus judgeDealStatus = null; + int disabilityStatus = 0; + //居民是残疾 + if (NumConstant.ONE_STR.equals(categoryColumn)) { + // 第三方返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject != null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + disabilityStatus = 1; + } else { + //没有返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + disabilityStatus = 0; } - disabilityStatus = 1; } else { - //没有返回该人是残疾的数据 说明需要处理居民库的数据 - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); - disabilityStatus = 0; + //居民不是残疾 + + // 第三方没有返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 + if (thirdResultObject == null) { + //todo 联调时看一下 为什么db == null 总是true + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); + if (judgeDealStatus.isStop()) { + continue; + } + disabilityStatus = 0; + } else { + //蓝图返回该人是残疾的数据 说明需要处理居民库的数据 + judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); + disabilityStatus = 1; + } } - } else { - //居民不是残疾 - - // 第三方没有返回了该人的 残疾记录 说明和居民库的状态一致 只需要处理 同步记录中的数据即可 - if (thirdResultObject == null) { - //todo 联调时看一下 为什么db == null 总是true - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).invoke(); - if (judgeDealStatus.isStop()) { - continue; + + entity.setCustomerId(dbResi.getCustomerId()); + entity.setAgencyId(dbResi.getAgencyId()); + entity.setPids(dbResi.getPids()); + entity.setGridId(dbResi.getGridId()); + entity.setName(dbResi.getName()); + entity.setIdCard(dbResi.getIdCard()); + entity.setIcResiUserId(dbResi.getUserId()); + if (thirdResultObject != null){ + entity.setMobile(thirdResultObject.getString("phoneNo")); + entity.setCardNum(thirdResultObject.getString("cardNum")); + entity.setCjzk(thirdResultObject.getString("idtLevelName")); + entity.setCjlb(thirdResultObject.getString("idtKindName")); + entity.setEduLevel(thirdResultObject.getString("eduLevelName")); + entity.setMaritalStatusName(thirdResultObject.getString("marriagerName")); + entity.setGuardian(thirdResultObject.getString("guardian")); + entity.setGuardianPhone(thirdResultObject.getString("guardianPhone")); + entity.setMzCn(thirdResultObject.getString("raceName")); + String genderName = thirdResultObject.getString("genderName"); + if (GenderEnum.MAN.getName().equals(genderName)){ + entity.setGender(NumConstant.ONE); + }else { + entity.setGender(NumConstant.TWO); } - disabilityStatus = 0; - } else { - //蓝图返回该人是残疾的数据 说明需要处理居民库的数据 - judgeDealStatus = new JudgeDealStatus(dbDisablityEntity).notSame(); - disabilityStatus = 1; + entity.setResidentAdd(thirdResultObject.getString("residentAdd")); + entity.setNowAdd(thirdResultObject.getString("nowAdd")); } - } - entity.setCustomerId(dbResi.getCustomerId()); - entity.setAgencyId(dbResi.getAgencyId()); - entity.setPids(dbResi.getPids()); - entity.setGridId(dbResi.getGridId()); - entity.setName(dbResi.getName()); - entity.setIdCard(thirdResultObject.getString("citizenId")); - entity.setMobile(thirdResultObject.getString("phoneNo")); - entity.setIcResiUserId(dbResi.getUserId()); - entity.setCardNum(thirdResultObject.getString("cardNum")); - - entity.setCjzk(thirdResultObject.getString("idtLevelName")); - entity.setCjlb(thirdResultObject.getString("idtKindName")); - - entity.setEduLevel(thirdResultObject.getString("eduLevelName")); - entity.setMaritalStatus(thirdResultObject.getString("marriagerName")); - entity.setGuardian(thirdResultObject.getString("guardian")); - entity.setGuardianPhone(thirdResultObject.getString("guardianPhone")); - entity.setDealStatus(NumConstant.ZERO); - entity.setDisabilityStatus(disabilityStatus); - entity.setDealResult(StrConstant.EPMETY_STR); - if (judgeDealStatus.isNeedSetStatus) { - entity.setDealResult(judgeDealStatus.getDealResult()); - entity.setDealStatus(judgeDealStatus.getDealStatus()); + entity.setDealStatus(NumConstant.ZERO); + entity.setDisabilityStatus(disabilityStatus); + entity.setDealResult(StrConstant.EPMETY_STR); + if (judgeDealStatus.isNeedSetStatus) { + entity.setDealResult(judgeDealStatus.getDealResult()); + entity.setDealStatus(judgeDealStatus.getDealStatus()); + } + entity.setUpdatedTime(new Date()); + list.add(entity); } - list.add(entity); + dataSyncRecordDisabilityService.saveOrUpdateBatch(list, NumConstant.TWO_HUNDRED); + } catch (Exception e) { + log.error("canJi exception", e); } - dataSyncRecordDisabilityService.saveOrUpdateBatch(list, NumConstant.TWO_HUNDRED); } @@ -414,59 +441,68 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl idCards, String customerId) { - List entities = new ArrayList<>(); - idCards.forEach(idCard -> { - YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); - if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { - natInfoResult.getData().forEach(natInfo -> { - IcNatEntity e = new IcNatEntity(); - e.setCustomerId(customerId); - e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); - e.setUserId(idCard.getUserId()); - e.setUserType("sync"); - e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); - e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); - e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); - e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); - e.setNatResult(natInfo.getSample_result_pcr()); - e.setNatAddress(natInfo.getSampling_org_pcr()); - e.setAgencyId(idCard.getAgencyId()); - e.setPids(idCard.getPids()); - e.setAttachmentType(""); - e.setAttachmentUrl(""); - entities.add(e); - }); - } - }); - if (CollectionUtils.isNotEmpty(entities)) { - List existNatInfos = icNatDao.getExistNatInfo(entities); - entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); - Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); - if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { - for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), 500)) { - icNatService.insertBatch(icNatEntities); - } - } - //组织关系表 - List relationEntities = new ArrayList<>(); - entities.forEach(ne -> { - // 不是居民的先不加关系表吧 - if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { - IcNatRelationEntity e = new IcNatRelationEntity(); - e.setCustomerId(customerId); - e.setAgencyId(ne.getAgencyId()); - e.setPids(ne.getPids()); - e.setIcNatId(ne.getId()); - e.setUserType("sync"); - relationEntities.add(e); + @Transactional(rollbackFor = Exception.class) + public void hsjc(List idCards, String customerId) { + try { + List entities = new ArrayList<>(); + idCards.forEach(idCard -> { + YtHsjcResDTO natInfoResult = YtHsResUtils.hsjc(idCard.getIdCard(), NumConstant.ONE, NumConstant.ONE); + if (CollectionUtils.isNotEmpty(natInfoResult.getData())) { + natInfoResult.getData().forEach(natInfo -> { + IcNatEntity e = new IcNatEntity(); + e.setCustomerId(customerId); + e.setIsResiUser(StringUtils.isBlank(idCard.getUserId()) ? NumConstant.ZERO_STR : NumConstant.ONE_STR); + e.setUserId(idCard.getUserId()); + e.setUserType("sync"); + e.setName(StringUtils.isNotBlank(natInfo.getName()) ? natInfo.getName() : ""); + e.setMobile(StringUtils.isNotBlank(natInfo.getTelephone()) ? natInfo.getTelephone() : ""); + e.setIdCard(StringUtils.isNotBlank(natInfo.getCard_no()) ? natInfo.getCard_no() : ""); + e.setNatTime(DateUtils.parseDate(natInfo.getTest_time(), DateUtils.DATE_TIME_PATTERN)); + String resultPcr = natInfo.getSample_result_pcr(); + //检测结果 转换 我们 0:阴性 1:阳性, 他们 :1:阳性,2:阴性 + e.setNatResult(NumConstant.ZERO_STR); + if (NumConstant.ONE_STR.equals(resultPcr)){ + e.setNatResult(NumConstant.ONE_STR); + } + e.setNatAddress(natInfo.getSampling_org_pcr()); + e.setAgencyId(idCard.getAgencyId()); + e.setPids(idCard.getPids()); + e.setAttachmentType(""); + e.setAttachmentUrl(""); + entities.add(e); + }); } }); - if (CollectionUtils.isNotEmpty(relationEntities)) { - for (List icNatRelationEntities : ListUtils.partition(relationEntities, 500)) { - icNatRelationService.insertBatch(icNatRelationEntities); + if (CollectionUtils.isNotEmpty(entities)) { + List existNatInfos = icNatDao.getExistNatInfo(entities); + entities.forEach(e -> existNatInfos.stream().filter(i -> i.getUserId().equals(e.getUserId()) && i.getIdCard().equals(e.getIdCard())).forEach(i -> e.setExistStatus(true))); + Map> groupByStatus = entities.stream().collect(Collectors.groupingBy(IcNatEntity::getExistStatus)); + if (CollectionUtils.isNotEmpty(groupByStatus.get(false))) { + for (List icNatEntities : ListUtils.partition(groupByStatus.get(false), NumConstant.FIVE_HUNDRED)) { + icNatService.insertBatch(icNatEntities); + //组织关系表 + List relationEntities = new ArrayList<>(); + icNatEntities.forEach(ne -> { + // 不是居民的先不加关系表吧 + if (ne.getIsResiUser().equals(NumConstant.ONE_STR)) { + IcNatRelationEntity e = new IcNatRelationEntity(); + e.setCustomerId(customerId); + e.setAgencyId(ne.getAgencyId()); + e.setPids(ne.getPids()); + e.setIcNatId(ne.getId()); + e.setUserType("sync"); + relationEntities.add(e); + } + }); + if (CollectionUtils.isNotEmpty(relationEntities)) { + icNatRelationService.insertBatch(relationEntities); + } + } } + } + } catch (Exception e) { + log.error("hsjc exception", e); } } @@ -488,7 +524,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl ${categoryColumn} AS categoryColumn, diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml index 0326e8b1f5..8947f3a5e1 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml @@ -17,7 +17,11 @@ - + + + + + diff --git a/epmet-user/epmet-user-server/src/test/java/com/epmet/service/DataSyncConfigServiceTest.java b/epmet-user/epmet-user-server/src/test/java/com/epmet/service/DataSyncConfigServiceTest.java new file mode 100644 index 0000000000..a60c27d432 --- /dev/null +++ b/epmet-user/epmet-user-server/src/test/java/com/epmet/service/DataSyncConfigServiceTest.java @@ -0,0 +1,22 @@ +package com.epmet.service; + +import com.epmet.dto.form.DataSyncTaskParam; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@SpringBootTest +@RunWith(SpringRunner.class) +public class DataSyncConfigServiceTest { + @Autowired + private DataSyncConfigService dataSyncConfigService; + + @Test + public void dataSyncForYanTaiTask() { + DataSyncTaskParam param = new DataSyncTaskParam(); + dataSyncConfigService.dataSyncForYanTaiTask(param); + + } +}