Kaynağa Gözat

获取questionId信息

zhoutg 5 yıl önce
ebeveyn
işleme
021c3742cc

+ 1 - 1
src/main/java/com/diagbot/dto/MsgDTO.java

@@ -38,5 +38,5 @@ public class MsgDTO {
     // 条目ID
     private Long casesEntryId;
     // 条目id对应页面数据的key值
-    private List<String> pageKeyList = new ArrayList<>();
+    private List<Long> pageKeyList = new ArrayList<>();
 }

+ 18 - 16
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -16,6 +16,7 @@ import com.diagbot.dto.QcCasesEntryDTO;
 import com.diagbot.dto.QcModeDTO;
 import com.diagbot.dto.QcResultApiDTO;
 import com.diagbot.dto.QcResultDTO;
+import com.diagbot.dto.QuestionEntryDTO;
 import com.diagbot.dto.RecordContentDTO;
 import com.diagbot.dto.Response;
 import com.diagbot.entity.BehospitalInfo;
@@ -97,6 +98,8 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     QcCasesEntryPagedataFacade qcCasesEntryPagedataFacade;
     @Value("${encrypt.enable}")
     Boolean encryptFlag;
+    @Autowired
+    QcQuestionFacade qcQuestionFacade;
 
     public IPage<BehospitalInfoDTO> pageFac(BehospitalPageVO behospitalPageVO) {
         //入参验证
@@ -169,22 +172,21 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             AnalyzeVO analyzeVO = new AnalyzeVO();
             BeanUtil.copyProperties(getDetailVO, analyzeVO);
             List<MsgDTO> msgDTOList = getMsg(analyzeVO);
-            // 前端直接匹配,不从数据库获取
-//            List<Long> caseEntryId = msgDTOList.stream().map(r -> r.getCasesEntryId()).collect(Collectors.toList());
-//            if (ListUtil.isNotEmpty(caseEntryId)) {
-//                List<QcCasesEntryPagedata> qcCasesEntryPagedataList = qcCasesEntryPagedataFacade.list(new QueryWrapper<QcCasesEntryPagedata>()
-//                        .eq("is_deleted", IsDeleteEnum.N.getKey())
-//                        .eq("hospital_id", hospitalId)
-//                        .in("cases_entry_id", caseEntryId)
-//                );
-//                Map<Long, List<QcCasesEntryPagedata>> pageKey = EntityUtil.makeEntityListMap(qcCasesEntryPagedataList, "casesEntryId");
-//                for (MsgDTO msgDTO : msgDTOList) {
-//                    List<QcCasesEntryPagedata> pagedata = pageKey.get(msgDTO.getCasesEntryId());
-//                    if (ListUtil.isNotEmpty(pagedata)) {
-//                        msgDTO.setPageKeyList(pagedata.stream().map(r -> r.getPageKey()).collect(Collectors.toList()));
-//                    }
-//                }
-//            }
+            if (ListUtil.isNotEmpty(msgDTOList)) {
+
+            }
+            // 从qc_question_info的cases_entry_ids获取
+            Map<String, Object> paramMap = new HashMap<>();
+            paramMap.put("hospitalId", hospitalId);
+            paramMap.put("casesEntryIds", msgDTOList.stream().map(r -> r.getCasesEntryId()).collect(Collectors.toList()));
+            Map<Long, List<QuestionEntryDTO>> quesEntryMap = qcQuestionFacade.getByCaseEntryIdsFac(paramMap);
+            for (MsgDTO msgDTO : msgDTOList) {
+                if (quesEntryMap.get(msgDTO.getCasesEntryId()) != null) {
+                    msgDTO.setPageKeyList(quesEntryMap.get(msgDTO.getCasesEntryId())
+                            .stream().map(r -> r.getId()).collect(Collectors.toList()));
+                }
+            }
+            // 根据模块分组
             Map<String, List<MsgDTO>> msgMap = EntityUtil.makeEntityListMap(msgDTOList, "modelName");
             res.put("msg", msgMap);
         }

+ 7 - 0
src/main/java/com/diagbot/facade/QcQuestionFacade.java

@@ -2,11 +2,13 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.QuestionDTO;
+import com.diagbot.dto.QuestionEntryDTO;
 import com.diagbot.entity.QcQuestionInfo;
 import com.diagbot.entity.wrapper.QuestionInfoWrapper;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.QcQuestionInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.EntityUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.vo.QuestionIdsVO;
 import org.springframework.stereotype.Component;
@@ -71,4 +73,9 @@ public class QcQuestionFacade extends QcQuestionInfoServiceImpl {
         }
         return data;
     }
+
+    public Map<Long, List<QuestionEntryDTO>> getByCaseEntryIdsFac(Map map) {
+        List<QuestionEntryDTO> questionEntryDTOList = this.getByCaseEntryIds(map);
+        return  EntityUtil.makeEntityListMap(questionEntryDTOList, "casesEntryId");
+    }
 }

+ 2 - 0
src/main/java/com/diagbot/service/QcQuestionInfoService.java

@@ -1,6 +1,7 @@
 package com.diagbot.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.dto.QuestionEntryDTO;
 import com.diagbot.entity.QcQuestionInfo;
 import com.diagbot.entity.wrapper.QuestionInfoWrapper;
 
@@ -25,4 +26,5 @@ public interface QcQuestionInfoService extends IService<QcQuestionInfo> {
      */
     public List<QuestionInfoWrapper> getByQuestionMapping(Map map);
 
+    public List<QuestionEntryDTO> getByCaseEntryIds(Map map);
 }

+ 6 - 0
src/main/java/com/diagbot/service/impl/QcQuestionInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.dto.QuestionEntryDTO;
 import com.diagbot.entity.QcQuestionInfo;
 import com.diagbot.entity.wrapper.QuestionInfoWrapper;
 import com.diagbot.mapper.QcQuestionInfoMapper;
@@ -25,4 +26,9 @@ public class QcQuestionInfoServiceImpl extends ServiceImpl<QcQuestionInfoMapper,
     public List<QuestionInfoWrapper> getByQuestionMapping(Map map) {
         return baseMapper.getByQuestionMapping(map);
     }
+
+    @Override
+    public List<QuestionEntryDTO> getByCaseEntryIds(Map map) {
+        return baseMapper.getByCaseEntryIds(map);
+    }
 }