From 13f9867df6fc7de535670169c190df4ec9012968 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期四, 05 二月 2026 10:56:04 +0800
Subject: [PATCH] 【市一】随访任务发送报错补充remark信息

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |   75 +++++++++++++++++++++++++++++--------
 1 files changed, 59 insertions(+), 16 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 25cd045..c32f368 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
@@ -12,10 +12,7 @@
 import com.ruoyi.common.enums.ServiceFromEnum;
 import com.ruoyi.common.enums.WxGZHEnum;
 import com.ruoyi.common.exception.base.BaseException;
-import com.ruoyi.common.utils.HttpUtil;
-import com.ruoyi.common.utils.OkHttpExample;
-import com.ruoyi.common.utils.RSAPublicKeyExample;
-import com.ruoyi.common.utils.StringUtils;
+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;
@@ -337,7 +334,6 @@
                     serviceSLTDInhospReqVO.setStartHeadTime(nowTime);
                     serviceSLTDInhospReqVO.setStartTailTime(nowTime);
                     List<String> listStr = new ArrayList<>();
-//                    list.add("FH0108.02");
                     listStr.add("FH0109.26");
                     serviceSLTDInhospReqVO.setStatusList(listStr);
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃叆闄⑩�濋噰闆嗘暟鎹叆鍙傦細{}", serviceSLTDInhospReqVO);
@@ -374,9 +370,6 @@
                     serviceSLTDHealthcareRecordService.queryHealthcareRecordList(serviceSLTDInhospReqVO);
                     log.debug("銆恉ealHisData銆戠渷绔嬪悓寰封�滃嚭闄⑩�濇潫閲囬泦鏁版嵁锛岄櫌鍖猴細{}", cid);
                 }
-//                SysConfig sysConfig = sysConfigs.get(0);
-//                sysConfig.setConfigValue(nowTime);
-//                configService.updateConfig(sysConfig);
             } catch (Exception e) {
                 log.error("銆恉ealHisData銆戠渷绔嬪悓寰锋暟鎹噰闆嗗紓甯�", e);
             }
@@ -501,6 +494,7 @@
                 Long cs = currentSort.get();
                 if (cs.equals(serviceSubtaskPreachforms.size())) {
                     serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佹柟寮忕殑鐘舵�佷负澶辫触
                     serviceSubtaskPreachform.setSendstate("5");
@@ -656,6 +650,9 @@
                         if (serviceSubtask.getType().equals("1"))
                             sendMagParam.setUrl(localIP + ":" + req_path + "/sf?p=" + format);
                         sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                        if (active.equals("xh")) {
+                            sendMagParam.setContent("銆愭柊鍗庡尰闄€�戞偍濂斤紝閭�璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
+                        }
                     } else {
                         HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
                         if (heLibrary.getHetype().equals("1")) {
@@ -754,7 +751,7 @@
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佹垚鍔�", "2");
                     } else {
                         serviceSubtask.setResult("error");
-                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," +"鐭俊鍙戦�佸け璐�" + now);
+                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," + "鐭俊鍙戦�佸け璐�" + now);
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�" + now, "5");
                     }
                 } catch (Exception e) {
@@ -814,7 +811,7 @@
                         wxCode = getWXCode(serviceSubtask.getSfzh(), url, serviceSubtask.getTaskName(), serviceSubtask.getTaskDesc(), patArchive.getTelcode(), serviceSubtask.getSendname(), patArchive.getPatidHis(), wxqqxx);
                     }
 
-                    Map<String, Object> map = JSONObject.parseObject(wxCode, Map.class);
+                    Map map = JSONObject.parseObject(wxCode, Map.class);
                     //浠诲姟鍙戦�佽褰�
                     ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
                     serviceSubtaskRecord.setTaskid(serviceSubtask.getTaskid().toString());
@@ -823,12 +820,22 @@
                     serviceSubtaskRecord.setPreachform("4");
                     serviceSubtaskRecord.setStartTime(System.currentTimeMillis());
                     serviceSubtaskRecord.setResult("success");
-                    if (!map.isEmpty() && (Boolean) map.get("succ") == false) serviceSubtaskRecord.setResult("error");
+                    Boolean wxCodeSuccess = false;
+                    if(active.equals("hzszlyy")){
+                        if(!map.isEmpty() && map.get("success") != null){
+                            wxCodeSuccess = (boolean) map.get("success");
+                        }
+                    }else {
+                        if(!map.isEmpty() && map.get("succ") != null){
+                            wxCodeSuccess = (boolean) map.get("succ");
+                        }
+                    }
+                    if (!map.isEmpty() && !wxCodeSuccess) serviceSubtaskRecord.setResult("error");
                     serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
 
                     //鍙戦�佸畬鎴愬悗锛屼慨鏀圭姸鎬�
                     serviceSubtask.setSendstate(3L);
-                    if ((Boolean) map.get("succ") == true) {
+                    if (wxCodeSuccess) {
                         serviceSubtask.setResult("success");
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "銆愬叕浼楀彿銆戝叕浼楀彿鍙戦�佹垚鍔�", "2");
                     } else {
@@ -880,7 +887,15 @@
 
         // 鎯呭喌1锛歝urrentPreachform涓虹┖锛屽彇sort涓�1鐨刾reachform
         if (StringUtils.isEmpty(serviceSubtask.getCurrentPreachform())) {
-            return serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
+            String firstPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort() == 1L).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse(null);
+
+            //鏇存柊涓�涓嬪綋鍓嶅彂閫佹椂闂�
+            if (StringUtils.isNotEmpty(firstPreachform)) {
+                serviceSubtaskPreachform.setPreachform(firstPreachform);
+                serviceSubtaskPreachform.setCurrentSendTime(new Date());
+                serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
+            }
+            return firstPreachform;
         }
 
         // 鎯呭喌2锛歝urrentPreachform涓嶄负绌猴紝鎵句笅涓�涓猻ort
@@ -901,6 +916,7 @@
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setRemark("getSendPreachform鏂规硶 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9, 鍏ㄥけ璐ヤ簡");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     //淇敼鍙戦�佺姸鎬�
                     setFail(serviceSubtaskPreachforms, serviceSubtask);
@@ -910,7 +926,6 @@
 
             // 褰搒ort绛変簬鍒楄〃size鏃讹紝涓嬩竴涓猻ort涓�-1
             Long nextSort = currentSort.get() + 1;
-
             //濡傛灉褰撳墠鐨勫彂閫佹柟寮忎笉涓虹┖锛屽苟涓斿紑濮嬪噯澶囪鐢ㄤ笅涓�绉嶆柟寮忓彂閫佷簡锛岄偅褰撳墠鐨勮偗瀹氭病鏈夊彂閫佹垚鍔燂紝闇�瑕佽缃け璐�
             // (杩欓噷涓昏鏄紝浜哄伐濡傛灉娌℃湁闅忚锛岀劧鍚庡埌鍏紬鍙风殑鏃跺�欙紝灏变笉浼氬啀鍘荤浜哄伐鏄惁鎴愬姛锛屼汉宸ョ殑鐘舵�佷細涓�鐩村崱鍦�2鐨勭姸鎬佷笂)
             if (StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform())) {
@@ -918,7 +933,34 @@
             }
 
             // 鎵惧埌涓嬩竴涓猻ort瀵瑰簲鐨刾reachform
