Commit 2fdd5df11ef786ecf87d53a69e9894ebeadb509b

Authored by zhangchao
1 parent b223b09a4f
Exists in dev

#fix:根据高危因素优化大同血糖管理->血糖指标需求

Showing 1 changed file with 78 additions and 13 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java View file @ 2fdd5df
... ... @@ -111,7 +111,9 @@
111 111 private ThreadPoolTaskExecutor commonThreadPool;
112 112  
113 113 public BaseResponse add(Integer userId, BloodSugar bloodSugar) {
114   - String pid = mongoUtil.getPid(bloodSugar.getParentId());
  114 +
  115 + Patients patients = mongoTemplate.findById(bloodSugar.getParentId(), Patients.class);
  116 + String pid = patients.getPid();
115 117 BloodSugar one = mongoTemplate.findOne(Query.query(Criteria.where("pid").is(pid).and("created").gt(DateUtil.getYMDTime()).and("bloodSugarType").is(bloodSugar.getBloodSugarType())), BloodSugar.class);
116 118 if (one != null) {
117 119 one.setModified(new Date());
118 120  
119 121  
... ... @@ -119,18 +121,19 @@
119 121 if(null!=bloodSugar.getIsPrint()){
120 122 one.setIsPrint(bloodSugar.getIsPrint());
121 123 }
  124 + bloodSugar.setRiskFactorId(patients.getRiskFactorId());
122 125 bloodSugarService.update(one);
123 126 return RespBuilder.buildSuccess(one.getId());
124 127 }
125   - bloodSugar.setParentId(mongoUtil.doHidePatient(bloodSugar.getParentId(), autoMatchFacade.getHospitalId(userId)));
  128 + bloodSugar.setParentId(patients.getId());
126 129 bloodSugar.setHospitalId(autoMatchFacade.getHospitalId(userId));
127 130 bloodSugar.setCreated(new Date());
128 131 bloodSugar.setCreateUser(userId);
129 132 bloodSugar.setYn(YnEnums.YES.getId());
130 133 bloodSugar.setModified(new Date());
131 134 bloodSugar.setCreatYmdDate(DateUtil.getyyyy_MM_dd(new Date()));
132   - bloodSugar.setPid(mongoUtil.getPid(bloodSugar.getParentId()));
133   -
  135 + bloodSugar.setPid(pid);
  136 + bloodSugar.setRiskFactorId(patients.getRiskFactorId());
134 137 bloodSugarService.add(bloodSugar);
135 138  
136 139 Update up = new Update();
... ... @@ -214,7 +217,7 @@
214 217 temp.put("bloodSugar", bloodSugar.getBloodSugar() + "mmol/L");
215 218 temp.put("bloodSugarType", BloodSugarEnums.getName(bloodSugar.getBloodSugarType()));
216 219 temp.put("bloodSugarId", bloodSugar.getBloodSugarType());
217   - temp.put("status", getBloodSugarStatus(bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar()));
  220 + temp.put("status", getBloodSugarStatus(p.getRiskFactorId(),hospitalId,bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar()));
218 221 temp.put("vcCardNo", p.getVcCardNo());
219 222 temp.put("pcerteTypeId", p.getPcerteTypeId());
220 223 temp.put("cardNo", p.getCardNo());
221 224  
222 225  
223 226  
... ... @@ -227,15 +230,75 @@
227 230 return RespBuilder.buildSuccess(pageResult);
228 231 }
229 232  
230   - private String getBloodSugarStatus(Integer type, String bloodSugar) {
  233 + private String getBloodSugarStatus(List<String> riskFactorIds,String hospitalId,Integer type, String bloodSugar) {
231 234 if (type == BloodSugarEnums.A.getId()) {
232   - return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  235 + if (CollectionUtils.isNotEmpty(riskFactorIds)){
  236 + //妊娠期糖尿病(GDM)
  237 + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){
  238 + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : "正常";
  239 + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){
  240 + //糖尿病合并妊娠(PGDM)
  241 + return Double.parseDouble(bloodSugar) > 5.6D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  242 + }else {
  243 + //大同特殊处理
  244 + if ("2100002419".equals(hospitalId)){
  245 + return Double.parseDouble(bloodSugar) > 5.1D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.6D ? "低血糖" : "正常";
  246 + }else {
  247 + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  248 + }
  249 + }
  250 + }else {
  251 + //大同特殊处理
  252 + if ("2100002419".equals(hospitalId)){
  253 + return Double.parseDouble(bloodSugar) > 5.1D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.6D ? "低血糖" : "正常";
  254 + }else {
  255 + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  256 + }
  257 + }
233 258 } else if (type == BloodSugarEnums.D.getId() || type == BloodSugarEnums.F.getId()) {
234   - return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  259 + if (CollectionUtils.isNotEmpty(riskFactorIds)){
  260 + //妊娠期糖尿病(GDM)
  261 + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){
  262 + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : "正常";
  263 + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){
  264 + //糖尿病合并妊娠(PGDM)
  265 + return Double.parseDouble(bloodSugar) > 5.6D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  266 + }else {
  267 + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  268 + }
  269 + }else{
  270 + return Double.parseDouble(bloodSugar) > 5.3D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  271 + }
235 272 } else if (type == BloodSugarEnums.H.getId()) {
236   - return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常";
237   - } else {
238   - return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常";
  273 + if (CollectionUtils.isNotEmpty(riskFactorIds)){
  274 + //妊娠期糖尿病(GDM)
  275 + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){
  276 + return Double.parseDouble(bloodSugar) >= 3.3D ? "正常" : "低血糖";
  277 + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){
  278 + //糖尿病合并妊娠(PGDM)
  279 + return Double.parseDouble(bloodSugar) > 5.6D ? "高血糖" : Double.parseDouble(bloodSugar) < 3.3D ? "低血糖" : "正常";
  280 + }else {
  281 + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常";
  282 + }
  283 + }else{
  284 + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常";
  285 +
  286 + }
  287 + } else {
  288 + if (CollectionUtils.isNotEmpty(riskFactorIds)){
  289 + //妊娠期糖尿病(GDM)
  290 + if (riskFactorIds.contains("5aab6d3d422b03d4ad2bf83e")){
  291 + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : "正常";
  292 + }else if (riskFactorIds.contains("5aab6d3e422b03d4ad2bf83f")){
  293 + //糖尿病合并妊娠(PGDM)
  294 + return Double.parseDouble(bloodSugar) > 7.1D ? "高血糖" : Double.parseDouble(bloodSugar) < 5.6D ? "低血糖" : "正常";
  295 + }else {
  296 + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常";
  297 + }
  298 + }else{
  299 + return Double.parseDouble(bloodSugar) > 6.7D ? "高血糖" : Double.parseDouble(bloodSugar) < 4.4D ? "低血糖" : "正常";
  300 +
  301 + }
239 302 }
240 303 }
241 304  
... ... @@ -352,6 +415,7 @@
352 415 if (one != null) {
353 416 one.setModified(new Date());
354 417 one.setBloodSugar(bloodSugar);
  418 + one.setRiskFactorId(patients.getRiskFactorId());
355 419 bloodSugarService.update(one);
356 420 Update up = new Update();
357 421 up.set("exceptionSend", 0);
358 422  
... ... @@ -367,11 +431,12 @@
367 431 one.setCreated(new Date());
368 432 one.setYn(YnEnums.YES.getId());
369 433 one.setModified(new Date());
  434 + one.setRiskFactorId(patients.getRiskFactorId());
370 435 one.setCreatYmdDate(DateUtil.getyyyy_MM_dd(new Date()));
371 436 if (!flag) {
372 437 bloodSugarService.add(one);
373 438 } else {
374   - String str= getBloodSugarStatus(one.getBloodSugarType(), one.getBloodSugar());
  439 + String str= getBloodSugarStatus(patients.getRiskFactorId(),patients.getHospitalId(),one.getBloodSugarType(), one.getBloodSugar());
375 440 Integer type=1;
376 441 if (str.equals("高血糖")){
377 442 type=3;
... ... @@ -1706,7 +1771,7 @@
1706 1771 public void run() {
1707 1772 Update update = new Update();
1708 1773 for (BloodSugar bloodSugar:bloodSugars){
1709   - String str= getBloodSugarStatus(bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar());
  1774 + String str= getBloodSugarStatus(bloodSugar.getRiskFactorId(),bloodSugar.getHospitalId(),bloodSugar.getBloodSugarType(), bloodSugar.getBloodSugar());
1710 1775 Integer type=1;
1711 1776 if (str.equals("高血糖")){
1712 1777 type=3;