Browse Source

计分 终末与运行分离

rengb 4 years ago
parent
commit
773fe21302

+ 5 - 3
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -554,7 +554,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         setCodeData(outputInfo, codeList, codeToInfoMap);
 
         // 计算分值并保存结果至数据库
-        Map<String, Object> resMap = calScoreAndSave(outputInfo, codeList, codeToInfoMap, analyzeVO);
+        Map<String, Object> resMap = calScoreAndSave(outputInfo, codeList, codeToInfoMap, analyzeVO, queryVo.getBehospitalInfo().getIsPlacefile());
         AlgorithmDTO algorithmDTO = (AlgorithmDTO)resMap.get("algorithmDTO");
         Date date = (Date)resMap.get("date");
 
@@ -1008,7 +1008,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         // 如果是1,说明已是终末质控,不再保存质控结果数据;如果是0,则保存质控结果数据
         if ("0".equals(analyzeRunVO.getIsPlacefile())) {
             // 计算分值并保存结果至数据库
-            Map<String, Object> resMap = calScoreAndSave(outputInfo, codeList, codeToInfoMap, analyzeVO);
+            Map<String, Object> resMap = calScoreAndSave(outputInfo, codeList, codeToInfoMap, analyzeVO, queryVo.getBehospitalInfo().getIsPlacefile());
         }
 
         // 返回缺陷提示信息
@@ -1201,7 +1201,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
      * @return
      */
     public Map<String, Object> calScoreAndSave(OutputInfo outputInfo, List<String> codeList,
-                                               Map<String, String> codeToInfoMap, AnalyzeVO analyzeVO) {
+                                               Map<String, String> codeToInfoMap, AnalyzeVO analyzeVO,
+                                               String isPlacefile) {
         Long hospitalId = analyzeVO.getHospitalId();
         List<QcResultAlgVO> qcResultAlgVOList = new ArrayList<>();
         if (ListUtil.isNotEmpty(codeList)) {
@@ -1209,6 +1210,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             QcResultAlgQueryVO qcResultAlgQueryVO = new QcResultAlgQueryVO();
             qcResultAlgQueryVO.setCodeList(codeList);
             qcResultAlgQueryVO.setHospitalId(hospitalId);
+            qcResultAlgQueryVO.setIsPlacefile(isPlacefile);
             qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
         }
 

+ 1 - 0
src/main/java/com/diagbot/vo/QcResultAlgQueryVO.java

@@ -17,4 +17,5 @@ public class QcResultAlgQueryVO {
     private Long hospitalId;
     //有问题的编码
     private List<String> codeList;
+    private String isPlacefile;
 }

+ 8 - 1
src/main/resources/mapper/QcCasesEntryMapper.xml

@@ -61,7 +61,14 @@
             t4.cases_id AS casesId,
             t4.score AS casesScore,
             t1.cases_entry_id AS casesEntryId,
-            t1.score AS score,
+            <choose>
+                <when test='isPlacefile != null and isPlacefile =="0"'>
+                    t1.score_run AS score,
+                </when>
+                <otherwise>
+                    t1.score AS score,
+                </otherwise>
+            </choose>
             t1.msg AS msg,
             t1.is_reject AS isReject,
             t2.code