Commit 227142f0b81e348eb1bf49a75c6f92813b862e1b
1 parent
51a69e9887
Exists in
dev
#fix:优化血糖管理指标查询添加逻辑
Showing 2 changed files with 72 additions and 8 deletions
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/BloodSugarService.java
View file @
227142f
... | ... | @@ -8,6 +8,7 @@ |
8 | 8 | import com.lyms.platform.pojo.CourseModel; |
9 | 9 | import com.lyms.platform.query.BloodSugarQuery; |
10 | 10 | import com.lyms.platform.query.CourseQuery; |
11 | +import org.apache.commons.collections.CollectionUtils; | |
11 | 12 | import org.apache.commons.lang.StringUtils; |
12 | 13 | import org.springframework.beans.factory.annotation.Autowired; |
13 | 14 | import org.springframework.data.domain.Sort; |
14 | 15 | |
... | ... | @@ -24,12 +25,12 @@ |
24 | 25 | private IBloodSugarDao bloodSugarDao; |
25 | 26 | |
26 | 27 | public void add(BloodSugar bloodSugar) { |
27 | - bloodSugar.setSugarType(getBloodSugarStatus(bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar())); | |
28 | + bloodSugar.setSugarType(getBloodSugarStatus(bloodSugar.getRiskFactorId(),bloodSugar.getHospitalId(),bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar())); | |
28 | 29 | bloodSugarDao.add(bloodSugar); |
29 | 30 | } |
30 | 31 | |
31 | 32 | public void update(BloodSugar bloodSugar) { |
32 | - bloodSugar.setSugarType(getBloodSugarStatus(bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar())); | |
33 | + bloodSugar.setSugarType(getBloodSugarStatus(bloodSugar.getRiskFactorId(),bloodSugar.getHospitalId(),bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar())); | |
33 | 34 | bloodSugarDao.updateXy(Query.query(Criteria.where("id").is(bloodSugar.getId())), bloodSugar); |
34 | 35 | } |
35 | 36 | |
36 | 37 | |
37 | 38 | |
38 | 39 | |
... | ... | @@ -43,15 +44,75 @@ |
43 | 44 | return bloodSugarDao.queryBloodSugarList(query.addOrder(direction, sortField)); |
44 | 45 | } |
45 | 46 | |
46 | - private Integer getBloodSugarStatus(Integer type, String bloodSugar) { | |
47 | + private Integer getBloodSugarStatus(List<String> riskFactorIds,String hospitalId,Integer type, String bloodSugar) { | |
47 | 48 | if (type == BloodSugarEnums.A.getId()) { |
48 | - return Double.parseDouble(bloodSugar) > 5.3D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
49 | + if (CollectionUtils.isNotEmpty(riskFactorIds)){ | |
50 | + //妊娠期糖尿病(GDM) | |
51 | + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ | |
52 | + return Double.parseDouble(bloodSugar) > 5.3D ? 3: 1; | |
53 | + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ | |
54 | + //糖尿病合并妊娠(PGDM) | |
55 | + return Double.parseDouble(bloodSugar) > 5.6D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
56 | + }else { | |
57 | + //大同特殊处理 | |
58 | + if ("2100002419".equals(hospitalId)){ | |
59 | + return Double.parseDouble(bloodSugar) > 5.1D ? 3 : Double.parseDouble(bloodSugar) < 3.6D ? 2 : 1; | |
60 | + }else { | |
61 | + return Double.parseDouble(bloodSugar) > 5.3D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
62 | + } | |
63 | + } | |
64 | + }else { | |
65 | + //大同特殊处理 | |
66 | + if ("2100002419".equals(hospitalId)){ | |
67 | + return Double.parseDouble(bloodSugar) > 5.1D ? 3 : Double.parseDouble(bloodSugar) < 3.6D ? 2 : 1; | |
68 | + }else { | |
69 | + return Double.parseDouble(bloodSugar) > 5.3D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
70 | + } | |
71 | + } | |
49 | 72 | } else if (type == BloodSugarEnums.D.getId() || type == BloodSugarEnums.F.getId()) { |
50 | - return Double.parseDouble(bloodSugar) > 5.3D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
73 | + if (CollectionUtils.isNotEmpty(riskFactorIds)){ | |
74 | + //妊娠期糖尿病(GDM) | |
75 | + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ | |
76 | + return Double.parseDouble(bloodSugar) > 5.3D ? 3 : 1; | |
77 | + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ | |
78 | + //糖尿病合并妊娠(PGDM) | |
79 | + return Double.parseDouble(bloodSugar) > 5.6D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
80 | + }else { | |
81 | + return Double.parseDouble(bloodSugar) > 5.3D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
82 | + } | |
83 | + }else{ | |
84 | + return Double.parseDouble(bloodSugar) > 5.3D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
85 | + } | |
51 | 86 | } else if (type == BloodSugarEnums.H.getId()) { |
52 | - return Double.parseDouble(bloodSugar) > 6.7D ? 3 : Double.parseDouble(bloodSugar) < 4.4D ? 2 : 1; | |
53 | - } else { | |
54 | - return Double.parseDouble(bloodSugar) > 6.7D ? 3 : Double.parseDouble(bloodSugar) < 4.4D ? 2 : 1; | |
87 | + if (CollectionUtils.isNotEmpty(riskFactorIds)){ | |
88 | + //妊娠期糖尿病(GDM) | |
89 | + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ | |
90 | + return Double.parseDouble(bloodSugar) >= 3.3D ? 1 : 2; | |
91 | + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ | |
92 | + //糖尿病合并妊娠(PGDM) | |
93 | + return Double.parseDouble(bloodSugar) > 5.6D ? 3 : Double.parseDouble(bloodSugar) < 3.3D ? 2 : 1; | |
94 | + }else { | |
95 | + return Double.parseDouble(bloodSugar) > 6.7D ? 3 : Double.parseDouble(bloodSugar) < 4.4D ? 2 : 1; | |
96 | + } | |
97 | + }else{ | |
98 | + return Double.parseDouble(bloodSugar) > 6.7D ? 3 : Double.parseDouble(bloodSugar) < 4.4D ? 2 : 1; | |
99 | + | |
100 | + } | |
101 | + } else { | |
102 | + if (CollectionUtils.isNotEmpty(riskFactorIds)){ | |
103 | + //妊娠期糖尿病(GDM) | |
104 | + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){ | |
105 | + return Double.parseDouble(bloodSugar) > 6.7D ? 3 : 1; | |
106 | + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){ | |
107 | + //糖尿病合并妊娠(PGDM) | |
108 | + return Double.parseDouble(bloodSugar) > 7.1D ? 3 : Double.parseDouble(bloodSugar) < 5.6D ? 2 : 1; | |
109 | + }else { | |
110 | + return Double.parseDouble(bloodSugar) > 6.7D ? 3 : Double.parseDouble(bloodSugar) < 4.4D ? 2 : 1; | |
111 | + } | |
112 | + }else{ | |
113 | + return Double.parseDouble(bloodSugar) > 6.7D ? 3 : Double.parseDouble(bloodSugar) < 4.4D ? 2 : 1; | |
114 | + | |
115 | + } | |
55 | 116 | } |
56 | 117 | } |
57 | 118 | public BloodSugar findOneById(String id) { |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java
View file @
227142f
... | ... | @@ -115,7 +115,9 @@ |
115 | 115 | Patients patients = mongoTemplate.findById(bloodSugar.getParentId(), Patients.class); |
116 | 116 | String pid = patients.getPid(); |
117 | 117 | BloodSugar one = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("created").gt(DateUtil.getYMDTime()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), BloodSugar.class); |
118 | + | |
118 | 119 | if (one != null) { |
120 | + //one.setSugarType(sugarType); | |
119 | 121 | one.setModified(new Date()); |
120 | 122 | one.setBloodSugar(bloodSugar.getBloodSugar()); |
121 | 123 | if(null!=bloodSugar.getIsPrint()){ |
... | ... | @@ -125,6 +127,7 @@ |
125 | 127 | bloodSugarService.update(one); |
126 | 128 | return RespBuilder.buildSuccess(one.getId()); |
127 | 129 | } |
130 | + // bloodSugar.setSugarType(sugarType); | |
128 | 131 | bloodSugar.setParentId(patients.getId()); |
129 | 132 | bloodSugar.setHospitalId(autoMatchFacade.getHospitalId(userId)); |
130 | 133 | bloodSugar.setCreated(new Date()); |