From 521959e291147717c8b0258dbf6a076e4b04d8cd Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 14 七月 2026 15:56:06 +0800
Subject: [PATCH] Merge branch 'master' into master-任务组

---
 ruoyi-admin/src/main/resources/application-hzszlyy.yml                                |    4 +-
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java                 |    7 +++
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java         |   34 +++++++++-------
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java |   58 ++++++++++++++--------------
 4 files changed, 57 insertions(+), 46 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
index a2fca4a..801edca 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskController.java
@@ -71,38 +71,38 @@
 //        List<ServiceTask> list = serviceTaskService.selectServiceTaskList(serviceTask);
         List<ServiceTask> list = serviceTaskService.selectServiceTaskAndtaskDeptList(serviceTask);
         List<ServiceTaskVO> serviceTaskVOS = DtoConversionUtils.sourceToTarget(list, ServiceTaskVO.class);
-//
-//        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
-//
-//        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
-//        serviceSubtaskEntity.setTaskIds(taskIds);
-//        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
-//        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
-//        // 鎵归噺鏌ヨ鎵�鏈夊瓙浠诲姟
-//        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
-//                .selectServiceSubtaskList(serviceSubtaskEntity)
-//                .stream()
-//                .filter(subtask -> subtask.getTaskid() != null)  // 娣诲姞杩囨护
-//                .collect(Collectors.groupingBy(subtask -> Optional.of(subtask.getTaskid().toString()).orElse("Unknown")));
+
+        List<Long> taskIds = list.stream().map(ServiceTask::getTaskid).collect(Collectors.toList());
+
+        ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity();
+        serviceSubtaskEntity.setTaskIds(taskIds);
+        serviceSubtaskEntity.setStartOutHospTime(serviceTask.getStartOutHospTime());
+        serviceSubtaskEntity.setEndOutHospTime(serviceTask.getEndOutHospTime());
+        // 鎵归噺鏌ヨ鎵�鏈夊瓙浠诲姟
+        Map<String, List<ServiceSubtask>> subtaskMap = iServiceSubtaskService
+                .selectServiceSubtaskList(serviceSubtaskEntity)
+                .stream()
+                .filter(subtask -> subtask.getTaskid() != null)  // 娣诲姞杩囨护
+                .collect(Collectors.groupingBy(subtask -> Optional.of(subtask.getTaskid().toString()).orElse("Unknown")));
 
 
         if (CollectionUtils.isNotEmpty(serviceTaskVOS)) {
-//            for (ServiceTaskVO taskVO : serviceTaskVOS) {
-//                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
-//
-//                if (CollectionUtils.isNotEmpty(subtasks)) {
-//                    //宸插彂閫侊紙瀛愪换鍔′腑鐨� sendstate=1涓鸿棰嗗彇锛�
-//                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
-//                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
-//                    //鏈彂閫�
-//                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
-//                            s.getSendstate() == 2L).count();
-//                    taskVO.setYfs(yfs);
-//                    taskVO.setWfs(wfs);
-//
-//                }
-//
-//            }
+            for (ServiceTaskVO taskVO : serviceTaskVOS) {
+                List<ServiceSubtask> subtasks = subtaskMap.getOrDefault(taskVO.getTaskid().toString(), Collections.emptyList());
+
+                if (CollectionUtils.isNotEmpty(subtasks)) {
+                    //宸插彂閫侊紙瀛愪换鍔′腑鐨� sendstate=1涓鸿棰嗗彇锛�
+                    long yfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
+                            (s.getSendstate() >= 3L || s.getSendstate() == 1L)).count();
+                    //鏈彂閫�
+                    long wfs = subtasks.stream().filter(s -> s.getSendstate() != null &&
+                            s.getSendstate() == 2L).count();
+                    taskVO.setYfs(yfs);
+                    taskVO.setWfs(wfs);
+
+                }
+
+            }
             //鑾峰彇total
             long total = PageUtils.count(new ISelect() {
                 @Override
diff --git a/ruoyi-admin/src/main/resources/application-hzszlyy.yml b/ruoyi-admin/src/main/resources/application-hzszlyy.yml
index c60e4d8..b81265f 100644
--- a/ruoyi-admin/src/main/resources/application-hzszlyy.yml
+++ b/ruoyi-admin/src/main/resources/application-hzszlyy.yml
@@ -6,14 +6,14 @@
     druid:
       # 涓诲簱鏁版嵁婧�
       master:
-        url: jdbc:mysql://192.169.129.197:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+        url: jdbc:mysql://192.169.129.197:3306/smartor?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&connectTimeout=600000&socketTimeout=1200000
         username: smartor
         password: smartor
         driverClassName: com.mysql.cj.jdbc.Driver
       # 浠庡簱鏁版嵁婧�
       slave:
         enabled: true
-        url: jdbc:oracle:thin:@//192.200.85.40:1521/hzsyhis?useUnicode=true&characterEncoding=GBK
+        url: jdbc:oracle:thin:@//192.200.85.40:1521/hzsyhis?useUnicode=true&characterEncoding=GBK&connectTimeout=600000&socketTimeout=1200000
         username: wssf
         password: Hzsywssf
         driver-class-name: oracle.jdbc.OracleDriver
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
index fbc41e7..96ce09f 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskStatistic.java
@@ -102,6 +102,9 @@
     @Excel(name = " 搴旈殢璁夸汉娆� ")
     private Long followUpNeeded = 0L;
 
+    @ApiModelProperty(value = "棣栨鏃犻渶闅忚")
+    private Long nonFollowUpFirst = 0L;
+
     @ApiModelProperty(value = "棣栨搴旈殢璁�")
     @Excel(name = " 棣栨搴旈殢璁� ")
     private Long needFollowUp = 0L;
@@ -228,6 +231,10 @@
     @Excel(name = " 浜屾搴旈殢璁� ")
     private Long needFollowUpAgain = 0L;
 
+    @ApiModelProperty(value = "浜屾鏃犻渶闅忚")
+    @Excel(name = " 浜屾鏃犻渶闅忚 ")
+    private Long nonFollowUpAgain = 0L;
+
     @ApiModelProperty(value = "浜屾寰呴殢璁�")
     @Excel(name = " 浜屾寰呴殢璁� ")
     private Long pendingFollowUpAgain = 0L;
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 5d7cd97..ccdf832 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2941,9 +2941,9 @@
                     if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                         serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
                     }
-                    //棣栨寰呴殢璁�
-                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
-                        serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
+                    //棣栨鏃犻渶闅忚
+                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                        serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
                     }
                     //棣栨闅忚澶辫触(鍖呮嫭闅忚澶辫触+浜哄伐瓒呮椂)
                     if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
