From 0e811615b93c04188ba520b2ba6b89b0d186f80b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 26 一月 2026 20:12:27 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java |  104 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 80 insertions(+), 24 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 9697149..03332f0 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
@@ -337,7 +337,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 +373,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);
             }
@@ -473,11 +469,11 @@
      * 澶勭悊琛ュ伩浠诲姟
      */
     public void compensateTask() {
-        //鑾峰彇鍒皊endstate=3 骞朵笖 visit_time涓轰粖澶╃殑subtask
+        //鑾峰彇鍒皊endstate=3 骞朵笖 visit_time涓哄皬浜庣瓑浜庝粖澶╃殑subtask
         ServiceSubtaskVO serviceSubtaskVO = new ServiceSubtaskVO();
         serviceSubtaskVO.setSendstate(3L);
         serviceSubtaskVO.setVisitTime(new Date());
-        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+        List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.getCompensateServiceSubtaskList(serviceSubtaskVO);
         for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
             //鏍规嵁褰撳墠鐨勬墽琛屾柟寮忥紝鑾峰彇涓嬩竴绉嶆墽琛屾柟寮�
             ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
@@ -597,7 +593,8 @@
                 redisCache.setCacheListLeftAndDistinct("cache-0", list);
                 log.info("銆恠fHandlle銆戠數璇濅换鍔″凡鍔犲叆闃熷垪锛屾暟閲忥細{}", list.size());
             }
-        } else if (descByCode.equals("寰俊灏忕▼搴�")) {
+        }
+        else if (descByCode.equals("寰俊灏忕▼搴�")) {
             //寰俊灏忕▼搴�
             if (ObjectUtils.isNotEmpty(ivrTask1) && ivrTask1.getPatCycle() == 1) {
                 //璇存槑璇ヤ换鍔$殑鎮h�呮槸寰幆鎵ц鐨�
@@ -624,7 +621,8 @@
                 //灏嗗綋鍓嶈鎵ц鐨勬偅鑰呮斁鍒拌繃婊ゆ偅鑰呴泦鍚堜腑
                 serviceSubtaskListFilter.add(serviceSubtask);
             }
-        } else if (descByCode.equals("鐭俊")) {
+        }
+        else if (descByCode.equals("鐭俊")) {
             RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
             String taskId = rsaPublicKeyExample.encryptedData(ivrTask1.getTaskid().toString(), pub_key);
             log.info("銆恠fHandlle銆戝鐞嗙煭淇¢暱鏈熶换鍔★紝鎮h�匢D锛歿}", serviceSubtask.getPatid());
@@ -656,6 +654,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")) {
@@ -669,7 +670,9 @@
                         } else if (heLibrary.getHetype().equals("2")) {
                             //閫氱煡
                             sendMagParam.setPhone(serviceSubtask.getPhone());
-                            sendMagParam.setContent(heLibrary.getPreachcontent());
+                            // 鏇挎崲鏂囨湰鍐呭涓殑鍙橀噺
+                            String content = getObject(serviceSubtask, heLibrary.getPreachcontent());
+                            sendMagParam.setContent(content);
                         }
 
                     }
