Commit 770712124e56931b38e3f53ad04512ed41c4e7e1

Authored by liquanyu
1 parent b2dab2c848

血糖报告

Showing 1 changed file with 52 additions and 151 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BloodSugarServiceImpl.java View file @ 7707121
... ... @@ -267,9 +267,9 @@
267 267 one.setModified(new Date());
268 268 one.setCreatYmdDate(DateUtil.getyyyy_MM_dd(new Date()));
269 269 if(!flag) {
270   - bloodSugarService.add(one);
  270 + bloodSugarService.add(one);
271 271 } else {
272   - mongoTemplate.save(one);
  272 + mongoTemplate.save(one);
273 273 }
274 274 return RespBuilder.buildSuccess(one.getId());
275 275 }
... ... @@ -459,7 +459,7 @@
459 459 hrisks.add("5aab6d3e422b03d4ad2bf83f");
460 460 hrisks.add("de7468e6-1bb5-4fab-ae84-78857868409a");
461 461 antExRecordQuery.setrFactorList(hrisks);
462   - List<AntExRecordModel> antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.ASC, "created");
  462 + List<AntExRecordModel> antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery, Sort.Direction.ASC,"created");
463 463 if (org.apache.commons.collections.CollectionUtils.isNotEmpty(antExRecordModelList))
464 464 {
465 465 for (AntExRecordModel model : antExRecordModelList)
466 466  
467 467  
468 468  
469 469  
... ... @@ -503,26 +503,24 @@
503 503 Integer type = Integer.valueOf(String.valueOf(map.get("type"))); // 1 无需药物治疗 2 需药物治疗
504 504 Date checkDate = (Date)map.get("checkDate"); //第一次出现糖尿病的检查时间
505 505  
506   - //Date currentDate = DateUtil.addDay(DateUtil.formatDate(new Date()),-7);
  506 + Date currentDate = DateUtil.addDay(DateUtil.formatDate(new Date()),-7);
507 507  
508 508 BloodSugarQuery bloodSugarQuery = new BloodSugarQuery();
509 509 bloodSugarQuery.setIsExistReportDate(true);
510 510 bloodSugarQuery.setPid(pid);
511 511 List<BloodSugar> bloodSugars = bloodSugarService.queryBloodSugarList(bloodSugarQuery, Sort.Direction.DESC, "reportDate");
512   -
513 512 if (CollectionUtils.isNotEmpty(bloodSugars))
514 513 {
515 514 BloodSugar blood = bloodSugars.get(0);
516 515 if (blood != null && blood.getReportDate() != null)
517 516 {
518   - queryDate = blood.getReportDate();
  517 + queryDate = currentDate.getTime() > blood.getReportDate().getTime() ? currentDate : blood.getReportDate();
519 518 }
520 519 }
521 520 else
522 521 {
523   - queryDate = checkDate;
  522 + queryDate = checkDate.getTime() < currentDate.getTime() ? currentDate : checkDate;
524 523 }
525   -
526 524 //达标次数
527 525 int successCount = 0;
528 526  
529 527  
530 528  
531 529  
532 530  
533 531  
534 532  
535 533  
536 534  
537 535  
538 536  
539 537  
540 538  
541 539  
542 540  
... ... @@ -532,162 +530,65 @@
532 530 //7 药物治疗,监测次数达标,血糖平稳但不理想
533 531 Integer monitorStatus = null;
534 532  
535   - if (DateUtil.daysBetween(queryDate,new Date()) >= 7)
  533 + if (DateUtil.daysBetween(queryDate,new Date()) == 7)
536 534 {
  535 + BloodSugarQuery buery = new BloodSugarQuery();
  536 + buery.setPid(pid);
  537 + buery.setCreatedStart(queryDate);
  538 + buery.setCreatedEnd(DateUtil.formatDate(DateUtil.addDay(DateUtil.formatDate(new Date()),7)));
  539 + List<BloodSugar> list = bloodSugarService.queryBloodSugarList(buery, Sort.Direction.DESC, "created");
537 540  
538   - while (true)
  541 + int size = list == null ? 0 : list.size();
  542 + if (type == 1 && size < 8)
539 543 {
540   -
541   - Date endDate = DateUtil.addDay(queryDate,7);
542   - if (endDate.getTime() > new Date().getTime())
  544 + monitorStatus = 1;
  545 + }
  546 + else if (type == 1 && size >= 8)
  547 + {
  548 + for (BloodSugar blood : list)
543 549 {
544   - break;
545   - }
546   -
547   - BloodSugarQuery buery = new BloodSugarQuery();
548   - buery.setPid(pid);
549   - buery.setCreatedStart(queryDate);
550   - buery.setCreatedEnd(endDate);
551   - List<BloodSugar> list = bloodSugarService.queryBloodSugarList(buery, Sort.Direction.DESC, "created");
552   -
553   -
554   - int size = list == null ? 0 : list.size();
555   - if (type == 1 && size < 8)
556   - {
557   - monitorStatus = 1;
558   - }
559   - else if (type == 1 && size >= 8)
560   - {
561   - for (BloodSugar blood : list)
  550 + Integer bsType = blood.getBloodSugarType();
  551 + if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null)
562 552 {
563   - Integer bsType = blood.getBloodSugarType();
564   - if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null)
565   - {
566   - continue;
567   - }
568   - successCount += getBloodSugarSuccess(bsType, blood);
569   -
  553 + continue;
570 554 }
571   - double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
572   - monitorStatus = result < 0.8 ? 2 : 3;
  555 + successCount += getBloodSugarSuccess(bsType, blood);
  556 +
573 557 }
574   - else if (type == 2 && size < 21)
  558 + double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
  559 + monitorStatus = result < 0.8 ? 2 : 3;
  560 + }
  561 + else if (type == 2 && size < 21)
  562 + {
  563 + monitorStatus = 4;
  564 + }
  565 + else if (type == 2 && size >= 21)
  566 + {
  567 + for (BloodSugar blood : list)
575 568 {
576   - monitorStatus = 4;
577   - }
578   - else if (type == 2 && size >= 21)
579   - {
580   - for (BloodSugar blood : list)
  569 + Integer bsType = blood.getBloodSugarType();
  570 + if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null)
581 571 {
582   - Integer bsType = blood.getBloodSugarType();
583   - if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null)
584   - {
585   - continue;
586   - }
587   - successCount += getBloodSugarSuccess(bsType, blood);
  572 + continue;
588 573 }
589   - double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
590   - monitorStatus = result < 0.6 ? 5 : (result < 0.8 ? 6 : 7);
  574 + successCount += getBloodSugarSuccess(bsType, blood);