@@ -2955,6 +2955,10 @@
                     if (StringUtils.isNotEmpty(followUpCountStyle) && followUpCountStyle.equals("1")) {
                         //棣栨闅忚鎴愬姛
                         if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(6L))) {
+                            serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
+                        }
+                        //棣栨鏃犻渶闅忚
+                        if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate().equals(4L))) {
                             serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                         }
                         //棣栨闅忚浜哄伐 (涓嶇粺璁′笉鎵ц)
@@ -3031,6 +3035,10 @@
                     //鍐嶆搴旈殢璁�
                     if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                         serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
+                    }
+                    //鍐嶆鏃犻渶闅忚
+                    if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                        serviceSubtaskStatistic.setNonFollowUpAgain(serviceSubtaskStatistic.getNonFollowUpAgain() + 1L);
                     }
                     //鍐嶆寰呴殢璁�
                     if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
@@ -3176,23 +3184,15 @@
                 serviceSubtaskStatistic.setFollowUpNeeded(serviceSubtaskStatistic.getFollowUpNeeded() + 1L);
             }
 
-            //棣栨鍑洪櫌闅忚-缁熻鍐嶆鎺ㄩ�佹暟閲�
-            if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() > 1) {
-                //鍐嶆搴旈殢璁�
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
-                    serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
-                }
-                //鍐嶆闅忚瀹屾垚
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 6) {
-                    serviceSubtaskStatistic.setFollowUpSuccessAgain(serviceSubtaskStatistic.getFollowUpSuccessAgain() + 1L);
-                }
-            }
-
             //棣栨鍑洪櫌闅忚
             if (serviceSubtask.getVisitCount() != null && serviceSubtask.getVisitCount() == 1) {
                 //棣栨搴旈殢璁�
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                     serviceSubtaskStatistic.setNeedFollowUp(serviceSubtaskStatistic.getNeedFollowUp() + 1L);
+                }
+                //棣栨鏃犻渶闅忚
+                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                    serviceSubtaskStatistic.setNonFollowUpFirst(serviceSubtaskStatistic.getNonFollowUpFirst() + 1L);
                 }
                 //棣栨寰呴殢璁�
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
@@ -3341,6 +3341,10 @@
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() != 4) {
                     serviceSubtaskStatistic.setNeedFollowUpAgain(serviceSubtaskStatistic.getNeedFollowUpAgain() + 1L);
                 }
+                //鍐嶆鏃犻渶闅忚
+                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 4) {
+                    serviceSubtaskStatistic.setNonFollowUpAgain(serviceSubtaskStatistic.getNonFollowUpAgain() + 1L);
+                }
                 //鍐嶆寰呴殢璁�
                 if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 2) {
                     serviceSubtaskStatistic.setPendingFollowUpAgain(serviceSubtaskStatistic.getPendingFollowUpAgain() + 1L);

--
Gitblit v1.9.3