@@ -748,11 +751,11 @@
                     serviceSubtask.setSendstate(3L);
                     if (StringUtils.isNotEmpty(isSuccess) && isSuccess.equals("true")) {
                         serviceSubtask.setResult("success");
-                        serviceSubtask.setRemark("鐭俊鍙戦�佹垚鍔�");
+                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," + "鐭俊鍙戦�佹垚鍔�");
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佹垚鍔�", "2");
                     } else {
                         serviceSubtask.setResult("error");
-                        serviceSubtask.setRemark("鐭俊鍙戦�佸け璐�" + now);
+                        serviceSubtask.setRemark(serviceSubtask.getRemark() + "," + "鐭俊鍙戦�佸け璐�" + now);
                         setSuccessPreachForm(serviceSubtask, sendPreachform, "鐭俊鍙戦�佸け璐�" + now, "5");
                     }
                 } catch (Exception e) {
@@ -792,18 +795,18 @@
                     if (active.equals("hzszlyy")) {
                         //澶勭悊涓枃涔辩爜闂
                         /**String title = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
-                        String content = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
-                        String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString());
-                        String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() +
-                                "&title=" + title +
-                                "&content=" + content +
-                                "&phone=" + patArchive.getTelcode() +
-                                "&url=" + encodedUrl +
-                                "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
-//                        HttpUtils.sendGet(urlTemp);
-                        String sendMsg = "";
-                        sendMsg = HttpUtils.sendPost(urlTemp);
-                        log.info(sendMsg); **/
+                         String content = URLEncoder.encode("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��", StandardCharsets.UTF_8.toString());
+                         String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString());
+                         String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() +
+                         "&title=" + title +
+                         "&content=" + content +
+                         "&phone=" + patArchive.getTelcode() +
+                         "&url=" + encodedUrl +
+                         "&key=ff76f8904f5f32b5ee1739e8ea46e60g";
+                         //                        HttpUtils.sendGet(urlTemp);
+                         String sendMsg = "";
+                         sendMsg = HttpUtils.sendPost(urlTemp);
+                         log.info(sendMsg); **/
 
                         wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh());
                         log.info(wxCode);
@@ -885,6 +888,17 @@
         Optional<Long> currentSort = serviceSubtaskPreachforms.stream().filter(item -> serviceSubtask.getCurrentPreachform().equals(item.getPreachform())).map(ServiceSubtaskPreachform::getSort).findFirst();
 
         if (currentSort.isPresent()) {
+            //寰俊宸插彂閫併�佸凡棰嗗彇瑙嗕负鍙戦�佹垚鍔燂紝涓嶅啀杩涜琛ュ伩 -涓芥按涓尰闄�
+            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"))){
+                    return "-1";
+                }
+            }
+
             // 妫�鏌ユ槸鍚︽墍鏈塻endstate涓嶇瓑浜�9
             boolean allSendStateNot1AndNot9 = serviceSubtaskPreachforms.stream().allMatch(item -> !item.getSendstate().equals("9"));
             if (!allSendStateNot1AndNot9) {
@@ -1055,7 +1069,6 @@
             return true;
         }
 
-
         ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
         serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
         serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
@@ -1109,4 +1122,47 @@
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
         return true;
     }
+
+    /**
+     * 閫氶厤绗﹀彉閲忔浛鎹�
+     *
+     * @param serviceSubtask
+     * @param scriptContent
+     * @return
+     */
+    private String getObject(ServiceSubtask serviceSubtask, String scriptContent) {
+        Map<String, Map<String, String>> param = getParam(serviceSubtask.getTaskid());
+        for (Map<String, String> map : param.values()) {
+            for (String key : map.keySet()) {
+                scriptContent = scriptContent.replace(key, StringUtils.isNotEmpty(map.get(key)) ? map.get(key) : "");
+            }
+        }
+        if (StringUtils.isEmpty(scriptContent)) {
+            return scriptContent;
+        }
+        scriptContent = scriptContent.replace("${name}", StringUtils.isNotEmpty(serviceSubtask.getSendname()) ? serviceSubtask.getSendname() : "");
+        scriptContent = scriptContent.replace("${dzz}", StringUtils.isNotEmpty(serviceSubtask.getAddr()) ? serviceSubtask.getAddr() : "");
+        scriptContent = scriptContent.replace("${phone}", StringUtils.isNotEmpty(serviceSubtask.getTelcode()) ? serviceSubtask.getTelcode() : "");
+
+        return scriptContent;
+    }
+
+    /**
+     * 鑾峰彇浠诲姟閲岀殑閫氶厤绗�
+     *
+     * @param taskId
+     * @return
+     */
+    private Map<String, Map<String, String>> getParam(Long taskId) {
+        ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(taskId);
+        ObjectMapper objectMapper = new ObjectMapper();
+        Map<String, Map<String, String>> serviceTaskMap = null;
+        try {
+            serviceTaskMap = objectMapper.readValue(serviceTask.getTextParam(), Map.class);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        }
+        return serviceTaskMap;
+    }
+
 }

--
Gitblit v1.9.3