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            |   56 ++++++++++++++++++++++++++++
 smartor/src/main/java/com/smartor/domain/PatMedInhosp.java                             |    5 ++
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java          |   47 +++++++++++++++++++----
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java |    1 
 smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml                     |    6 +++
 5 files changed, 107 insertions(+), 8 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
index 08f9db6..b97a3ad 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/PatMedInhospController.java
@@ -196,6 +196,7 @@
      * @return
      */
     @ApiOperation("鍚勭瀹ゆ湇鍔′汉娆�")
+    @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid")
     @PostMapping("/getDeptRanking")
     public TableDataInfo getDeptRanking(@RequestBody PatMedReq patMedReq) {
         return getDataTable(patMedInhospService.getDeptRanking(patMedReq));
diff --git a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
index 921c71e..9012731 100644
--- a/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
+++ b/smartor/src/main/java/com/smartor/domain/PatMedInhosp.java
@@ -296,6 +296,11 @@
      */
     @ApiModelProperty(value = "鐤剧梾闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊鎴愬姛    2澶勭悊澶辫触 ")
     private String diagcheckFlag;
+    /**
+     * 鎵嬫湳闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊
+     */
+    @ApiModelProperty(value = "鎵嬫湳闀挎湡浠诲姟锛屾槸鍚﹀鐞嗭細0鏈鐞�   1澶勭悊鎴愬姛    2澶勭悊澶辫触 ")
+    private String opercheckFlag;
 
     /**
      * 骞撮緞
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 e7b09d6..5db5a50 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -41,6 +41,8 @@
     @Autowired
     private ServiceTaskdiagMapper serviceTaskdiagMapper;
     @Autowired
+    private ServiceTaskoperMapper serviceTaskoperMapper;
+    @Autowired
     private PatArchiveMapper patArchiveMapper;
     @Autowired
     private PatArchiveImportMapper patArchiveImportMapper;
@@ -376,6 +378,60 @@
                     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);
+                }
+            }
         }
 
         //鑾峰彇鏈鐞嗗湪闄㈢殑鏁版嵁(濡傛灉鍒氬垰鍑洪櫌鐨勬偅鑰呮暟鎹殑鍑洪櫌鏃堕棿,鍦ㄤ笅闈㈡煡璇㈠嚭鐨勫叆闄㈡椂闂翠箣鍓�,閭d箣鍓嶇殑鍑洪櫌鎮h�呯殑鏁版嵁,涔熷緱鍋滄帀,鍥犱负鍙堝叆闄簡)
diff --git a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
index 2e8f7d4..11998d6 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -205,6 +205,15 @@
             try {
                 List<Map<String, Object>> mapList = objectMapper.readValue(serviceTask.getPreachformDesc(), List.class);
                 serviceTaskVO.setPreachformList(mapList);
+                if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){
+                    ServiceTaskoper operVo = new ServiceTaskoper();
+                    operVo.setTaskId(serviceTask.getTaskid());
+                    operVo.setOrgid(serviceTask.getOrgid());
+                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo);
+                    if(ObjectUtils.isNotEmpty(serviceTaskopers)){
+                        serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode());
+                    }
+                }
 //
 //                String result = mapList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
 //                serviceTaskVO.setPreachform(result);
@@ -222,6 +231,15 @@
         serviceTaskVO.setShowTimeNoon(serviceTask.getShowTimeNoon());
         serviceTaskVO.setShowTimeNight(serviceTask.getShowTimeNight());
         serviceTaskVO.setPreachform(serviceTask.getPreachform());
+        if(ObjectUtils.isNotEmpty(serviceTask.getTaskid())){
+            ServiceTaskoper operVo = new ServiceTaskoper();
+            operVo.setTaskId(serviceTask.getTaskid());
+            operVo.setOrgid(serviceTask.getOrgid());
+            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(operVo);
+            if(ObjectUtils.isNotEmpty(serviceTaskopers)){
+                serviceTaskVO.setOplevelcode(serviceTaskopers.get(0).getOplevelcode());
+            }
+        }
         String sendTimeSlot = serviceTask.getSendTimeSlot();
         ObjectMapper objectMapper = new ObjectMapper();
         try {
@@ -309,7 +327,6 @@
 //            String result = resultList.stream().map(mapList1 -> mapList1.get("preachform")).map(String::valueOf).collect(Collectors.joining(","));
 //            serviceTaskVO.setPreachform(result);
         }
-
         serviceTaskVO.setPatTaskRelevances(patTaskRelevances);
         return serviceTaskVO;
     }
@@ -606,13 +623,15 @@
                     serviceTaskoper.setGuid(serviceTask.getGuid());
                     serviceTaskoper.setOrgid(serviceTask.getOrgid());
                     serviceTaskoper.setCreateTime(new Date());
-                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
-                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
-                        for (String opcode : opcodes) {
-                            serviceTaskoper.setOpcode(opcode);
-                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
-                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
-                        }
+                    if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
+//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
+//                        for (String opcode : opcodes) {
+//                            serviceTaskoper.setOpcode(opcode);
+//                            log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+//                            serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+//                        }
+                        log.info("----serviceTaskoper鐨勫�间负锛歿}", serviceTaskoper);
+                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                     }
 
                 } else {
@@ -867,6 +886,18 @@
 //                            }
 //                        }
 //                    }
+                    ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
+                    serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
+                    serviceTaskoper2.setOrgid(serviceTask.getOrgid());
+//                    serviceTaskoper2.setOplevelcode(serviceTaskVO.getOplevelcode());
+                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
+
+                    if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
+                        serviceTaskoper.setId(serviceTaskopers.get(0).getId());
+                        serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
+                    } else {
+                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
+                    }
                 }
             }
             if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
diff --git a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
index 20ba963..4ee05b9 100644
--- a/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
+++ b/smartor/src/main/resources/mapper/smartor/ServiceSubtaskMapper.xml
@@ -1894,6 +1894,9 @@
         FROM service_subtask
         WHERE DATE_FORMAT(finishtime, '%Y-%m-%d') >= #{startDate}
           AND DATE_FORMAT(finishtime, '%Y-%m-%d') &lt;= #{endDate}
+        <if test="orgid != null">
+            AND orgid = #{orgid}
+        </if>
         GROUP BY deptname
     </select>
 
@@ -2236,6 +2239,9 @@
         <if test="excep != null ">
             AND excep = #{excep}
         </if>
+        <if test="taskName != null  and taskName != ''">
+            AND task_name like concat('%', #{taskName}, '%')
+        </if>
         <if test="visitCount != null and visitCount == 1">
             AND visit_count = 1
         </if>

--
Gitblit v1.9.3