Ver código fonte

Merge branch 'dev/20200513run_1.0.0' into debug

zhoutg 5 anos atrás
pai
commit
840c3ffdf6

+ 7 - 11
src/main/java/com/diagbot/dto/AnalyzeRunDTO.java

@@ -3,25 +3,21 @@ package com.diagbot.dto;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.math.BigDecimal;
-import java.util.LinkedHashMap;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Description:
- * @author: gaodm
+ * @author: zhoutg
  * @time: 2020/4/15 12:24
  */
 @Getter
 @Setter
 public class AnalyzeRunDTO {
-    //得分
-    private BigDecimal scoreRes;
-    //等级
-    private String level;
+    // //得分
+    // private BigDecimal scoreRes;
+    // //等级
+    // private String level;
     // 缺陷条目
-    Map<String, List<MsgDTO>> msgMap = new LinkedHashMap<>();
-    // 选中的模块名称
-    private String selectMode;
+    private List<MsgDTO> msgDTOList = new ArrayList<>();
 }

+ 33 - 36
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -25,7 +25,6 @@ import com.diagbot.entity.DoctorAdvice;
 import com.diagbot.entity.HomeDiagnoseInfo;
 import com.diagbot.entity.HomeOperationInfo;
 import com.diagbot.entity.HomePage;
-import com.diagbot.entity.QcModelHospital;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -198,7 +197,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return res;
     }
 
-
+    /**
+     * 评分-终末质控
+     *
+     * @param analyzeVO
+     * @return
+     */
     public AnalyzeDTO analyze(AnalyzeVO analyzeVO) {
         Long hospitalId = analyzeVO.getHospitalId();
         if (!analyzeVO.getIsTask()) {
@@ -209,7 +213,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         // 获取质控条目
         List<QcCasesEntryDTO> qcCasesEntryDTOList = qcCasesEntryFacade.getQcCasesEntry(analyzeVO);
         if(ListUtil.isEmpty(qcCasesEntryDTOList)){
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病历找不到质控条目!");
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病历无关联的质控条目!");
         }
 
         // 获取病历所有数据
@@ -782,6 +786,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return res;
     }
 
+    /**
+     * 评分-运行质控
+     *
+     * @param analyzeRunVO
+     * @return
+     */
     public AnalyzeRunDTO analyzeRun(AnalyzeRunVO analyzeRunVO) {
         AnalyzeVO analyzeVO = new AnalyzeVO();
         BeanUtil.copyProperties(analyzeRunVO, analyzeVO);
@@ -790,7 +800,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         // 获取质控条目
         List<QcCasesEntryDTO> qcCasesEntryDTOList = qcCasesEntryFacade.getQcCasesEntry(analyzeVO);
         if(ListUtil.isEmpty(qcCasesEntryDTOList)){
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病历找不到质控条目!");
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "该病历无关联的质控条目!");
         }
 
         // 获取病历所有数据
@@ -904,7 +914,7 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         }
         OutputInfo outputInfo = response.getData();
         //根据质控结果获取质控条目
-        QcResultAlgQueryVO qcResultAlgQueryVO = new QcResultAlgQueryVO();
+        // QcResultAlgQueryVO qcResultAlgQueryVO = new QcResultAlgQueryVO();
         List<String> codeList = new ArrayList<>();
         // code和info的映射map
         Map<String, String> codeToInfoMap = new LinkedHashMap<>();
@@ -916,18 +926,18 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 codeToInfoMap.put(key, mapInfo.get("info"));
             }
         }
-        List<QcResultAlgVO> qcResultAlgVOList = new ArrayList<>();
-        if (ListUtil.isNotEmpty(codeList)) {
-            qcResultAlgQueryVO.setCodeList(codeList);
-            qcResultAlgQueryVO.setHospitalId(hospitalId);
-            qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
-        }
-
-        // 评分
-        AlgorithmVO algorithmVO = new AlgorithmVO();
-        algorithmVO.setType(0);
-        algorithmVO.setQcResultAlgVOList(qcResultAlgVOList);
-        AlgorithmDTO algorithmDTO = algorithmFacade.getAlgorithmRes(algorithmVO);
+        // List<QcResultAlgVO> qcResultAlgVOList = new ArrayList<>();
+        // if (ListUtil.isNotEmpty(codeList)) {
+        //     qcResultAlgQueryVO.setCodeList(codeList);
+        //     qcResultAlgQueryVO.setHospitalId(hospitalId);
+        //     qcResultAlgVOList = qcCasesEntryFacade.getQcResultAlgVO(qcResultAlgQueryVO);
+        // }
+        //
+        // // 评分
+        // AlgorithmVO algorithmVO = new AlgorithmVO();
+        // algorithmVO.setType(0);
+        // algorithmVO.setQcResultAlgVOList(qcResultAlgVOList);
+        // AlgorithmDTO algorithmDTO = algorithmFacade.getAlgorithmRes(algorithmVO);
 
         //保存
         // Map<String, Object> pageMap = outputInfo.getPageData();
@@ -940,26 +950,15 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         // Date date = qcresultInfoFacade.saveQcResult(algorithmDTO, algorithmVO, analyzeVO, pageData, menuData, analyzeVO.getIsTask());
 
         // 返回缺陷提示信息
