From 6a53d35b5d56e2f6bc64bbfe41579f6f32039c90 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 24 三月 2026 15:24:33 +0800
Subject: [PATCH] 【丽水】随访增加 人工随访超时状态

---
 smartor/src/main/java/com/smartor/domain/ServiceSubtask.java                  |    4 +-
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                  |   57 ++++++++++++++++++++++++----
 smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java        |    2 
 smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java     |    4 +-
 smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java |    8 ++--
 ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java        |   12 +++++
 smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java             |    2 
 7 files changed, 69 insertions(+), 20 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
index 7fbb938..7dc8631 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -654,7 +654,7 @@
                 serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
 
             } else if (descByCode.equals("浜哄伐")) {
-                setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+                setFailPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
             } else if (descByCode.equals("寰俊灏忕▼搴�")) {
                 setFailPreachForm(serviceSubtask, sendPreachform, "寰俊灏忕▼搴忓緟鎵ц", "2");
             }
@@ -849,6 +849,11 @@
                         serviceSubtask.setCurrentPreachform(preachform);
                         serviceSubtask.setSendstate(5L);
                         serviceSubtask.setRemark("setFailPreachForm鏂规硶 褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                        //浜哄伐鍙戦�佽秴鏃�
+                        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){
+                            serviceSubtask.setSendstate(7L);
+                            serviceSubtask.setRemark("setFailPreachForm鏂规硶 褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡, 浜哄伐鍙戦�佽秴鏃�");
+                        }
                         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                         return true;
                     }
@@ -862,6 +867,11 @@
         serviceSubtask.setCurrentPreachform(preachform);
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform()));
         serviceSubtask.setSendstate(3L);
+        //浜哄伐鍙戦�佽秴鏃�
+        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")){
+            serviceSubtask.setSendstate(7L);
+            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+        }
         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
             //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
             if (failSendstate.equals("2")) {
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index 8577bb7..6c54a04 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -558,12 +558,23 @@
                 //2鍒ゆ柇涓�涓嬶紝褰撳墠鐨剆ort鏄笉鏄瓑浜庨渶瑕佹墽琛岀殑鎬讳釜鏁帮紝濡傛灉绛変簬鐨勮瘽锛岃鏄庢槸鏈�鍚庝竴涓紝鐩存帴灏唖ervuce_subtask鐨勭姸鎬佹敼鎴�5锛屾墽琛屽け璐ュ氨琛屼簡
                 Long cs = currentSort.get();
                 if (cs.equals(serviceSubtaskPreachforms.size())) {
-                    serviceSubtask.setSendstate(5L);
-                    serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
+                    if(serviceSubtask.getPreachform().equals("1")){
+                        serviceSubtask.setSendstate(7L);
+                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋� 浜哄伐瓒呮椂");
+                    }else {
+                        serviceSubtask.setSendstate(5L);
+                        serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
+                    }
+
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佹柟寮忕殑鐘舵�佷负澶辫触
-                    serviceSubtaskPreachform.setSendstate("5");
-                    serviceSubtaskPreachform.setId(id.get());
+                    if(serviceSubtaskPreachform.getPreachform().equals("1")){
+                        serviceSubtaskPreachform.setSendstate("7");
+                        serviceSubtaskPreachform.setId(id.get());
+                    }else {
+                        serviceSubtaskPreachform.setSendstate("5");
+                        serviceSubtaskPreachform.setId(id.get());
+                    }
                     serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform);
                     continue;
                 }
@@ -920,7 +931,7 @@
                 }
             }
         } else if (descByCode.equals("浜哄伐")) {
-            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
         }
 
     }
@@ -988,6 +999,11 @@
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(5L);
                     log.error("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
+                    //浜哄伐鍙戦�佽秴鏃�
+                    if(ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")){
+                        serviceSubtask.setSendstate(7L);
+                        serviceSubtask.setRemark("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 浜哄伐鍙戦�佽秴鏃�");
+                    }
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佺姸鎬�
                     setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -1071,6 +1087,11 @@
             ServiceSubtaskPreachform subtaskPreachform = new ServiceSubtaskPreachform();
             subtaskPreachform.setSendstate("5");
             subtaskPreachform.setId(id.get());
+            //浜哄伐鍙戦�佽秴鏃�
+            if(ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")){
+                subtaskPreachform.setSendstate("7");
+                subtaskPreachform.setRemark("浜哄伐鍙戦�佽秴鏃�");
+            }
             return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform);
         }
         return 0;
@@ -1195,17 +1216,30 @@
                 if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9");
             }
             serviceSubtaskPreachform1.setRemark(remark);
