Преглед на файлове

病例质控指定医院病历

wangyu преди 5 години
родител
ревизия
b24965f52b

+ 10 - 2
mrman-service/src/main/java/com/diagbot/dto/GetAllByHospitalDTO.java

@@ -1,11 +1,19 @@
 package com.diagbot.dto;
 
-import com.diagbot.entity.CasesEntryHospital;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
 
 /**
  * @Description:
  * @author: wangyu
  * @time: 2020/3/31 11:21
  */
-public class GetAllByHospitalDTO extends CasesEntryHospital {
+@Getter
+@Setter
+public class GetAllByHospitalDTO {
+    private Long casesId;
+    private String casesName;
+    private List<GetAllByHospitalDetialDTO> getAllByHospitalDetialDTOS;
 }

+ 22 - 0
mrman-service/src/main/java/com/diagbot/dto/GetAllByHospitalDetialDTO.java

@@ -0,0 +1,22 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2020/4/1 16:10
+ */
+@Getter
+@Setter
+public class GetAllByHospitalDetialDTO {
+    private Long cases_entry_id;
+    private String cases_name;
+    private String code;
+    private String name;
+    private String precond;
+    private String level_no;
+    private String score;
+    private String msg;
+}

+ 45 - 2
mrman-service/src/main/java/com/diagbot/facade/CasesEntryHospitalFacade.java

@@ -2,7 +2,9 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.GetAllByHospitalDTO;
+import com.diagbot.dto.GetAllByHospitalDetialDTO;
 import com.diagbot.entity.CasesEntryHospital;
+import com.diagbot.entity.QcCases;
 import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.CasesEntryHospitalService;
@@ -19,6 +21,8 @@ import org.springframework.stereotype.Component;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -31,6 +35,8 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
     private CasesEntryHospitalService casesEntryHospitalService;
     @Autowired
     private QcCacesEntryFacade qcCacesEntryFacade;
+    @Autowired
+    private QcCasesFacade qcCasesFacade;
 
     /**
      * 获取指定医院病例条目
@@ -39,13 +45,50 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
      * @return
      */
     public List<GetAllByHospitalDTO> getAllByHospital(GetAllByHospitalVO getAllByHospitalVO){
+        //获取病例条目关系
         QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
         casesEntryHospitalQueryWrapper
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("hospital_id",getAllByHospitalVO.getHospitalId());
         List<CasesEntryHospital> casesEntryHospitals = this.list(casesEntryHospitalQueryWrapper);
+        Map<Long,CasesEntryHospital> casesEntryHospitalMap = casesEntryHospitals.stream().collect(Collectors.toMap(CasesEntryHospital::getCasesEntryId,casesEntryHospital -> casesEntryHospital));
+        List<Long> casesEntryIds = new ArrayList<>();
+        casesEntryIds = casesEntryHospitals.stream().map(CasesEntryHospital::getCasesEntryId).collect(Collectors.toList());
+        //获取病例条目
+        List<QcCasesEntry> qcCasesEntries = new ArrayList<>(qcCacesEntryFacade.listByIds(casesEntryIds));
+        //获取病例
+        QueryWrapper<QcCases> qcCasesQueryWrapper = new QueryWrapper<>();
+        qcCasesQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey());
+        List<QcCases> qcCases = qcCasesFacade.list(qcCasesQueryWrapper);
         List<GetAllByHospitalDTO> getAllByHospitalDTOS = new ArrayList<>();
-        getAllByHospitalDTOS = BeanUtil.listCopyTo(casesEntryHospitals,GetAllByHospitalDTO.class);
+        GetAllByHospitalDTO getAllByHospitalDTO = new GetAllByHospitalDTO();
+        GetAllByHospitalDetialDTO getAllByHospitalDetialDTO = new GetAllByHospitalDetialDTO();
+        List<GetAllByHospitalDetialDTO> getAllByHospitalDetialDTOS = new ArrayList<>();
+        for (QcCases qcCases_new : qcCases) {
+            getAllByHospitalDTO = new GetAllByHospitalDTO();
+            getAllByHospitalDTO.setCasesId(qcCases_new.getId());
+            getAllByHospitalDTO.setCasesName(qcCases_new.getName());
+            getAllByHospitalDetialDTOS = new ArrayList<>();
+            for (QcCasesEntry qcCasesEntry : qcCasesEntries) {
+                if(getAllByHospitalDTO.getCasesName().equals(qcCasesEntry.getCasesName())){
+                    getAllByHospitalDetialDTO = new GetAllByHospitalDetialDTO();
+                    getAllByHospitalDetialDTO.setCases_entry_id(qcCasesEntry.getId());
+                    getAllByHospitalDetialDTO.setCases_name(qcCasesEntry.getCasesName());
+                    getAllByHospitalDetialDTO.setCode(qcCasesEntry.getCode());
+                    getAllByHospitalDetialDTO.setLevel_no(qcCasesEntry.getLevelNo());
+                    getAllByHospitalDetialDTO.setMsg(casesEntryHospitalMap.get(qcCasesEntry.getId()).getMsg());
+                    getAllByHospitalDetialDTO.setScore(casesEntryHospitalMap.get(qcCasesEntry.getId()).getScore());
+                    getAllByHospitalDetialDTO.setPrecond(qcCasesEntry.getPrecond());
+                    getAllByHospitalDetialDTO.setName(qcCasesEntry.getName());
+                    getAllByHospitalDetialDTOS.add(getAllByHospitalDetialDTO);
+                }
+            }
+            getAllByHospitalDTO.setGetAllByHospitalDetialDTOS(getAllByHospitalDetialDTOS);
+            if(ListUtil.isNotEmpty(getAllByHospitalDTO.getGetAllByHospitalDetialDTOS())){
+                getAllByHospitalDTOS.add(getAllByHospitalDTO);
+            }
+        }
+
         return getAllByHospitalDTOS;
     }
 
@@ -92,7 +135,7 @@ public class CasesEntryHospitalFacade extends CasesEntryHospitalServiceImpl {
                 }
             }
             QueryWrapper<CasesEntryHospital> casesEntryHospitalQueryWrapper = new QueryWrapper<>();
-            casesEntryHospitalQueryWrapper.in("hospital_id",hospitalIds);
+            casesEntryHospitalQueryWrapper.eq("cases_entry_id",qcCasesEntry.getId());
             casesEntryHospitalService.remove(casesEntryHospitalQueryWrapper);
         }else {
             qcCasesEntry = new QcCasesEntry();