-            return serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
+            String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
+
+            //寰俊宸插彂閫併�佸凡棰嗗彇璺宠繃鐭俊鍙戦�侊紝杩涜浜哄伐 -涓芥按涓尰闄�
+            if (active.equals("47231022633110211A2101")) {
+                //鑾峰彇褰撳墠鍙戦�佹柟寮�
+                ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform());
+                //褰撳墠鍙戦�佹柟寮忎负寰俊鐨勶紝涓斾笅涓�鍙戦�佹柟寮忎负鐭俊鐨勶紝寰俊鍙戦�佺姸鎬佷负宸插彂閫併�佸凡棰嗗彇鐨勶紝璺宠繃鐭俊姝ラ
+                if (currentServiceSubtaskPreachform.getPreachform().equals("5")
+                        && (currentServiceSubtaskPreachform.getSendstate().equals("2")
+                        || currentServiceSubtaskPreachform.getSendstate().equals("3"))) {
+                    if(StringUtils.isNotEmpty(nextPreachform) && nextPreachform.equals("2")){
+                        log.error("銆恠fHandlle銆戝井淇″凡鍙戦�侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐");
+                        setSuccessPreachForm(serviceSubtask, "-1", "寰俊宸插彂閫侊紝鐭俊涓嶅彂閫侊紝璺宠浆浜哄伐", "6");
+                        //璺宠繃鐭俊锛屾墽琛屼笅涓�姝�
+                        Long newNextSort = nextSort + 1;
+                        //鎵惧埌鐭俊鍐嶄笅涓�涓猻ort瀵瑰簲鐨刾reachform
+                        nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> newNextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1");
+                    }
+                }
+            }
+            //鏇存柊涓�涓嬪綋鍓嶅彂閫佹椂闂�
+            if (StringUtils.isNotEmpty(nextPreachform)) {
+                serviceSubtaskPreachform.setCurrentSendTime(new Date());
+                serviceSubtaskPreachform.setPreachform(nextPreachform);
+                serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
+            }
+
+            return nextPreachform;
         }
 
         return null;
@@ -1053,10 +1095,10 @@
             serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
             serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
             serviceSubtaskPreachform.setSendstate(failSendstate);
+            serviceSubtaskPreachform.setCurrentSendTime(new Date());
             serviceSubtaskPreachformMapper.updateSSPByCondition(serviceSubtaskPreachform);
             return true;
         }
-
 
         ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
         serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
@@ -1090,6 +1132,7 @@
                 if (failSendstate.equals("4") || failSendstate.equals("5")) {
                     serviceSubtask.setCurrentPreachform(preachform);
                     serviceSubtask.setSendstate(5L);
+                    serviceSubtask.setRemark("setSuccessPreachForm鏂规硶锛屽綋鍓嶇殑preachform宸茬粡鏄渶鍚庝竴涓簡锛屽叏閮ㄦ墽琛屽け璐�");
                     serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
                     return true;
                 }

--
Gitblit v1.9.3