From c309ec6868bf937529e8e3ff948dbdedd66e5631 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期五, 27 三月 2026 15:23:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java |   63 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 3 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 509e42b..5db5a50 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -9,6 +9,7 @@
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.smartor.domain.*;
+import com.smartor.domain.entity.ServiceSubtaskEntity;
 import com.smartor.mapper.*;
 import com.smartor.service.IPatMedInhospService;
 import lombok.extern.slf4j.Slf4j;
@@ -39,6 +40,8 @@
     private ServiceTaskdeptMapper serviceTaskdeptMapper;
     @Autowired
     private ServiceTaskdiagMapper serviceTaskdiagMapper;
+    @Autowired
+    private ServiceTaskoperMapper serviceTaskoperMapper;
     @Autowired
     private PatArchiveMapper patArchiveMapper;
     @Autowired
@@ -373,6 +376,60 @@
                     pmiJB.setDiagcheckFlag("2");
                     pmiJB.setLongTaskReason("浜哄憳鐤剧梾澶勭悊寮傚父锛�" + e.getMessage());
                     patMedInhospMapper.updatePatMedInhosp(pmiJB);
+                }
+            }
+
+            PatMedInhosp pmss = new PatMedInhosp();
+            //鑾峰彇闇�瑕佸嚭闄㈢柧鐥呴殢璁匡紝鏈鐞嗙殑鏁版嵁
+            pmss.setOpercheckFlag("0");
+            pmss.setInhospstate("1");
+            pmss.setFuflag("1");
+            List<PatMedInhosp> patMedInhospSSs = patMedInhospMapper.selectPatMedInhospList(pmss);
+            log.info("dealOutHospInfo闇�瑕佸鐞嗙殑鍑洪櫌鐤剧梾鎮h�呬俊鎭細{}", CollectionUtils.isNotEmpty(patMedInhospSSs) ? patMedInhospSSs.size() : null);
+            for (PatMedInhosp patMedInhosp1 : patMedInhospSSs) {
+                String tagname = patMedInhospMapper.getTagnameBypatid(patMedInhosp1.getPatid());
+                patMedInhosp1.setTagname(tagname);
+            }
+
+            for (PatMedInhosp pmiSS : patMedInhospSSs) {
+                //鑾峰彇鎮h�呬俊鎭�
+                PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(pmiSS.getPatid());
+                if (Objects.isNull(patArchive)) {
+                    pmiSS.setDiagcheckFlag("2");
+                    pmiSS.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
+                    patMedInhospMapper.updatePatMedInhosp(pmiSS);
+                    continue;
+                }
+                try {
+//                    if (StringUtils.isEmpty(pmiSS.getLeaveicd10code())) {
+//                        continue;
+//                    }
+                    // 鏍规嵁鎮h�呯殑鐤剧梾锛岃幏鍙栬鐤剧梾鐨勯暱鏈熶换鍔�
+                    ServiceTaskoper serviceTaskoper = new ServiceTaskoper();
+                    serviceTaskoper.setLongtask(1L);
+                    serviceTaskoper.setOrgid(pmiSS.getOrgid());
+                    //todo
+                    serviceTaskoper.setOplevelcode("");
+
+                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperMapper.selectServiceTaskoperList(serviceTaskoper);
+                    //濡傛灉閮ㄩ棬妯℃澘涓虹┖锛堝皢deptIsNull璁剧疆涓簍rue锛�
+                    if (CollectionUtils.isEmpty(serviceTaskopers) || serviceTaskopers.size() == 0) {
+                        PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiSS.getInhospid());
+                        pmiSS.setOpercheckFlag("2");
+                        pmiSS.setLongTaskReason(patMedInhosp.getLongTaskReason() + "鎵�鎮g殑鎵嬫湳鏈厤缃暱鏈熶换鍔�;");
+                        patMedInhospMapper.updatePatMedInhosp(pmiSS);
+                    } else {
+                        for (ServiceTaskoper serviceTaskoper1 : serviceTaskopers) {
+                            writeInSubTask(serviceTaskoper1.getTaskId(), true, pmiSS, patArchive, 3, config);
+                        }
+                    }
+
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    log.error("浜哄憳鎵嬫湳澶勭悊鍑哄紓甯镐簡锛歿}", e.getMessage());
+                    pmiSS.setOpercheckFlag("2");
+                    pmiSS.setLongTaskReason("浜哄憳鎵嬫湳澶勭悊寮傚父锛�" + e.getMessage());
+                    patMedInhospMapper.updatePatMedInhosp(pmiSS);
                 }
             }
         }
@@ -752,7 +809,7 @@
             //鍏堝垽鏂竴涓嬶紝鏄惁闇�瑕佹牎楠�
             if (check && (Objects.isNull(serviceSubtask.getTaskSituation()) || serviceSubtask.getTaskSituation() != 6)) {
                 //鍦ㄦ柊澧炰箣鍓嶏紝鍏堥�氳繃鎮h�匢D锛宻endstate=2鏌ヨ涓�涓嬶紝鍦ㄦ墍鏈夐暱鏈熶换鍔′腑锛屾槸涓嶆槸杩樻湁璇ユ偅鑰呭緟鎵ц鐨勪换鍔★紝鏈夌殑璇�,姣旇緝涔嬪墠鐨別ndtime鏄惁灏忎簬褰撳墠鐨別ndtaime,濡傛灉涔嬪墠鐨勫皬浜庣幇鍦ㄧ殑锛屽垯鐩存帴灏嗕箣鍓嶇殑鍋滄帀锛堝師鍥犲啀鍏ラ櫌锛�
-                ServiceSubtaskVO subtask = new ServiceSubtaskVO();
+                ServiceSubtaskEntity subtask = new ServiceSubtaskEntity();
                 subtask.setPatid(patArchive.getId());
                 subtask.setSendstate(2L);
                 subtask.setTaskid(taskid);
@@ -995,7 +1052,7 @@
         serviceSubtask.setLongSendTime(newDate);
         serviceSubtask.setVisitTime(newDate);
 
-        if (patMedInhosp1.getFudate() != null) serviceSubtask.setVisitTime(patMedInhosp1.getFudate());
+//        if (patMedInhosp1.getFudate() != null && !patMedInhosp1.getOrgid().equals("47255004333112711A1001")) serviceSubtask.setVisitTime(patMedInhosp1.getFudate());
         //濡傛灉鏄�氱煡鐨勮瘽锛岄渶瑕佹彁鍓嶅嚑澶╁皢閫氳繃鐭俊鍙戝嚭鍘伙紙鍏蜂綋鍑犲ぉ锛岃繖涓彲浠ラ厤缃湪sys_conf琛ㄤ腑锛�
         if ("3".equals(serviceTask.getType())) {
             serviceSubtask.setVisitTime(minusDay(newDate, StringUtils.isNotEmpty(config) ? Integer.parseInt(config) : 0));
@@ -1049,7 +1106,7 @@
         for (PatMedInhosp patMedInhosp1 : patMedInhospList) {
             try {
                 //鑾峰彇褰撳墠鍏ラ櫌鎮h�呯殑寰呮墽琛岀殑鍑洪櫌瀛愪换鍔¢殢璁夸俊鎭�
-                ServiceSubtaskVO subtask = new ServiceSubtaskVO();
+                ServiceSubtaskEntity subtask = new ServiceSubtaskEntity();
                 subtask.setPatid(patMedInhosp1.getPatid());
                 subtask.setSendstate(2L);
                 List<ServiceSubtask> selectServiceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(subtask);

--
Gitblit v1.9.3