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

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |   83 +++++++++++++++++++++++++++++++++++------
 1 files changed, 70 insertions(+), 13 deletions(-)

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 ae3294c..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
@@ -11,11 +11,11 @@
 import com.ruoyi.common.enums.MsgLSEnum;
 import com.ruoyi.common.enums.ServiceFromEnum;
 import com.ruoyi.common.enums.WxGZHEnum;
-import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.*;
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.sms.smsUtils;
 import com.ruoyi.quartz.service.ICollectHISService;
+import com.ruoyi.quartz.util.CreateDataTable;
 import com.ruoyi.system.domain.SysConfig;
 import com.ruoyi.system.service.ISysConfigService;
 import com.smartor.common.LSHospTokenUtil;
@@ -151,6 +151,9 @@
 
     @Autowired
     ICollectHISService icollectHis;
+
+    @Autowired
+    CreateDataTable createDataTable;
 
 
     @Value("${appid}")
@@ -456,7 +459,7 @@
             iPatMedInhospService.dealOutHospInfoByDimension(config);
             //闂ㄨ瘖琛�(鏂板崕鐨勬殏鏃朵笉鍋氶棬璇婇殢璁�)
             if (!active.equals("xh")) {
-//                iPatMedOuthospService.dealOutpatientInfo();
+                //iPatMedOuthospService.dealOutpatientInfo();
             }
         }
     }
@@ -468,6 +471,19 @@
     public void dealOperationInfo() {
         if (port.equals("8095")) iPatMedOperationService.dealOperationInfo();
 
+    }
+
+    /**
+     * 闂ㄨ瘖鍒嗚〃瀹氭椂浠诲姟锛氫粠 sys_config 璇诲彇鍒嗚〃妯″紡锛屾寜妯″紡寤鸿〃骞跺埛鏂拌鍥� v_pat_med_outhosp
+     * 閰嶇疆 key: outhosp.split.mode
+     * quarter -> 鎸夊搴︼紝琛ㄥ悕绀轰緥锛歱at_med_outhosp_20260103
+     * year    -> 鎸夊勾锛岃〃鍚嶇ず渚嬶細pat_med_outhosp_2026
+     * month   -> 鎸夋湀锛岃〃鍚嶇ず渚嬶細pat_med_outhosp_202601
+     * 鏌ヨ涓嶅埌閰嶇疆鍒欎笉鍒嗚〃
+     */
+    public void createOuthospQuarterTable() {
+        log.info("銆恈reateOuthospQuarterTable銆戝紑濮嬫墽琛岄棬璇婂垎琛ㄤ换鍔�");
+        createDataTable.createOuthospQuarterTable();
     }
 
     /**
@@ -483,7 +499,7 @@
 
 
     /**
-     *  闀挎湡浠诲姟鍙戦��
+     * 闀挎湡浠诲姟鍙戦��
      */
     public void longTaskSend() {
         //鑾峰彇浠诲姟淇℃伅
@@ -542,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;
                 }
@@ -582,6 +609,7 @@
 
     /**
      * 闅忚-琛ュ伩澶勭悊
+     *
      * @param serviceSubtask
      */
     public void sfHandlle(ServiceSubtask serviceSubtask) {
@@ -595,6 +623,7 @@
         String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask);
         if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) {
             //璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡   鎴栬��  璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�
+            log.error("璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡   鎴栬��  璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�");
             return;
         }
         //鍏堝垽鏂偅鑰呮槸涓嶆槸杩樿鍙戦��
@@ -902,7 +931,7 @@
                 }
             }
         } else if (descByCode.equals("浜哄伐")) {
-            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐寰呮墽琛�", "2");
+            setSuccessPreachForm(serviceSubtask, sendPreachform, "浜哄伐瓒呮椂", "7");
         }
 
     }
@@ -969,7 +998,12 @@
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(5L);
-                    serviceSubtask.setRemark("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
+                    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);
@@ -1053,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;
@@ -1177,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());
@@ -1196,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")) {

--
Gitblit v1.9.3