-        Map<String, List<MsgDTO>> msgMap = new LinkedHashMap<>();
-        String selectMode = "";
+        List<MsgDTO> msgDTOList = new ArrayList<>();
         if (ListUtil.isNotEmpty(codeList)) {
             AnalyzeCodeVO analyzeCodeVO = new AnalyzeCodeVO();
             analyzeCodeVO.setCodeList(codeList);
             analyzeCodeVO.setHospitalId(hospitalId);
-            Map<String, QcModelHospital> qcModelHospitalMap = qcModelHospitalFacade.getHospitalModel();
-            if (qcModelHospitalMap.containsKey(hospitalId + "##" + analyzeRunVO.getHosModelname())) {
-                QcModelHospital qcModelHospital = qcModelHospitalMap.get(hospitalId + "##" + analyzeRunVO.getHosModelname());
-                if (qcModelHospital != null) {
-                    selectMode = qcModelHospital.getStandModelName();
-                    // 1:筛选相应的模块内容,其他值:获取全部
-                    if (1 == analyzeRunVO.getFlag()) {
-                        analyzeCodeVO.setModeId(qcModelHospital.getStandModelId());
-                    }
-                }
-            }
+            analyzeCodeVO.setModeId(analyzeRunVO.getModeId());
 
             // 获取缺陷条目信息
-            List<MsgDTO> msgDTOList = getMsgByEntryCode(analyzeCodeVO);
+            msgDTOList = getMsgByEntryCode(analyzeCodeVO);
             // 设置info信息
             if (codeToInfoMap != null && !codeToInfoMap.isEmpty()) {
                 for (MsgDTO msgDTO : msgDTOList) {
@@ -969,15 +968,13 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                     }
                 }
             }
-            msgMap = EntityUtil.makeEntityListMap(msgDTOList, "modelName");
         }
 
         //返回参数组装
         AnalyzeRunDTO analyzeRunDTO = new AnalyzeRunDTO();
-        analyzeRunDTO.setScoreRes(algorithmDTO.getScore());
-        analyzeRunDTO.setLevel(algorithmDTO.getLevel());
-        analyzeRunDTO.setMsgMap(msgMap);
-        analyzeRunDTO.setSelectMode(selectMode);
+        // analyzeRunDTO.setScoreRes(algorithmDTO.getScore());
+        // analyzeRunDTO.setLevel(algorithmDTO.getLevel());
+        analyzeRunDTO.setMsgDTOList(msgDTOList);
         return analyzeRunDTO;
     }
 

+ 1 - 0
src/main/java/com/diagbot/mapper/QcCasesEntryMapper.java

@@ -18,6 +18,7 @@ import java.util.List;
  * @since 2020-04-13
  */
 public interface QcCasesEntryMapper extends BaseMapper<QcCasesEntry> {
+
     List<QcCasesEntryDTO> getQcCasesEntry(AnalyzeVO analyzeVO);
 
     List<QcResultAlgVO> getQcResultAlgVO(QcResultAlgQueryVO qcResultAlgQueryVO);

+ 8 - 4
src/main/java/com/diagbot/vo/AnalyzeRunVO.java

@@ -2,6 +2,9 @@ package com.diagbot.vo;
 
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
  * @description:
  * @author: zhoutg
@@ -10,11 +13,12 @@ import lombok.Data;
 @Data
 public class AnalyzeRunVO {
     // 病历id
+    @NotBlank(message = "behospitalCode不能为空")
     private String behospitalCode;
     // 医院ID
+    @NotNull(message = "hospitalId不能为空")
     private Long hospitalId;
-    // 医院文书类型
-    private String hosModelname;
-    // 返回质控条目标识,1:只返回hosModelname对应的缺陷模块,其他值:全部返回
-    private int flag;
+    // 模块id
+    @NotNull(message = "modeId不能为空")
+    private Long modeId;
 }

+ 2 - 0
src/main/java/com/diagbot/vo/AnalyzeVO.java

@@ -16,4 +16,6 @@ public class AnalyzeVO {
     private Long hospitalId; //医院ID
     @ApiModelProperty(hidden = true)
     private Boolean isTask = false;
+    @ApiModelProperty(hidden = true)
+    private Long modeId;
 }

+ 4 - 5
src/main/java/com/diagbot/web/BehospitalInfoController.java

@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import javax.validation.Valid;
 import java.util.Map;
 
 /**
@@ -81,14 +82,12 @@ public class BehospitalInfoController {
                     "     String behospitalCode;\n" +
                     "    // 医院ID\n" +
                     "     Long hospitalId;\n" +
-                    "    // 医院文书类型\n" +
-                    "     String hosModelname;\n" +
-                    "    // 返回质控条目标识,1:只返回hosModelname对应的缺陷模块,其他值:全部返回\n" +
-                    "     int flag;")
+                    "    // 模块id\n" +
+                    "     Long modeId;")
     @PostMapping("/analyze_run")
     @SysLogger("analyze_run")
     @Transactional
-    public RespDTO<AnalyzeRunDTO> analyzeRun(@RequestBody AnalyzeRunVO analyzeRunVO) {
+    public RespDTO<AnalyzeRunDTO> analyzeRun(@Valid @RequestBody AnalyzeRunVO analyzeRunVO) {
         return RespDTO.onSuc(behospitalInfoFacade.analyzeRun(analyzeRunVO));
     }
 

+ 3 - 0
src/main/resources/mapper/QcCasesEntryMapper.xml

@@ -46,6 +46,9 @@
         <if test="behospitalCode != null and behospitalCode != ''">
             AND t1.behospital_code =  #{behospitalCode}
         </if>
+        <if test="modeId != null">
+            AND t4.mode_id = #{modeId}
+        </if>
 	</select>
 
     <select id="getQcResultAlgVO" parameterType="com.diagbot.vo.QcResultAlgQueryVO" resultType="com.diagbot.vo.QcResultAlgVO">