Browse Source

lis和pacs数据传输修改

rengb 4 năm trước cách đây
mục cha
commit
b075cfc684
1 tập tin đã thay đổi với 70 bổ sung14 xóa
  1. 70 14
      src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

+ 70 - 14
src/main/java/com/diagbot/facade/BehospitalInfoFacade.java

@@ -28,7 +28,9 @@ import com.diagbot.entity.HomeOperationInfo;
 import com.diagbot.entity.HomePage;
 import com.diagbot.entity.MedCheckInfo;
 import com.diagbot.entity.MedCrisisInfo;
+import com.diagbot.entity.MedLisInfo;
 import com.diagbot.entity.MedLisResult;
+import com.diagbot.entity.MedPacsInfo;
 import com.diagbot.entity.MedPacsResult;
 import com.diagbot.entity.MedicalRecord;
 import com.diagbot.enums.IsDeleteEnum;
@@ -119,8 +121,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
     @Autowired
     private FilterFacade filterFacade;
     @Autowired
+    MedLisInfoFacade medLisInfoFacade;
+    @Autowired
     MedLisResultFacade medLisResultFacade;
     @Autowired
+    MedPacsInfoFacade medPacsInfoFacade;
+    @Autowired
     MedPacsResultFacade medPacsResultFacade;
     @Autowired
     MedCrisisInfoFacade medCrisisInfoFacade;
@@ -291,20 +297,6 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
                 .eq("behospital_code", analyzeVO.getBehospitalCode())
         );
 
-        // 化验
-        List<MedLisResult> medLisResultList = medLisResultFacade.list(new QueryWrapper<MedLisResult>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("hospital_id", hospitalId)
-                .eq("behospital_code", analyzeVO.getBehospitalCode())
-        );
-
-        // 辅检
-        List<MedPacsResult> medPacsResultList = medPacsResultFacade.list(new QueryWrapper<MedPacsResult>()
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("hospital_id", hospitalId)
-                .eq("behospital_code", analyzeVO.getBehospitalCode())
-        );
-
         // 获取病案首页
         HomePage homePage = homePageFacade.getOne(new QueryWrapper<HomePage>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -360,6 +352,12 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
             queryVo.setBehospitalInfo(behospitalInfoList.get(0));
         }
 
+        String fideCode = analyzeVO.getBehospitalCode().substring(0, analyzeVO.getBehospitalCode().indexOf("_"));
+        // 化验
+        List<MedLisResult> medLisResultList = getMedLisResultList(hospitalId,fideCode,behospitalInfoList.get(0));
+        // 辅检
+        List<MedPacsResult> medPacsResultList = getMedPacsResultList(hospitalId,fideCode,behospitalInfoList.get(0));
+
         // 会诊记录
         addDataWithKey("会诊", recMap, medrecVoList,
                 Arrays.asList("会诊记录", "会诊结果单", "会诊申请单"));
@@ -427,6 +425,64 @@ public class BehospitalInfoFacade extends BehospitalInfoServiceImpl {
         return queryVo;
     }
 
+    private List<MedLisResult> getMedLisResultList(Long hospitalId, String fideCode, BehospitalInfo behospitalInfo) {
+        if (behospitalInfo.getBehospitalDate() == null) {
+            return null;
+        }
+        List<MedLisResult> medLisResultList = null;
+        QueryWrapper<MedLisInfo> medLisInfoQe = new QueryWrapper<>();
+        medLisInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
+        medLisInfoQe.eq("hospital_id", hospitalId);
+        medLisInfoQe.eq("behospital_code", fideCode);
+        medLisInfoQe.ge("check_date", behospitalInfo.getBehospitalDate());
+        medLisInfoQe.le(
+                StringUtil.isNotBlank(behospitalInfo.getIsPlacefile())
+                        && behospitalInfo.getIsPlacefile().equals("1")
+                        && behospitalInfo.getLeaveHospitalDate() != null,
+                "check_date",
+                behospitalInfo.getLeaveHospitalDate()
+        );
+        List<MedLisInfo> medLisInfoList = medLisInfoFacade.list(medLisInfoQe);
+        if (ListUtil.isNotEmpty(medLisInfoList)) {
+            medLisResultList = medLisResultFacade.list(new QueryWrapper<MedLisResult>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("hospital_id", hospitalId)
+                    .eq("behospital_code", fideCode)
+                    .in("rept_no", medLisInfoList.stream().map(i -> i.getRepNo()).collect(Collectors.toList()))
+            );
+        }
+        return medLisResultList;
+    }
+
+    private List<MedPacsResult> getMedPacsResultList(Long hospitalId, String fideCode, BehospitalInfo behospitalInfo) {
+        if (behospitalInfo.getBehospitalDate() == null) {
+            return null;
+        }
+        List<MedPacsResult> medPacsResultList = null;
+        QueryWrapper<MedPacsInfo> medPacsInfoQe = new QueryWrapper<>();
+        medPacsInfoQe.eq("is_deleted", IsDeleteEnum.N.getKey());
+        medPacsInfoQe.eq("hospital_id", hospitalId);
+        medPacsInfoQe.eq("behospital_code", fideCode);
+        medPacsInfoQe.ge("check_date", behospitalInfo.getBehospitalDate());
+        medPacsInfoQe.le(
+                StringUtil.isNotBlank(behospitalInfo.getIsPlacefile())
+                        && behospitalInfo.getIsPlacefile().equals("1")
+                        && behospitalInfo.getLeaveHospitalDate() != null,
+                "check_date",
+                behospitalInfo.getLeaveHospitalDate()
+        );
+        List<MedPacsInfo> medPacsInfoList = medPacsInfoFacade.list(medPacsInfoQe);
+        if (ListUtil.isNotEmpty(medPacsInfoList)) {
+            medPacsResultList = medPacsResultFacade.list(new QueryWrapper<MedPacsResult>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("hospital_id", hospitalId)
+                    .eq("behospital_code", fideCode)
+                    .in("rept_no", medPacsInfoList.stream().map(i -> i.getRepNo()).collect(Collectors.toList()))
+            );
+        }
+        return medPacsResultList;
+    }
+
     /**
      * 评分-终末质控
      *