+            if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
+                serviceSubtaskPreachform1.setSendstate("7");
+                serviceSubtaskPreachform1.setRemark("浜哄伐鍙戦�佽秴鏃�");
+            }
             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
 
             //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛岄偅鐩存帴灏唖erviceSubtask鐨剆endstate鐘舵�佹敼鎴�5灏辫浜�(鍏ㄥけ璐ヤ簡)
             if (serviceSubtaskPreachform1.getSort() == sspCount.size()) {
-                if (failSendstate.equals("4") || failSendstate.equals("5")) {
+                if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
                     serviceSubtask.setCurrentPreachform(preachform);
-                    serviceSubtask.setSendstate(5L);
-                    serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                    serviceSubtask.setSendstate(7L);
+                    serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屼汉宸ュ彂閫佽秴鏃�");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     return true;
+                }else {
+                    if (failSendstate.equals("4") || failSendstate.equals("5")) {
+                        serviceSubtask.setCurrentPreachform(preachform);
+                        serviceSubtask.setSendstate(5L);
+                        serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
+                        serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
+                        return true;
+                    }
                 }
+
             }
         } else {
             log.error("銆愬畾鏃朵换鍔′腑璇ユ偅鑰呮病鏈夋煡璇㈠埌灞炰簬浠栫殑鍙戦�佹柟寮忥紝subid锛歿},prechform:{},orgid:{}銆�", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
@@ -1214,7 +1248,12 @@
         //灏嗕笅涓�娆$殑闅忚鏃堕棿涓庡綋鍓嶆墽琛屾柟寮忚褰曚竴涓�
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
         serviceSubtask.setCurrentPreachform(preachform);
-        serviceSubtask.setSendstate(3L);
+        if(ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")){
+            serviceSubtask.setSendstate(7L);
+            serviceSubtask.setRemark("浜哄伐鍙戦�佽秴鏃�");
+        }else {
+            serviceSubtask.setSendstate(3L);
+        }
         if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) {
             //濡傛灉鏄鏁欐垨閫氱煡锛屽苟涓斿彂閫佹垚鍔燂紝鍒欑洿鎺ュ皢serviceSubtask鐘舵�佹敼鎴�6L锛堣繖涓偅鑰呮槸娌℃湁棰樺仛鐨勶紝涓嶄細鍐嶈Е鍙戞帴鍙h繘琛岀姸鎬佷慨鏀癸級
             if (failSendstate.equals("2")) {
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
index 02ad337..17b297f 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -244,8 +244,8 @@
     /**
      * 鍙戦�佺姸鎬�
      */
-//    @Excel(name = " 鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴怽") ")
-    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴�")
+//    @Excel(name = " 鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂(浜哄伐)\") ")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂(浜哄伐)")
     private Long sendstate;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java
index c2b0762..f060290 100644
--- a/smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java
+++ b/smartor/src/main/java/com/smartor/domain/ServiceSubtaskPreachform.java
@@ -54,7 +54,7 @@
      * <p>
      * 鏅鸿兘璇煶鐘舵�侊細1鏈墽琛�  2宸插彂閫�  3鎷掓帴鎷掕   4鍙风爜閿欒   5鎵ц澶辫触   6涓嶆墽琛�   9瀹屾垚
      * <p>
-     * 浜哄伐闅忚鐘舵�侊細1鏈墽琛�   2寰呬汉宸ョ‘璁�  3鎷掓帴鎷掕  4鍙风爜閿欒   5鎵ц澶辫触   6涓嶆墽琛�      9瀹屾垚
+     * 浜哄伐闅忚鐘舵�侊細1鏈墽琛�   2寰呬汉宸ョ‘璁�  3鎷掓帴鎷掕  4鍙风爜閿欒   5鎵ц澶辫触   6涓嶆墽琛�  7 瓒呮椂     9瀹屾垚
      * <p>
      * 闈㈣鐘舵�侊細1鏈墽琛�   9瀹屾垚
      */
diff --git a/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java b/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java
index 35c4a12..ff75efc 100644
--- a/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java
+++ b/smartor/src/main/java/com/smartor/domain/VO/ServiceSubtaskVO.java
@@ -266,7 +266,7 @@
      * 鍙戦�佺姸鎬�
      */
     @Excel(name = " 鍙戦�佺姸鎬� ")
-    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴�")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂(浜哄伐)")
     private Long sendstate;
 
     /**
diff --git a/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java b/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java
index e52a46b..0d63cca 100644
--- a/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java
+++ b/smartor/src/main/java/com/smartor/domain/entity/ServiceSubtaskEntity.java
@@ -265,14 +265,14 @@
      * 鍙戦�佺姸鎬�
      */
     @Excel(name = " 鍙戦�佺姸鎬� ")
-    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴�")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂(浜哄伐)")
     private Long sendstate;
 
     /**
      * 鍙戦�佺姸鎬�
      */
     @Excel(name = " 鍙戦�佺姸鎬侀泦鍚� ")
-    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴�")
+    @ApiModelProperty(value = "鍙戦�佺姸鎬� 1 琚鍙�(鍦ㄤ换鍔′腑鏄柊寤猴紝鍦ㄦ湇鍔′腑鏄棰嗗彇)  2 寰呭彂閫�  3 宸插彂閫�  4 涓嶆墽琛�  5 鍙戦�佸け璐� 6 宸插畬鎴� 7 瓒呮椂(浜哄伐)")
     private List<Long> sendstates;
 
 
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 ed24b0b..fa36706 100644
--- a/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -2637,8 +2637,8 @@
                     serviceSubtaskStatistic.setPendingFollowUp(serviceSubtaskStatistic.getPendingFollowUp() + 1L);
                     pendingFollowUpInfo.add(serviceSubtask);
                 }
-                //棣栨闅忚澶辫触
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+                //棣栨闅忚澶辫触(鍖呮嫭闅忚澶辫触+浜哄伐瓒呮椂)
+                if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                     serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                     followUpFailInfo.add(serviceSubtask);
                 }
@@ -2867,7 +2867,7 @@
                 if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
                     serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                 }
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+                if (serviceSubtask.getSendstate() != null &&  (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                     serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                 }
                 if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {
@@ -2985,7 +2985,7 @@
                 if (serviceSubtask.getSendstate() != null && (serviceSubtask.getSendstate() == 6)) {
                     serviceSubtaskStatistic.setFollowUpSuccess(serviceSubtaskStatistic.getFollowUpSuccess() + 1L);
                 }
-                if (serviceSubtask.getSendstate() != null && serviceSubtask.getSendstate() == 5) {
+                if (serviceSubtask.getSendstate() != null &&  (serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 7)) {
                     serviceSubtaskStatistic.setFollowUpFail(serviceSubtaskStatistic.getFollowUpFail() + 1L);
                 }
                 if (serviceSubtaskStatistic.getNeedFollowUp() > 0) {

--
Gitblit v1.9.3