From 2fdd5df11ef786ecf87d53a69e9894ebeadb509b Mon Sep 17 00:00:00 2001 From: zhangchao Date: Fri, 12 Jul 2024 10:42:01 +0800 Subject: [PATCH] =?UTF-8?q?#fix:=E6=A0=B9=E6=8D=AE=E9=AB=98=E5=8D=B1?= =?UTF-8?q?=E5=9B=A0=E7=B4=A0=E4=BC=98=E5=8C=96=E5=A4=A7=E5=90=8C=E8=A1=80?= =?UTF-8?q?=E7=B3=96=E7=AE=A1=E7=90=86->=E8=A1=80=E7=B3=96=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/impl/BloodSugarServiceImpl.java | 91 ++++++++++++++++++---- 1 file changed, 78 insertions(+), 13 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java index 2c53665..27152f2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java @@ -111,7 +111,9 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga private ThreadPoolTaskExecutor commonThreadPool; public BaseResponse add(Integer userId, BloodSugar bloodSugar) { - String pid = mongoUtil.getPid(bloodSugar.getParentId()); + + Patients patients = mongoTemplate.findById(bloodSugar.getParentId(), Patients.class); + String pid = patients.getPid(); BloodSugar one = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("created").gt(DateUtil.getYMDTime()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), BloodSugar.class); if (one != null) { one.setModified(new Date()); @@ -119,18 +121,19 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga if(null!=bloodSugar.getIsPrint()){ one.setIsPrint(bloodSugar.getIsPrint()); } + bloodSugar.setRiskFactorId(patients.getRiskFactorId()); bloodSugarService.update(one); return RespBuilder.buildSuccess(one.getId()); } - bloodSugar.setParentId(mongoUtil.doHidePatient(bloodSugar.getParentId(), autoMatchFacade.getHospitalId(userId))); + bloodSugar.setParentId(patients.getId()); bloodSugar.setHospitalId(autoMatchFacade.getHospitalId(userId)); bloodSugar.setCreated(new Date()); bloodSugar.setCreateUser(userId); bloodSugar.setYn(YnEnums.YES.getId()); bloodSugar.setModified(new Date()); bloodSugar.setCreatYmdDate(DateUtil.getyyyy_MM_dd(new Date())); - bloodSugar.setPid(mongoUtil.getPid(bloodSugar.getParentId())); - + bloodSugar.setPid(pid); + bloodSugar.setRiskFactorId(patients.getRiskFactorId()); bloodSugarService.add(bloodSugar); Update up = new Update(); @@ -214,7 +217,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga temp.put("bloodSugar", bloodSugar.getBloodSugar() + "mmol/L"); temp.put("bloodSugarType", BloodSugarEnums.getName(bloodSugar.getBloodSugarType())); temp.put("bloodSugarId", bloodSugar.getBloodSugarType()); - temp.put("status", getBloodSugarStatus(bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar())); + temp.put("status", getBloodSugarStatus(p.getRiskFactorId(),hospitalId,bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar())); temp.put("vcCardNo", p.getVcCardNo()); temp.put("pcerteTypeId", p.getPcerteTypeId()); temp.put("cardNo", p.getCardNo()); @@ -227,15 +230,75 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga return RespBuilder.buildSuccess(pageResult); } - private String getBloodSugarStatus(Integer type, String bloodSugar) { + private String getBloodSugarStatus(List riskFactorIds,String hospitalId,Integer type, String bloodSugar) { if (type == BloodSugarEnums.A.getId()) { - return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + if (CollectionUtils.isNotEmpty(riskFactorIds)){ + //妊娠期糖尿病(GDM) + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : "正常"; + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ + //糖尿病合并妊娠(PGDM) + return Double.parseDouble(bloodSugar) > 5.6D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + }else { + //大同特殊处理 + if ("2100002419".equals(hospitalId)){ + return Double.parseDouble(bloodSugar) > 5.1D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.6D ? "低血糖" : "正常"; + }else { + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + } + } + }else { + //大同特殊处理 + if ("2100002419".equals(hospitalId)){ + return Double.parseDouble(bloodSugar) > 5.1D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.6D ? "低血糖" : "正常"; + }else { + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + } + } } else if (type == BloodSugarEnums.D.getId() || type == BloodSugarEnums.F.getId()) { - return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + if (CollectionUtils.isNotEmpty(riskFactorIds)){ + //妊娠期糖尿病(GDM) + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : "正常"; + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ + //糖尿病合并妊娠(PGDM) + return Double.parseDouble(bloodSugar) > 5.6D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + }else { + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + } + }else{ + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + } } else if (type == BloodSugarEnums.H.getId()) { - return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常"; - } else { - return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常"; + if (CollectionUtils.isNotEmpty(riskFactorIds)){ + //妊娠期糖尿病(GDM) + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ + return Double.parseDouble(bloodSugar) >= 3.3D ? "正常" : "低血糖"; + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ + //糖尿病合并妊娠(PGDM) + return Double.parseDouble(bloodSugar) > 5.6D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常"; + }else { + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常"; + } + }else{ + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常"; + + } + } else { + if (CollectionUtils.isNotEmpty(riskFactorIds)){ + //妊娠期糖尿病(GDM) + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : "正常"; + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ + //糖尿病合并妊娠(PGDM) + return Double.parseDouble(bloodSugar) > 7.1D ? "高血糖" : Double.parseDouble(bloodSugar) < 5.6D ? "低血糖" : "正常"; + }else { + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常"; + } + }else{ + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常"; + + } } } @@ -352,6 +415,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga if (one != null) { one.setModified(new Date()); one.setBloodSugar(bloodSugar); + one.setRiskFactorId(patients.getRiskFactorId()); bloodSugarService.update(one); Update up = new Update(); up.set("exceptionSend", 0); @@ -367,11 +431,12 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga one.setCreated(new Date()); one.setYn(YnEnums.YES.getId()); one.setModified(new Date()); + one.setRiskFactorId(patients.getRiskFactorId()); one.setCreatYmdDate(DateUtil.getyyyy_MM_dd(new Date())); if (!flag) { bloodSugarService.add(one); } else { - String str= getBloodSugarStatus(one.getBloodSugarType(), one.getBloodSugar()); + String str= getBloodSugarStatus(patients.getRiskFactorId(),patients.getHospitalId(),one.getBloodSugarType(), one.getBloodSugar()); Integer type=1; if (str.equals("高血糖")){ type=3; @@ -1706,7 +1771,7 @@ public class BloodSugarServiceImpl extends BaseServiceImpl implements IBloodSuga public void run() { Update update = new Update(); for (BloodSugar bloodSugar:bloodSugars){ - String str= getBloodSugarStatus(bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar()); + String str= getBloodSugarStatus(bloodSugar.getRiskFactorId(),bloodSugar.getHospitalId(),bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar()); Integer type=1; if (str.equals("高血糖")){ type=3; -- 1.8.3.1