From 8fe7805b75fceef28f00fb0124901031a287429c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 07 五月 2026 16:46:10 +0800
Subject: [PATCH] 【市一】remark 统一调整

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |  429 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 273 insertions(+), 156 deletions(-)

diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index dadc6ce..5db97f8 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -4,6 +4,7 @@
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.service.IConfigService;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.DtoConversionUtils;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -59,6 +60,8 @@
 
     @Value("${spring.profiles.active}")
     private String active;
+    @Autowired
+    private IConfigService iSysConfigService;
 
 
     /**
@@ -220,169 +223,283 @@
 
     @Override
     public int dealOutHospInfo(String config) {
+        //1.鍏ラ櫌瀹f暀
+        String helibrarySwitch = iSysConfigService.selectConfigByKey("in.helibrary.switch");
+        if (StringUtils.isNotEmpty(helibrarySwitch) && "2".equals(helibrarySwitch)) {
+            PatMedInhosp inhosp = new PatMedInhosp();
+            inhosp.setInDeptcheckFlag("0");
+            inhosp.setInhospstate("0");
+            inhosp.setFuflag("1");
+            List<PatMedInhosp> inPatMedInhosps = patMedInhospMapper.selectPatMedInhospList(inhosp);
 
-//        PatMedInhosp pmks = new PatMedInhosp();
-//        //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
-//        pmks.setDeptcheckFlag("0");
-//        pmks.setInhospstate("1");
-//        pmks.setFuflag("1");
-//        List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
-//        log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌閮ㄩ棬鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null);
-//        for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
-//            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
-//            patMedInhosp1.setTagname(tagname);
-//        }
-//
-//        //绉戝
-//        for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
-//            //鑾峰彇鎮h�呬俊鎭�
-//            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
-//            if (Objects.isNull(patArchive)) {
-//                patMedInhosp1.setDeptcheckFlag("2");
-//                patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
-//                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-//                continue;
-//            }
-//            try {
-//                //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟
-//                ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
-//                serviceTaskdept.setLongtask(1L);
-//                serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode());
-//                serviceTaskdept.setDeptType("1");
-//                serviceTaskdept.setOrgid(patMedInhosp1.getOrgid());
-//                List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
-//                //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
-//                if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
-//                    PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
-//                    patMedInhosp1.setDeptcheckFlag("2");
-//                    patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆闀挎湡浠诲姟;");
+            //1.1 绉戝
+            for (PatMedInhosp patMedInhosp1 : inPatMedInhosps) {
+                //鑾峰彇鎮h�呬俊鎭�
+                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
+                if (Objects.isNull(patArchive)) {
+                    patMedInhosp1.setInDeptcheckFlag("2");
+                    patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                    continue;
+                }
+                try {
+                    //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑鍏ラ櫌闀挎湡瀹f暀浠诲姟
+                    ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+                    serviceTaskdept.setLongtask(1L);
+                    serviceTaskdept.setDeptCode(patMedInhosp1.getDeptcode());
+                    serviceTaskdept.setDeptType("1");
+                    serviceTaskdept.setServiceType("17");
+                    serviceTaskdept.setOrgid(patMedInhosp1.getOrgid());
+                    List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+                    //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+                    if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
+                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+                        patMedInhosp1.setInDeptcheckFlag("2");
+                        patMedInhosp1.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;" : "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;");
+                        patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                    } else {
+                        for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
+                            writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 4, config);
+                        }
+                    }
+
+                } catch (Exception e) {
+                    log.error("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+                    patMedInhosp1.setInDeptcheckFlag("2");
+                    patMedInhosp1.setLongTaskReason("浜哄憳鍏ラ櫌绉戝澶勭悊鍑哄紓甯镐簡锛�" + e.getMessage());
+                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                }
+            }
+
+
+            //1.2 鐥呭尯
+            inhosp.setInDeptcheckFlag(null);
+            inhosp.setInWardcheckFlag("0");
+            List<PatMedInhosp> inPatMedInhospsWard = patMedInhospMapper.selectPatMedInhospList(inhosp);
+            for (PatMedInhosp patMedInhosp1 : inPatMedInhospsWard) {
+                //鑾峰彇鎮h�呬俊鎭�
+                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
+                if (Objects.isNull(patArchive)) {
+                    patMedInhosp1.setInDeptcheckFlag("2");
+                    patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                    continue;
+                }
+                //鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑鍏ラ櫌闀挎湡瀹f暀浠诲姟锛堜細鍑虹幇涓�涓棶棰橈紝绉戝鍜岀梾鍖哄彂鐨勫悓涓�涓ā鏉匡級
+                ServiceTaskdept serviceTaskWard = new ServiceTaskdept();
+                serviceTaskWard.setLongtask(1L);
+                serviceTaskWard.setDeptCode(patMedInhosp1.getHospitaldistrictcode());
+                serviceTaskWard.setDeptType("2");
+                serviceTaskWard.setServiceType("17");
+                serviceTaskWard.setOrgid(patMedInhosp1.getOrgid());
+                List<ServiceTaskdept> serviceTaskWardList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskWard);
+                //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+                if (CollectionUtils.isEmpty(serviceTaskWardList) || serviceTaskWardList.size() == 0) {
+                    PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+                    patMedInhosp1.setInDeptcheckFlag("2");
+                    patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆鍏ラ櫌闀挎湡瀹f暀浠诲姟;");
+                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                } else {
+                    for (ServiceTaskdept serviceTaskdept1 : serviceTaskWardList) {
+                        writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 5, config);
+                    }
+                }
+            }
+        }
+
+        //2.鍑洪櫌闅忚
+        PatMedInhosp pmks = new PatMedInhosp();
+        //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
+        pmks.setDeptcheckFlag("0");
+        pmks.setInhospstate("1");
+        pmks.setFuflag("1");
+        List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks);
+        log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌閮ㄩ棬鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null);
+        for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
+            String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+            patMedInhosp1.setTagname(tagname);
+        }
+
+        //绉戝
+        for (PatMedInhosp patMedInhosp1 : patMedInhosps) {
+            //鑾峰彇鎮h�呬俊鎭�
+            PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid());
+            if (Objects.isNull(patArchive)) {
+                patMedInhosp1.setDeptcheckFlag("2");
+                patMedInhosp1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                continue;
+            }
+            try {
+                //鏍规嵁鎮h�呮墍鍦ㄧ瀹わ紝鑾峰彇璇ョ瀹ょ殑闀挎湡浠诲姟
+                ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+                serviceTaskdept.setLongtask(1L);
+                serviceTaskdept.setDeptCode(patMedInhosp1.getLeaveldeptcode());
+                serviceTaskdept.setDeptType("1");
+                serviceTaskdept.setServiceType("2");
+                serviceTaskdept.setOrgid(patMedInhosp1.getOrgid());
+                List<ServiceTaskdept> serviceTaskdepts = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+                //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+                if (CollectionUtils.isEmpty(serviceTaskdepts) || serviceTaskdepts.size() == 0) {
+                    PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(patMedInhosp1.getInhospid());
+                    patMedInhosp1.setDeptcheckFlag("2");
+                    patMedInhosp1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆绂婚櫌闀挎湡浠诲姟;");
+                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+                } else {
+                    for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
+                        writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
+                    }
+//                    patMedInhosp1.setDeptcheckFlag("1");
 //                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-//                } else {
-//                    for (ServiceTaskdept serviceTaskdept1 : serviceTaskdepts) {
-//                        writeInSubTask(serviceTaskdept1.getTaskId(), true, patMedInhosp1, patArchive, 1, config);
-//                    }
-////                    patMedInhosp1.setDeptcheckFlag("1");
-////                    patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-//                }
-//
-//            } catch (Exception e) {
-//                e.printStackTrace();
-//                log.error("浜哄憳绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
-//                patMedInhosp1.setDeptcheckFlag("2");
-//                patMedInhosp1.setLongTaskReason("浜哄憳绉戝澶勭悊寮傚父锛�" + e.getMessage());
-//                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
-//            }
-//        }
+                }
+
+            } catch (Exception e) {
+                e.printStackTrace();
+                log.error("浜哄憳绉戝澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+                patMedInhosp1.setDeptcheckFlag("2");
+                patMedInhosp1.setLongTaskReason("浜哄憳绉戝澶勭悊寮傚父锛�" + e.getMessage());
+                patMedInhospMapper.updatePatMedInhosp(patMedInhosp1);
+            }
+        }
 
         //鏍规嵁鎮h�呮墍鍦ㄧ梾鍖猴紝鑾峰彇璇ョ梾鍖虹殑闀挎湡浠诲姟,鏂板崕鍖婚櫌鍙互鍏堜笉鐢ㄦ牴鎹梾鍖哄拰鐤剧梾鏉ュ仛
         if (!active.equals("xh")) {
-//            PatMedInhosp pmbq = new PatMedInhosp();
-//            //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
-//            pmbq.setWardcheckFlag("0");
-//            pmbq.setInhospstate("1");
-//            pmbq.setFuflag("1");
-//            List<PatMedInhosp> patMedInhospBQs = patMedInhospMapper.selectPatMedInhospList(pmbq);
-//            log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐥呭尯鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospBQs) ? patMedInhospBQs.size() : null);
-//            for (PatMedInhosp patMedInhosp1 : patMedInhospBQs) {
-//                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
-//                patMedInhosp1.setTagname(tagname);
-//            }
-//
-//            //鐥呭尯鏁版嵁澶勭悊
-//            for (PatMedInhosp pmiBQ1 : patMedInhospBQs) {
-//                //鑾峰彇鎮h�呬俊鎭�
-//                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiBQ1.getPatid());
-//                if (Objects.isNull(patArchive)) {
-//                    pmiBQ1.setWardcheckFlag("2");
-//                    pmiBQ1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
-//                    patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
-//                    continue;
-//                }
-//                try {
-//                    ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
-//                    serviceTaskdept.setLongtask(1L);
-//                    serviceTaskdept.setDeptCode(pmiBQ1.getLeavehospitaldistrictcode());
-//                    serviceTaskdept.setDeptType("2");
-//                    serviceTaskdept.setOrgid(pmiBQ1.getOrgid());
-//                    List<ServiceTaskdept> serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
-//                    //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
-//                    if (CollectionUtils.isEmpty(serviceTaskdeptList) || serviceTaskdeptList.size() == 0) {
-//                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiBQ1.getInhospid());
-//                        pmiBQ1.setWardcheckFlag("2");
-//                        pmiBQ1.setLongTaskReason(patMedInhosp.getLongTaskReason() + "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;");
+            PatMedInhosp pmbq = new PatMedInhosp();
+            //鑾峰彇闇�瑕佸嚭闄㈤儴闂ㄩ殢璁匡紝鏈鐞嗙殑鏁版嵁
+            pmbq.setWardcheckFlag("0");
+            pmbq.setInhospstate("1");
+            pmbq.setFuflag("1");
+            List<PatMedInhosp> patMedInhospBQs = patMedInhospMapper.selectPatMedInhospList(pmbq);
+            log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐥呭尯鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospBQs) ? patMedInhospBQs.size() : null);
+            for (PatMedInhosp patMedInhosp1 : patMedInhospBQs) {
+                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+                patMedInhosp1.setTagname(tagname);
+            }
+
+            //鐥呭尯鏁版嵁澶勭悊
+            for (PatMedInhosp pmiBQ1 : patMedInhospBQs) {
+                //鑾峰彇鎮h�呬俊鎭�
+                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiBQ1.getPatid());
+                if (Objects.isNull(patArchive)) {
+                    pmiBQ1.setWardcheckFlag("2");
+                    pmiBQ1.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+                    patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+                    continue;
+                }
+                try {
+                    String errorreason = null;
+                    List<ServiceTaskdept> serviceTaskdeptList = null;
+                    if (!StringUtils.isEmpty(pmiBQ1.getLeavehospitaldistrictcode())) {
+                        ServiceTaskdept serviceTaskdept = new ServiceTaskdept();
+                        serviceTaskdept.setLongtask(1L);
+                        serviceTaskdept.setDeptCode(pmiBQ1.getLeavehospitaldistrictcode());
+                        serviceTaskdept.setDeptType("2");
+                        serviceTaskdept.setServiceType("2");
+                        serviceTaskdept.setOrgid(pmiBQ1.getOrgid());
+                        serviceTaskdeptList = serviceTaskdeptMapper.selectServiceTaskdeptList(serviceTaskdept);
+                        if (CollectionUtils.isEmpty(serviceTaskdeptList)) {
+                            errorreason = "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;";
+                        }
+                    } else {
+                        errorreason = "绂婚櫌鐥呭尯涓虹┖;";
+                    }
+                    //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+                    if (StringUtils.isNotEmpty(errorreason)) {
+                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiBQ1.getInhospid());
+                        pmiBQ1.setWardcheckFlag("2");
+                        pmiBQ1.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorreason : errorreason);
+                        patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+                    } else {
+                        for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
+                            writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
+                        }
+//                        pmiBQ1.setWardcheckFlag("1");
 //                        patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
-//                    } else {
-//                        for (ServiceTaskdept serviceTaskdept1 : serviceTaskdeptList) {
-//                            writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiBQ1, patArchive, 2, config);
-//                        }
-////                        pmiBQ1.setWardcheckFlag("1");
-////                        patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
-//                    }
-//
-//
-//                } catch (Exception e) {
-//                    e.printStackTrace();
-//                    log.error("浜哄憳鐥呭尯澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
-//                    pmiBQ1.setWardcheckFlag("2");
-//                    pmiBQ1.setLongTaskReason("浜哄憳鐥呭尯澶勭悊寮傚父锛�" + e.getMessage());
-//                    patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
-//                }
-//            }
-//
-//            PatMedInhosp pmjb = new PatMedInhosp();
-//            //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
-//            pmjb.setDiagcheckFlag("0");
-//            pmjb.setInhospstate("1");
-//            pmjb.setFuflag("1");
-//            List<PatMedInhosp> patMedInhospJBs = patMedInhospMapper.selectPatMedInhospList(pmjb);
-//            log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐤剧梾鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospJBs) ? patMedInhospJBs.size() : null);
-//            for (PatMedInhosp patMedInhosp1 : patMedInhospJBs) {
-//                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
-//                patMedInhosp1.setTagname(tagname);
-//            }
-//
-//            for (PatMedInhosp pmiJB : patMedInhospJBs) {
-//                //鑾峰彇鎮h�呬俊鎭�
-//                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiJB.getPatid());
-//                if (Objects.isNull(patArchive)) {
-//                    pmiJB.setDiagcheckFlag("2");
-//                    pmiJB.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
-//                    patMedInhospMapper.updatePatMedInhosp(pmiJB);
-//                    continue;
-//                }
-//                try {
-//                    if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) {
-//                        continue;
-//                    }
-//                    // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
-//                    ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
-//                    serviceTaskdiag.setLongtask(1L);
-//                    serviceTaskdiag.setIcd10code(pmiJB.getLeaveicd10code());
-//                    serviceTaskdiag.setOrgid(pmiJB.getOrgid());
-//
-//                    List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
-//                    //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
-//                    if (CollectionUtils.isEmpty(serviceTaskdiags) || serviceTaskdiags.size() == 0) {
-//                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
-//                        pmiJB.setDiagcheckFlag("2");
-//                        pmiJB.setLongTaskReason(patMedInhosp.getLongTaskReason() + "鎵�鎮g殑鐤剧梾鏈厤缃暱鏈熶换鍔�;");
+                    }
+
+
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    log.error("浜哄憳鐥呭尯澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+                    pmiBQ1.setWardcheckFlag("2");
+                    pmiBQ1.setLongTaskReason("浜哄憳鐥呭尯澶勭悊寮傚父锛�" + e.getMessage());
+                    patMedInhospMapper.updatePatMedInhosp(pmiBQ1);
+                }
+            }
+
+            PatMedInhosp pmjb = new PatMedInhosp();
+            //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
+            pmjb.setDiagcheckFlag("0");
+            pmjb.setInhospstate("1");
+            pmjb.setFuflag("1");
+            List<PatMedInhosp> patMedInhospJBs = patMedInhospMapper.selectPatMedInhospList(pmjb);
+            log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐤剧梾鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospJBs) ? patMedInhospJBs.size() : null);
+            for (PatMedInhosp patMedInhosp1 : patMedInhospJBs) {
+                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+                patMedInhosp1.setTagname(tagname);
+            }
+
+            for (PatMedInhosp pmiJB : patMedInhospJBs) {
+                //鑾峰彇鎮h�呬俊鎭�
+                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiJB.getPatid());
+                if (Objects.isNull(patArchive)) {
+                    pmiJB.setDiagcheckFlag("2");
+                    pmiJB.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+                    patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                    continue;
+                }
+                try {
+                    String errorIcd = null;
+                    if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) {
+                        continue;
+                    }
+                    // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
+                    ServiceTaskdiag serviceTaskdiag = new ServiceTaskdiag();
+                    serviceTaskdiag.setLongtask(1L);
+                    serviceTaskdiag.setServiceType("2");
+                    if (active.equals("nhfy")) {
+                        //鍗楀崕闄勪竴鐨刬cd10code鏈夐噸澶嶏紝鎵�浠ョ敤涓昏瘖鏂悕绉板幓鏌ヨ
+                        serviceTaskdiag.setIcd10name(pmiJB.getLeavediagname());
+                        if (StringUtils.isEmpty(pmiJB.getLeavediagname())) {
+                            errorIcd = "璇ユ偅鑰呬富璇婃柇鍚嶇О涓虹┖;";
+                        }
+                    } else {
+                        serviceTaskdiag.setIcd10code(pmiJB.getLeaveicd10code());
+                        if (StringUtils.isEmpty(pmiJB.getLeaveicd10code())) {
+                            errorIcd = "璇ユ偅鑰呬富璇婃柇ICD10鐮佷负绌�;";
+                        }
+                    }
+                    serviceTaskdiag.setOrgid(pmiJB.getOrgid());
+                    List<ServiceTaskdiag> serviceTaskdiags = serviceTaskdiagMapper.selectServiceTaskdiagList(serviceTaskdiag);
+
+                    //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+                    if (StringUtils.isNotEmpty(errorIcd)) {
+                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+                        pmiJB.setDiagcheckFlag("2");
+                        pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
+                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                    } else if (CollectionUtils.isEmpty(serviceTaskdiags)) {
+                        errorIcd = "璇ユ偅鑰呮墍鍦ㄧ梾鍖烘湭閰嶇疆闀挎湡浠诲姟;";
+                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid());
+                        pmiJB.setDiagcheckFlag("2");
+                        pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd);
+                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                    } else {
+                        for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
+                            writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
+                        }
+//                        pmiJB.setDiagcheckFlag("1");
 //                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
-//                    } else {
-//                        for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) {
-//                            writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config);
-//                        }
-////                        pmiJB.setDiagcheckFlag("1");
-////                        patMedInhospMapper.updatePatMedInhosp(pmiJB);
-//                    }
-//
-//                } catch (Exception e) {
-//                    e.printStackTrace();
-//                    log.error("浜哄憳鐤剧梾澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
-//                    pmiJB.setDiagcheckFlag("2");
-//                    pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父锛�" + e.getMessage());
-//                    patMedInhospMapper.updatePatMedInhosp(pmiJB);
-//                }
-//            }
+                    }
+
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    log.error("浜哄憳鐤剧梾澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+                    pmiJB.setDiagcheckFlag("2");
+                    pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父锛�" + e.getMessage());
+                    patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                }
+            }
 //            鎵嬫湳闅忚
             PatMedOperationItem pmoi = new PatMedOperationItem();
             //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁

--
Gitblit v1.9.3