From 44b29a0a8e68e49ad065f8ea17b5e7dd57d3028d Mon Sep 17 00:00:00 2001 From: yangfei Date: Mon, 22 Jan 2018 16:32:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E5=8D=B1=E6=95=B0=E6=8D=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=88=B0=E5=B0=8F=E7=A8=8B=E5=BA=8F=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../job/index/restore/data/SyncDataWork.java | 311 ++++++++++++--------- .../operate/web/facade/HosptialHighRiskFacade.java | 5 + 2 files changed, 188 insertions(+), 128 deletions(-) diff --git a/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java b/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java index 4c41b70..f8545ff 100644 --- a/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java +++ b/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java @@ -149,6 +149,15 @@ public class SyncDataWork { */ public static final String CHINA_BASIC_ID = "f6c505dd-835a-43d7-b0bb-fdb9eb0b7b31"; + public static Map scoreMap = new HashMap<>(); + + static { + scoreMap.put("5769f0640cf2d37f034793a2", "5"); + scoreMap.put("5769f0640cf2d37f034793a3", "10"); + scoreMap.put("5769f0650cf2d37f034793a4", "15"); + scoreMap.put("5769f0650cf2d37f034793a5", "20"); + } + static { map.put("橙色", RiskColorEnum.Orange); map.put("黄色", RiskColorEnum.Yellow); @@ -157,6 +166,7 @@ public class SyncDataWork { map.put("绿色", RiskColorEnum.Green); } + private long readLastSyncTime() { long time = 1500000L; try { @@ -399,11 +409,10 @@ public class SyncDataWork { for (BabyModel babyModel : babyModels) { Patients patients = ConvertHelper.convertToMamiBaby(babyModel); //构建消息 - buildNotifyMessage(patients.getPhone(),patients.getUsername()); + buildNotifyMessage(patients.getPhone(), patients.getUsername()); patientsService.aouPatients(patients); - logger.info("loadRpBaby aouPatients:" + hospitalId + ",mami baby id:" + patients.getId()); //处理建档的关系 handBabyDoctor(getDoctorId(babyModel @@ -825,7 +834,7 @@ public class SyncDataWork { com.lymsh.mommybaby.maindata.model.Patients mamiPatient = ConvertHelper .convertPatient(patients); - if(StringUtils.isBlank(mamiPatient.getPhone())){ + if (StringUtils.isBlank(mamiPatient.getPhone())) { continue; } mamiPatient.setCrisis(setCric(patients)); @@ -876,19 +885,30 @@ public class SyncDataWork { List list2 = null; boolean isdel = false; try { - if (null != antEx && !"{}".equals(antEx.getOtherRisk())) { - Map map = JsonUtil.str2Obj(antEx.getOtherRisk(), Map.class); - Object obj1 = map.get("fxysu"); - if (null != obj1 && !"".equals(obj1.toString())) { - risksService.deleteRisk(patientId); - riskDetailsService.deleteRiskDetails(patientId); - isdel = true; + if (null != antEx && !"{}".equals(antEx.getOtherRisk())&& !"[]".equals(antEx.getOtherRisk())) { + String otherHighRisk = antEx.getOtherRisk(); + List otherHighRisks = new ArrayList<>(); + if (otherHighRisk.startsWith("[") && otherHighRisk.endsWith("]")) { + list2 = JsonUtil.toList(otherHighRisk, Map.class); + otherHighRisks.addAll(list2); + } else { + Map otherMap = JsonUtil.jkstr2Obj(otherHighRisk, Map.class); + otherHighRisks.add(otherMap); + } + + if (CollectionUtils.isNotEmpty(otherHighRisks)) { + Map map = otherHighRisks.get(0); + Object obj1 = map.get("fxysu"); + if (null != obj1 && !"".equals(obj1.toString())) { + risksService.deleteRisk(patientId); + riskDetailsService.deleteRiskDetails(patientId); + isdel = true; + } } } } catch (Exception e) { } try { - list2 = JsonUtil.toList(antEx.getRiskFactor(), List.class); if (null != list2 && CollectionUtils.isNotEmpty(list2) && !isdel) { risksService.deleteRisk(patientId); @@ -904,63 +924,74 @@ public class SyncDataWork { risks.setModified(antEx.getModified()); risks.setPatientId(patientId); - HighScoreResult highScoreResult =new HighScoreResult(); + HighScoreResult highScoreResult = new HighScoreResult(); try { list2 = JsonUtil.toList(antEx.getRiskFactor(), List.class); - highScoreResult= queryRisk(list2, patientId); - }catch (Exception e){ - ERROR_LOGGER.error("convert high risk error."+list2, e); + highScoreResult = queryRisk(list2, patientId); + } catch (Exception e) { + ERROR_LOGGER.error("convert high risk error." + list2, e); } - if (null != antEx && !"{}".equals(antEx.getOtherRisk())) { - Map map = JsonUtil.str2Obj(antEx.getOtherRisk(), Map.class); - //风险因素 - Map map1 = new HashMap(); - map1.put("id", ""); - Object obj = map.get("fxysu"); - if (null != obj && !"null".equals(obj.toString()) && !"".equals(obj.toString())) { - map1.put("name", map.get("fxysu")); - highScoreResult.getHighRisk().add(map1); - } - RiskDetails riskDetails = new RiskDetails(); - //风险评分 - Object idObj = map.get("fxpf"); - if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); - riskDetails.setScore(NumberUtils.toInt(basicConfig.getName())); - highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(basicConfig.getName(), 0)); + if (null != antEx && !"{}".equals(antEx.getOtherRisk())&& !"[]".equals(antEx.getOtherRisk())) { + String otherHighRisk = antEx.getOtherRisk(); + List otherHighRisks = new ArrayList<>(); + if (otherHighRisk.startsWith("[") && otherHighRisk.endsWith("]")) { + list2 = JsonUtil.toList(otherHighRisk, Map.class); + otherHighRisks.addAll(list2); + } else { + Map otherMap = JsonUtil.jkstr2Obj(otherHighRisk, Map.class); + otherHighRisks.add(otherMap); } - Object idObj1 = map.get("fyyse"); - if (null != idObj1 && !"null".equals(idObj1.toString()) && !"".equals(idObj1.toString())) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj1.toString()); - if (null != basicConfig) { - Map map2 = new HashMap<>(); - map2.put("id", basicConfig.getId()); - String name = basicConfig.getName(); - if (name.indexOf("预警") > -1) { - name = name.replace("预警", ""); + for (Map map : otherHighRisks) { + if (map != null) {//风险因素 + //风险因素 + Map map1 = new HashMap(); + map1.put("id", ""); + Object obj = map.get("fxysu"); + if (null != obj && !"null".equals(obj.toString()) && !"".equals(obj.toString())) { + map1.put("name", map.get("fxysu")); + highScoreResult.getHighRisk().add(map1); + } + RiskDetails riskDetails = new RiskDetails(); + //风险评分 + Object idObj = map.get("fxpf"); + if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { + riskDetails.setScore(NumberUtils.toInt(scoreMap.get(idObj.toString()))); + highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(scoreMap.get(idObj.toString()))); + } + Object idObj1 = map.get("fyyse"); + if (null != idObj1 && !"null".equals(idObj1.toString()) && !"".equals(idObj1.toString())) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj1.toString()); + if (null != basicConfig) { + Map map2 = new HashMap<>(); + map2.put("id", basicConfig.getId()); + String name = basicConfig.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } + map2.put("name", name); + RiskColorEnum riskColorEnum = SyncDataWork.map.get(name); + riskDetails.setCrisis(riskColorEnum == null ? null : riskColorEnum.getId()); + map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + highScoreResult.getLevel().add(map2); + } } - map2.put("name", name); - RiskColorEnum riskColorEnum = SyncDataWork.map.get(name); - riskDetails.setCrisis(riskColorEnum == null ? null : riskColorEnum.getId()); - map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); - highScoreResult.getLevel().add(map2); - } - } - Object obj1 = map1.get("name"); - if (null != obj1 && !"".equals(obj1.toString())) { - riskDetails.setTitle(map1.get("name").toString()); - riskDetails.setPublishName("system-worker"); - riskDetails.setPublishId(0); - riskDetails.setYn(YnEnums.YES.getId()); - riskDetails.setCreated(new Date()); - riskDetails.setModified(new Date()); - riskDetails.setPatientId(patientId); - if (StringUtils.isNotEmpty(riskDetails.getTitle())) { - riskDetailsService.addRiskDetails(riskDetails); + Object obj1 = map1.get("name"); + if (null != obj1 && !"".equals(obj1.toString())) { + riskDetails.setTitle(map1.get("name").toString()); + riskDetails.setPublishName("system-worker"); + riskDetails.setPublishId(0); + riskDetails.setYn(YnEnums.YES.getId()); + riskDetails.setCreated(new Date()); + riskDetails.setModified(new Date()); + riskDetails.setPatientId(patientId); + if (StringUtils.isNotEmpty(riskDetails.getTitle())) { + riskDetailsService.addRiskDetails(riskDetails); + } + } } } } @@ -1084,7 +1115,12 @@ public class SyncDataWork { System.out.print(crisis); } - + /** + * 处理初诊高危 + * + * @param antExChuModel + * @param patientId + */ private void handlRiskChu(AntExChuModel antExChuModel, Integer patientId) { logger.info("handlRiskChu antexc" + antExChuModel.getId() + ". "); if (null == patientId) { @@ -1093,19 +1129,27 @@ public class SyncDataWork { List list2 = null; boolean isdel = false; try { - if (null != antExChuModel && !"{}".equals(antExChuModel.getOtherHighRisk())) { - Map map = JsonUtil.str2Obj(antExChuModel.getOtherHighRisk(), Map.class); - Object obj1 = map.get("fxysu"); - if (null != obj1 && !"".equals(obj1.toString())) { - risksService.deleteRisk(patientId); - riskDetailsService.deleteRiskDetails(patientId); - isdel = true; + if (null != antExChuModel && !"{}".equals(antExChuModel.getOtherHighRisk()) && !"[]".equals(antExChuModel.getOtherHighRisk())) { + String otherHighRisk = antExChuModel.getOtherHighRisk(); + List otherHighRisks = new ArrayList<>(); + if (otherHighRisk.startsWith("[") && otherHighRisk.endsWith("]")) { + list2 = JsonUtil.toList(otherHighRisk, Map.class); + otherHighRisks.addAll(list2); + } else { + Map otherMap = JsonUtil.jkstr2Obj(otherHighRisk, Map.class); + otherHighRisks.add(otherMap); } - } - } catch (Exception e) { - } - try { + if (CollectionUtils.isNotEmpty(otherHighRisks)) { + Map map = otherHighRisks.get(0); + Object obj1 = map.get("fxysu"); + if (null != obj1 && !"".equals(obj1.toString())) { + risksService.deleteRisk(patientId); + riskDetailsService.deleteRiskDetails(patientId); + isdel = true; + } + } + } list2 = JsonUtil.toList(antExChuModel.getHighrisk(), List.class); if (null != list2 && CollectionUtils.isNotEmpty(list2) && !isdel) { risksService.deleteRisk(patientId); @@ -1124,55 +1168,66 @@ public class SyncDataWork { try { highScoreResult = queryRisk(list2, patientId); } catch (Exception e) { - ERROR_LOGGER.error("convert high risk error."+list2, e); + ERROR_LOGGER.error("convert high risk error." + list2, e); } - - if (null != antExChuModel && !"{}".equals(antExChuModel.getOtherHighRisk())) { - Map map = JsonUtil.str2Obj(antExChuModel.getOtherHighRisk(), Map.class); - //风险因素 - Map map1 = new HashMap(); - map1.put("id", ""); - Object obj = map.get("fxysu"); - if (null != obj && !"null".equals(obj.toString()) && !"".equals(obj.toString())) { - map1.put("name", map.get("fxysu")); - highScoreResult.getHighRisk().add(map1); + if (null != antExChuModel && !"{}".equals(antExChuModel.getOtherHighRisk()) && !"[]".equals(antExChuModel.getOtherHighRisk())) { + String otherHighRisk = antExChuModel.getOtherHighRisk(); + List otherHighRisks = new ArrayList<>(); + if (otherHighRisk.startsWith("[") && otherHighRisk.endsWith("]")) { + list2 = JsonUtil.toList(otherHighRisk, Map.class); + otherHighRisks.addAll(list2); + } else { + Map otherMap = JsonUtil.jkstr2Obj(otherHighRisk, Map.class); + otherHighRisks.add(otherMap); } - RiskDetails riskDetails = new RiskDetails(); - //风险评分 - Object idObj = map.get("fxpf"); - if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); - riskDetails.setScore(NumberUtils.toInt(basicConfig.getName())); - highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(basicConfig.getName(), 0)); - } - Object idObj1 = map.get("fyyse"); - if (null != idObj1 && !"null".equals(idObj1.toString()) && !"".equals(idObj1.toString())) { - String basicConfig = highLevel.get(idObj1.toString()); - if (null != basicConfig) { - Map map2 = new HashMap<>(); - map2.put("id", idObj1.toString()); - String name = basicConfig; - if (name.indexOf("预警") > -1) { - name = name.replace("预警", ""); + + for (Map map : otherHighRisks) { + if (map != null) {//风险因素 + Map map1 = new HashMap(); + map1.put("id", ""); + Object obj = map.get("fxysu"); + if (null != obj && !"null".equals(obj.toString()) && !"".equals(obj.toString())) { + map1.put("name", map.get("fxysu")); + highScoreResult.getHighRisk().add(map1); + } + RiskDetails riskDetails = new RiskDetails(); + //风险评分 + Object idObj = map.get("fxpf"); + if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { + // BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); + riskDetails.setScore(NumberUtils.toInt(scoreMap.get(idObj.toString()))); + highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(scoreMap.get(idObj.toString()))); + } + Object idObj1 = map.get("fyyse"); + if (null != idObj1 && !"null".equals(idObj1.toString()) && !"".equals(idObj1.toString())) { + String basicConfig = highLevel.get(idObj1.toString()); + if (null != basicConfig) { + Map map2 = new HashMap<>(); + map2.put("id", idObj1.toString()); + String name = basicConfig; + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } + map2.put("name", name); + RiskColorEnum riskColorEnum = SyncDataWork.map.get(name); + riskDetails.setCrisis(riskColorEnum == null ? null : riskColorEnum.getId()); + map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + highScoreResult.getLevel().add(map2); + } } - map2.put("name", name); - RiskColorEnum riskColorEnum = SyncDataWork.map.get(name); - riskDetails.setCrisis(riskColorEnum == null ? null : riskColorEnum.getId()); - map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); - highScoreResult.getLevel().add(map2); - } - } - Object obj1 = map1.get("name"); - if (null != obj1 && !"".equals(obj1.toString())) { - riskDetails.setTitle(obj1.toString()); - riskDetails.setPublishName("system-worker"); - riskDetails.setPublishId(0); - riskDetails.setYn(YnEnums.YES.getId()); - riskDetails.setCreated(new Date()); - riskDetails.setModified(new Date()); - riskDetails.setPatientId(patientId); - riskDetailsService.addRiskDetails(riskDetails); + Object obj1 = map1.get("name"); + if (null != obj1 && !"".equals(obj1.toString())) { + riskDetails.setTitle(obj1.toString()); + riskDetails.setPublishName("system-worker"); + riskDetails.setPublishId(0); + riskDetails.setYn(YnEnums.YES.getId()); + riskDetails.setCreated(new Date()); + riskDetails.setModified(new Date()); + riskDetails.setPatientId(patientId); + riskDetailsService.addRiskDetails(riskDetails); + } + } } } String srt = highScoreResult.gethighRiskStr(); @@ -1207,10 +1262,10 @@ public class SyncDataWork { List data = new ArrayList(); List dat1a = new ArrayList(); Integer score = null; - if (null!=id&&CollectionUtils.isNotEmpty(id)) { + if (null != id && CollectionUtils.isNotEmpty(id)) { score = 0; for (String i : id) { - if(StringUtils.isNotEmpty(i)){ + if (StringUtils.isNotEmpty(i)) { basicConfigQuery.setId(i); List basicConfigs = basicConfigService.queryBasicConfig(basicConfigQuery); if (CollectionUtils.isNotEmpty(basicConfigs)) { @@ -1238,7 +1293,7 @@ public class SyncDataWork { Map map1 = new HashMap<>(); map1.put("id", basicConfig.getParentId()); String name = basicConfig1; - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(name)&&name.indexOf("预警") > -1) { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(name) && name.indexOf("预警") > -1) { name = name.replace("预警", ""); } map1.put("name", name); @@ -1261,7 +1316,7 @@ public class SyncDataWork { } private void bandingMember(com.lymsh.mommybaby.maindata.model.Patients patients) { - if(StringUtils.isBlank(patients.getPhone())){ + if (StringUtils.isBlank(patients.getPhone())) { return; } MembersQuery membersQuery = new MembersQuery(); @@ -1302,7 +1357,7 @@ public class SyncDataWork { } - private void buildNotifyMessage(String phone,String name) { + private void buildNotifyMessage(String phone, String name) { if (StringUtils.isEmpty(phone)) { return; } @@ -1317,13 +1372,13 @@ public class SyncDataWork { patientsQuery.setType(2); patientsQuery.setYn(YnEnums.YES.getId()); int count = patientsService.queryPatientsCount(patientsQuery); - if (CollectionUtils.isNotEmpty(members) && count == 0 &&StringUtils.isNotEmpty(members.get(0).getGzOpenId())) { - String gzopendId= members.get(0).getGzOpenId(); - Map params=new HashMap(); - params.put("gzopenId",gzopendId); - params.put("phone",phone); - params.put("name",name); - HttpClientUtil.doGet("https://weixin-push-save.healthbaby.com.cn/biz-push-web/direct/push",params,"UTF8","3d19960bf3e81e7d816c4f26051c49ba"); + if (CollectionUtils.isNotEmpty(members) && count == 0 && StringUtils.isNotEmpty(members.get(0).getGzOpenId())) { + String gzopendId = members.get(0).getGzOpenId(); + Map params = new HashMap(); + params.put("gzopenId", gzopendId); + params.put("phone", phone); + params.put("name", name); + HttpClientUtil.doGet("https://weixin-push-save.healthbaby.com.cn/biz-push-web/direct/push", params, "UTF8", "3d19960bf3e81e7d816c4f26051c49ba"); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HosptialHighRiskFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HosptialHighRiskFacade.java index 106fc92..0657d04 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HosptialHighRiskFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/HosptialHighRiskFacade.java @@ -169,6 +169,11 @@ public class HosptialHighRiskFacade { HosptialHighRisk hosptialHighRisk = hosptialHighRiskService.getOneHosptialHighRiskById(id); if(hosptialHighRisk!=null&&!hosptialHighRisk.isUse()){ hosptialHighRiskService.deleteHosptialHighRisk(id); + baseResponse.setErrorcode(ErrorCodeConstants.SUCCESS); + baseResponse.setErrormsg("删除失败"); + }else{ + baseResponse.setErrorcode(ErrorCodeConstants.DONT_DELETE); + baseResponse.setErrormsg("删除失败,该高危已经被使用过!"); } } return baseResponse; -- 1.8.3.1