Переглянути джерело

满分病历缺陷条目报错修正

wanghn 4 місяців тому
батько
коміт
2b6469ca54

+ 76 - 7
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -414,14 +414,22 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                     }
                 }
             }
-            // 根据模块分组
-            Map<String, List<MsgDTO>> msgMap = EntityUtil.makeEntityListMap(msgDTOList, "modelName");
-            res.put("msg", msgMap);
 
-            // 添加DRGS分组
-            List<MsgDTO> msgDTOListDrgs = msgDTOList.stream().filter(r -> r.getDrgs().equals(1)).collect(Collectors.toList());
-            Map<String, List<MsgDTO>> drgsMap = EntityUtil.makeEntityListMap(msgDTOListDrgs, "modelName");
-            res.put("drgs", drgsMap);
+            List<QcresultDetail> qcresultDetails = qcresultDetailFacade.lambdaQuery()
+                    .eq(QcresultDetail::getBehospitalCode, getDetailVO.getBehospitalCode())
+                    .eq(QcresultDetail::getIsDeleted, 'N')
+                    .list();
+            if(qcresultDetails.size() != 0){
+                // 根据模块分组
+                Map<String, List<MsgDTO>> msgMap = EntityUtil.makeEntityListMap(msgDTOList, "modelName");
+                res.put("msg", msgMap);
+
+                // 添加DRGS分组
+                List<MsgDTO> msgDTOListDrgs = msgDTOList.stream().filter(r -> r.getDrgs().equals(1)).collect(Collectors.toList());
+                Map<String, List<MsgDTO>> drgsMap = EntityUtil.makeEntityListMap(msgDTOListDrgs, "modelName");
+                res.put("drgs", drgsMap);
+            }
+
         }
 
         return res;
@@ -2204,6 +2212,67 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         // analyzeRunDTO.setScoreRes(algorithmDTO.getScore());
         // analyzeRunDTO.setLevel(algorithmDTO.getLevel());
         analyzeRunDTO.setMsgDTOList(msgDTOList);
+
+        // 获取规则条目信息
+        List<QcRuleWarn> qcRuleWarns
+                = qcRuleWarnServiceImpl.list(
+                new QueryWrapper<QcRuleWarn>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", "14")
+                        .eq("behospital_code", analyzeRunVO.getBehospitalCode()));
+        if (qcRuleWarns.size() > 0) {
+            for (QcRuleWarn qcRuleWarn : qcRuleWarns) {
+                QcresultDetail qcresultDetail
+                        = qcresultDetailServiceImpl.getOne(
+                        new QueryWrapper<QcresultDetail>()
+                                .eq("is_deleted", IsDeleteEnum.N.getKey())
+                                .eq("hospital_id", hospitalId)
+                                .eq("behospital_code", qcRuleWarn.getBehospitalCode())
+                                .eq("cases_entry_id", qcRuleWarn.getCasesEntryId()));
+                if (null == qcresultDetail) {
+                    QcresultDetail q = new QcresultDetail();
+                    q.setHospitalId(qcRuleWarn.getHospitalId());
+                    q.setBehospitalCode(qcRuleWarn.getBehospitalCode());
+                    q.setCasesId(qcRuleWarn.getCasesId());
+                    q.setCasesScore(qcRuleWarn.getCasesScore());
+                    q.setCasesEntryId(qcRuleWarn.getCasesEntryId());
+                    q.setScore(qcRuleWarn.getScore());
+                    q.setMsg(qcRuleWarn.getMsg());
+                    q.setInfo(qcRuleWarn.getInfo());
+                    q.setIsReject(qcRuleWarn.getIsReject());
+                    q.setGradeType(2);
+                    q.setOptType(2);
+                    q.setIsDeleted(IsDeleteEnum.Y.getKey());
+                    q.setGmtCreate(new Date());
+                    q.setGmtModified(new Date());
+                    qcresultDetailServiceImpl.save(q);
+                } else {
+                    qcresultDetailServiceImpl.update(new UpdateWrapper<QcresultDetail>()
+                            .eq("is_deleted", IsDeleteEnum.N.getKey())
+                            .eq("hospital_id", hospitalId)
+                            .eq("behospital_code", qcRuleWarn.getBehospitalCode())
+                            .eq("cases_entry_id", qcRuleWarn.getCasesEntryId())
+                            .set("grade_type", 2)
+                            .set("opt_type", 2)
+                            .set("is_deleted", IsDeleteEnum.Y.getKey())
+                            .set("gmt_modified", new Date()));
+                }
+                qcRuleWarnServiceImpl.update(new UpdateWrapper<QcRuleWarn>()
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("hospital_id", hospitalId)
+                        .eq("behospital_code", qcRuleWarn.getBehospitalCode())
+                        .eq("cases_entry_id", qcRuleWarn.getCasesEntryId())
+                        .set("is_deleted", IsDeleteEnum.Y.getKey())
+                        .set("gmt_modified", new Date()));
+            }
+            try {
+                String sql = "UPDATE JKCDSS_RULE_WARN SET STATE = 2 WHERE BEHOSPITAL_CODE='" + analyzeRunVO.getBehospitalCode() + "'";
+                tzDBConn.upRule(sql);
+            } catch (Exception e) {
+                throw new CommonException(CommonErrorCode.UPDATE_INFO_FAIL, "oracle数据插入失败!");
+            }
+        }
+
         return analyzeRunDTO;
     }