Explorar o código

病例质控获取指定医院病历条目优化

wangyu %!s(int64=5) %!d(string=hai) anos
pai
achega
b24e8f1a45

+ 4 - 11
mrman-service/src/main/java/com/diagbot/facade/QcCasesFacade.java

@@ -78,11 +78,7 @@ public class QcCasesFacade extends QcCasesServiceImpl {
         List<QcCasesAllDTO> dataNew = new ArrayList<QcCasesAllDTO>();
         dataNew = BeanUtil.listCopyTo(data, QcCasesAllDTO.class);
         // 查出所有病例病例类型
-        QueryWrapper<QcCasesEntry> qcCasesEntryQuery = new QueryWrapper<>();
-        qcCasesEntryQuery
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .orderByDesc("level_no");
-        List<QcCasesEntry> dataEntry = qcCasesEntryService.list(qcCasesEntryQuery);
+        List<QcCasesEntry> dataEntry = this.getCasesEntryByHospitalId(getAllByHospitalVO.getHospitalId());
         // 然后把所有病例类型放进去
         Map<Long, List<QcCasesEntry>> map
                 = EntityUtil.makeEntityListMap(dataEntry, "casesId");
@@ -93,16 +89,13 @@ public class QcCasesFacade extends QcCasesServiceImpl {
                 .eq("is_deleted",IsDeleteEnum.N.getKey())
                 .eq("hospital_id",getAllByHospitalVO.getHospitalId());
         Map<Long,CasesEntryHospital> casesEntryHospitalMap = casesEntryHospitalFacade.list(casesEntryHospitalQueryWrapper).stream().collect(Collectors.toMap(CasesEntryHospital::getCasesEntryId,casesEntryHospital -> casesEntryHospital));
-        List<QcCasesEntry> tmp = new ArrayList<>();
         //把模板放进文件夹中
         if (dataNew.size() > 0) {
             for (QcCasesAllDTO ts : dataNew) {
-                for (QcCasesEntry qcCasesEntry : map.get(ts.getId())) {
-                    if(casesEntryHospitalMap.get(qcCasesEntry.getId()) != null){
-                        tmp.add(qcCasesEntry);
-                    }
+                List<QcCasesEntry> tmp = map.get(ts.getId());
+                if (ListUtil.isNotEmpty(tmp)) {
+                    ts.setQcCasesEntry(tmp);
                 }
-                ts.setQcCasesEntry(tmp);
             }
         }
         return dataNew;

+ 1 - 1
mrman-service/src/main/java/com/diagbot/facade/QcInputcasesFacade.java

@@ -236,7 +236,7 @@ public class QcInputcasesFacade extends QcInputcasesServiceImpl {
         //病例
         QueryWrapper<CasesNumber> casesNumberQueryWrapper = new QueryWrapper<>();
         casesNumberQueryWrapper.eq("is_deleted",IsDeleteEnum.N.getKey())
-                .orderByDesc("gmt_modified");
+                .orderByAsc("id");
         if(StringUtil.isNotEmpty(qcInputcasesAllVO.getCaseNumber())){
             casesNumberQueryWrapper.like("case_number",qcInputcasesAllVO.getCaseNumber());
         }

+ 3 - 0
mrman-service/src/main/java/com/diagbot/mapper/QcCasesMapper.java

@@ -3,6 +3,7 @@ package com.diagbot.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.diagbot.dto.QcCasesDTO;
 import com.diagbot.entity.QcCases;
+import com.diagbot.entity.QcCasesEntry;
 
 import java.util.List;
 
@@ -17,4 +18,6 @@ import java.util.List;
 public interface QcCasesMapper extends BaseMapper<QcCases> {
 
     List<QcCasesDTO> getCasesList(Long casesId);
+
+    List<QcCasesEntry> getCasesEntryByHospitalId(Long hospitalId);
 }

+ 3 - 1
mrman-service/src/main/java/com/diagbot/service/QcCasesService.java

@@ -1,9 +1,9 @@
 package com.diagbot.service;
 
-import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.QcCasesDTO;
 import com.diagbot.entity.QcCases;
+import com.diagbot.entity.QcCasesEntry;
 
 import java.util.List;
 
@@ -19,4 +19,6 @@ import java.util.List;
 public interface QcCasesService extends IService<QcCases> {
 
     public  List<QcCasesDTO>  getCasesLists(Long casesId);
+
+    List<QcCasesEntry> getCasesEntryByHospitalId(Long hospitalId);
 }

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

@@ -3,6 +3,7 @@ package com.diagbot.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.QcCasesDTO;
 import com.diagbot.entity.QcCases;
+import com.diagbot.entity.QcCasesEntry;
 import com.diagbot.mapper.QcCasesMapper;
 import com.diagbot.service.QcCasesService;
 import org.springframework.stereotype.Service;
@@ -24,4 +25,9 @@ public class QcCasesServiceImpl extends ServiceImpl<QcCasesMapper, QcCases> impl
     public List<QcCasesDTO> getCasesLists(Long casesId) {
         return baseMapper.getCasesList(casesId);
     }
+
+    @Override
+    public List<QcCasesEntry> getCasesEntryByHospitalId(Long hospitalId) {
+        return baseMapper.getCasesEntryByHospitalId(hospitalId);
+    }
 }

+ 8 - 0
mrman-service/src/main/resources/mapper/QcCasesMapper.xml

@@ -37,4 +37,12 @@
         </if>
 
     </select>
+
+    <select id="getCasesEntryByHospitalId" resultType="com.diagbot.entity.QcCasesEntry">
+        SELECT * FROM `qc_cases_entry` a
+        LEFT JOIN qc_cases_entry_hospital b on a.id = b.cases_entry_id
+        WHERE a.is_deleted='N' AND b.is_deleted='N'
+        AND b.hospital_id = #{hospitalId}
+        ORDER BY a.level_no DESC
+    </select>
 </mapper>