From 36068873506cac056e61500bb68e9e5e3a97c6ab Mon Sep 17 00:00:00 2001 From: wangbo <184677810@qq.com> Date: Thu, 25 Apr 2019 16:05:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A6=8A=E9=AB=98=E7=97=87=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/biz/BasicConfigServiceTest.java | 18 ++-- .../com/lyms/platform/common/enums/PihEnums.java | 41 ++++++++ .../operate/web/controller/pihController.java | 9 ++ .../platform/operate/web/service/PihService.java | 2 + .../operate/web/service/impl/PihServiceImpl.java | 115 ++++++++++++++++++++- .../service/impl/TemporaryBloodServiceImpl.java | 1 - 6 files changed, 174 insertions(+), 12 deletions(-) create mode 100644 platform-common/src/main/java/com/lyms/platform/common/enums/PihEnums.java diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java index 5ba0021..5b04bcb 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/BasicConfigServiceTest.java @@ -3541,7 +3541,7 @@ public class BasicConfigServiceTest { PihModel pin = new PihModel(); //0 健康教育之孕期相关 1 饮食 2 饮食之营养指南 3 运动 pin.setType(1); - pin.setSymptomsType(1); + pin.setSymptomsType(0); Cell[] cells = s.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3588,7 +3588,7 @@ public class BasicConfigServiceTest { PihModel pin = new PihModel(); //0 健康教育之孕期相关 1 饮食 2 饮食之营养指南 3 运动 pin.setType(2); - pin.setSymptomsType(1); + pin.setSymptomsType(0); Cell[] cells = s1.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3635,7 +3635,7 @@ public class BasicConfigServiceTest { PihModel pih = new PihModel(); //0 健康教育之孕期相关 1 饮食 2 饮食之营养指南 3 运动 pih.setType(3); - pih.setSymptomsType(1); + pih.setSymptomsType(0); Cell[] cells = s2.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3793,7 +3793,7 @@ public class BasicConfigServiceTest { //1,阴性 2.阳性 3.可疑 //c1.无风险因素 2.甲亢 3.糖尿病 4.缺铁性贫血 pih.setType(1); - pih.setSymptomsType(3); + pih.setSymptomsType(1); Cell[] cells = s6.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3829,7 +3829,7 @@ public class BasicConfigServiceTest { //1,阴性 2.阳性 3.可疑 //c1.无风险因素 2.甲亢 3.糖尿病 4.缺铁性贫血 pih.setType(2); - pih.setSymptomsType(3); + pih.setSymptomsType(1); Cell[] cells = s7.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3865,7 +3865,7 @@ public class BasicConfigServiceTest { //1,阴性 2.阳性 3.可疑 //c1.无风险因素 2.甲亢 3.糖尿病 4.缺铁性贫血 pih.setType(3); - pih.setSymptomsType(3); + pih.setSymptomsType(1); Cell[] cells = s8.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3901,7 +3901,7 @@ public class BasicConfigServiceTest { //1,阴性 2.阳性 3.可疑 //c1.无风险因素 2.甲亢 3.糖尿病 4.缺铁性贫血 pih.setType(1); - pih.setSymptomsType(4); + pih.setSymptomsType(3); Cell[] cells = s9.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3937,7 +3937,7 @@ public class BasicConfigServiceTest { //1,阴性 2.阳性 3.可疑 //c1.无风险因素 2.甲亢 3.糖尿病 4.缺铁性贫血 pih.setType(2); - pih.setSymptomsType(4); + pih.setSymptomsType(3); Cell[] cells = s10.getRow(i); if (cells.length > 0) { //遍历每行中的每列 @@ -3973,7 +3973,7 @@ public class BasicConfigServiceTest { //1,阴性 2.阳性 3.可疑 //c1.无风险因素 2.甲亢 3.糖尿病 4.缺铁性贫血 pih.setType(3); - pih.setSymptomsType(4); + pih.setSymptomsType(3); Cell[] cells = s11.getRow(i); if (cells.length > 0) { //遍历每行中的每列 diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/PihEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/PihEnums.java new file mode 100644 index 0000000..48a4d58 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/PihEnums.java @@ -0,0 +1,41 @@ +package com.lyms.platform.common.enums; + +public enum PihEnums { + + JK("4", "d42eec03-aa86-45b8-a4e0-78a0ff365fb6"),//健康 + JKWXYW("2", "5aab6d3e422b03d4ad2bf840"),//甲状腺功能亢进(无需药物治疗) + JKXYYW("2", "5aab6d40422b03d4ad2bf85f"),//甲亢(需药物治疗) + TLBWXYW("1", "5aab6d3d422b03d4ad2bf83e"),//妊娠期糖尿病(无需药物治疗) + TLBBS("1", "5bbc0fff422b03d4ad2bf955"),//妊娠期糖尿病病史 + TLBHBRC("1", "5aab6d3e422b03d4ad2bf83f"),//糖尿病合并妊娠(无需药物治疗) + XYYWTLB("1", "de7468e6-1bb5-4fab-ae84-78857868409a"),//需药物治疗的糖尿病 + QTXPX("3", "5aab6d3e422b03d4ad2bf847"),//轻度缺铁性贫血(100-109g/L) + ZDPX("3", "5aab6d3e422b03d4ad2bf848");//中度缺铁性贫血(70-99g/L) + + + private String id; + private String HighRiskId; + + public String getId() { + return id; + } + + public String getHighRiskId() { + return HighRiskId; + } + + public static String getName(String id) { + PihEnums[] values = PihEnums.values(); + for (PihEnums value : values) { + if (value.getId().equals(id)) { + return value.getHighRiskId(); + } + } + return ""; + } + + PihEnums(String id, String highRiskId) { + this.id = id; + HighRiskId = highRiskId; + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/pihController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/pihController.java index 3d8ec9d..21f5b21 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/pihController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/pihController.java @@ -11,6 +11,7 @@ import com.lyms.platform.pojo.PihParameterModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.util.Assert; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @@ -49,9 +50,17 @@ public class pihController extends BaseController { return RespBuilder.buildSuccess("请输入查询条件!"); } + @RequestMapping(value = "/report/{id}", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getPinReport(@PathVariable(value = "id") String id) { + return pihService.getPinReport(id); + } + protected Integer getUserId(HttpServletRequest request) { LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); Assert.notNull(loginState, "未登录"); return loginState.getId(); } + + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PihService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PihService.java index 31a9de9..55be585 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PihService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/PihService.java @@ -10,4 +10,6 @@ public interface PihService { public BaseResponse queyAll(String key, Integer weekStart, Integer weekEnd, Integer age, String type, Integer page, Integer limit, Integer userId); + public BaseResponse getPinReport(String id); + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PihServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PihServiceImpl.java index b2c61a8..6b082d3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PihServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PihServiceImpl.java @@ -1,7 +1,9 @@ package com.lyms.platform.operate.web.service.impl; import com.alibaba.druid.proxy.jdbc.JdbcParameter; +import com.lyms.platform.biz.dal.IFolicAcidDao; import com.lyms.platform.biz.service.CommonService; +import com.lyms.platform.common.enums.PihEnums; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.result.PageResult; import com.lyms.platform.common.result.RespBuilder; @@ -9,8 +11,10 @@ import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade; import com.lyms.platform.operate.web.service.PihService; +import com.lyms.platform.operate.web.utils.CollectionUtils; import com.lyms.platform.operate.web.utils.MongoUtil; import com.lyms.platform.pojo.Patients; +import com.lyms.platform.pojo.PihModel; import com.lyms.platform.pojo.PihParameterModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Sort; @@ -33,8 +37,6 @@ public class PihServiceImpl extends BaseServiceImpl implements PihService { @Autowired private CommonService commonService; - @Autowired - private MongoUtil mongoUtil; @Override public void addPih(PihParameterModel parameterModel) { @@ -134,4 +136,113 @@ public class PihServiceImpl extends BaseServiceImpl implements PihService { return RespBuilder.buildSuccess(pageResult); } + /** + * 妊高症报告 + */ + @Override + public BaseResponse getPinReport(String id) { + if (StringUtils.isNotEmpty(id)) { + Map datas = new HashMap<>(); + PihParameterModel parameterModel = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(id)), PihParameterModel.class); + if (null != parameterModel) { + Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(parameterModel.getPid())), Patients.class); + if (patients != null) { + Map userInfo = new HashMap<>(); + userInfo.put("username", patients.getUsername()); + userInfo.put("week", DateUtil.getWeekDesc(patients.getLastMenses(), new Date())); + userInfo.put("age", patients.getAge()); + userInfo.put("phone", patients.getPhone()); + datas.put("userInfo", userInfo); + } + Map pihInfo = new HashMap<>(); + pihInfo.put("ssyBT", parameterModel.getSsyBT() + "mmHg"); + pihInfo.put("szyBT", parameterModel.getSzyBT() + "mmHg"); + pihInfo.put("cvp", parameterModel.getCvp() + "(35-50mmHg)"); + pihInfo.put("meanAP", parameterModel.getMeanAP() + "(85-95mmHg)"); + pihInfo.put("pbpi", parameterModel.getPbpi() + "(<150)"); + pihInfo.put("bsa", parameterModel.getBsa() + "m*m"); + pihInfo.put("totalBloodVolume", parameterModel.getTotalBloodVolume() + "L"); + pihInfo.put("sff", parameterModel.getSff() + "(0.33-0.4)"); + pihInfo.put("bmi", parameterModel.getBmi() + "(<0.24)"); + pihInfo.put("cardiacOutput", parameterModel.getCardiacOutput() + "L/min"); + pihInfo.put("wzzl", parameterModel.getWzzl() + "(0.9-1.4)PRU"); + pihInfo.put("aestheticVolume", parameterModel.getAestheticVolume() + "(60-100)ml"); + pihInfo.put("cl", parameterModel.getCl() + "2.5-4L/(m*m*min)"); + pihInfo.put("cardiacIndex", parameterModel.getCardiacIndex() + "40-60ml/(m*m)"); + pihInfo.put("compliance", parameterModel.getCompliance() + "(1.2-2)ml/mmHg"); + pihInfo.put("heartRate", parameterModel.getHeartRate() + "bpm"); + pihInfo.put("cbf", parameterModel.getCbf()); + pihInfo.put("bloodViscosity", parameterModel.getBloodViscosity() + "(3.8-4.5CP)"); + pihInfo.put("arTime", parameterModel.getArTime() + "(20-33S)"); + datas.put("pinInfo", pihInfo); + int week = DateUtil.getWeek2(patients.getLastMenses(), new Date()); + if (StringUtils.isNotEmpty(parameterModel.getParameterResult())) { + List pihModels = mongoTemplate.find(Query.query(Criteria.where("symptomsType").is(0).and("type").is(Integer.valueOf(parameterModel.getParameterResult()))), PihModel.class); + if (CollectionUtils.isNotEmpty(pihModels)) { + Map InfoMap = new HashMap<>(); + for (PihModel pih : pihModels) { + if (week >= pih.getStartWeek() && week <= pih.getEndWeek()) { + InfoMap.put("unscramble", pih.getUnscramble()); + InfoMap.put("check", pih.getCheck()); + InfoMap.put("diet", pih.getDiet()); + InfoMap.put("lifeStyle", pih.getLifeStyle()); + } + } + datas.put("Info", InfoMap); + } + } + List risk = patients.getRiskFactorId(); + if (CollectionUtils.isNotEmpty(risk)) { + Map map = new TreeMap(); + for (String r : risk) { + if (StringUtils.isNotEmpty(r)) { + if (r.equals(PihEnums.TLBBS.getHighRiskId()) || r.equals(PihEnums.TLBHBRC.getHighRiskId()) || + r.equals(PihEnums.TLBWXYW.getHighRiskId()) || r.equals(PihEnums.XYYWTLB.getHighRiskId())) { + map.put("1", "糖尿病"); + } + if (r.equals(PihEnums.JKWXYW.getHighRiskId()) || r.equals(PihEnums.JKXYYW.getHighRiskId())) { + map.put("2", "甲亢"); + } + if (r.equals(PihEnums.QTXPX.getHighRiskId()) || r.equals(PihEnums.ZDPX.getHighRiskId())) { + map.put("3", "贫血"); + } + } + } + if (map.size() != 0 && null != map) { + if (StringUtils.isNotEmpty(parameterModel.getParameterResult())) { + //获取map中的第一个元素 + String str = this.getKeyOrNull(map); + List pihModels = mongoTemplate.find(Query.query(Criteria.where("symptomsType").is(Integer.valueOf(str)).and("type").is(Integer.valueOf(parameterModel.getParameterResult()))), PihModel.class); + if (CollectionUtils.isNotEmpty(pihModels)) { + for (PihModel pih : pihModels) { + if (week >= pih.getStartWeek() && week <= pih.getEndWeek()) { + Map riskMap = new HashMap(); + riskMap.put("title", "生活习惯、饮食建议指导"); + riskMap.put("lifeStyle", pih.getLifeStyle()); + datas.put("risk", riskMap); + } + } + } + + } + } + } + } + return RespBuilder.buildSuccess(datas); + } + return RespBuilder.buildSuccess("请选择一条记录"); + } + + + private String getKeyOrNull(Map map) { + String obj = null; + for (Map.Entry entry : map.entrySet()) { + obj = entry.getKey(); + if (obj != null) { + break; + } + } + return obj; + } + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java index ecc41ba..a8339d6 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryBloodServiceImpl.java @@ -315,7 +315,6 @@ public class TemporaryBloodServiceImpl extends BaseServiceImpl implements ITempo if (StringUtils.isNotEmpty(weight) && StringUtils.isNotEmpty(height) && StringUtils.isNotEmpty(bregmatic)) { //Patients patients = mongoTemplate.findOne(Query.query(Criteria.where("_id").is(bloodPressure.getParentId())), Patients.class); Integer weeks = DateUtil.getWeek(bloodModel.getLastMenses(), bloodModel.getModified()); - System.out.println("孕周:" + weeks); Map paMap = new HashMap(); // paMap.put("vcCardNo", patients.getVcCardNo()); paMap.put("username", bloodModel.getUserName()); -- 1.8.3.1