From 27b1d3afd380f44d8e3ec4343c7d02aea1716bb2 Mon Sep 17 00:00:00 2001 From: yangfei Date: Wed, 3 Jan 2018 16:19:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=89=88=E9=AB=98=E5=8D=B1=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=8E=A5=E5=8F=A3=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lyms/platform/pojo/BasicConfig.java | 45 +++ .../com/lyms/platform/query/BasicConfigQuery.java | 13 + .../java/com/lyms/platform/operate/web/Test.java | 110 +++++- .../web/controller/BasicConfigController.java | 12 + .../operate/web/controller/TestController.java | 148 +++++--- .../web/facade/AntenatalExaminationFacade.java | 422 ++++++++++++--------- .../operate/web/facade/BasicConfigFacade.java | 62 +++ 7 files changed, 564 insertions(+), 248 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java index f1f9c53..645587b 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/BasicConfig.java @@ -6,6 +6,9 @@ import org.springframework.data.mongodb.core.mapping.Document; import com.lyms.platform.common.result.BaseModel; +import java.util.ArrayList; +import java.util.List; + /** * 基础项配置 */ @@ -38,6 +41,25 @@ public class BasicConfig extends BaseModel { private Integer score; private String describe; private String color; + private String pId; + + private List basicConfigs = new ArrayList<>(); + + public String getpId() { + return pId; + } + + public void setpId(String pId) { + this.pId = pId; + } + + public List getBasicConfigs() { + return basicConfigs; + } + + public void setBasicConfigs(List basicConfigs) { + this.basicConfigs = basicConfigs; + } public Integer getWeight() { return weight; @@ -164,4 +186,27 @@ public class BasicConfig extends BaseModel { public void setYn(Integer yn) { this.yn = yn; } + + @Override + public String toString() { + return "BasicConfig{" + + "id='" + id + '\'' + + ", parentId='" + parentId + '\'' + + ", code='" + code + '\'' + + ", name='" + name + '\'' + + ", enable=" + enable + + ", typeId='" + typeId + '\'' + + ", weight=" + weight + + ", publishName='" + publishName + '\'' + + ", publishId='" + publishId + '\'' + + ", createDate=" + createDate + + ", modifiedDate=" + modifiedDate + + ", score=" + score + + ", describe='" + describe + '\'' + + ", color='" + color + '\'' + + ", pId='" + pId + '\'' + + ", basicConfigs=" + basicConfigs + + ", yn=" + yn + + '}'; + } } \ No newline at end of file diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java index 3b20d42..43e50f1 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BasicConfigQuery.java @@ -33,6 +33,16 @@ public class BasicConfigQuery extends BaseQuery implements IConvertToNativeQuery // private Boolean existweight; + private String pId; + + public String getpId() { + return pId; + } + + public void setpId(String pId) { + this.pId = pId; + } + public Boolean getExistweight() { return existweight; } @@ -67,6 +77,9 @@ public class BasicConfigQuery extends BaseQuery implements IConvertToNativeQuery if (null != name) { condition = condition.and("name", name, MongoOper.IS); } + if (null != pId) { + condition = condition.and("pId", pId, MongoOper.IS); + } if (null != orName) { MongoCondition con1= MongoCondition.newInstance("alias", orName, MongoOper.LIKE); MongoCondition con = MongoCondition.newInstance("name", orName, MongoOper.IS); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java index f536bf3..27b6f78 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java @@ -1,7 +1,13 @@ package com.lyms.platform.operate.web; +import com.lyms.platform.common.enums.RiskDefaultTypeEnum; +import com.lyms.platform.pojo.BasicConfig; +import com.lyms.platform.query.BasicConfigQuery; +import com.mongodb.Mongo; import net.sourceforge.pinyin4j.PinyinHelper; import org.apache.log4j.Logger; +import org.springframework.data.authentication.UserCredentials; +import org.springframework.data.mongodb.core.MongoTemplate; import java.util.*; @@ -12,14 +18,75 @@ public class Test { private static org.apache.log4j.Logger log = Logger.getLogger("HTTP-INVOKE"); - public static void main(String[] args) throws Exception{ - List> restList = new ArrayList<>(); - Map map = new HashMap<>(); - map.put("date","1"); - map.put("temp", "2"); - restList.add(map); - com.lyms.platform.operate.web.utils.CollectionUtils.reverseList(restList); -System.out.println(restList); + public static void main(String[] args) throws Exception { + + Mongo mongo = new Mongo("119.90.57.26", 10001); + UserCredentials credentials = new UserCredentials("platform", "platform123"); + MongoTemplate mongoTemplate = new MongoTemplate(mongo, "sync-platform-data", credentials); + + Map colorMap = new HashMap<>(); + colorMap.put("224b2329-cb82-4da3-a071-8527f8283aab", "risk_" + RiskDefaultTypeEnum.getColor("紫色")); + colorMap.put("e637b361-99cf-41eb-84f2-f0dab596e928","risk_" + RiskDefaultTypeEnum.getColor("绿色")); + colorMap.put("eb146c03-b19f-4e28-b85f-fda574b2283b","risk_" + RiskDefaultTypeEnum.getColor("红色")); + colorMap.put("49a36aea-c5b6-4162-87d2-9eb3c6ec00c2","risk_" + RiskDefaultTypeEnum.getColor("橙色")); + colorMap.put("315107bd-91fe-42a1-9237-752f3c046a40","risk_" + RiskDefaultTypeEnum.getColor("橙色")); + + + + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + basicConfigQuery.setEnable(1); + basicConfigQuery.setTypeId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); + + //所有数据 + List basicConfigList = mongoTemplate.find(basicConfigQuery.convertToQuery().convertToMongoQuery(), BasicConfig.class); + System.out.println(basicConfigList.size()); + + Map> slaveBasicConfigMap = new HashMap<>(); + for (BasicConfig bc : basicConfigList) { + bc.setColor(colorMap.get(bc.getParentId())); + + if (bc.getpId() != null) { + if (slaveBasicConfigMap.containsKey(bc.getpId())) { + slaveBasicConfigMap.get(bc.getpId()).add(bc); + } else { + List basicConfigs = new ArrayList<>(); + basicConfigs.add(bc); + slaveBasicConfigMap.put(bc.getpId(), basicConfigs); + } + } + } + + //主节点数据 + basicConfigQuery.setTypeId(null); + basicConfigQuery.setParentId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); + List mainBasicConfigList = mongoTemplate.find(basicConfigQuery.convertToQuery().convertToMongoQuery(), BasicConfig.class); + System.out.println(mainBasicConfigList.size()); + + for (BasicConfig bs : mainBasicConfigList) { + configData(bs, basicConfigList,slaveBasicConfigMap); + } + System.out.println(mainBasicConfigList); + + + + // PatientWeight pw = mongoTemplate.findById("123", PatientWeight.class); + // Map s = new HashMap<>(); + // s.put("name", "1"); + // s.put("name2", "12"); + // pw.setDayWeights(s); + // String json = JSON.toJSONString(pw); + // String clazz = "com.lyms.platform.pojo.PatientWeight"; + // JSON.parseObject(json, Class.forName(clazz)); + // mongoTemplate.save(pw); + + +// List> restList = new ArrayList<>(); +// Map map = new HashMap<>(); +// map.put("date","1"); +// map.put("temp", "2"); +// restList.add(map); +// com.lyms.platform.operate.web.utils.CollectionUtils.reverseList(restList); +// System.out.println(restList); @@ -58,24 +125,35 @@ System.out.println(restList); stopWatch.stop(); System.out.println(stopWatch.toString());*/ } + + public static void configData(BasicConfig bs, List basicConfigList,Map> slaveBasicConfigMap) { + + if (slaveBasicConfigMap.containsKey(bs.getId())) { + bs.setBasicConfigs(slaveBasicConfigMap.get(bs.getId())); + for(BasicConfig basicConfig:bs.getBasicConfigs()){ + configData(basicConfig,basicConfigList,slaveBasicConfigMap); + } + } + } + + /** * 功能:实现汉语拼音序比较 - * */ - static class ComparatorPinYin implements Comparator { + static class ComparatorPinYin implements Comparator { @Override public int compare(String o1, String o2) { return ToPinYinString(o1).compareTo(ToPinYinString(o2)); } - private String ToPinYinString(String str){ + private String ToPinYinString(String str) { - StringBuilder sb=new StringBuilder(); - String[] arr=null; + StringBuilder sb = new StringBuilder(); + String[] arr = null; - for(int i=0;i0){ + for (int i = 0; i < str.length(); i++) { + arr = PinyinHelper.toHanyuPinyinStringArray(str.charAt(i)); + if (arr != null && arr.length > 0) { for (String string : arr) { sb.append(string); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java index c021823..6e8b343 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BasicConfigController.java @@ -30,6 +30,18 @@ public class BasicConfigController extends BaseController { @Autowired private BasicConfigFacade basicConfigFacade; + + /** + * 2017新版高危因数 + * + * @return 返回结果 + */ + @RequestMapping(method = RequestMethod.GET, value = "/findNewHighRisk") + @ResponseBody + public BaseResponse findNewHighRisk() { + return basicConfigFacade.findNewHighRisk(); + } + /** * 基础项配置查询 * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index f4956df..16472a8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -6,6 +6,7 @@ import com.lyms.hospitalapi.qhdfy.QhdfyFmService; import com.lyms.hospitalapi.qhdfy.QhdfyHisService; import com.lyms.platform.biz.JdbcUtil; import com.lyms.platform.biz.service.*; +import com.lyms.platform.common.enums.RiskDefaultTypeEnum; import com.lyms.platform.common.enums.SieveStatusEnums; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.result.BaseResponse; @@ -125,24 +126,24 @@ public class TestController { private BabyBookbuildingService babyBookbuildingService; - static Map highRisks = new HashMap<>(); + static Map highRisks = new HashMap<>(); + static { - highRisks.put("f3a1c08f-a2c1-4e93-8ffd-398af9e2d8c9","5a40c763422b03d4ad2bf7c1"); // 流产≥2次---------> 不良孕产史(各类流产≥3次、早产、围产儿死亡、出生缺陷、异位妊娠、滋养细胞疾病等) - highRisks.put("ee3ba99e-64c0-4aab-b0a4-71dec0d61ca6","5a40c772422b03d4ad2bf7c4"); //人工受精------->辅助生殖妊娠 - highRisks.put("a8094bd6-de5d-4b95-9a1a-59ae376bb2a6","9310676a-9482-4da5-9ba8-e2a302843ea0"); //高血压------> 妊娠期高血压疾病(除外红、橙色) - highRisks.put("3be742b2-ed07-425e-a435-8a19fc8ba86e","52986b9e-5a44-4613-9af5-07564f15b703"); //臀位 -------->≥36周胎位不正 - highRisks.put("cbeb4447-f4cb-4c2e-96f3-973a0c701fc3","8856c4da-57e3-42af-820a-25c991dde3f0"); //BMI≥32------>BMI≥28 - highRisks.put("251833c7-7ac1-410f-a6e7-c50f4008d5ed","5a41f715422b03d4ad2bf7f7"); // 中度贫血 ------>妊娠合并贫血(Hb 60-110g/L) - highRisks.put("2adbce90-4066-4980-b7a0-14012cbfea52","d7ceb752-ce2a-4901-a94e-51b73ccefc52"); // 心律失常-----需药物治疗的心肌炎后遗症、心律失常等 - highRisks.put("8745081d-1f37-45f7-b5be-94a208686bd2","ecb2fd70-1e85-455c-8f62-ee7b9c71e48c"); // 甲减---------需药物治疗的甲状腺疾病 - highRisks.put("5cba13c2-5cb5-46c9-905a-41708d13d45e","d6cfcad8-c674-4624-b50d-8797d217f10c"); //糖尿病并发心脏病 ----糖尿病并发肾病V级、严重心血管病、增生性视网膜病变或玻璃体出血、周围神经病变等 - highRisks.put("0b51b328-1c8f-41de-90de-ef3b76341c1b","d6cfcad8-c674-4624-b50d-8797d217f10c"); //糖尿病并发蛋白尿 ----糖尿病并发肾病V级、严重心血管病、增生性视网膜病变或玻璃体出血、周围神经病变等 - highRisks.put("80587d8a-009e-46aa-87e5-57996b0708b1","d6cfcad8-c674-4624-b50d-8797d217f10c"); //糖尿病并发肾功能不全 ---糖尿病并发肾病V级、严重心血管病、增生性视网膜病变或玻璃体出血、周围神经病变等 + highRisks.put("f3a1c08f-a2c1-4e93-8ffd-398af9e2d8c9", "5a40c763422b03d4ad2bf7c1"); // 流产≥2次---------> 不良孕产史(各类流产≥3次、早产、围产儿死亡、出生缺陷、异位妊娠、滋养细胞疾病等) + highRisks.put("ee3ba99e-64c0-4aab-b0a4-71dec0d61ca6", "5a40c772422b03d4ad2bf7c4"); //人工受精------->辅助生殖妊娠 + highRisks.put("a8094bd6-de5d-4b95-9a1a-59ae376bb2a6", "9310676a-9482-4da5-9ba8-e2a302843ea0"); //高血压------> 妊娠期高血压疾病(除外红、橙色) + highRisks.put("3be742b2-ed07-425e-a435-8a19fc8ba86e", "52986b9e-5a44-4613-9af5-07564f15b703"); //臀位 -------->≥36周胎位不正 + highRisks.put("cbeb4447-f4cb-4c2e-96f3-973a0c701fc3", "8856c4da-57e3-42af-820a-25c991dde3f0"); //BMI≥32------>BMI≥28 + highRisks.put("251833c7-7ac1-410f-a6e7-c50f4008d5ed", "5a41f715422b03d4ad2bf7f7"); // 中度贫血 ------>妊娠合并贫血(Hb 60-110g/L) + highRisks.put("2adbce90-4066-4980-b7a0-14012cbfea52", "d7ceb752-ce2a-4901-a94e-51b73ccefc52"); // 心律失常-----需药物治疗的心肌炎后遗症、心律失常等 + highRisks.put("8745081d-1f37-45f7-b5be-94a208686bd2", "ecb2fd70-1e85-455c-8f62-ee7b9c71e48c"); // 甲减---------需药物治疗的甲状腺疾病 + highRisks.put("5cba13c2-5cb5-46c9-905a-41708d13d45e", "d6cfcad8-c674-4624-b50d-8797d217f10c"); //糖尿病并发心脏病 ----糖尿病并发肾病V级、严重心血管病、增生性视网膜病变或玻璃体出血、周围神经病变等 + highRisks.put("0b51b328-1c8f-41de-90de-ef3b76341c1b", "d6cfcad8-c674-4624-b50d-8797d217f10c"); //糖尿病并发蛋白尿 ----糖尿病并发肾病V级、严重心血管病、增生性视网膜病变或玻璃体出血、周围神经病变等 + highRisks.put("80587d8a-009e-46aa-87e5-57996b0708b1", "d6cfcad8-c674-4624-b50d-8797d217f10c"); //糖尿病并发肾功能不全 ---糖尿病并发肾病V级、严重心血管病、增生性视网膜病变或玻璃体出血、周围神经病变等 } - @ResponseBody @RequestMapping("/init/patient/weight") public BaseResponse initPatientWeight() { @@ -1388,6 +1389,80 @@ public class TestController { return "syncDzFmByPhone finish"; } + /** + * 2017新版高危因数 + * + * @return 返回结果 + */ + @RequestMapping(method = RequestMethod.GET, value = "/test/findNewHighRisk") + @ResponseBody + public BaseResponse findNewHighRisk() { + List mainBasicConfigList = new ArrayList<>(); + try { + Mongo mongo = new Mongo("119.90.57.26", 10001); + UserCredentials credentials = new UserCredentials("platform", "platform123"); + MongoTemplate mongoTemplate = new MongoTemplate(mongo, "sync-platform-data", credentials); + + Map colorMap = new HashMap<>(); + colorMap.put("224b2329-cb82-4da3-a071-8527f8283aab", "risk_" + RiskDefaultTypeEnum.getColor("紫色")); + colorMap.put("e637b361-99cf-41eb-84f2-f0dab596e928", "risk_" + RiskDefaultTypeEnum.getColor("绿色")); + colorMap.put("eb146c03-b19f-4e28-b85f-fda574b2283b", "risk_" + RiskDefaultTypeEnum.getColor("红色")); + colorMap.put("49a36aea-c5b6-4162-87d2-9eb3c6ec00c2", "risk_" + RiskDefaultTypeEnum.getColor("橙色")); + colorMap.put("315107bd-91fe-42a1-9237-752f3c046a40", "risk_" + RiskDefaultTypeEnum.getColor("橙色")); + + + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + basicConfigQuery.setEnable(1); + basicConfigQuery.setTypeId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); + + //所有数据 + List basicConfigList = mongoTemplate.find(basicConfigQuery.convertToQuery().convertToMongoQuery(), BasicConfig.class); + System.out.println(basicConfigList.size()); + + Map> slaveBasicConfigMap = new HashMap<>(); + for (BasicConfig bc : basicConfigList) { + bc.setColor(colorMap.get(bc.getParentId())); + + if (bc.getpId() != null) { + if (slaveBasicConfigMap.containsKey(bc.getpId())) { + slaveBasicConfigMap.get(bc.getpId()).add(bc); + } else { + List basicConfigs = new ArrayList<>(); + basicConfigs.add(bc); + slaveBasicConfigMap.put(bc.getpId(), basicConfigs); + } + } + } + + //主节点数据 + basicConfigQuery.setTypeId(null); + basicConfigQuery.setParentId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); + mainBasicConfigList = mongoTemplate.find(basicConfigQuery.convertToQuery().convertToMongoQuery(), BasicConfig.class); + System.out.println(mainBasicConfigList.size()); + + for (BasicConfig bs : mainBasicConfigList) { + configData(bs, basicConfigList, slaveBasicConfigMap); + } + + } catch (Exception e) { + e.printStackTrace(); + } + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject(mainBasicConfigList); + return baseResponse; + } + + public static void configData(BasicConfig bs, List basicConfigList, Map> slaveBasicConfigMap) { + + if (slaveBasicConfigMap.containsKey(bs.getId())) { + bs.setBasicConfigs(slaveBasicConfigMap.get(bs.getId())); + for (BasicConfig basicConfig : bs.getBasicConfigs()) { + configData(basicConfig, basicConfigList, slaveBasicConfigMap); + } + } + } + + public static void main(String[] a) throws Exception { Mongo mongo = new Mongo("119.90.57.26", 10001); UserCredentials credentials = new UserCredentials("platform", "platform123"); @@ -1466,6 +1541,7 @@ public class TestController { /** * 更新新版高危因素 + * * @param hospitalId * @param patientId * @return @@ -1483,8 +1559,7 @@ public class TestController { PatientsQuery patientsQuery1 = new PatientsQuery(); patientsQuery1.setYn(YnEnums.YES.getId()); - if (StringUtils.isNotEmpty(patientId)) - { + if (StringUtils.isNotEmpty(patientId)) { patientsQuery1.setId(patientId); } @@ -1511,8 +1586,7 @@ public class TestController { List patientRisk = pat.getRiskFactorId(); if (CollectionUtils.isNotEmpty(patientRisk)) { int modCount = doRiskHandle(patientRisk); - if (modCount > 0) - { + if (modCount > 0) { pat.setRiskFactorId(patientRisk); patientsService.updatePatient(pat); } @@ -1531,8 +1605,7 @@ public class TestController { List highrisks = JsonUtil.toList(highriskStr, String.class); if (CollectionUtils.isNotEmpty(highrisks)) { int modCount = doRiskHandle(highrisks); - if (modCount > 0) - { + if (modCount > 0) { cmodel.setHighrisk(JsonUtil.array2JsonString(highrisks)); antenatalExaminationService.updateAntExChu(cmodel, cmodel.getId()); } @@ -1553,12 +1626,10 @@ public class TestController { String highriskStr = fmodel.getRiskFactor(); if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(highriskStr)) { List highrisks = JsonUtil.toList(highriskStr, String.class); - if (CollectionUtils.isNotEmpty(highrisks)) - { + if (CollectionUtils.isNotEmpty(highrisks)) { if (CollectionUtils.isNotEmpty(highrisks)) { int modCount = doRiskHandle(highrisks); - if (modCount > 0) - { + if (modCount > 0) { fmodel.setRiskFactor(JsonUtil.array2JsonString(highrisks)); antenatalExaminationService.updateOneAnt(fmodel, fmodel.getId()); } @@ -1574,21 +1645,16 @@ public class TestController { //初诊复诊冗余记录 AntExRecordQuery query = new AntExRecordQuery(); query.setParentId(pat.getId()); - List antExRecordModels = recordService.queryAntExRecords(query); - if (CollectionUtils.isNotEmpty(antExRecordModels)) - { - for (AntExRecordModel model : antExRecordModels) - { + List antExRecordModels = recordService.queryAntExRecords(query); + if (CollectionUtils.isNotEmpty(antExRecordModels)) { + for (AntExRecordModel model : antExRecordModels) { List highrisks = model.gethRisk(); - if (CollectionUtils.isNotEmpty(highrisks)) - { - if (CollectionUtils.isNotEmpty(highrisks)) - { + if (CollectionUtils.isNotEmpty(highrisks)) { + if (CollectionUtils.isNotEmpty(highrisks)) { int modCount = doRiskHandle(highrisks); - if (modCount > 0) - { + if (modCount > 0) { model.sethRisk(highrisks); - recordService.updateOne(model,model.getId()); + recordService.updateOne(model, model.getId()); } } } @@ -1607,16 +1673,12 @@ public class TestController { return "upateNewHighRisk finish"; } - private int doRiskHandle(List patientRisk) - { + private int doRiskHandle(List patientRisk) { int modCount = 0; - for (String key : highRisks.keySet()) - { - if (patientRisk.contains(key)) - { + for (String key : highRisks.keySet()) { + if (patientRisk.contains(key)) { patientRisk.remove(key); - if (!patientRisk.contains(highRisks.get(key))) - { + if (!patientRisk.contains(highRisks.get(key))) { patientRisk.add(highRisks.get(key)); modCount++; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index f6733bd..f27ef45 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -138,7 +138,7 @@ public class AntenatalExaminationFacade { // patients.setFileCode(null); // 产后复查,设置自动分娩,这个字段其实是为了确定是否有对应的分娩记录,但是这种是没有分娩记录的 - if(type==3){ + if (type == 3) { patients.setIsAutoFm(YnEnums.YES.getId()); } // hujiaqi添加结束 @@ -181,7 +181,7 @@ public class AntenatalExaminationFacade { } //当非建档医院修改初诊信息时,需要同步给建档医院 - private void syncMaster(String parentId,String nextCheckTime) { + private void syncMaster(String parentId, String nextCheckTime) { //当前非建档医院最新的状态 Patients patients = patientsService.findOnePatientById(parentId); @@ -204,13 +204,13 @@ public class AntenatalExaminationFacade { p1.setLastCheckEmployeeId(patients.getLastCheckEmployeeId()); patientsService.updatePatient(p1); - patientsService.updatePatientOneCol(masterPatients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime)?null:DateUtil.parseYMD(nextCheckTime)); - }else{ - PatientsQuery patientsQuery1=new PatientsQuery(); + patientsService.updatePatientOneCol(masterPatients.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); + } else { + PatientsQuery patientsQuery1 = new PatientsQuery(); patientsQuery1.setSource(parentId); patientsQuery1.setYn(YnEnums.YES.getId()); - List list= patientsService.queryPatient(patientsQuery1); - if(CollectionUtils.isNotEmpty(list)){ + List list = patientsService.queryPatient(patientsQuery1); + if (CollectionUtils.isNotEmpty(list)) { for (Patients p : list) { Patients p1 = new Patients(); p1.setId(p.getId()); @@ -224,12 +224,12 @@ public class AntenatalExaminationFacade { p1.setRiskFactorId(patients.getRiskFactorId()); p1.setRiskLevelId(patients.getRiskLevelId()); p1.setRiskScore(patients.getRiskScore()); - p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime)?null:DateUtil.parseYMD(nextCheckTime)); + p1.setNextCheckTime(com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); p1.setFmDate(patients.getFmDate()); p1.setServiceStatus(patients.getServiceStatus()); p1.setLastCheckEmployeeId(patients.getLastCheckEmployeeId()); patientsService.updatePatient(p1); - patientsService.updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime)?null:DateUtil.parseYMD(nextCheckTime)); + patientsService.updatePatientOneCol(p.getId(), com.lyms.platform.common.utils.StringUtils.isEmpty(nextCheckTime) ? null : DateUtil.parseYMD(nextCheckTime)); } } } @@ -323,7 +323,7 @@ public class AntenatalExaminationFacade { } }*/ Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); - Patients patients1 =new Patients(); + Patients patients1 = new Patients(); patients1.setId(patients.getId()); patients1.setLastCheckEmployeeId(antExAddRequest.getCheckDoctor()); @@ -342,9 +342,9 @@ public class AntenatalExaminationFacade { operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), model, OptActionEnums.ADD.getId(), "添加复诊"); /** 验证产检券是否可用 可用就改为已使用状态 */ - if(StringUtils.isNotBlank(antExAddRequest.getCouponCode()) && antExAddRequest.getCouponType() != null) { + if (StringUtils.isNotBlank(antExAddRequest.getCouponCode()) && antExAddRequest.getCouponType() != null) { BaseObjectResponse resp = couponService.validate(antExAddRequest.getCouponCode(), antExAddRequest.getCouponType(), autoMatchFacade.getHospitalId(userId)); - if(resp.getErrorcode() != 0) { + if (resp.getErrorcode() != 0) { return resp; } else { couponService.use(autoMatchFacade.getHospitalId(userId), antExAddRequest.getCouponCode(), userId, model.getId()); @@ -364,7 +364,7 @@ public class AntenatalExaminationFacade { updateLastRhTime(patients.getId(), hospitalId); //修改数据 - syncMaster(antExAddRequest.getParentId(),antExAddRequest.getNextCheckTime()); + syncMaster(antExAddRequest.getParentId(), antExAddRequest.getNextCheckTime()); //复诊,修改产检管理 antenatalExaminationService.updateAntExRecord(model.getId(), 2); if (null != patients.getBuildType() && patients.getBuildType() == 3) { @@ -425,16 +425,16 @@ public class AntenatalExaminationFacade { * @param excAddRequest * @return */ - public BaseResponse addOneAnetExChu(AntExcAddRequest excAddRequest, Integer userId) { - StopWatch stopWatch =new StopWatch("addOneAnetExChu"); + public BaseResponse addOneAnetExChu(AntExcAddRequest excAddRequest, Integer userId) { + StopWatch stopWatch = new StopWatch("addOneAnetExChu"); String hospitalId = autoMatchFacade.getHospitalId(userId); /** 验证产检券是否可用 可用就改为已使用状态 */ - if(StringUtils.isNotBlank(excAddRequest.getCouponCode()) && excAddRequest.getCouponType() != null) { + if (StringUtils.isNotBlank(excAddRequest.getCouponCode()) && excAddRequest.getCouponType() != null) { stopWatch.start("couponService.validate"); - BaseObjectResponse resp = couponService.validate(excAddRequest.getCouponCode(), excAddRequest.getCouponType(),hospitalId); + BaseObjectResponse resp = couponService.validate(excAddRequest.getCouponCode(), excAddRequest.getCouponType(), hospitalId); stopWatch.stop(); - if(resp.getErrorcode() != 0) { + if (resp.getErrorcode() != 0) { return resp; } } @@ -469,7 +469,7 @@ public class AntenatalExaminationFacade { } //修改患者风险等级 // updatePatientRiskLevel(antExChuModel, patients); - patientsService.updateNextCheckTime(excAddRequest.getNextCheckTime(),patients.getId()); + patientsService.updateNextCheckTime(excAddRequest.getNextCheckTime(), patients.getId()); patientsService.updatePatient(patients); @@ -490,7 +490,7 @@ public class AntenatalExaminationFacade { operateLogFacade.addModifyOptLog(userId, Integer.parseInt(hospitalId), list.get(0), antExChuModel, OptActionEnums.UPDATE.getId(), "修改初诊"); //修改数据 - syncMaster(excAddRequest.getParentId(),excAddRequest.getNextCheckTime()); + syncMaster(excAddRequest.getParentId(), excAddRequest.getNextCheckTime()); } else { AntExChuQuery antExChuQuery1 = new AntExChuQuery(); antExChuQuery1.setParentId(excAddRequest.getParentId()); @@ -544,7 +544,7 @@ public class AntenatalExaminationFacade { antenatalExaminationService.addOneAntEx(antExChuModel); - operateLogFacade.addAddOptLog(userId,Integer.parseInt(hospitalId),antExChuModel,OptActionEnums.ADD.getId(),"添加初诊"); + operateLogFacade.addAddOptLog(userId, Integer.parseInt(hospitalId), antExChuModel, OptActionEnums.ADD.getId(), "添加初诊"); stopWatch.stop(); /** 把优惠券设置为已使用状态 */ @@ -565,7 +565,7 @@ public class AntenatalExaminationFacade { stopWatch.start("updateAntExRecord"); antenatalExaminationService.updateAntExRecord(antExChuModel.getId(), 1); stopWatch.stop(); - syncMaster(excAddRequest.getParentId(),excAddRequest.getNextCheckTime()); + syncMaster(excAddRequest.getParentId(), excAddRequest.getNextCheckTime()); logger.info(stopWatch.toString()); if (null != patients.getBuildType() && patients.getBuildType() == 3) { Patients patients1 = new Patients(); @@ -847,60 +847,119 @@ public class AntenatalExaminationFacade { highScoreResult = queryRisk(list2, needLevel); next = false; } - 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.setOtherRisk(map.get("fxysu").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) { - String name = basicConfig.getName(); - if (name.indexOf("预警") > -1) { - name = name.replace("预警", ""); - } + //自定义高危处理 + if (null != antExChuModel && !"{}".equals(antExChuModel.getOtherHighRisk())&& !"[]".equals(antExChuModel.getOtherHighRisk())) { + if (antExChuModel.getOtherHighRisk().startsWith("[")&&antExChuModel.getOtherHighRisk().endsWith("]")) { + List list2 = JsonUtil.toList(antExChuModel.getOtherHighRisk(), Map.class); + for (Map map : list2) { + //风险因素 + 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.setOtherRisk(map.get("fxysu").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) { + String name = basicConfig.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } // map1.put("name", name); - map1.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + map1.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + } + } + highScoreResult.getHighRisk().add(map1); + } else { + continue; + } + //风险评分 + Object idObj = map.get("fxpf"); + if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); + highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(basicConfig.getName(), 0)); + } + map1.put("oRiskId", map.get("fyyse")); + map1.put("pfId", idObj); + + if (needLevel) { + 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); + map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + highScoreResult.getLevel().add(map2); + } + } } + next = false; } - highScoreResult.getHighRisk().add(map1); - } else { - continue; - } - //风险评分 - Object idObj = map.get("fxpf"); - if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { - BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); - highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(basicConfig.getName(), 0)); - } - map1.put("oRiskId", map.get("fyyse")); - map1.put("pfId", idObj); - - if (needLevel) { - 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(); + } else { + 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.setOtherRisk(map.get("fxysu").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) { + String name = basicConfig.getName(); + if (name.indexOf("预警") > -1) { + name = name.replace("预警", ""); + } +// map1.put("name", name); + map1.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + } + } + highScoreResult.getHighRisk().add(map1); + } else { + continue; + } + //风险评分 + Object idObj = map.get("fxpf"); + if (null != idObj && !"null".equals(idObj.toString()) && !"".equals(idObj.toString())) { + BasicConfig basicConfig = basicConfigService.getOneBasicConfigById(idObj.toString()); + highScoreResult.setScore(highScoreResult.getScore() + NumberUtils.toInt(basicConfig.getName(), 0)); + } - if (name.indexOf("预警") > -1) { - name = name.replace("预警", ""); + map1.put("oRiskId", map.get("fyyse")); + map1.put("pfId", idObj); + + if (needLevel) { + 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); + map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + highScoreResult.getLevel().add(map2); } - map2.put("name", name); - map2.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); - highScoreResult.getLevel().add(map2); } } + next = false; } - next = false; } } } @@ -1048,11 +1107,11 @@ public class AntenatalExaminationFacade { } } - List dischargeAbstractMotherModels=dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + List dischargeAbstractMotherModels = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); - if(CollectionUtils.isNotEmpty(dischargeAbstractMotherModels)){ - for(DischargeAbstractMotherModel model:dischargeAbstractMotherModels){ - listData.add(new AntData(model, null != organization ? organization.getName() : "",dueDate)); + if (CollectionUtils.isNotEmpty(dischargeAbstractMotherModels)) { + for (DischargeAbstractMotherModel model : dischargeAbstractMotherModels) { + listData.add(new AntData(model, null != organization ? organization.getName() : "", dueDate)); } } @@ -1103,7 +1162,7 @@ public class AntenatalExaminationFacade { List list2 = new ArrayList(); list2.add(l); list2.addAll(sortList); - sortList=list2; + sortList = list2; updateEditEnable(l, sortList); l = new ArrayList(); } @@ -1149,7 +1208,7 @@ public class AntenatalExaminationFacade { Organization organization = null; String pid = ""; List listData = new ArrayList(); - Date lastMenses=null;//上一次的末次月经 + Date lastMenses = null;//上一次的末次月经 while (iterator.hasNext()) { Patients patients = iterator.next(); @@ -1159,7 +1218,7 @@ public class AntenatalExaminationFacade { Date currentDate = DateUtil.formatDate(new Date()); - if ((date.getTime() <= currentDate.getTime() || patients.getBuildType() == 2||(patients.getIsAutoFm()!=null&& patients.getIsAutoFm() == 1)) || patients.getType() == 3 && patients.getFmDate() != null) { + if ((date.getTime() <= currentDate.getTime() || patients.getBuildType() == 2 || (patients.getIsAutoFm() != null && patients.getIsAutoFm() == 1)) || patients.getType() == 3 && patients.getFmDate() != null) { //建档记录 if (null != patients.getHospitalId()) { organization = organizationService.getOrganization(Integer.valueOf(patients.getHospitalId())); @@ -1171,7 +1230,7 @@ public class AntenatalExaminationFacade { } // if (null == dueDate && null != patients.getFmDate()) { - dueDate = patients.getFmDate(); + dueDate = patients.getFmDate(); // } @@ -1231,7 +1290,7 @@ public class AntenatalExaminationFacade { listData.add(new AntData((MaternalDeliverModel) obj, patientses.get(0).getLastMenses(), null != organization ? organization.getName() : "")); } }*/ - if (null != map) { + if (null != map) { MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); matDeliverQuery.setYn(YnEnums.YES.getId()); matDeliverQuery.setPid(pid); @@ -1242,11 +1301,11 @@ public class AntenatalExaminationFacade { //下次建档记录前都是产后复查,如果没有下个产程的数据就直接显示 if (listDate.size() > 1 && i > 1) { matDeliverQuery.setEndStart(listDate.get(i - 1).getDate()); - }else{ + } else { matDeliverQuery.setEndStart(lastMenses); } } - List l= matDeliverService.query(matDeliverQuery); + List l = matDeliverService.query(matDeliverQuery); if (CollectionUtils.isNotEmpty(l)) { MaternalDeliverModel model = l.get(0); if (null != model.getHospitalId()) { @@ -1270,17 +1329,17 @@ public class AntenatalExaminationFacade { } } - List dischargeAbstractMotherModels=dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); + List dischargeAbstractMotherModels = dischargeAbstractMotherService.query(dischargeAbstractMotherQuery); - if(CollectionUtils.isNotEmpty(dischargeAbstractMotherModels)){ - for(DischargeAbstractMotherModel model:dischargeAbstractMotherModels){ - listData.add(new AntData(model, null != organization ? organization.getName() : "",dueDate)); + if (CollectionUtils.isNotEmpty(dischargeAbstractMotherModels)) { + for (DischargeAbstractMotherModel model : dischargeAbstractMotherModels) { + listData.add(new AntData(model, null != organization ? organization.getName() : "", dueDate)); } } //终止妊娠的情况 - if(null!=patients.getDueStatus()&&1==patients.getDueStatus()){ - StopPregQuery stopPregQuery=new StopPregQuery(); + if (null != patients.getDueStatus() && 1 == patients.getDueStatus()) { + StopPregQuery stopPregQuery = new StopPregQuery(); stopPregQuery.setYn(YnEnums.YES.getId()); stopPregQuery.setPid(pid); if (list.size() - 1 > i) { @@ -1292,16 +1351,16 @@ public class AntenatalExaminationFacade { } } } - List models =stopPregnancyService.queryStopPreg(stopPregQuery); - if(CollectionUtils.isNotEmpty(models)){ - for(StopPregModel stop:models){ + List models = stopPregnancyService.queryStopPreg(stopPregQuery); + if (CollectionUtils.isNotEmpty(models)) { + for (StopPregModel stop : models) { if (null != stop.getHospitalId()) { organization = organizationService.getOrganization(Integer.valueOf(stop.getHospitalId())); } - listData.add(new AntData(stop, patients.getLastMenses() , null != organization ? organization.getName() : "")); + listData.add(new AntData(stop, patients.getLastMenses(), null != organization ? organization.getName() : "")); } } - }else{ + } else { PostReviewQuery postReviewQuery = new PostReviewQuery(); if (list.size() - 1 > i) { postReviewQuery.setStart(dueDate); @@ -1311,11 +1370,11 @@ public class AntenatalExaminationFacade { postReviewQuery.setEnd(listDate.get(i - 1).getDate()); } } - }else{ + } else { // postReviewQuery.setEnd(dueDate); //lqy udpate 2017-02-14 postReviewQuery.setStart(dueDate); - if(list.size()>1){ + if (list.size() > 1) { postReviewQuery.setEnd(listDate.get(i - 1).getDate()); } } @@ -1339,7 +1398,7 @@ public class AntenatalExaminationFacade { } } } - lastMenses=patients.getLastMenses(); + lastMenses = patients.getLastMenses(); iterator.remove(); if (CollectionUtils.isNotEmpty(listData)) { sort(listData); @@ -1360,8 +1419,8 @@ public class AntenatalExaminationFacade { */ private void updateEditEnable(List list, List> sortList) { //如果上个产程有数据,并且本产程有记录就设置上个产程不可编辑 - if (CollectionUtils.isNotEmpty(sortList) && CollectionUtils.isNotEmpty(list)) { - List l =sortList.get(sortList.size()-1); + if (CollectionUtils.isNotEmpty(sortList) && CollectionUtils.isNotEmpty(list)) { + List l = sortList.get(sortList.size() - 1); for (AntData antData : l) { antData.setEnableEdit("0"); } @@ -1492,23 +1551,18 @@ public class AntenatalExaminationFacade { public BaseResponse getLastRisk(String patientId, Integer id) { List highRisk = new ArrayList(); Patients patients = patientsService.findOnePatientById(patientId); - if (patients != null) - { + if (patients != null) { HighScoreResult highScoreResult = findLastRisk(patients.getPid(), true); highRisk = highScoreResult.getHighRisk(); - if (CollectionUtils.isNotEmpty(highRisk)) - { - for (int i = 0 ; i < highRisk.size() ; i++) - { - Map risk = (Map)highRisk.get(i); - if (risk != null && risk.size() > 0) - { + if (CollectionUtils.isNotEmpty(highRisk)) { + for (int i = 0; i < highRisk.size(); i++) { + Map risk = (Map) highRisk.get(i); + if (risk != null && risk.size() > 0) { Object idObj = risk.get("id"); - if (idObj == null || "".equals(idObj.toString())) - { - risk.put("color",risk.get("oRiskId")); + if (idObj == null || "".equals(idObj.toString())) { + risk.put("color", risk.get("oRiskId")); risk.remove("oRiskId"); - + risk.put("code", risk.get("pfId")); risk.remove("pfId"); } @@ -1847,12 +1901,9 @@ public class AntenatalExaminationFacade { patientsQuery.setCardNo(cardNo); } else if (StringUtils.isNotEmpty(vcCardNo)) { //德州市妇幼保健院医院通过(就诊卡号、银行卡号,社保卡号) 查询出对应的用过的卡号 add lqy - if ("1000000114".equals(hospitalId)) - { + if ("1000000114".equals(hospitalId)) { patientsQuery.setVcCardNos(dzfyHisService.getDzVcCardNos(vcCardNo)); - } - else - { + } else { patientsQuery.setVcCardNo(vcCardNo); } } else if (StringUtils.isNotEmpty(id)) { @@ -1935,7 +1986,7 @@ public class AntenatalExaminationFacade { Patients patients = null; Organization og = organizationService.getOrganization(Integer.valueOf(hospitalId)); //获取当前用户在的医院 - List currentGroupHospital=groupsFacade.findGroupHospital(userId, false); + List currentGroupHospital = groupsFacade.findGroupHospital(userId, false); if (!StringUtils.isEmpty(queryRequest.getPatientId())) { PatientsQuery patientsQuery = new PatientsQuery(); @@ -1955,7 +2006,7 @@ public class AntenatalExaminationFacade { PatientCheckTicket checkTicket = patientCheckTicketService.getTicket(queryRequest.getBarCode()); if (null != checkTicket) { - if(null!=currentGroupHospital&¤tGroupHospital.contains(checkTicket.getHospitalId())){ + if (null != currentGroupHospital && currentGroupHospital.contains(checkTicket.getHospitalId())) { Patients patients1 = patientsService.findOnePatientById(checkTicket.getPatientId()); if (null != patients1) { if (StringUtils.isNotEmpty(patients1.getSource())) { @@ -1967,16 +2018,16 @@ public class AntenatalExaminationFacade { } } } else { - if(StringUtils.isEmpty(queryRequest.getCardNo())&&StringUtils.isEmpty(queryRequest.getVcCardNo())){ + if (StringUtils.isEmpty(queryRequest.getCardNo()) && StringUtils.isEmpty(queryRequest.getVcCardNo())) { return new BaseResponse().setErrorcode(ErrorCodeConstants.PARAMETER_ERROR).setErrormsg("请输入查询条件"); } - patients = findOnePatient(queryRequest.getCardNo(), queryRequest.getVcCardNo(), null,currentGroupHospital , 1, false, null, og.getbStatus() == 1); + patients = findOnePatient(queryRequest.getCardNo(), queryRequest.getVcCardNo(), null, currentGroupHospital, 1, false, null, og.getbStatus() == 1); //查询产妇数据 // patients = findOnePatient(queryRequest.getCardNo(), queryRequest.getVcCardNo(), null, hospitalId, 1, false, null, false); } if (null == patients) { - if(StringUtils.isNotEmpty(queryRequest.getCardNo())&&StringUtils.isNotEmpty( queryRequest.getVcCardNo())){ + if (StringUtils.isNotEmpty(queryRequest.getCardNo()) && StringUtils.isNotEmpty(queryRequest.getVcCardNo())) { patients = findOnePatient(queryRequest.getCardNo(), queryRequest.getVcCardNo(), null, currentGroupHospital, 3, false, null, og.getbStatus() == 1); } @@ -2103,7 +2154,7 @@ public class AntenatalExaminationFacade { if (CollectionUtils.isNotEmpty(antExChulist)) { AntExChuModel latelyAntExChuModel = null; /** 最近的一次初诊 */ for (AntExChuModel antExChuModel : antExChulist) { - if(latelyAntExChuModel == null || antExChuModel.getCheckTime().getTime() > latelyAntExChuModel.getCheckTime().getTime()) { + if (latelyAntExChuModel == null || antExChuModel.getCheckTime().getTime() > latelyAntExChuModel.getCheckTime().getTime()) { latelyAntExChuModel = antExChuModel; } } @@ -2167,7 +2218,7 @@ public class AntenatalExaminationFacade { public BaseResponse findOneAntExById(AntExQueryRequest antExQueryRequest) { Object object = null; Integer userId = antExQueryRequest.getUserId(); - List configModele = mongoTemplate.find(Query.query(Criteria.where("yn").ne("0").and("userId").is(userId).and("type").is(SequenceConstant.CUSTOM_CONTENT)).with(new Sort(Sort.Direction.DESC,"createDate")), PlantformConfigModel.class); + List configModele = mongoTemplate.find(Query.query(Criteria.where("yn").ne("0").and("userId").is(userId).and("type").is(SequenceConstant.CUSTOM_CONTENT)).with(new Sort(Sort.Direction.DESC, "createDate")), PlantformConfigModel.class); List mHighRiskReason = new ArrayList(); for (PlantformConfigModel configModel : configModele) { Map map = ReflectionUtils.beanToMap(configModel); @@ -2220,7 +2271,7 @@ public class AntenatalExaminationFacade { Map> treatmentOpinion2 = examinationModel.getTreatmentOpinion2(); Map>> restTreatmentOpinion2 = new HashMap<>(); - if(MapUtils.isNotEmpty(treatmentOpinion2)) { + if (MapUtils.isNotEmpty(treatmentOpinion2)) { Iterator>> iterator = treatmentOpinion2.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry> map = iterator.next(); @@ -2301,7 +2352,7 @@ public class AntenatalExaminationFacade { Map> treatmentOpinion2 = antExChuModel.getTreatmentOpinion2(); Map>> restTreatmentOpinion2 = new HashMap<>(); - if(MapUtils.isNotEmpty(treatmentOpinion2)) { + if (MapUtils.isNotEmpty(treatmentOpinion2)) { Iterator>> iterator = treatmentOpinion2.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry> map = iterator.next(); @@ -2383,65 +2434,65 @@ public class AntenatalExaminationFacade { return highScoreResult; } - public BaseResponse getLastCheck(Integer userId,String parentId){ + public BaseResponse getLastCheck(Integer userId, String parentId) { AntExQuery antExQuery1 = new AntExQuery(); - String hospitalId = autoMatchFacade.getHospitalId(userId); + String hospitalId = autoMatchFacade.getHospitalId(userId); antExQuery1.setHospitalId(hospitalId); antExQuery1.setParentId(parentId); antExQuery1.setYn(YnEnums.YES.getId()); List examinationModelList = antenatalExaminationService.queryAntenatalExamination(antExQuery1.convertToQuery().addOrder(Sort.Direction.DESC, "created")); - Map m =new HashMap(); + Map m = new HashMap(); SieveQuery sieveQuery = new SieveQuery(); sieveQuery.setParentId(parentId); - List list =sieveService.queryList(sieveQuery); - int status=-1; - if(CollectionUtils.isNotEmpty(list)){ - status= list.get(0).getStatus(); + List list = sieveService.queryList(sieveQuery); + int status = -1; + if (CollectionUtils.isNotEmpty(list)) { + status = list.get(0).getStatus(); } m.put("status", status); - if(CollectionUtils.isNotEmpty(examinationModelList)){ - for(AntenatalExaminationModel model:examinationModelList){ - String zybd=model.getZyqbd(); - String ntjc= model.getNtjc(); - String cqsc= model.getCjsc(); - String text= model.getTextpjbc(); - String s75gdgtt= model.getS75gdgtt(); - String jzxgn= model.getJzxgn(); - if(StringUtils.isNotEmpty(zybd)||StringUtils.isNotEmpty(ntjc)||StringUtils.isNotEmpty(cqsc)|| - StringUtils.isNotEmpty(text)||StringUtils.isNotEmpty(s75gdgtt)||StringUtils.isNotEmpty(jzxgn)){ - m.put("zybd",zybd); - m.put("ntjc",ntjc); - m.put("cjsc",cqsc); - m.put("textpjbc",text); - m.put("s75gdgtt",s75gdgtt); - m.put("jzxgn",jzxgn); + if (CollectionUtils.isNotEmpty(examinationModelList)) { + for (AntenatalExaminationModel model : examinationModelList) { + String zybd = model.getZyqbd(); + String ntjc = model.getNtjc(); + String cqsc = model.getCjsc(); + String text = model.getTextpjbc(); + String s75gdgtt = model.getS75gdgtt(); + String jzxgn = model.getJzxgn(); + if (StringUtils.isNotEmpty(zybd) || StringUtils.isNotEmpty(ntjc) || StringUtils.isNotEmpty(cqsc) || + StringUtils.isNotEmpty(text) || StringUtils.isNotEmpty(s75gdgtt) || StringUtils.isNotEmpty(jzxgn)) { + m.put("zybd", zybd); + m.put("ntjc", ntjc); + m.put("cjsc", cqsc); + m.put("textpjbc", text); + m.put("s75gdgtt", s75gdgtt); + m.put("jzxgn", jzxgn); break; } - } + } } - if(CollectionUtils.isEmpty(examinationModelList)){ - AntExChuQuery antExChuQuery =new AntExChuQuery(); + if (CollectionUtils.isEmpty(examinationModelList)) { + AntExChuQuery antExChuQuery = new AntExChuQuery(); antExChuQuery.setHospitalId(hospitalId); antExChuQuery.setParentId(parentId); antExChuQuery.setYn(YnEnums.YES.getId()); - List chuModelList= antenatalExaminationService.queryAntExChu(antExChuQuery); - if(CollectionUtils.isNotEmpty(chuModelList)){ - for(AntExChuModel chu:chuModelList){ - String zybd=chu.getZyqbd(); - String ntjc= chu.getNtjc(); - String cqsc= chu.getCjsc(); - String text= chu.getTextpjbc(); - String s75gdgtt= chu.getS75gdgtt(); - String jzxgn= chu.getJzxgn(); - if(StringUtils.isNotEmpty(zybd)||StringUtils.isNotEmpty(ntjc)||StringUtils.isNotEmpty(cqsc)|| - StringUtils.isNotEmpty(text)||StringUtils.isNotEmpty(s75gdgtt)||StringUtils.isNotEmpty(jzxgn)){ - m.put("zybd",zybd); - m.put("ntjc",ntjc); - m.put("cjsc",cqsc); - m.put("textpjbc",text); - m.put("s75gdgtt",s75gdgtt); - m.put("jzxgn",jzxgn); + List chuModelList = antenatalExaminationService.queryAntExChu(antExChuQuery); + if (CollectionUtils.isNotEmpty(chuModelList)) { + for (AntExChuModel chu : chuModelList) { + String zybd = chu.getZyqbd(); + String ntjc = chu.getNtjc(); + String cqsc = chu.getCjsc(); + String text = chu.getTextpjbc(); + String s75gdgtt = chu.getS75gdgtt(); + String jzxgn = chu.getJzxgn(); + if (StringUtils.isNotEmpty(zybd) || StringUtils.isNotEmpty(ntjc) || StringUtils.isNotEmpty(cqsc) || + StringUtils.isNotEmpty(text) || StringUtils.isNotEmpty(s75gdgtt) || StringUtils.isNotEmpty(jzxgn)) { + m.put("zybd", zybd); + m.put("ntjc", ntjc); + m.put("cjsc", cqsc); + m.put("textpjbc", text); + m.put("s75gdgtt", s75gdgtt); + m.put("jzxgn", jzxgn); break; } } @@ -2457,25 +2508,25 @@ public class AntenatalExaminationFacade { map.put("quickenEnum", EnumUtil.toJson(QuickenEnums.class)); map.put("getFetPosition", InitDataUtils.getFetPosition()); - map.put("getFetal",InitDataUtils. getFetal()); + map.put("getFetal", InitDataUtils.getFetal()); map.put("getJoin", InitDataUtils.getJoin()); - map.put("getTaiPan",InitDataUtils. getTaiPan()); - map.put("getTaiShu",InitDataUtils. getTaiShu()); + map.put("getTaiPan", InitDataUtils.getTaiPan()); + map.put("getTaiShu", InitDataUtils.getTaiShu()); map.put("fuzhong", InitDataUtils.getFuZhong()); //胎膜 - map.put("getTaiMo",InitDataUtils. getTm()); + map.put("getTaiMo", InitDataUtils.getTm()); //宫颈硬度 map.put("getGjyd", InitDataUtils.getGJYD()); //宫颈位置 - map.put("getGjwz",InitDataUtils. getGJWZ()); + map.put("getGjwz", InitDataUtils.getGJWZ()); //先露位置 - map.put("getXlwz",InitDataUtils. getXLWZ()); + map.put("getXlwz", InitDataUtils.getXLWZ()); //阴道检测 map.put("getYdjc", InitDataUtils.getYDJC()); //宫高 - map.put("getGongGao",InitDataUtils. getGongGao()); + map.put("getGongGao", InitDataUtils.getGongGao()); //横指 - map.put("getHengZhi",InitDataUtils. getHengZhi()); + map.put("getHengZhi", InitDataUtils.getHengZhi()); map.put("getSyjg", InitDataUtils.getSyjg()); //妊娠月份 map.put("gestaMonth", InitDataUtils.getGestaMonth()); @@ -2513,27 +2564,23 @@ public class AntenatalExaminationFacade { /** * 获取孕妇危急关联的医生 + * * @param patients * @return */ - public Set getCrisisUnionDoc(Patients patients) - { + public Set getCrisisUnionDoc(Patients patients) { Set doctors = new HashSet<>(); - if (patients == null) - { + if (patients == null) { return doctors; } - AntExChuQuery antExChuQuery =new AntExChuQuery(); + AntExChuQuery antExChuQuery = new AntExChuQuery(); antExChuQuery.setHospitalId(patients.getHospitalId()); antExChuQuery.setParentId(patients.getId()); antExChuQuery.setYn(YnEnums.YES.getId()); List chuModelList = antenatalExaminationService.queryAntExChu(antExChuQuery); - if (CollectionUtils.isNotEmpty(chuModelList)) - { - for (AntExChuModel chu : chuModelList) - { - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(chu.getProdDoctor())) - { + if (CollectionUtils.isNotEmpty(chuModelList)) { + for (AntExChuModel chu : chuModelList) { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(chu.getProdDoctor())) { doctors.add(chu.getProdDoctor()); } @@ -2544,12 +2591,9 @@ public class AntenatalExaminationFacade { antExQuery.setParentId(patients.getId()); antExQuery.setYn(YnEnums.YES.getId()); List examinationModelList = antenatalExaminationService.queryAntenatalExamination(antExQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); - if (CollectionUtils.isNotEmpty(examinationModelList)) - { - for (AntenatalExaminationModel examinationModel : examinationModelList) - { - if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(examinationModel.getCheckDoctor())) - { + if (CollectionUtils.isNotEmpty(examinationModelList)) { + for (AntenatalExaminationModel examinationModel : examinationModelList) { + if (com.lyms.platform.common.utils.StringUtils.isNotEmpty(examinationModel.getCheckDoctor())) { doctors.add(examinationModel.getCheckDoctor()); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java index cc12981..da86c8d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BasicConfigFacade.java @@ -25,6 +25,7 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map; @Component public class BasicConfigFacade { @@ -32,6 +33,67 @@ public class BasicConfigFacade { private BasicConfigService basicConfigService; /** + * 获取新版的高危因数 + * @return + */ + public BaseResponse findNewHighRisk(){ + Map colorMap = new HashMap<>(); + colorMap.put("224b2329-cb82-4da3-a071-8527f8283aab", "risk_" + RiskDefaultTypeEnum.getColor("紫色")); + colorMap.put("e637b361-99cf-41eb-84f2-f0dab596e928","risk_" + RiskDefaultTypeEnum.getColor("绿色")); + colorMap.put("eb146c03-b19f-4e28-b85f-fda574b2283b","risk_" + RiskDefaultTypeEnum.getColor("红色")); + colorMap.put("49a36aea-c5b6-4162-87d2-9eb3c6ec00c2","risk_" + RiskDefaultTypeEnum.getColor("橙色")); + colorMap.put("315107bd-91fe-42a1-9237-752f3c046a40","risk_" + RiskDefaultTypeEnum.getColor("橙色")); + + + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + // basicConfigQuery.setEnable(1); + basicConfigQuery.setTypeId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); + + //所有数据 + List basicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); + System.out.println(basicConfigList.size()); + + Map> slaveBasicConfigMap = new HashMap<>(); + for (BasicConfig bc : basicConfigList) { + bc.setColor(colorMap.get(bc.getParentId())); + + if (bc.getpId() != null) { + if (slaveBasicConfigMap.containsKey(bc.getpId())) { + slaveBasicConfigMap.get(bc.getpId()).add(bc); + } else { + List basicConfigs = new ArrayList<>(); + basicConfigs.add(bc); + slaveBasicConfigMap.put(bc.getpId(), basicConfigs); + } + } + } + + //主节点数据 + basicConfigQuery.setTypeId(null); + basicConfigQuery.setParentId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); + List mainBasicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); + + for (BasicConfig bs : mainBasicConfigList) { + configData(bs, basicConfigList,slaveBasicConfigMap); + } + BaseResponse baseResponse = new BaseResponse(); + baseResponse.setObject(mainBasicConfigList); + return baseResponse; + } + + public void configData(BasicConfig bs, List basicConfigList,Map> slaveBasicConfigMap) { + + if (slaveBasicConfigMap.containsKey(bs.getId())) { + bs.setBasicConfigs(slaveBasicConfigMap.get(bs.getId())); + for(BasicConfig basicConfig:bs.getBasicConfigs()){ + configData(basicConfig,basicConfigList,slaveBasicConfigMap); + } + } + } + + + + /** * 基础项查询 * * @param basicConfigQueryRequest 基础项查询请求 -- 1.8.3.1