591 575 }
  576 + double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
  577 + monitorStatus = result < 0.6 ? 5 : (result < 0.8 ? 6 : 7);
  578 + }
592 579  
593   - Patients patients = mongoTemplate.findById(one.getParentId(), Patients.class);
594   - int week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.formatDate(one.getCreated()));
595   - if (week < 6)
596   - {
597   - return false;
598   - }
599   - one.setCurrentWeek(week);
600   - one.setMonitorStatus(monitorStatus);
601   - one.setReportDate(DateUtil.formatDate(DateUtil.addDay(new Date(), -1)));
602   - one.setStatus(1); //报告状态 1未查看 2查看
603   -
604   - queryDate = endDate;
605   -
606   - return true;
  580 + Patients patients = mongoTemplate.findById(one.getParentId(), Patients.class);
  581 + int week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.formatDate(one.getCreated()));
  582 + if (week < 6)
  583 + {
  584 + return false;
607 585 }
  586 + one.setCurrentWeek(week);
  587 + one.setMonitorStatus(monitorStatus);
  588 + one.setReportDate(DateUtil.formatDate(DateUtil.addDay(new Date(), -1)));
  589 + one.setStatus(1); //报告状态 1未查看 2查看
  590 + return true;
608 591 }
609   -
610   -
611   -// if (CollectionUtils.isNotEmpty(bloodSugars))
612   -// {
613   -// BloodSugar blood = bloodSugars.get(0);
614   -// if (blood != null && blood.getReportDate() != null)
615   -// {
616   -// queryDate = currentDate.getTime() > blood.getReportDate().getTime() ? currentDate : blood.getReportDate();
617   -// }
618   -// }
619   -// else
620   -// {
621   -// queryDate = checkDate.getTime() < currentDate.getTime() ? currentDate : checkDate;
622   -// }
623   -// //达标次数
624   -// int successCount = 0;
625   -//
626   -// //监测状态 1 非药物治疗,监测不足 2 非药物治疗,监测次数达标,血糖控制不理想
627   -// //3 非药物治疗,监测次数达标,血糖控制良好 4 药物治疗,监测不足
628   -// //5 药物治疗,监测次数达标,血糖波动较大 6 药物治疗,监测次数达标,血糖控制良好
629   -// //7 药物治疗,监测次数达标,血糖平稳但不理想
630   -// Integer monitorStatus = null;
631   -//
632   -// if (DateUtil.daysBetween(queryDate,new Date()) == 7)
633   -// {
634   -// BloodSugarQuery buery = new BloodSugarQuery();
635   -// buery.setPid(pid);
636   -// buery.setCreatedStart(queryDate);
637   -// buery.setCreatedEnd(DateUtil.formatDate(DateUtil.addDay(DateUtil.formatDate(new Date()),7)));
638   -// List<BloodSugar> list = bloodSugarService.queryBloodSugarList(buery, Sort.Direction.DESC, "created");
639   -//
640   -// int size = list == null ? 0 : list.size();
641   -// if (type == 1 && size < 8)
642   -// {
643   -// monitorStatus = 1;
644   -// }
645   -// else if (type == 1 && size >= 8)
646   -// {
647   -// for (BloodSugar blood : list)
648   -// {
649   -// Integer bsType = blood.getBloodSugarType();
650   -// if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null)
651   -// {
652   -// continue;
653   -// }
654   -// successCount += getBloodSugarSuccess(bsType, blood);
655   -//
656   -// }
657   -// double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
658   -// monitorStatus = result < 0.8 ? 2 : 3;
659   -// }
660   -// else if (type == 2 && size < 21)
661   -// {
662   -// monitorStatus = 4;
663   -// }
664   -// else if (type == 2 && size >= 21)
665   -// {
666   -// for (BloodSugar blood : list)
667   -// {
668   -// Integer bsType = blood.getBloodSugarType();
669   -// if (StringUtils.isEmpty(blood.getBloodSugar()) || bsType == null)
670   -// {
671   -// continue;
672   -// }
673   -// successCount += getBloodSugarSuccess(bsType, blood);
674   -// }
675   -// double result = new BigDecimal((float)successCount / size).setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
676   -// monitorStatus = result < 0.6 ? 5 : (result < 0.8 ? 6 : 7);
677   -// }
678   -//
679   -// Patients patients = mongoTemplate.findById(one.getParentId(), Patients.class);
680   -// int week = DateUtil.getWeek2(patients.getLastMenses(), DateUtil.formatDate(one.getCreated()));
681   -// if (week < 6)
682   -// {
683   -// return false;
684   -// }
685   -// one.setCurrentWeek(week);
686   -// one.setMonitorStatus(monitorStatus);
687   -// one.setReportDate(DateUtil.formatDate(DateUtil.addDay(new Date(), -1)));
688   -// one.setStatus(1); //报告状态 1未查看 2查看
689   -// return true;
690   -// }
691 592 }
692 593 return false;
693 594 }