Commit 227142f0b81e348eb1bf49a75c6f92813b862e1b

Authored by zhangchao
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());