From 0bbbd746e8c39d91ad7b47a4e36e29ab972dc98c Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期二, 20 十月 2026 16:56:54 +0800
Subject: [PATCH] 处理长期任务发送问题

---
 ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitTaskRuleDto.java        |   85 ++------
 ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospVisitTaskService.java |   23 +-
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java                              |  158 ++++++++-------
 ruoyi-task/src/main/java/com/ruoyi/task/api/contract/VisitTaskCreateApiImpl.java          |    4 
 ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceTaskServiceImpl.java          |   17 -
 ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospTaskOrchestrator.java |  116 ++++++-----
 ruoyi-message/pom.xml                                                                     |   10 +
 ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java    |  158 ++++++---------
 ruoyi-admin/src/main/resources/application.yml                                            |    2 
 9 files changed, 259 insertions(+), 314 deletions(-)

diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 4950217..49041c9 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -75,7 +75,7 @@
     # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
     basename: i18n/messages
   profiles:
-    active: sltd
+    active: nhfy
 
   # 鏂囦欢涓婁紶
   servlet:
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitTaskRuleDto.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitTaskRuleDto.java
index c1085ca..fea959e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitTaskRuleDto.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitTaskRuleDto.java
@@ -1,5 +1,7 @@
 package com.ruoyi.common.core.service.dto;
 
+import lombok.Data;
+
 import java.io.Serializable;
 
 /**
@@ -21,84 +23,45 @@
  * 鍏跺畠/null = 涓嶅弬涓�
  * </pre>
  */
+@Data
 public class VisitTaskRuleDto implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    /** 瑙勫垯ID */
+    /**
+     * 瑙勫垯ID
+     */
     private Long id;
 
-    /** 绉戝瑙勫垯锛�"1"=棣栬 "2"=娆¤ */
+    /**
+     * 绉戝瑙勫垯锛�"1"=棣栬 "2"=娆¤
+     */
     private String deptRule;
 
-    /** 鐥呭尯瑙勫垯锛堚殸锔� 鍘熷疄浣撴嫾鍐欏嵆涓� {@code wradRule}锛� */
+    /**
+     * 鐥呭尯瑙勫垯锛堚殸锔� 鍘熷疄浣撴嫾鍐欏嵆涓� {@code wradRule}锛�
+     */
     private String wradRule;
 
-    /** 鐤剧梾瑙勫垯 */
+    /**
+     * 鐤剧梾瑙勫垯
+     */
     private String diagRule;
 
-    /** 绂婚櫌绉戝缂栫爜 */
+    /**
+     * 绂婚櫌绉戝缂栫爜
+     */
     private String deptcode;
 
-    /** 绂婚櫌鐥呭尯缂栫爜 */
+    /**
+     * 绂婚櫌鐥呭尯缂栫爜
+     */
     private String wardcode;
 
-    /** 鏈烘瀯ID */
+    /**
+     * 鏈烘瀯ID
+     */
     private String orgid;
 
-    public Long getId() {
-        return id;
-    }
 
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getDeptRule() {
-        return deptRule;
-    }
-
-    public void setDeptRule(String deptRule) {
-        this.deptRule = deptRule;
-    }
-
-    public String getWradRule() {
-        return wradRule;
-    }
-
-    public void setWradRule(String wradRule) {
-        this.wradRule = wradRule;
-    }
-
-    public String getDiagRule() {
-        return diagRule;
-    }
-
-    public void setDiagRule(String diagRule) {
-        this.diagRule = diagRule;
-    }
-
-    public String getDeptcode() {
-        return deptcode;
-    }
-
-    public void setDeptcode(String deptcode) {
-        this.deptcode = deptcode;
-    }
-
-    public String getWardcode() {
-        return wardcode;
-    }
-
-    public void setWardcode(String wardcode) {
-        this.wardcode = wardcode;
-    }
-
-    public String getOrgid() {
-        return orgid;
-    }
-
-    public void setOrgid(String orgid) {
-        this.orgid = orgid;
-    }
 }
diff --git a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java
index 2c3db08..1c755c5 100644
--- a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java
+++ b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospSubtaskWriter.java
@@ -61,19 +61,29 @@
 @Service
 public class InhospSubtaskWriter {
 
-    /** 鏅畞鏈烘瀯ID锛堝師 L798 纭紪鐮侊紱宸查�愬瓧鏍稿鍘熷疄鐜� 4 澶勶級 */
+    /**
+     * 鏅畞鏈烘瀯ID锛堝師 L798 纭紪鐮侊紱宸查�愬瓧鏍稿鍘熷疄鐜� 4 澶勶級
+     */
     private static final String ORG_JINGNING = "47255004333112711A1001";
 
-    /** 鍑洪櫌闅忚鐨勬湇鍔$被鍨嬶紙鍐嶅叆闄㈠仠鏈哄垎鏀殑蹇呰鏉′欢锛屽師 L803锛� */
+    /**
+     * 鍑洪櫌闅忚鐨勬湇鍔$被鍨嬶紙鍐嶅叆闄㈠仠鏈哄垎鏀殑蹇呰鏉′欢锛屽師 L803锛�
+     */
     private static final String SERVICE_TYPE_DISCHARGE = "2";
 
-    /** 寰呮墽琛岀姸鎬� */
+    /**
+     * 寰呮墽琛岀姸鎬�
+     */
     private static final long SENDSTATE_PENDING = 2L;
 
-    /** 鍋滄満鐘舵�侊紙鍘熷疄鐜版妸 sendstate 缃� 4 琛ㄧず涓嶅啀鎵ц锛� */
+    /**
+     * 鍋滄満鐘舵�侊紙鍘熷疄鐜版妸 sendstate 缃� 4 琛ㄧず涓嶅啀鎵ц锛�
+     */
     private static final long SENDSTATE_STOPPED = 4L;
 
-    /** 鐤剧梾缁村害锛坱ype=3锛変笓鐢細鍋滄棫浠诲姟鍚庢妸鎵ц鏂瑰紡鍏ㄧ疆澶辫触 */
+    /**
+     * 鐤剧梾缁村害锛坱ype=3锛変笓鐢細鍋滄棫浠诲姟鍚庢妸鎵ц鏂瑰紡鍏ㄧ疆澶辫触
+     */
     private static final String PREACHFORM_STATE_FAIL = "5";
 
     @Autowired
@@ -99,32 +109,29 @@
      * 鎶婃偅鑰呭啓杩涢殢璁垮瓙浠诲姟琛� 鈥斺�� 鍘� {@code writeInSubTask(Long taskid, Boolean check, PatMedInhosp,
      * PatArchive, Integer type, String config)}銆�
      *
-     * @param taskid   鍛戒腑鐨勯暱鏈熶换鍔D
-     * @param check    鏄惁闇�瑕佸仛"鍐嶅叆闄�"鍘婚噸鏍¢獙
-     * @param inhosp   鍑哄叆闄㈣褰�
-     * @param archive  鎮h�呮。妗�
-     * @param type     0=鑽搧瀹f暀 / 1=绂婚櫌绉戝 / 2=绂婚櫌鐥呭尯 / 3=鐤剧梾 / 4=鍏ラ櫌绉戝 / 5=鍏ラ櫌鐥呭尯
-     * @param config   {@code sys_config: visit.early.day}
+     * @param taskid  鍛戒腑鐨勯暱鏈熶换鍔D
+     * @param check   鏄惁闇�瑕佸仛"鍐嶅叆闄�"鍘婚噸鏍¢獙
+     * @param inhosp  鍑哄叆闄㈣褰�
+     * @param archive 鎮h�呮。妗�
+     * @param type    0=鑽搧瀹f暀 / 1=绂婚櫌绉戝 / 2=绂婚櫌鐥呭尯 / 3=鐤剧梾 / 4=鍏ラ櫌绉戝 / 5=鍏ラ櫌鐥呭尯
+     * @param config  {@code sys_config: visit.early.day}
      * @return <b>鏄惁鐪熺殑钀戒簡搴�</b>锛堟垨"鏈潵灏卞凡缁忔湁"锛夈��
-     *         杩斿洖鍊兼槸 2026-10"涓�涓偅鑰呭彧鐢熸垚涓�鏉¢殢璁夸换鍔�"鏀归�犵殑鍒ゆ嵁锛�
-     *         缂栨帓灞傛寜缁村害浼樺厛绾ч�愪釜灏濊瘯锛屽彧鏈夋嬁鍒� {@code true} 鎵嶇畻璇ョ淮搴︽垚鍔熷苟鍋滄銆�
-     *         鍘熷疄鐜版槸 {@code void}锛岀紪鎺掑眰鐢�"璋冪敤浜嗗嚑娆�"褰撴垚鍔熸暟 鈥斺�� 閭f槸閿欑殑
-     *         锛堜换鍔℃湭鍙戝竷/琚幓閲嶆椂鍚屾牱鏄�"鐢熸垚浜嗕竴鏉�"锛夈��
+     * 杩斿洖鍊兼槸 2026-10"涓�涓偅鑰呭彧鐢熸垚涓�鏉¢殢璁夸换鍔�"鏀归�犵殑鍒ゆ嵁锛�
+     * 缂栨帓灞傛寜缁村害浼樺厛绾ч�愪釜灏濊瘯锛屽彧鏈夋嬁鍒� {@code true} 鎵嶇畻璇ョ淮搴︽垚鍔熷苟鍋滄銆�
+     * 鍘熷疄鐜版槸 {@code void}锛岀紪鎺掑眰鐢�"璋冪敤浜嗗嚑娆�"褰撴垚鍔熸暟 鈥斺�� 閭f槸閿欑殑
+     * 锛堜换鍔℃湭鍙戝竷/琚幓閲嶆椂鍚屾牱鏄�"鐢熸垚浜嗕竴鏉�"锛夈��
      */
-    public boolean writeInSubTask(Long taskid, Boolean check, VisitInhospRow inhosp,
-                                  VisitArchiveRow archive, Integer type, String config) {
-        // 鍘� L683-685
+    public boolean writeInSubTask(Long taskid, Boolean check, VisitInhospRow inhosp, VisitArchiveRow archive, Integer type, String config) {
         String longTaskReason = inhosp.getLongTaskReason();
         String orgId = inhosp.getOrgid();
         if (StringUtils.isEmpty(longTaskReason)) {
             longTaskReason = "";
         }
 
-        // 鍘� L686-728锛氭煡"宸插彂甯冪殑闀挎湡浠诲姟"锛涙煡涓嶅埌鏃舵寜 type 鍐欎笉鍚岀殑鏍囧織浣嶅悗 return
+        // 鏌ヤ换鍔″垱寤烘ā鍧楃殑鏂规硶鏄惁鍙敤
         VisitTaskCreateApi taskApi = taskCreateApi();
         if (taskApi == null) {
-            log.warn("銆愬嚭鍏ラ櫌闅忚銆慥isitTaskCreateApi 涓嶅彲鐢紙浠诲姟鍒涘缓妯″潡鏈閰嶏級锛屾湰鎮h�呬笉鐢熸垚瀛愪换鍔°��"
-                    + "inhospid={}, taskid={}", inhosp.getInhospid(), taskid);
+            log.warn("銆愬嚭鍏ラ櫌闅忚銆慥isitTaskCreateApi 涓嶅彲鐢紙浠诲姟鍒涘缓妯″潡鏈閰嶏級锛屾湰鎮h�呬笉鐢熸垚瀛愪换鍔°��" + "inhospid={}, taskid={}", inhosp.getInhospid(), taskid);
             return false;
         }
         VisitLongTaskDto serviceTask = taskApi.findPublishedLongTask(taskid);
@@ -145,23 +152,19 @@
         //   鎮h�呰閲嶅鎵埌鏃朵細璧�"鍋滄棫 + 鍐� insert 涓�鏉� sendstate=4"鐨勫垎鏀紝
         //   姣忚窇涓�杞涓�鏉★紝鏈�缁堝悓涓�鎮h�呭嚑鍗佹潯銆�
         // ------------------------------------------------------------------
-        if (taskApi.existsSubtask(archive == null ? null : archive.getId(),
-                inhosp.getInhospid(), taskid)) {
-            log.info("銆愬嚭鍏ラ櫌闅忚銆戞偅鑰厈}鍑洪櫌璁板綍{}浠诲姟{}宸叉湁瀛愪换鍔★紝璺宠繃閲嶅鐢熸垚銆�",
-                    inhosp.getPatid(), inhosp.getInhospid(), taskid);
+        if (taskApi.existsSubtask(archive == null ? null : archive.getId(), inhosp.getInhospid(), taskid)) {
+            log.info("銆愬嚭鍏ラ櫌闅忚銆戞偅鑰厈}鍑洪櫌璁板綍{}浠诲姟{}宸叉湁瀛愪换鍔★紝璺宠繃閲嶅鐢熸垚銆�", inhosp.getPatid(), inhosp.getInhospid(), taskid);
             writeFlagByType(inhosp.getInhospid(), type, "1", null);
             return true;
         }
 
-        // 鍘� L732-736锛氱粍瑁咃紙鍓綔鐢ㄧ敱鏈被瀹炵幇锛岃 missingOutHospTime锛�
-        VisitSubtaskDraft serviceSubtask = subtaskFactory.boxedServiceSubtask(
-                toTaskSource(serviceTask, inhosp), inhosp, archive, config, type,
-                row -> onMissingOutHospTime(row));
+        // serviceSubtask鏁版嵁缁勮锛堝壇浣滅敤鐢辨湰绫诲疄鐜帮紝瑙� missingOutHospTime锛�
+        VisitSubtaskDraft serviceSubtask = subtaskFactory.boxedServiceSubtask(toTaskSource(serviceTask, inhosp), inhosp, archive, config, type, row -> onMissingOutHospTime(row));
         if (ObjectUtils.isEmpty(serviceSubtask)) {
             return false;
         }
 
-        // 鍘� L737-753锛氬氨璇婄瀹�/鐥呭尯濉厖
+        // 灏辫瘖绉戝/鐥呭尯濉厖
         if (type != null && type != 2) {
             // 绉戝鍜岀柧鐥� 閮界敤 绉戝濉厖
             if ("1".equals(inhosp.getInhospstate())) {
@@ -180,22 +183,19 @@
             serviceSubtask.setVisitDeptName(inhosp.getLeavehospitaldistrictname());
         }
 
-        // 鍘� L754-755锛氳褰� insertServiceSubtask 鐨勮繑鍥炵姸鎬�
+        // 璁板綍 insertServiceSubtask 鐨勮繑鍥炵姸鎬�
         int i = 0;
         try {
-            // 鍘� L757-758
-            if (Boolean.TRUE.equals(check)
-                    && (serviceSubtask.getTaskSituation() == null || serviceSubtask.getTaskSituation() != 6)) {
-                // 鍘� L759-764锛氭煡璇ユ偅鑰� + 璇� taskid 涓嬫墍鏈夊緟鎵ц瀛愪换鍔�
-                List<VisitPendingSubtaskDto> pendingList =
-                        taskApi.findPendingSubtasks(archive.getId(), taskid);
+            if (Boolean.TRUE.equals(check) && (serviceSubtask.getTaskSituation() == null || serviceSubtask.getTaskSituation() != 6)) {
+                // 鏌ヨ鎮h�� + 璇� taskid 涓嬫墍鏈夊緟鎵ц瀛愪换鍔�
+                List<VisitPendingSubtaskDto> pendingList = taskApi.findPendingSubtasks(archive.getId(), taskid);
                 if (pendingList != null && !pendingList.isEmpty()) {
                     for (VisitPendingSubtaskDto pending : pendingList) {
-                        // 鍘� L768-771锛氫笉鏄暱鏈熶换鍔★紝涓嶅鐞�
+                        // 涓嶆槸闀挎湡浠诲姟锛屼笉澶勭悊
                         if (pending.getLongSendTime() == null) {
                             continue;
                         }
-                        // 鍘� L772-773锛歵ype = 1鎴�2 琛ㄧず "绉戝銆佺梾鍖�"
+                        //type = 1鎴�2 琛ㄧず "绉戝銆佺梾鍖�"
                         if (type != null && (type == 1 || type == 2)) {
                             Date endTime = serviceSubtask.getEndtime();
                             Date endTime1 = pending.getEndtime();
@@ -222,14 +222,12 @@
                                 }
                                 continue;
                             }
-                            // 鍘� L795-800锛氭櫙瀹� 鍑洪櫌棣栨锛�7澶╋級闅忚涓�瀹氳鍋�
+                            //鏅畞 鍑洪櫌棣栨锛�7澶╋級闅忚涓�瀹氳鍋�
                             boolean firstVisit = ORG_JINGNING.equals(orgId);
                             if (!firstVisit) {
-                                // 鍘� L802-803
                                 // 鈿狅笍 鍘熷疄鐜颁笉鍒� serviceType 鏄惁涓� null锛堜細 NPE锛夛紝鍘熸牱淇濈暀
-                                if (endTime1.before(endTime)
-                                        && SERVICE_TYPE_DISCHARGE.equals(pending.getServiceType())) {
-                                    // 鍘� L804-813锛氭妸寰幆鍒扮殑鏃у瓙浠诲姟鍋滄帀
+                                if (endTime1.before(endTime) && SERVICE_TYPE_DISCHARGE.equals(pending.getServiceType())) {
+                                    // 鎶婂惊鐜埌鐨勬棫瀛愪换鍔″仠鎺�
                                     pending.setSendstate(SENDSTATE_STOPPED);
                                     if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) {
                                         serviceSubtask.setRemark(serviceSubtask.getRemark() + ",绉戝/鐥呭尯鎮h�呭啀鍏ラ櫌");
@@ -243,12 +241,11 @@
                                         i = 1;
                                     }
                                 } else {
-                                    // 鍘� L814-824锛氱浉鍙嶏紝鍒欐妸"褰撳墠鐨�"鏁版嵁鍋滄帀锛堢疆 error + sendstate=4 鍚� insert锛�
+                                    //鐩稿弽锛屽垯鎶�"褰撳墠鐨�"鏁版嵁鍋滄帀锛堢疆 error + sendstate=4 鍚� insert锛�
                                     serviceSubtask.setResult("error");
                                     serviceSubtask.setSendstate(SENDSTATE_STOPPED);
                                     if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) {
-                                        serviceSubtask.setRemark(serviceSubtask.getRemark()
-                                                + ",褰撳墠鎮h�呭嚭闄㈡椂闂村悗鏈夊緟鎵ц鐨勫嚭闄㈤殢璁块暱鏈熶换鍔�");
+                                        serviceSubtask.setRemark(serviceSubtask.getRemark() + ",褰撳墠鎮h�呭嚭闄㈡椂闂村悗鏈夊緟鎵ц鐨勫嚭闄㈤殢璁块暱鏈熶换鍔�");
                                     } else {
                                         serviceSubtask.setRemark("褰撳墠鎮h�呭嚭闄㈡椂闂村悗鏈夊緟鎵ц鐨勫嚭闄㈤殢璁块暱鏈熶换鍔�");
                                     }
@@ -258,7 +255,7 @@
                                 }
                             }
                         } else if (type != null && type == 3) {
-                            // 鍘� L826-841锛歵ype=3 鐤剧梾 鈥斺�� 鏃犳潯浠跺仠鏃� + 閲嶆柊鏂板
+                            //type=3 鐤剧梾 鈥斺�� 鏃犳潯浠跺仠鏃� + 閲嶆柊鏂板
                             pending.setSendstate(SENDSTATE_STOPPED);
                             if (StringUtils.isNotEmpty(serviceSubtask.getRemark())) {
                                 serviceSubtask.setRemark(serviceSubtask.getRemark() + ",鐤剧梾鎮h�呭啀鍏ラ櫌");
@@ -276,7 +273,7 @@
                         }
                     }
                 } else {
-                    // 鍘� L844-856锛氭病鏈夊緟鎵ц浠诲姟
+                    //娌℃湁寰呮墽琛屼换鍔�
                     markPhoneEmptyIfNeeded(serviceSubtask);
                     serviceSubtask.setCreateBy(serviceTask.getCreateBy());
                     serviceSubtask.setCreateTime(new Date());
@@ -284,13 +281,13 @@
                     addServiceSubtaskPreachform(serviceSubtask, null);
                 }
             } else if (serviceSubtask.getTaskSituation() != null && serviceSubtask.getTaskSituation() == 6) {
-                // 鍘� L857-862锛氳鎮h�呰杩囨护锛屼笉鐢ㄦ墽琛�
+                // 璇ユ偅鑰呰杩囨护锛屼笉鐢ㄦ墽琛�
                 serviceSubtask.setCreateBy(serviceTask.getCreateBy());
                 serviceSubtask.setCreateTime(new Date());
                 serviceSubtask.setSendstate(SENDSTATE_STOPPED);
                 i = insert(taskApi, serviceSubtask) ? 1 : 0;
             } else {
-                // 鍘� L863-875锛氫笉闇�瑕佹牎楠岋紙check=false锛�
+                // 涓嶉渶瑕佹牎楠岋紙check=false锛�
                 markPhoneEmptyIfNeeded(serviceSubtask);
                 serviceSubtask.setCreateBy(serviceTask.getCreateBy());
                 serviceSubtask.setCreateTime(new Date());
@@ -298,19 +295,17 @@
                 addServiceSubtaskPreachform(serviceSubtask, null);
             }
 
-            // 鍘� L877-899锛氭妸 check_flag 鏀规垚 1锛堝凡澶勭悊锛�/ 鐢熸垚澶辫触缃� 2
+            //鎶� check_flag 鏀规垚 1锛堝凡澶勭悊锛�/ 鐢熸垚澶辫触缃� 2
             if (i == 1) {
                 writeFlagByType(inhosp.getInhospid(), type, "1", null);
             } else {
-                log.info("鐢熸垚瀛愪换鍔″け璐erviceSubtask鐨則askid涓猴細{},patid涓猴細{}",
-                        serviceSubtask.getTaskid(), serviceSubtask.getPatid());
+                log.info("鐢熸垚瀛愪换鍔″け璐erviceSubtask鐨則askid涓猴細{},patid涓猴細{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
                 writeFlagByType(inhosp.getInhospid(), type, "2", "鐢熸垚瀛愪换鍔″け璐� " + type);
             }
             return i == 1;
         } catch (Exception e) {
-            // 鍘� L900-912锛氬嚭閿欏洖婊氫簨鍔�
-            log.info("鐢熸垚瀛愪换鍔℃姤閿欏洖婊歴erviceSubtask鐨則askid涓猴細{},patid涓猴細{}",
-                    serviceSubtask.getTaskid(), serviceSubtask.getPatid());
+            // 鍑洪敊鍥炴粴浜嬪姟
+            log.info("鐢熸垚瀛愪换鍔℃姤閿欏洖婊歴erviceSubtask鐨則askid涓猴細{},patid涓猴細{}", serviceSubtask.getTaskid(), serviceSubtask.getPatid());
             // 鈿狅笍 鍘熷疄鐜扮殑 catch 鍙鐞� type 1/2/3/0 鈥斺�� type=4/5 鎶涘紓甯告椂涓嶅洖鍐欎换浣曟爣蹇椾綅銆�
             //     鍘熸牱淇濈暀锛堣绫绘敞閲婄 1 鏉★級銆�
             writeFlagByTypeForRollback(inhosp.getInhospid(), type, "2", "鐢熸垚瀛愪换鍔℃姤閿欏洖婊� " + type);
@@ -319,10 +314,7 @@
         }
     }
 
-    // ==========================================================================
-    // 鍘� L691-725锛氫换鍔′笉瀛樺湪鏃舵寜 type 鍐欐爣蹇椾綅
-    // ==========================================================================
-
+    // 浠诲姟涓嶅瓨鍦ㄦ椂鎸� type 鍐欐爣蹇椾綅
     private void writeMissingTaskFlag(VisitInhospRow inhosp, Integer type, String longTaskReason, Long taskid) {
         if (type == null) {
             return;
@@ -331,42 +323,31 @@
         switch (type) {
             case 0:
                 log.info("璇ユ偅鑰呰嵂鍝佸鏁欓暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
-                flagWriter.setFlagWithReason(inhosp.getInhospid(), "medcheck_flag", "2",
-                        longTaskReason + " & 璇ユ偅鑰呰嵂鍝佸鏁欓暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                flagWriter.setFlagWithReason(inhosp.getInhospid(), "medcheck_flag", "2", longTaskReason + " & 璇ユ偅鑰呰嵂鍝佸鏁欓暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
                 return;
             case 1:
                 log.info("璇ユ偅鑰呭嚭闄㈤殢璁块暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓猴細{}", taskid);
-                flagWriter.setFlagWithReason(inhosp.getInhospid(), "deptcheck_flag", "2",
-                        longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                flagWriter.setFlagWithReason(inhosp.getInhospid(), "deptcheck_flag", "2", longTaskReason + " & 璇ユ偅鑰呯闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
                 return;
             case 2:
-                flagWriter.setFlagWithReason(inhosp.getInhospid(), "wardcheck_flag", "2",
-                        longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                flagWriter.setFlagWithReason(inhosp.getInhospid(), "wardcheck_flag", "2", longTaskReason + " & 璇ユ偅鑰呯闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
                 return;
             case 3:
-                flagWriter.setFlagWithReason(inhosp.getInhospid(), "diagcheck_flag", "2",
-                        longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                flagWriter.setFlagWithReason(inhosp.getInhospid(), "diagcheck_flag", "2", longTaskReason + " & 璇ユ偅鑰呯柧鐥呴暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
                 return;
             case 4:
-                flagWriter.setFlagWithReason(inhosp.getInhospid(), "in_deptcheck_flag", "2",
-                        longTaskReason + " & 璇ユ偅鑰呭叆闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                flagWriter.setFlagWithReason(inhosp.getInhospid(), "in_deptcheck_flag", "2", longTaskReason + " & 璇ユ偅鑰呭叆闄㈢瀹ら暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
                 return;
             case 5:
-                flagWriter.setFlagWithReason(inhosp.getInhospid(), "in_wardcheck_flag", "2",
-                        longTaskReason + " & 璇ユ偅鑰呭叆闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
+                flagWriter.setFlagWithReason(inhosp.getInhospid(), "in_wardcheck_flag", "2", longTaskReason + " & 璇ユ偅鑰呭叆闄㈢梾鍖洪暱鏈熶换鍔′笉瀛樺湪,浠诲姟ID涓�:" + taskid);
                 return;
             default:
                 // 鍘熷疄鐜帮細type 涓嶅睘浜� 0-5 鏃讹紝if/else-if 閾惧叏閮ㄤ笉鍛戒腑 鈫� 浠�涔堥兘涓嶅仛銆佷篃涓� return
                 // 鈫� 缁х画寰�涓嬭蛋锛屾鏃� serviceTask 浠嶆槸 null锛屽埌 L729 涔嬪悗浼� NPE銆�
                 // 杩欓噷銆愪笉澶嶅埗銆戦偅涓� NPE锛堝畠鍙細鎺╃洊闂锛夛紝鏀逛负璁板綍骞惰繑鍥炪��
-                log.warn("銆愬嚭鍏ラ櫌闅忚銆戜换鍔′笉瀛樺湪涓� type={} 涓嶅睘浜� 0-5锛屾棤娉曞垽瀹氬洖鍐欏摢涓爣蹇椾綅銆�"
-                        + "inhospid={}, taskid={}", type, inhosp.getInhospid(), taskid);
+                log.warn("銆愬嚭鍏ラ櫌闅忚銆戜换鍔′笉瀛樺湪涓� type={} 涓嶅睘浜� 0-5锛屾棤娉曞垽瀹氬洖鍐欏摢涓爣蹇椾綅銆�" + "inhospid={}, taskid={}", type, inhosp.getInhospid(), taskid);
         }
     }
-
-    // ==========================================================================
-    // 鍘� L877-912锛氭爣蹇椾綅鍥炲啓锛堟垚鍔� / 澶辫触 / 寮傚父鍥炴粴锛�
-    // ==========================================================================
 
     /**
      * type 鈫� 鏍囧織浣嶅洖鍐欍��<b>鐓ф妱鍘� L881-885 涓� L892-896 鐨勫垎鏀�</b>銆�
@@ -450,12 +431,8 @@
         flagWriter.setFlagWithRemark(inhospid, column, flagValue, remark);
     }
 
-    // ==========================================================================
-    // 杈呭姪
-    // ==========================================================================
-
     /**
-     * 鍘� L845-851 / L864-870锛氭墜鏈哄彿涓虹┖鏃惰拷鍔犲娉ㄣ�佺疆 sendstate=4銆乺esult=error銆�
+     * 鎵嬫満鍙蜂负绌烘椂杩藉姞澶囨敞銆佺疆 sendstate=4銆乺esult=error銆�
      */
     private void markPhoneEmptyIfNeeded(VisitSubtaskDraft d) {
         if (StringUtils.isEmpty(d.getPhone())) {
@@ -480,9 +457,7 @@
      */
     private void onMissingOutHospTime(VisitInhospRow row) {
         flagWriter.setFlag(row.getInhospid(), "deptcheck_flag", "2");
-        flagWriter.setFlagWithRemark(row.getInhospid(), "deptcheck_flag", "2",
-                (row.getRemark() == null ? "" : row.getRemark())
-                        + "& 璇ユ偅鑰呯柧鐥呭嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + row.getInhospid());
+        flagWriter.setFlagWithRemark(row.getInhospid(), "deptcheck_flag", "2", (row.getRemark() == null ? "" : row.getRemark()) + "& 璇ユ偅鑰呯柧鐥呭嚭闄㈡椂闂翠负绌�,鍑洪櫌璁板綍ID涓�:" + row.getInhospid());
     }
 
     /**
@@ -495,8 +470,7 @@
      * 鈿狅笍 {@code type / sendDay / updateBy / createBy / serviceType / preachform} 绛�
      * 閮藉湪 {@link VisitLongTaskDto} 閲屾湁瀵瑰簲瀛楁锛岀洿鎺ユ惉銆�
      */
-    private com.ruoyi.inhospvisit.domain.row.VisitTaskRow toTaskSource(VisitLongTaskDto dto,
-                                                                       VisitInhospRow inhosp) {
+    private com.ruoyi.inhospvisit.domain.row.VisitTaskRow toTaskSource(VisitLongTaskDto dto, VisitInhospRow inhosp) {
         com.ruoyi.inhospvisit.domain.row.VisitTaskRow t = new com.ruoyi.inhospvisit.domain.row.VisitTaskRow();
         t.setTaskid(dto.getTaskid());
         t.setTaskName(dto.getTaskName());
@@ -560,16 +534,14 @@
         try {
             SubtaskPreachformWriter writer = preachformWriterProvider.stream().findFirst().orElse(null);
             if (writer == null) {
-                log.warn("銆愬嚭鍏ラ櫌闅忚銆慡ubtaskPreachformWriter 鏈閰嶏紝璺宠繃鎵ц鏂瑰紡鏄庣粏鍐欏叆銆俿ubtaskId={}",
-                        subtask.getId());
+                log.warn("銆愬嚭鍏ラ櫌闅忚銆慡ubtaskPreachformWriter 鏈閰嶏紝璺宠繃鎵ц鏂瑰紡鏄庣粏鍐欏叆銆俿ubtaskId={}", subtask.getId());
                 return;
             }
             writer.addServiceSubtaskPreachform(subtask, sendstate);
         } catch (Exception e) {
             // 杩欎竴姝ュけ璐ヤ笉搴斿奖鍝嶄富娴佺▼锛堝師瀹炵幇鍦ㄥ悓涓�涓� try 閲岋紝澶辫触浼氳蛋 catch 鍥炴粴鏍囧織浣嶏紱
             // 浣嗛偅鏄洜涓哄畠涓� insert 鍚屽睘涓�娆′簨鍔°�傝繖閲屾媶寮�鍚庢寜"灏藉姏鑰屼负"澶勭悊骞惰褰曪級
-            log.warn("銆愬嚭鍏ラ櫌闅忚銆戝啓鎵ц鏂瑰紡鏄庣粏澶辫触锛屽凡蹇界暐銆俿ubtaskId={}锛屽師鍥�={}",
-                    subtask.getId(), e.toString());
+            log.warn("銆愬嚭鍏ラ櫌闅忚銆戝啓鎵ц鏂瑰紡鏄庣粏澶辫触锛屽凡蹇界暐銆俿ubtaskId={}锛屽師鍥�={}", subtask.getId(), e.toString());
         }
     }
 
diff --git a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospTaskOrchestrator.java b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospTaskOrchestrator.java
index a437710..7fcaa35 100644
--- a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospTaskOrchestrator.java
+++ b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospTaskOrchestrator.java
@@ -88,19 +88,29 @@
 @Service
 public class InhospTaskOrchestrator {
 
-    /** 鍑洪櫌闅忚鐨勬湇鍔$被鍨� */
+    /**
+     * 鍑洪櫌闅忚鐨勬湇鍔$被鍨�
+     */
     private static final String SERVICE_TYPE_DISCHARGE = "2";
 
-    /** 缁村害锛氱瀹� */
+    /**
+     * 缁村害锛氱瀹�
+     */
     private static final String DEPT_TYPE_DEPT = "1";
 
-    /** 缁村害锛氱梾鍖� */
+    /**
+     * 缁村害锛氱梾鍖�
+     */
     private static final String DEPT_TYPE_WARD = "2";
 
-    /** 绔欑偣锛氭柊鍗庯紙璺宠繃鐥呭尯+鐤剧梾缁村害锛� */
+    /**
+     * 绔欑偣锛氭柊鍗庯紙璺宠繃鐥呭尯+鐤剧梾缁村害锛�
+     */
     private static final String SITE_XH = "xh";
 
-    /** 绔欑偣锛氬崡鍗庨檮涓�锛堢柧鐥呯淮搴︾敤璇婃柇鍚嶏級 */
+    /**
+     * 绔欑偣锛氬崡鍗庨檮涓�锛堢柧鐥呯淮搴︾敤璇婃柇鍚嶏級
+     */
     private static final String SITE_NHFY = "nhfy";
 
     @Value("${spring.profiles.active}")
@@ -161,20 +171,15 @@
      * <h3>绔欑偣宸紓锛堜繚鐣欙級</h3>
      * {@code xh} 鍙仛绉戝缁村害 鈥斺�� {@link #addDimension} 閲岀粺涓�鎸℃帀鐥呭尯/鐤剧梾銆�
      *
-     * @param inhosp 寰呭鐞嗙殑鍑洪櫌鎮h��
+     * @param inhosp  寰呭鐞嗙殑鍑洪櫌鎮h��
      * @param archive 鎮h�呮。妗�
-     * @param rule 宸叉煡濂界殑瑙勫垯锛泏@code null} = 璇ョ瀹�/鐥呭尯鏈厤缃鍒�
-     * @param config {@code sys_config: visit.early.day}
+     * @param rule    宸叉煡濂界殑瑙勫垯锛泏@code null} = 璇ョ瀹�/鐥呭尯鏈厤缃鍒�
+     * @param config  {@code sys_config: visit.early.day}
      */
-    public void addSubTaskByRule(VisitInhospRow inhosp, VisitArchiveRow archive,
-                                 VisitTaskRule rule, String config) {
+    public void addSubTaskByRule(VisitInhospRow inhosp, VisitArchiveRow archive, VisitTaskRule rule, String config) {
         try {
             List<Integer> order = resolveDimensionOrder(rule);
-            log.info("銆愬熀浜庤鍒欍�戞偅鑰厈}瑙勫垯锛歞eptRule={}, wradRule={}, diagRule={}锛涚淮搴﹀皾璇曢『搴�={}",
-                    inhosp.getInhospid(),
-                    rule == null ? null : rule.getDeptRule(),
-                    rule == null ? null : rule.getWradRule(),
-                    rule == null ? null : rule.getDiagRule(), order);
+            log.info("銆愬熀浜庤鍒欍�戞偅鑰厈}瑙勫垯锛歞eptRule={}, wradRule={}, diagRule={}锛涚淮搴﹀皾璇曢『搴�={}", inhosp.getInhospid(), rule == null ? null : rule.getDeptRule(), rule == null ? null : rule.getWradRule(), rule == null ? null : rule.getDiagRule(), order);
 
             Integer hit = null;
             for (Integer type : order) {
@@ -242,7 +247,9 @@
         return order;
     }
 
-    /** 杩藉姞涓�涓�欓�夌淮搴︼紱{@code xh} 绔欑偣鍙厑璁哥瀹ょ淮搴︼紙鍘� {@code !active.equals("xh")} 鐨勭瓑浠峰啓娉曪級 */
+    /**
+     * 杩藉姞涓�涓�欓�夌淮搴︼紱{@code xh} 绔欑偣鍙厑璁哥瀹ょ淮搴︼紙鍘� {@code !active.equals("xh")} 鐨勭瓑浠峰啓娉曪級
+     */
     private void addDimension(List<Integer> order, int type, boolean xhSite) {
         if (xhSite && type != 1) {
             return;
@@ -265,9 +272,10 @@
         }
     }
 
-    /** 灏濊瘯涓�涓淮搴︼紝杩斿洖"鏄惁鐪熺殑鐢熸垚浜嗭紙鎴栨湰鏉ュ氨宸茬粡鏈夛級涓�鏉″瓙浠诲姟" */
-    private boolean generateOneForDimension(VisitInhospRow inhosp, VisitArchiveRow archive,
-                                            int type, String config) {
+    /**
+     * 灏濊瘯涓�涓淮搴︼紝杩斿洖"鏄惁鐪熺殑鐢熸垚浜嗭紙鎴栨湰鏉ュ氨宸茬粡鏈夛級涓�鏉″瓙浠诲姟"
+     */
+    private boolean generateOneForDimension(VisitInhospRow inhosp, VisitArchiveRow archive, int type, String config) {
         switch (type) {
             case 1:
                 return addDeptSubTaskForPatient(inhosp, archive, config) > 0;
@@ -309,16 +317,16 @@
                 continue;
             }
             if (hit == type) {
-                updateCheckFlag(inhosp, type, "1", composeRemark(inhosp,
-                        "鎸変紭鍏堢骇鐢熸垚涓�鏉¢殢璁夸换鍔★紙缁村害=" + dimensionName(type) + "锛�"));
+                updateCheckFlag(inhosp, type, "1", composeRemark(inhosp, "鎸変紭鍏堢骇鐢熸垚涓�鏉¢殢璁夸换鍔★紙缁村害=" + dimensionName(type) + "锛�"));
             } else {
-                updateCheckFlag(inhosp, type, "2", composeRemark(inhosp,
-                        "宸茬敓鎴愪竴鏉¢殢璁夸换鍔★紙缁村害=" + dimensionName(hit) + "锛夛紝鏈淮搴﹁烦杩�"));
+                updateCheckFlag(inhosp, type, "2", composeRemark(inhosp, "宸茬敓鎴愪竴鏉¢殢璁夸换鍔★紙缁村害=" + dimensionName(hit) + "锛夛紝鏈淮搴﹁烦杩�"));
             }
         }
     }
 
-    /** 鎷� reason锛氭部鐢ㄥ師瀹炵幇鐨� {@code remark + ";xxx"} 褰㈠紡 */
+    /**
+     * 鎷� reason锛氭部鐢ㄥ師瀹炵幇鐨� {@code remark + ";xxx"} 褰㈠紡
+     */
     private String composeRemark(VisitInhospRow inhosp, String text) {
         String remark = inhosp.getRemark();
         return StringUtils.isNotEmpty(remark) ? remark + ";" + text : text;
@@ -364,8 +372,7 @@
                 u.setWardcheckFlag(fresh == null ? null : fresh.getWardcheckFlag());
                 u.setDiagcheckFlag(fresh == null ? null : fresh.getDiagcheckFlag());
                 // 鍘熷疄鐜颁笉鍒� null锛坒resh.getLongTaskReason() + "..."锛夛紝鍘熸牱淇濈暀
-                u.setLongTaskReason((fresh == null ? null : fresh.getLongTaskReason())
-                        + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆绂婚櫌闀挎湡浠诲姟;");
+                u.setLongTaskReason((fresh == null ? null : fresh.getLongTaskReason()) + "璇ユ偅鑰呮墍鍦ㄧ瀹ゆ湭閰嶇疆绂婚櫌闀挎湡浠诲姟;");
                 updateInhosp(u);
             } else {
                 for (VisitTaskdeptRow t : taskdepts) {
@@ -373,8 +380,7 @@
                     if (subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 1, config)) {
                         return 1;
                     }
-                    log.info("銆愮瀹や换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��",
-                            inhosp.getInhospid(), t.getTaskId());
+                    log.info("銆愮瀹や换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��", inhosp.getInhospid(), t.getTaskId());
                 }
             }
         } catch (Exception e) {
@@ -430,8 +436,7 @@
                 u.setDeptcheckFlag(fresh == null ? null : fresh.getDeptcheckFlag());
                 u.setDiagcheckFlag(fresh == null ? null : fresh.getDiagcheckFlag());
                 // 鍘熸湁鍒ょ┖锛堜笌绉戝缁村害閭e涓嶅悓锛夛紝鍘熸牱淇濈暀
-                u.setLongTaskReason(StringUtils.isNotEmpty(fresh == null ? null : fresh.getLongTaskReason())
-                        ? fresh.getLongTaskReason() + errorreason : errorreason);
+                u.setLongTaskReason(StringUtils.isNotEmpty(fresh == null ? null : fresh.getLongTaskReason()) ? fresh.getLongTaskReason() + errorreason : errorreason);
                 updateInhosp(u);
             } else {
                 for (VisitTaskdeptRow t : taskdeptList) {
@@ -439,8 +444,7 @@
                     if (subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 2, config)) {
                         return 1;
                     }
-                    log.info("銆愮梾鍖轰换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��",
-                            inhosp.getInhospid(), t.getTaskId());
+                    log.info("銆愮梾鍖轰换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��", inhosp.getInhospid(), t.getTaskId());
                 }
             }
         } catch (Exception e) {
@@ -506,23 +510,19 @@
                 int flag = 0;
                 for (VisitTaskdiagRow t : taskdiags) {
                     // 鍘� L1975-1983锛氬繀椤荤瀹ゆ垨鐥呭尯鑳藉尮閰嶄笂鎵嶅缓
-                    if (StringUtils.isNotEmpty(t.getDeptCode())
-                            && t.getDeptCode().equals(inhosp.getLeaveldeptcode())) {
+                    if (StringUtils.isNotEmpty(t.getDeptCode()) && t.getDeptCode().equals(inhosp.getLeaveldeptcode())) {
                         flag = 1;
                         // 涓�涓偅鑰呭彧鐣欎竴鏉★細绗竴鏉$湡姝h惤搴撶殑鍗宠繑鍥�
                         if (subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 3, config)) {
                             return 1;
                         }
-                        log.info("銆愮柧鐥呬换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��",
-                                inhosp.getInhospid(), t.getTaskId());
-                    } else if (StringUtils.isNotEmpty(t.getWardCode())
-                            && t.getWardCode().equals(inhosp.getLeavehospitaldistrictcode())) {
+                        log.info("銆愮柧鐥呬换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��", inhosp.getInhospid(), t.getTaskId());
+                    } else if (StringUtils.isNotEmpty(t.getWardCode()) && t.getWardCode().equals(inhosp.getLeavehospitaldistrictcode())) {
                         flag = 1;
                         if (subtaskWriter.writeInSubTask(t.getTaskId(), true, inhosp, archive, 3, config)) {
                             return 1;
                         }
-                        log.info("銆愮柧鐥呬换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��",
-                                inhosp.getInhospid(), t.getTaskId());
+                        log.info("銆愮柧鐥呬换鍔°�戞偅鑰厈}浠诲姟{}鏈敓鎴愬瓙浠诲姟锛屽皾璇曚笅涓�涓�欓��", inhosp.getInhospid(), t.getTaskId());
                     }
                 }
                 if (flag == 0) {
@@ -571,13 +571,11 @@
         try {
             VisitTaskCreateApi api = taskApi();
             if (api == null) {
-                log.warn("銆愬嚭鍏ラ櫌闅忚銆慥isitTaskCreateApi 涓嶅彲鐢紝璺宠繃鍐嶅叆闄㈠鐞嗐�俰nhospid={}",
-                        newInHosp.getInhospid());
+                log.warn("銆愬嚭鍏ラ櫌闅忚銆慥isitTaskCreateApi 涓嶅彲鐢紝璺宠繃鍐嶅叆闄㈠鐞嗐�俰nhospid={}", newInHosp.getInhospid());
                 return;
             }
             // 鍘� L1324-1328锛歱atid + sendstate=2锛堜笉璁� taskid锛�
-            List<VisitPendingSubtaskDto> pendingList =
-                    api.findPendingSubtasks(newInHosp.getPatid(), null);
+            List<VisitPendingSubtaskDto> pendingList = api.findPendingSubtasks(newInHosp.getPatid(), null);
             if (CollectionUtils.isEmpty(pendingList)) {
                 return;
             }
@@ -592,8 +590,7 @@
                     continue;
                 }
                 // 鍘� L1342-1350锛氭棫瀛愪换鍔$殑鍑洪櫌鏃堕棿鍦ㄦ柊鍏ラ櫌鏃堕棿涔嬪墠 鈫� 鍋滄帀
-                if (pending.getEndtime() != null && newInHosp.getStarttime() != null
-                        && pending.getEndtime().before(newInHosp.getStarttime())) {
+                if (pending.getEndtime() != null && newInHosp.getStarttime() != null && pending.getEndtime().before(newInHosp.getStarttime())) {
                     pending.setSendstate(4L);
                     pending.setIsVisitAgain(2);
                     pending.setRemark("鎮h�呭啀鍏ラ櫌");
@@ -607,7 +604,9 @@
         }
     }
 
-    /** 鏅畞鏈烘瀯ID锛堝師 L1338锛涗笌 InhospSubtaskWriter 閲岄偅浠芥槸鍚屼竴甯搁噺锛屽凡閫愬瓧鏍稿锛� */
+    /**
+     * 鏅畞鏈烘瀯ID锛堝師 L1338锛涗笌 InhospSubtaskWriter 閲岄偅浠芥槸鍚屼竴甯搁噺锛屽凡閫愬瓧鏍稿锛�
+     */
     private static final String ORG_JINGNING = "47255004333112711A1001";
 
     // ==========================================================================
@@ -655,13 +654,19 @@
      */
     public static class VisitTaskRule {
 
-        /** 绉戝瑙勫垯锛�"1"=棣栬 "2"=娆¤锛屽叾瀹�=涓嶅弬涓� */
+        /**
+         * 绉戝瑙勫垯锛�"1"=棣栬 "2"=娆¤锛屽叾瀹�=涓嶅弬涓�
+         */
         private String deptRule;
 
-        /** 鐥呭尯瑙勫垯锛堝師瀛楁鍚嶅氨鏄嫾閿欑殑 {@code wradRule}锛屼繚鎸佸悓鍚嶄互鍏嶈閿欙級 */
+        /**
+         * 鐥呭尯瑙勫垯锛堝師瀛楁鍚嶅氨鏄嫾閿欑殑 {@code wradRule}锛屼繚鎸佸悓鍚嶄互鍏嶈閿欙級
+         */
         private String wradRule;
 
-        /** 鐤剧梾瑙勫垯 */
+        /**
+         * 鐤剧梾瑙勫垯
+         */
         private String diagRule;
 
         public String getDeptRule() {
@@ -689,13 +694,16 @@
         }
     }
 
-    /** 渚涙祴璇�/鏃ュ織锛氭湰绫绘槸鍚︽嬁鍒颁簡蹇呴渶鐨� Mapper */
+    /**
+     * 渚涙祴璇�/鏃ュ織锛氭湰绫绘槸鍚︽嬁鍒颁簡蹇呴渶鐨� Mapper
+     */
     boolean hasMappers() {
-        return inhospMapper != null && archiveMapper != null
-                && taskdeptMapper != null && taskdiagMapper != null;
+        return inhospMapper != null && archiveMapper != null && taskdeptMapper != null && taskdiagMapper != null;
     }
 
-    /** 棰勭暀锛氫緵鏃ュ織浣跨敤鐨勬椂闂存埑锛堥伩鍏� IDE 鎶ユ湭浣跨敤 import Date锛� */
+    /**
+     * 棰勭暀锛氫緵鏃ュ織浣跨敤鐨勬椂闂存埑锛堥伩鍏� IDE 鎶ユ湭浣跨敤 import Date锛�
+     */
     @SuppressWarnings("unused")
     private Date now() {
         return new Date();
diff --git a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospVisitTaskService.java b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospVisitTaskService.java
index 66b12d5..d118355 100644
--- a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospVisitTaskService.java
+++ b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/service/InhospVisitTaskService.java
@@ -4,6 +4,7 @@
 import com.ruoyi.common.core.service.PublicityApi;
 import com.ruoyi.common.core.service.PublicityDataPort;
 import com.ruoyi.common.core.service.dto.InHospPublicityRowDto;
+import com.ruoyi.common.core.service.dto.VisitInhospUpdateDto;
 import com.ruoyi.common.core.service.dto.VisitTaskRuleDto;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.core.service.dto.VisitArchiveRow;
@@ -179,8 +180,7 @@
             // 鍘� L1692-1700锛氳幏鍙栨偅鑰呭熀鏈俊鎭紝涓虹┖鍒欏啓 deptcheck=2 + reason
             VisitArchiveRow archive = archiveMapper.selectByPatid(row.getPatid());
             if (archive == null) {
-                com.ruoyi.common.core.service.dto.VisitInhospUpdateDto u =
-                        new com.ruoyi.common.core.service.dto.VisitInhospUpdateDto();
+                VisitInhospUpdateDto u = new VisitInhospUpdateDto();
                 u.setInhospid(row.getInhospid());
                 u.setDeptcheckFlag("2");
                 u.setLongTaskReason("鎮h�呭熀鏈俊鎭负绌�");
@@ -197,8 +197,7 @@
                 // 鍘� L1839-1845锛堝湪缂栨帓鍣ㄩ噷涔熸湁锛屼絾澶栧眰閬嶅巻杩欎竴灞傚師瀹炵幇娌℃湁 try/catch锛�
                 // 杩欓噷鍔犱竴灞傛槸涓轰簡"鍗曟偅鑰呭け璐ヤ笉褰卞搷鍏跺畠鎮h��"锛屽睘鍋ュ.鎬ф敼杩涳紝宸茬櫥璁帮級
                 log.error("銆愬熀浜庤鍒欍�戞偅鑰厈}澶栧眰澶勭悊寮傚父锛歿}", row.getInhospid(), e.getMessage());
-                com.ruoyi.common.core.service.dto.VisitInhospUpdateDto u =
-                        new com.ruoyi.common.core.service.dto.VisitInhospUpdateDto();
+                com.ruoyi.common.core.service.dto.VisitInhospUpdateDto u = new com.ruoyi.common.core.service.dto.VisitInhospUpdateDto();
                 u.setInhospid(row.getInhospid());
                 u.setDeptcheckFlag("2");
                 u.setLongTaskReason("鍩轰簬瑙勫垯澶勭悊寮傚父");
@@ -245,8 +244,7 @@
      * @return 鍘熷疄鐜板浐瀹氳繑鍥� 1
      */
     public int dealOutHospInfoBySchedule(String config) {
-        log.warn("銆愬嚭鍏ラ櫌闅忚銆慸ealOutHospInfoBySchedule 鏈鏈惉杩侊紙鍚墜鏈垎鏀笌浠诲姟缁� builder锛�"
-                + "灞炵浜屾壒 ruoyi-othervisit 鑼冨洿锛夛紝浠嶇敱 smartor 鐨勫疄鐜版壙鎺ャ�俢onfig={}", config);
+        log.warn("銆愬嚭鍏ラ櫌闅忚銆慸ealOutHospInfoBySchedule 鏈鏈惉杩侊紙鍚墜鏈垎鏀笌浠诲姟缁� builder锛�" + "灞炵浜屾壒 ruoyi-othervisit 鑼冨洿锛夛紝浠嶇敱 smartor 鐨勫疄鐜版壙鎺ャ�俢onfig={}", config);
         return 1;
     }
 
@@ -254,12 +252,13 @@
     // 杈呭姪
     // ==========================================================================
 
-    /** 鍘� L1703-1707锛氭寜绂婚櫌绉戝/鐥呭尯鏌ヨ鍒欙紙鍙栦笉鍒扮鍙f椂杩斿洖 null = 鏈厤缃鍒� 鈫� 鍏ㄩ儴鐢熸垚锛� */
+    /**
+     * 鍘� L1703-1707锛氭寜绂婚櫌绉戝/鐥呭尯鏌ヨ鍒欙紙鍙栦笉鍒扮鍙f椂杩斿洖 null = 鏈厤缃鍒� 鈫� 鍏ㄩ儴鐢熸垚锛�
+     */
     private VisitTaskRuleDto findTaskRule(VisitInhospRow row) {
         PublicityDataPort port = dataPort();
         if (port == null) {
-            log.warn("銆愬嚭鍏ラ櫌闅忚銆慞ublicityDataPort 涓嶅彲鐢紝瑙勫垯鎸夈�屾湭閰嶇疆銆嶅鐞嗭紙鍏ㄩ儴鐢熸垚锛夈�俰nhospid={}",
-                    row.getInhospid());
+            log.warn("銆愬嚭鍏ラ櫌闅忚銆慞ublicityDataPort 涓嶅彲鐢紝瑙勫垯鎸夈�屾湭閰嶇疆銆嶅鐞嗭紙鍏ㄩ儴鐢熸垚锛夈�俰nhospid={}", row.getInhospid());
             return null;
         }
         try {
@@ -270,7 +269,9 @@
         }
     }
 
-    /** 鎶婄鍙g殑瑙勫垯 DTO 閫傞厤鎴愮紪鎺掑櫒鍐呭祵鐨勮鍒欒鍥撅紙瀛楁涓�涓�瀵瑰簲锛屽惈鎷奸敊鐨� {@code wradRule}锛� */
+    /**
+     * 鎶婄鍙g殑瑙勫垯 DTO 閫傞厤鎴愮紪鎺掑櫒鍐呭祵鐨勮鍒欒鍥撅紙瀛楁涓�涓�瀵瑰簲锛屽惈鎷奸敊鐨� {@code wradRule}锛�
+     */
     private InhospTaskOrchestrator.VisitTaskRule toOrchestratorRule(VisitTaskRuleDto dto) {
         if (dto == null) {
             return null;
@@ -282,7 +283,7 @@
         return r;
     }
 
-    private void updateInhosp(com.ruoyi.common.core.service.dto.VisitInhospUpdateDto u) {
+    private void updateInhosp(VisitInhospUpdateDto u) {
         PublicityDataPort port = dataPort();
         if (port == null) {
             log.warn("銆愬嚭鍏ラ櫌闅忚銆慞ublicityDataPort 涓嶅彲鐢紝鏃犳硶鍐欏洖鏍囧織浣嶃�俰nhospid={}", u.getInhospid());
diff --git a/ruoyi-message/pom.xml b/ruoyi-message/pom.xml
index 4fc174b..64f60e5 100644
--- a/ruoyi-message/pom.xml
+++ b/ruoyi-message/pom.xml
@@ -95,6 +95,16 @@
             <artifactId>commons-collections4</artifactId>
             <version>4.4</version>
         </dependency>
+        <dependency>
+            <groupId>jakarta.jws</groupId>
+            <artifactId>jakarta.jws-api</artifactId>
+            <version>2.1.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>jakarta.xml.ws</groupId>
+            <artifactId>jakarta.xml.ws-api</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
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 4c9a20d..ff0e3e7 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
@@ -76,6 +76,7 @@
 import com.ruoyi.task.domain.ServiceSubtaskPreachform;
 import com.ruoyi.task.service.IServiceSubtaskService;
 import com.ruoyi.task.domain.SendMagParam;
+
 /**
  * 瀹氭椂浠诲姟璋冨害娴嬭瘯
  *
@@ -367,8 +368,7 @@
         //1.鑾峰彇鍙戦�佷汉宸ュ彿
         ServiceSubtaskDetailTraceVO subtaskDetailTraceVO = new ServiceSubtaskDetailTraceVO();
         subtaskDetailTraceVO.setHandleFlag("0");
-        List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces =
-                serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO);
+        List<ServiceSubtaskDetailTrace> serviceSubtaskDetailTraces = serviceSubtaskDetailTraceService.selectServiceSubtaskDetailTtraceList(subtaskDetailTraceVO);
         // 鑾峰彇鈥滃紓甯稿唴瀹规彁閱�"
         SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("send.except.content");
         String exceptContent = sysConfig.getConfigValue();
@@ -376,12 +376,12 @@
         // 鑾峰彇鈥滃唴瀹规彁閱掓祴璇曚汉宸ュ彿鈥�
         SysConfig testPersonConfig = sysConfigMapper.checkConfigKeyUnique("send.test.person");
         String testPerson = ObjectUtils.isNotEmpty(testPersonConfig) ? testPersonConfig.getConfigValue() : "";
-        if(CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)){
+        if (CollectionUtils.isNotEmpty(serviceSubtaskDetailTraces)) {
             for (ServiceSubtaskDetailTrace serviceSubtaskDetailTrace : serviceSubtaskDetailTraces) {
                 List<String> dutyDeptPersonCodeList = new ArrayList<>();
-                        // 鎶� dutyDeptPersonCode 鏁寸悊鍒� list 涓紙濡傛灉澶氫釜浜虹敤閫楀彿鍒嗗壊锛屽垯灞曞紑骞跺幓閲嶏級
+                // 鎶� dutyDeptPersonCode 鏁寸悊鍒� list 涓紙濡傛灉澶氫釜浜虹敤閫楀彿鍒嗗壊锛屽垯灞曞紑骞跺幓閲嶏級
                 String dutyDeptPersonCodeStr = serviceSubtaskDetailTrace.getDutyDeptPersonCode();
-                if(StringUtils.isNotEmpty(dutyDeptPersonCodeStr)){
+                if (StringUtils.isNotEmpty(dutyDeptPersonCodeStr)) {
                     String[] dutyDeptPersonCodeSplit = dutyDeptPersonCodeStr.split(",");
                     if (CollectionUtils.isEmpty(dutyDeptPersonCodeList)) {
                         dutyDeptPersonCodeList = new ArrayList<>(Arrays.asList(dutyDeptPersonCodeSplit));
@@ -409,18 +409,18 @@
                         sysUserVo.setOrgid(serviceSubtaskDetailTrace.getOrgid());
                         List<SysUser> users = userService.getUserList(sysUserVo);
                         String phoneNumber = "";
-                        if(ObjectUtils.isNotEmpty(users)){
+                        if (ObjectUtils.isNotEmpty(users)) {
                             sysUser = users.get(0);
                             phoneNumber = sysUser.getPhonenumber();
-                        }else {
+                        } else {
                             continue;
                         }
 
-                        if(StringUtils.isEmpty(phoneNumber)){
+                        if (StringUtils.isEmpty(phoneNumber)) {
                             continue;
                         }
                         String dutyDeptPerson = dingTalkService.getDingTalkUserByMobile(phoneNumber);
-                        if(StringUtils.isNotBlank(dutyDeptPerson)){
+                        if (StringUtils.isNotBlank(dutyDeptPerson)) {
                             String context = TemplateUtils.render(exceptContent, serviceSubtaskDetailTrace);
                             dingTalkService.sendDingTalkText(context, dutyDeptPerson);
                             //鏇存柊鐘舵��
@@ -566,8 +566,7 @@
             log.error("銆恉ealHisDataMZ銆慡ysConfig涓殑闄㈠尯ID涓虹┖锛�");
             return;
         }
-        List<Long> campusidList = Arrays.stream(sysConfigcampusids.get(0).getConfigValue().split(","))
-                .map(String::trim).filter(StringUtils::isNotBlank).map(Long::valueOf).collect(Collectors.toList());
+        List<Long> campusidList = Arrays.stream(sysConfigcampusids.get(0).getConfigValue().split(",")).map(String::trim).filter(StringUtils::isNotBlank).map(Long::valueOf).collect(Collectors.toList());
         log.info("銆恉ealHisDataMZ銆戦櫌鍖猴細{}锛屽崟杞绠楋細{}鍒嗛挓锛屾瘡椤碉細{}鏉�", campusidList, budgetMinutes, pageSize);
 
         for (Long cid : campusidList) {
@@ -590,15 +589,13 @@
                 redisCache.deleteObject(lockKey);
             }
         }
-        log.info("銆恉ealHisDataMZ銆戦棬鎬ヨ瘖閲囬泦鏈疆缁撴潫锛岃�楁椂锛歿}绉�",
-                java.time.Duration.between(now, LocalDateTime.now()).getSeconds());
+        log.info("銆恉ealHisDataMZ銆戦棬鎬ヨ瘖閲囬泦鏈疆缁撴潫锛岃�楁椂锛歿}绉�", java.time.Duration.between(now, LocalDateTime.now()).getSeconds());
     }
 
     /**
      * 閲囬泦鏌愪釜闄㈠尯锛氬厛琛ヤ竴娆℃�у洖婧棩鏈燂紝鍐嶅仛鏄ㄥぉ鐨勬敹灏鹃噰闆嗭紝鏈�鍚庢暣杞埛鏂颁粖澶�
      */
-    private void collectOutpatientDaily(Long cid, String backfillParam, long pageSize, long maxPage,
-                                        LocalDateTime deadline) {
+    private void collectOutpatientDaily(Long cid, String backfillParam, long pageSize, long maxPage, LocalDateTime deadline) {
         String cursorKey = "mzDayCursor:" + cid;
         MzDayCursor cursor = loadMzDayCursor(cursorKey);
         LocalDate today = LocalDate.now();
@@ -625,8 +622,7 @@
         // 1) 涓�娆℃�у洖婧�
         if (cursor.backfillDay != null) {
             LocalDate day = LocalDate.parse(cursor.backfillDay);
-            MzGatherStatusEnum status = runDayPass(cid, cursorKey, cursor, MzGatherSlotEnum.BACKFILL, day,
-                    cursor.backfillPage, pageSize, maxPage, deadline);
+            MzGatherStatusEnum status = runDayPass(cid, cursorKey, cursor, MzGatherSlotEnum.BACKFILL, day, cursor.backfillPage, pageSize, maxPage, deadline);
             if (status != MzGatherStatusEnum.DONE) {
                 log.warn("銆恉ealHisDataMZ銆戝洖婧棩鏈� {} 鏈疆鏈畬鎴愶紙{}锛夛紝鏂偣宸蹭繚鐣欙紝闄㈠尯锛歿}", day, status.getDesc(), cid);
                 return;
@@ -639,8 +635,7 @@
 
         // 2) 鏄ㄥぉ鏀跺熬閲囬泦锛氭瘡澶╀竴娆★紝鍏滀綇 23:xx 涔嬪悗鎵嶅啓杩� HIS 鐨勮褰曞拰璺ㄩ浂鐐圭殑鏁版嵁
         if (!yesterday.toString().equals(cursor.finalDay)) {
-            MzGatherStatusEnum status = runDayPass(cid, cursorKey, cursor, MzGatherSlotEnum.FINAL, yesterday,
-                    cursor.finalPage, pageSize, maxPage, deadline);
+            MzGatherStatusEnum status = runDayPass(cid, cursorKey, cursor, MzGatherSlotEnum.FINAL, yesterday, cursor.finalPage, pageSize, maxPage, deadline);
             if (status != MzGatherStatusEnum.DONE) {
                 log.warn("銆恉ealHisDataMZ銆戞槰鏃ユ敹灏鹃噰闆� {} 鏈疆鏈畬鎴愶紙{}锛夛紝鏂偣宸蹭繚鐣欙紝闄㈠尯锛歿}", yesterday, status.getDesc(), cid);
                 return;
@@ -656,8 +651,7 @@
             cursor.page = 1L;
             saveMzDayCursor(cursorKey, cursor);
         }
-        MzGatherStatusEnum status = runDayPass(cid, cursorKey, cursor, MzGatherSlotEnum.TODAY, today,
-                cursor.page, pageSize, maxPage, deadline);
+        MzGatherStatusEnum status = runDayPass(cid, cursorKey, cursor, MzGatherSlotEnum.TODAY, today, cursor.page, pageSize, maxPage, deadline);
         if (status == MzGatherStatusEnum.DONE) {
             // 鏁磋疆鍒锋柊瀹屾垚锛岄〉鐮佸綊浣嶏紝涓嬩竴杞噸鏂颁粠绗竴椤垫暣杞埛鏂�
             cursor.page = 1L;
@@ -672,9 +666,7 @@
      * @param slot 鏂偣妲戒綅锛堜粖澶╂暣杞埛鏂� / 鏄ㄦ棩鏀跺熬 / 鎵嬪伐鍥炴函锛夛紝鍐冲畾涓柇椤电爜璁板埌鍝釜瀛楁
      * @return {@link MzGatherStatusEnum} 閲囬泦瀹屾垚 / 棰勭畻鐢ㄥ敖 / 鎺ュ彛杩炵画澶辫触鎻愬墠缁撴潫
      */
-    private MzGatherStatusEnum runDayPass(Long cid, String cursorKey, MzDayCursor cursor, MzGatherSlotEnum slot,
-                                          LocalDate day, long startPage, long pageSize, long maxPage,
-                                          LocalDateTime deadline) {
+    private MzGatherStatusEnum runDayPass(Long cid, String cursorKey, MzDayCursor cursor, MzGatherSlotEnum slot, LocalDate day, long startPage, long pageSize, long maxPage, LocalDateTime deadline) {
         String startStr = day.format(MzGatherConstant.DAY_FMT);
         String endStr = day.plusDays(1).format(MzGatherConstant.DAY_FMT);
 
@@ -705,8 +697,7 @@
                 // 鏈疆鏈夎烦杩囩殑椤垫椂锛屾柇鐐瑰洖鍒扮涓�涓け璐ラ〉锛屼繚璇佷笅涓�杞厛鎶婅繖浜涢〉琛ュ洖鏉�
                 long resumePage = (skippedPages > 0 && firstFailPage > 0) ? firstFailPage : page;
                 saveMzDayPage(cursorKey, cursor, slot, resumePage);
-                log.warn("銆恉ealHisDataMZ銆戞湰杞椂闂撮绠楃敤灏斤紝{} 鏈疆宸查噰{}椤祘}鏉}锛屼笅娆′粠绗瑊}椤电户缁紝闄㈠尯锛歿}",
-                        day, pageCount, total, skippedLog(skippedPages), resumePage, cid);
+                log.warn("銆恉ealHisDataMZ銆戞湰杞椂闂撮绠楃敤灏斤紝{} 鏈疆宸查噰{}椤祘}鏉}锛屼笅娆′粠绗瑊}椤电户缁紝闄㈠尯锛歿}", day, pageCount, total, skippedLog(skippedPages), resumePage, cid);
                 return MzGatherStatusEnum.BUDGET_UP;
             }
             reqVO.setCurrent(page);
@@ -740,13 +731,10 @@
                     firstFailPage = page;
                 }
                 consecutiveFail++;
-                log.error("銆恉ealHisDataMZ銆戞帴鍙e眰閲囬泦澶辫触锛屽凡璁� error 鏃ュ織骞惰烦杩囪椤碉紝鏈疆缁х画寰�鍚庨噰锛�"
-                                + "闄㈠尯锛歿}锛屾棩鏈燂細{}锛岀{}椤碉紝鎺ュ彛鍏ュ弬锛歿}锛屽紓甯革細{}",
-                        cid, day, page, new Gson().toJson(reqVO), lastError.getMessage(), lastError);
+                log.error("銆恉ealHisDataMZ銆戞帴鍙e眰閲囬泦澶辫触锛屽凡璁� error 鏃ュ織骞惰烦杩囪椤碉紝鏈疆缁х画寰�鍚庨噰锛�" + "闄㈠尯锛歿}锛屾棩鏈燂細{}锛岀{}椤碉紝鎺ュ彛鍏ュ弬锛歿}锛屽紓甯革細{}", cid, day, page, new Gson().toJson(reqVO), lastError.getMessage(), lastError);
                 if (consecutiveFail >= MzGatherConstant.MAX_CONSECUTIVE_PAGE_FAIL) {
                     // 杩炵画澶氶〉鎺ュ彛澶辫触锛屽垽瀹氭潵鏈潵鎺ュ彛鏁翠綋涓嶅彲鐢紝鏈疆鎻愬墠缁撴潫锛堜笉鍐嶇┖杞悗闈㈠嚑鍗侀〉锛夛紝鏂偣鐣欏湪绗竴涓け璐ラ〉
-                    log.error("銆恉ealHisDataMZ銆戣繛缁瓄}椤垫帴鍙eけ璐ワ紝鍒ゅ畾鏉ユ湭鏉ユ帴鍙d笉鍙敤锛屾湰杞彁鍓嶇粨鏉燂紱闄㈠尯锛歿}锛屾棩鏈燂細{}锛屾柇鐐逛繚鐣欏湪绗瑊}椤�",
-                            consecutiveFail, cid, day, firstFailPage);
+                    log.error("銆恉ealHisDataMZ銆戣繛缁瓄}椤垫帴鍙eけ璐ワ紝鍒ゅ畾鏉ユ湭鏉ユ帴鍙d笉鍙敤锛屾湰杞彁鍓嶇粨鏉燂紱闄㈠尯锛歿}锛屾棩鏈燂細{}锛屾柇鐐逛繚鐣欏湪绗瑊}椤�", consecutiveFail, cid, day, firstFailPage);
                     saveMzDayPage(cursorKey, cursor, slot, firstFailPage);
                     return MzGatherStatusEnum.FAILED;
                 }
@@ -756,8 +744,7 @@
             consecutiveFail = 0;
 
             if (CollectionUtils.isEmpty(pageData)) {
-                log.info("銆恉ealHisDataMZ銆憑} 绗瑊}椤垫棤鏁版嵁锛岄噰闆嗙粨鏉燂紝闄㈠尯锛歿}锛屾湰杞畕}椤靛叡{}鏉}",
-                        day, page, cid, pageCount, total, skippedLog(skippedPages));
+                log.info("銆恉ealHisDataMZ銆憑} 绗瑊}椤垫棤鏁版嵁锛岄噰闆嗙粨鏉燂紝闄㈠尯锛歿}锛屾湰杞畕}椤靛叡{}鏉}", day, page, cid, pageCount, total, skippedLog(skippedPages));
                 return MzGatherStatusEnum.DONE;
             }
             pageCount++;
@@ -777,7 +764,9 @@
         }
     }
 
-    /** 鎸夋Ы浣嶄繚瀛樹腑鏂〉鐮� */
+    /**
+     * 鎸夋Ы浣嶄繚瀛樹腑鏂〉鐮�
+     */
     private void saveMzDayPage(String cursorKey, MzDayCursor cursor, MzGatherSlotEnum slot, long page) {
         if (slot == MzGatherSlotEnum.FINAL) {
             cursor.finalPage = page;
@@ -789,12 +778,16 @@
         saveMzDayCursor(cursorKey, cursor);
     }
 
-    /** 鏃ュ織閲屾彁绀烘帴鍙e眰澶辫触璺宠繃浜嗗嚑椤碉紙涓嬩竴杞暣杞埛鏂颁細閲嶆柊閲囧埌锛� */
+    /**
+     * 鏃ュ織閲屾彁绀烘帴鍙e眰澶辫触璺宠繃浜嗗嚑椤碉紙涓嬩竴杞暣杞埛鏂颁細閲嶆柊閲囧埌锛�
+     */
     private String skippedLog(long skippedPages) {
         return skippedPages > 0L ? "锛屾帴鍙eけ璐ヨ烦杩�" + skippedPages + "椤碉紙涓嬩竴杞暣杞埛鏂颁細閲嶆柊閲囧埌锛�" : "";
     }
 
-    /** 璇诲彇 sys_config 閲岀殑闂ㄦ�ヨ瘖閲囬泦鍙傛暟锛堟満鏋� orgid=20001001锛夛紝鍙栦笉鍒版垨瓒呰寖鍥存椂鐢ㄦ灇涓鹃噷鐨勯粯璁ゅ�� */
+    /**
+     * 璇诲彇 sys_config 閲岀殑闂ㄦ�ヨ瘖閲囬泦鍙傛暟锛堟満鏋� orgid=20001001锛夛紝鍙栦笉鍒版垨瓒呰寖鍥存椂鐢ㄦ灇涓鹃噷鐨勯粯璁ゅ��
+     */
     private long getMzConfigLong(MzGatherParamEnum param) {
         try {
             SysConfig config = new SysConfig();
@@ -806,8 +799,7 @@
                 if (value >= param.getMin() && value <= param.getMax()) {
                     return value;
                 }
-                log.warn("銆恉ealHisDataMZ銆戦厤缃畕}鐨勫�納}瓒呭嚭鑼冨洿[{},{}]锛屼娇鐢ㄩ粯璁ゅ�納}",
-                        param.getKey(), value, param.getMin(), param.getMax(), param.getDefaultValue());
+                log.warn("銆恉ealHisDataMZ銆戦厤缃畕}鐨勫�納}瓒呭嚭鑼冨洿[{},{}]锛屼娇鐢ㄩ粯璁ゅ�納}", param.getKey(), value, param.getMin(), param.getMax(), param.getDefaultValue());
             }
         } catch (Exception e) {
             log.warn("銆恉ealHisDataMZ銆戣鍙栭厤缃畕}澶辫触锛屼娇鐢ㄩ粯璁ゅ�納}", param.getKey(), param.getDefaultValue(), e);
@@ -815,7 +807,9 @@
         return param.getDefaultValue();
     }
 
-    /** 瑙f瀽浠诲姟鍏ュ弬锛堣涓�娆℃�у洖婧殑鏃ユ湡锛夛紝鏀寔 yyyy-MM-dd HH:mm:ss 涓� yyyy-MM-dd */
+    /**
+     * 瑙f瀽浠诲姟鍏ュ弬锛堣涓�娆℃�у洖婧殑鏃ユ湡锛夛紝鏀寔 yyyy-MM-dd HH:mm:ss 涓� yyyy-MM-dd
+     */
     private LocalDateTime parseMzStartTime(String text) {
         LocalDateTime time = parseMzTimeQuiet(text);
         if (time == null && StringUtils.isNotBlank(text)) {
@@ -824,7 +818,9 @@
         return time;
     }
 
-    /** 闈欓粯瑙f瀽鏃ユ湡锛屾敮鎸� yyyy-MM-dd HH:mm:ss 涓� yyyy-MM-dd锛屾牸寮忎笉绗﹁繑鍥� null锛堜笉鍒锋棩蹇楋級 */
+    /**
+     * 闈欓粯瑙f瀽鏃ユ湡锛屾敮鎸� yyyy-MM-dd HH:mm:ss 涓� yyyy-MM-dd锛屾牸寮忎笉绗﹁繑鍥� null锛堜笉鍒锋棩蹇楋級
+     */
     private LocalDateTime parseMzTimeQuiet(String text) {
         if (StringUtils.isBlank(text)) {
             return null;
@@ -842,7 +838,9 @@
         }
     }
 
-    /** 淇濆瓨闂ㄦ�ヨ瘖閲囬泦鏂偣锛堝悇杞涓柇鐨勯〉鐮侊級 */
+    /**
+     * 淇濆瓨闂ㄦ�ヨ瘖閲囬泦鏂偣锛堝悇杞涓柇鐨勯〉鐮侊級
+     */
     private void saveMzDayCursor(String cursorKey, MzDayCursor cursor) {
         JSONObject json = new JSONObject();
         json.put("day", cursor.day);
@@ -856,7 +854,9 @@
         redisCache.setCacheObject(cursorKey, json.toJSONString(), MzGatherConstant.CACHE_TTL_HOURS, TimeUnit.HOURS);
     }
 
-    /** 璇诲彇闂ㄦ�ヨ瘖閲囬泦鏂偣锛岃涓嶅埌鎴栬В鏋愬け璐ユ椂杩斿洖绌烘柇鐐癸紙绛変环浜庝粠绗竴椤靛紑濮嬫暣杞埛鏂帮級 */
+    /**
+     * 璇诲彇闂ㄦ�ヨ瘖閲囬泦鏂偣锛岃涓嶅埌鎴栬В鏋愬け璐ユ椂杩斿洖绌烘柇鐐癸紙绛変环浜庝粠绗竴椤靛紑濮嬫暣杞埛鏂帮級
+     */
     private MzDayCursor loadMzDayCursor(String cursorKey) {
         MzDayCursor cursor = new MzDayCursor();
         try {
@@ -893,16 +893,24 @@
      * 锛堥〉鐮佷负 1 琛ㄧず璇ヨ疆娆′笅涓�杞粠绗竴椤垫暣杞紑濮嬶級
      */
     private static class MzDayCursor {
-        /** 浠婂ぉ鐨勬暣杞埛鏂� */
+        /**
+         * 浠婂ぉ鐨勬暣杞埛鏂�
+         */
         private String day;
         private long page = 1L;
-        /** 鏄ㄥぉ鐨勬敹灏鹃噰闆� */
+        /**
+         * 鏄ㄥぉ鐨勬敹灏鹃噰闆�
+         */
         private String finalDay;
         private long finalPage = 1L;
-        /** 寰呭仛鐨勪竴娆℃�у洖婧� */
+        /**
+         * 寰呭仛鐨勪竴娆℃�у洖婧�
+         */
         private String backfillDay;
         private long backfillPage = 1L;
-        /** 宸茬粡琛ヨ繃鐨勫洖婧棩鏈燂紝閬垮厤瀹氭椂浠诲姟姣忚疆閲嶅琛ュ悓涓�澶� */
+        /**
+         * 宸茬粡琛ヨ繃鐨勫洖婧棩鏈燂紝閬垮厤瀹氭椂浠诲姟姣忚疆閲嶅琛ュ悓涓�澶�
+         */
         private String backfillDone;
     }
 
@@ -1153,8 +1161,7 @@
                 //2鍒ゆ柇涓�涓嬶紝褰撳墠鐨剆ort鏄笉鏄瓑浜庨渶瑕佹墽琛岀殑鎬讳釜鏁帮紝濡傛灉绛変簬鐨勮瘽锛岃鏄庢槸鏈�鍚庝竴涓紝鐩存帴灏唖ervuce_subtask鐨勭姸鎬佹敼鎴�5锛屾墽琛屽け璐ュ氨琛屼簡
                 Long cs = currentSort.get();
 
-                if (cs.equals(serviceSubtaskPreachforms.size())
-                        && isSubtaskDeadline(serviceSubtask, serviceSubtaskPreachforms)) {
+                if (cs.equals(serviceSubtaskPreachforms.size()) && isSubtaskDeadline(serviceSubtask, serviceSubtaskPreachforms)) {
                     serviceSubtask.setSendstate(7L);
                     serviceSubtask.setRemark("澶勭悊琛ュ伩浠诲姟,褰撳墠澶勭悊鏈�鍚庤ˉ鍋匡紝鍏ㄩ儴鎵ц澶辫触锛堣秴鏃讹級");
 
@@ -1217,6 +1224,7 @@
         serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
         //鑾峰彇鍙戦�佹柟寮�
         String sendPreachform = getSendPreachform(serviceSubtaskPreachform, serviceSubtask);
+        log.info("sendPreachform鐨勫彂閫佹柟寮忔槸鍟ワ細{}", sendPreachform);
         if (sendPreachform.equals("-1") || serviceSubtask.getSendstate() == 6 || serviceSubtask.getSendstate() == 5 || serviceSubtask.getSendstate() == 4) {
             //璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡   鎴栬��  璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�
             log.error("璇存槑宸茬粡鍏ㄩ儴閬嶅巻瀹屼簡锛屽綋鍓嶇殑鎵ц鏂瑰紡搴忓彿鏄渶鍚庝竴涓簡   鎴栬��  璇ユ偅鑰呭凡缁忛殢璁跨粨鏉燂紙鎴愬姛鎴栧け璐ヤ簡鎴栦笉鎵ц锛�");
@@ -1224,6 +1232,7 @@
         }
         //鍏堝垽鏂偅鑰呮槸涓嶆槸杩樿鍙戦��
         PatArchive patArchive = patArchiveService.selectPatArchiveByPatid(serviceSubtask.getPatid());
+        log.info("patArchive鐨勫�间负锛歿}", patArchive);
         if (!Objects.isNull(patArchive) && patArchive.getNotrequiredFlag() == "1") {
             //涓嶉渶瑕佸彂閫�
             serviceSubtask.setResult("鎮h�呬笉闇�瑕侀殢璁�");
@@ -1247,8 +1256,7 @@
         // 鍦ㄥ紑鍏虫仮澶嶅悗姘歌繙涓㈠け銆備繚鎸� sendstate 涓嶅姩锛屽紑鍏虫墦寮�鍚庝笅涓�娆� longTaskSend/compensateTask
         // 浼氱収甯告妸瀹冩崬鍑烘潵鍙戝嚭銆�
         if ("3".equals(serviceSubtask.getType()) && !publicityFacade.isEnabled()) {
-            log.warn("銆愬鏁欍�戞ā鍧楁湭鍚敤锛堝弬鏁伴厤缃� publicity.enabled=false锛夛紝璺宠繃瀹f暀鍙戦�併�俿ubtaskId={}, patid={}",
-                    serviceSubtask.getId(), serviceSubtask.getPatid());
+            log.warn("銆愬鏁欍�戞ā鍧楁湭鍚敤锛堝弬鏁伴厤缃� publicity.enabled=false锛夛紝璺宠繃瀹f暀鍙戦�併�俿ubtaskId={}, patid={}", serviceSubtask.getId(), serviceSubtask.getPatid());
             return;
         }
 
@@ -1337,6 +1345,7 @@
                     String url = "";
                     String format = String.format("%03X", serviceOutPath.getId());
                     //鍏堝垽鏂竴涓嬪彂鐨勬槸涓嶆槸瀹f暀
+                    log.info("serviceSubtask.getType鐨勫�间负锛歿}", serviceSubtask.getType());
                     if (!"3".equals(serviceSubtask.getType())) {
                         sendMagParam.setPhone(serviceSubtask.getPhone());
                         url = StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/wt?p=" + format : localIP + "/wt?p=" + format;
@@ -1344,7 +1353,7 @@
                         //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
                         if (serviceSubtask.getType().equals("1"))
                             url = StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/sf?p=" + format : localIP + "/sf?p=" + format;
-                            sendMagParam.setUrl(url);
+                        sendMagParam.setUrl(url);
 
 //                        SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
                         SysConfig sysConfig = new SysConfig();
@@ -1355,6 +1364,7 @@
                         } else {
                             sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
                         }
+                        log.info("sysConfig鐨勫�间负锛歿}", sysConfig);
                         if (!Objects.isNull(sysConfig)) {
                             String smsContemt = sysConfig.getConfigValue();
 //                            sendMagParam.setContent("鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + sendMagParam.getUrl() + "濉啓銆傛劅璋㈡偍閰嶅悎锛�");
@@ -1399,6 +1409,7 @@
                     //宸叉敹鍙e埌 ruoyi-message 妯″潡锛岃繖閲屽彧璐熻矗缁勮鍏ュ弬骞惰矾鐢�
                     log.info("active鐨勫�间负锛歿}", active);
                     SendResult smsSendResult = sendSmsByActive(serviceSubtask, sendMagParam);
+                    log.info("smsSendResult鐨勫�间负锛歿}", smsSendResult);
                     String isSuccess = smsSendResult.asLegacyFlag();
                     //浠诲姟鍙戦�佽褰�
                     ServiceSubtaskRecord serviceSubtaskRecord = new ServiceSubtaskRecord();
@@ -1414,6 +1425,7 @@
                     serviceSubtaskRecordService.insertServiceSubtaskRecord(serviceSubtaskRecord);
 
                     //鍙戦�佸畬鎴愬悗锛屼慨鏀圭姸鎬�
+                    log.info("serviceSubtaskRecord鐨勫�间负锛歿}", serviceSubtaskRecord);
                     serviceSubtask.setSendstate(3L);
                     if (StringUtils.isNotEmpty(isSuccess) && isSuccess.equals("true")) {
                         serviceSubtask.setResult("success");
@@ -1617,8 +1629,7 @@
                 return "-1";
             }
             // 褰搒ort绛変簬鍒楄〃size鏃讹紝骞朵笖鎵�鏈塻endstate閮戒笉绛変簬9锛屽垯杩斿洖-1
-            if (currentSort.get().equals((long) serviceSubtaskPreachforms.size())
-                    && isSubtaskDeadline(serviceSubtask, serviceSubtaskPreachforms)) {
+            if (currentSort.get().equals((long) serviceSubtaskPreachforms.size()) && isSubtaskDeadline(serviceSubtask, serviceSubtaskPreachforms)) {
                 if (allSendStateNot1AndNot9) {
                     //璇存槑鍏ㄥ彂閫佸け璐ヤ簡
                     serviceSubtask.setSendstate(7L);
@@ -1735,23 +1746,24 @@
             // 鑾峰彇daysBefore 0鐐瑰埌daysBefore-1 0鐐圭殑鏃堕棿鑼冨洿
             LocalDateTime todayZero = LocalDateTime.now().with(LocalTime.MIN);
             LocalDateTime daysBeforeZeroStart = todayZero.minusDays(daysBefore);
-            LocalDateTime daysBeforeZeroEnd = todayZero.minusDays(daysBefore-1L);
+            LocalDateTime daysBeforeZeroEnd = todayZero.minusDays(daysBefore - 1L);
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
             String startTime = daysBeforeZeroStart.format(formatter);
             String endTime = daysBeforeZeroEnd.format(formatter);
             // HIS鏁版嵁閲囬泦
-            log.info("銆恈ollectHISDaysBefore銆慔IS寮�濮嬮噰闆嗘暟鎹�: startTime:{}, endtime:{}",startTime, endTime);
+            log.info("銆恈ollectHISDaysBefore銆慔IS寮�濮嬮噰闆嗘暟鎹�: startTime:{}, endtime:{}", startTime, endTime);
             // 绔嬪嵆杩斿洖锛屽悗鍙板紓姝ユ墽琛�
             CompletableFuture.runAsync(() -> {
                 ichService.syncMedInhosp(startTime, endTime);
             });
-            log.info("銆恈ollectHISDaysBefore銆慔IS缁撴潫閲囬泦鏁版嵁: startTime:{}, endtime:{}",startTime, endTime);
+            log.info("銆恈ollectHISDaysBefore銆慔IS缁撴潫閲囬泦鏁版嵁: startTime:{}, endtime:{}", startTime, endTime);
         } catch (Exception e) {
             log.error("銆恈ollectHISDaysBefore銆慔IS鏁版嵁閲囬泦寮傚父", e);
         }
     }
 
     public Boolean setSuccessPreachForm(ServiceSubtask serviceSubtask, String preachform, String remark, String failSendstate) {
+        log.info("setSuccessPreachForm鐨勫叆鍙備负锛歴erviceSubtask = {}锛�  preachform = {}锛�  remark = {}锛� failSendstate = {}", serviceSubtask, preachform, remark, failSendstate);
         if (preachform.equals("-1")) {
             //璇存槑閮戒笉闇�瑕佹墽琛屼簡
             ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
@@ -1769,7 +1781,7 @@
         serviceSubtaskPreachform.setTaskid(serviceSubtask.getTaskid());
         serviceSubtaskPreachform.setOrgid(serviceSubtask.getOrgid());
         List<ServiceSubtaskPreachform> sspCount = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
-
+        log.info("sspCount鐨勫�间负锛歿}", sspCount);
         serviceSubtaskPreachform.setPreachform(preachform);
         //1:鏈彂閫佺姸鎬�
         serviceSubtaskPreachform.setSendstate("1");
@@ -1779,7 +1791,7 @@
 //        //浜哄伐鐨勬湭鍙戦�佺姸鎬侊紝闇�瑕佹煡2
 //        if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2)
 //            serviceSubtaskPreachform.setSendstate("2");
-        log.error("-----serviceSubtaskPreachform鐨勫叆鍙傛槸锛焮}", serviceSubtaskPreachform);
+        log.info("-----serviceSubtaskPreachform鐨勫叆鍙傛槸锛焮}", serviceSubtaskPreachform);
         List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
         if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
             ServiceSubtaskPreachform serviceSubtaskPreachform1 = serviceSubtaskPreachforms.get(0);
@@ -1790,10 +1802,9 @@
             }
             serviceSubtaskPreachform1.setRemark(remark);
             serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1);
-
+            log.info("---------serviceSubtaskPreachform1鐨勫叆鍙傛槸 :  {}", serviceSubtaskPreachform1);
             //濡傛灉褰撳墠鐨刾reachform宸茬粡鏄渶鍚庝竴涓簡锛岄偅鐩存帴灏唖erviceSubtask鐨剆endstate鐘舵�佹敼鎴�7灏辫浜�(鍏ㄨ秴鏃朵簡)
-            if (serviceSubtaskPreachform1.getSort() == sspCount.size()
-                    && isSubtaskDeadline(serviceSubtask, serviceSubtaskPreachforms)) {
+            if (serviceSubtaskPreachform1.getSort() == sspCount.size() && isSubtaskDeadline(serviceSubtask, serviceSubtaskPreachforms)) {
                 if (failSendstate.equals("4") || failSendstate.equals("5")) {
                     serviceSubtask.setCurrentPreachform(preachform);
                     serviceSubtask.setSendstate(7L);
@@ -1808,7 +1819,7 @@
             log.error("銆愬畾鏃朵换鍔′腑璇ユ偅鑰呮病鏈夋煡璇㈠埌灞炰簬浠栫殑鍙戦�佹柟寮忥紝subid锛歿},prechform:{},orgid:{}銆�", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid());
             return false;
         }
-
+        log.info("鍒拌繖閲屼簡涓嶏紵锛燂紵锛�");
         //灏嗕笅涓�娆$殑闅忚鏃堕棿涓庡綋鍓嶆墽琛屾柟寮忚褰曚竴涓�
         serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime()));
         serviceSubtask.setCurrentPreachform(preachform);
@@ -1821,6 +1832,7 @@
             }
         }
         serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + remark : remark);
+        log.info("serviceSubtask鐨勫叆鍙傛槸锛歿}",serviceSubtask);
         serviceSubtaskMapper.updateServiceSubtask(serviceSubtask);
         return true;
     }
@@ -1926,15 +1938,15 @@
 
     /**
      * 闅忚浠诲姟鏄惁瓒呮椂
+     *
      * @param serviceSubtask
      * @param serviceSubtaskPreachforms
      * @return
      */
-    public boolean isSubtaskDeadline(ServiceSubtask serviceSubtask, List<ServiceSubtaskPreachform> serviceSubtaskPreachforms){
+    public boolean isSubtaskDeadline(ServiceSubtask serviceSubtask, List<ServiceSubtaskPreachform> serviceSubtaskPreachforms) {
         if (ObjectUtils.isNotEmpty(serviceSubtask)) {
             //鍙湁鍑洪櫌闅忚鍜屼笓鐥呴殢璁挎湁瓒呮椂
-            if(StringUtils.isNotEmpty(serviceSubtask.getServiceType()) &&
-                    !serviceSubtask.getServiceType().equals("2") && !serviceSubtask.getServiceType().equals("13")){
+            if (StringUtils.isNotEmpty(serviceSubtask.getServiceType()) && !serviceSubtask.getServiceType().equals("2") && !serviceSubtask.getServiceType().equals("13")) {
                 return true;
             }
         }
@@ -1945,9 +1957,7 @@
         ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceSubtask.getTaskid());
         int sendDay = serviceTask != null && serviceTask.getSendDay() != null ? serviceTask.getSendDay().intValue() : 1;
         Date deadline = DateUtils.addDays(serviceSubtask.getEndtime(), sendDay);
-        int sumCompensateTime = CollectionUtils.isEmpty(serviceSubtaskPreachforms) ? 0 : serviceSubtaskPreachforms.stream()
-                .mapToInt(x -> x.getCompensateTime() == null ? 0 : Integer.parseInt(x.getCompensateTime()))
-                .sum();
+        int sumCompensateTime = CollectionUtils.isEmpty(serviceSubtaskPreachforms) ? 0 : serviceSubtaskPreachforms.stream().mapToInt(x -> x.getCompensateTime() == null ? 0 : Integer.parseInt(x.getCompensateTime())).sum();
         sumCompensateTime = sumCompensateTime + 1;
         // 鍙ˉ鍋挎渶鍚庝竴姝ヨ嚜韬殑琛ュ伩鏃堕棿锛堝ぉ锛夛紝鑴忓�间竴寰嬫寜 0 鍏滃簳
         deadline = DateUtils.addDays(deadline, sumCompensateTime);
@@ -1969,7 +1979,7 @@
      * <p>
      * 鈿狅笍 鍏ㄤ粨鍙湁 {@code ServiceSubtaskController#dealSubtaskDeadline} 涓�涓皟鐢ㄨ�呫��
      */
-    public void dealSubtaskDeadline(String orgid, Integer deadlineDay){
+    public void dealSubtaskDeadline(String orgid, Integer deadlineDay) {
         // 鈿狅笍 寮�鍏冲畧鍗細鍏堝垽鍐嶅共娲伙紝涓� dealOutHospInfo / rollTaskGroupCycle 鍚屽彛寰勩��
         // 鍏抽棴鏃剁洿鎺ヨ繑鍥烇紝涓嶆壂鎻忋�佷笉寤�"鍐嶆闅忚"瀛愪换鍔°��
         if (!inhospVisitFacade.isEnabled()) {
@@ -1994,8 +2004,7 @@
             serviceSubtaskVO.setVisitCount(1);
             serviceSubtaskVO.setTaskid(serviceTask.getTaskid());
             serviceSubtaskVO.setEndOutHospTime(deadline);
-            List<ServiceSubtask> serviceSubtaskList
-                    = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
+            List<ServiceSubtask> serviceSubtaskList = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskVO);
             log.info("銆恉ealSubtaskDeadline銆戣幏鍙栧埌{}涓秴鏃朵换鍔�, taskid={}", serviceSubtaskList.size(), serviceTask.getTaskid());
             for (ServiceSubtask serviceSubtask : serviceSubtaskList) {
                 PatMedInhosp patMedInhospVo = new PatMedInhosp();
@@ -2006,10 +2015,10 @@
                 PatMedInhosp patMedInhosp = new PatMedInhosp();
                 if (!patMedInhospList.isEmpty()) {
                     patMedInhosp = patMedInhospList.get(0);
-                }else {
+                } else {
                     continue;
                 }
-                if(ObjectUtils.isEmpty(serviceTask.getNexttaskid())){
+                if (ObjectUtils.isEmpty(serviceTask.getNexttaskid())) {
                     continue;
                 }
                 ServiceTask nextServiceTask = serviceTaskMapper.selectServiceTaskByTaskid(serviceTask.getNexttaskid());
@@ -2018,8 +2027,7 @@
                 Integer type = 1;
 
                 //鏂板鍐嶆闅忚浠诲姟
-                ServiceSubtask serviceSubtaskAgain = iPatMedInhospService.boxedServiceSubtask(nextServiceTask,
-                        patMedInhosp, patArchive, config, type);
+                ServiceSubtask serviceSubtaskAgain = iPatMedInhospService.boxedServiceSubtask(nextServiceTask, patMedInhosp, patArchive, config, type);
                 serviceSubtaskAgain.setId(null);
                 serviceSubtaskAgain.setUpid(serviceSubtask.getId().intValue());
                 serviceSubtaskAgain.setVisitCount(serviceSubtask.getVisitCount() + 1);
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/VisitTaskCreateApiImpl.java b/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/VisitTaskCreateApiImpl.java
index b298e44..cb337ac 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/VisitTaskCreateApiImpl.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/VisitTaskCreateApiImpl.java
@@ -12,6 +12,7 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+
 import com.ruoyi.task.domain.entity.ServiceSubtaskEntity;
 import com.ruoyi.task.domain.ServiceSubtask;
 import com.ruoyi.task.domain.ServiceTask;
@@ -334,8 +335,7 @@
         //    瑙� OuthospSubtaskDraft 鐨勭被娉ㄩ噴銆�
         // ------------------------------------------------------------------
         if (d instanceof com.ruoyi.common.core.service.dto.OuthospSubtaskDraft) {
-            com.ruoyi.common.core.service.dto.OuthospSubtaskDraft o =
-                    (com.ruoyi.common.core.service.dto.OuthospSubtaskDraft) d;
+            com.ruoyi.common.core.service.dto.OuthospSubtaskDraft o = (com.ruoyi.common.core.service.dto.OuthospSubtaskDraft) d;
             // hospno 宸蹭笂鎻愬埌鐖剁被 VisitSubtaskDraft锛堜笂闈㈢粺涓�鏄犲皠杩囦簡锛夛紝杩欓噷涓嶅啀閲嶅
             // 鍙湁鐖剁被娌℃湁鐨勫瓧娈垫墠鍦ㄨ繖閲岃ˉ鏄犲皠锛堝叾浣欏 sendname/sfzh/phone/sex/age 鐖剁被宸叉湁锛�
             e.setAdmindate(o.getAdmitdate());
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceTaskServiceImpl.java b/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceTaskServiceImpl.java
index 325d1b1..59c0682 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceTaskServiceImpl.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceTaskServiceImpl.java
@@ -296,23 +296,6 @@
             }
         }
 
-        if (CollectionUtils.isNotEmpty(selectServiceSubtaskList)) {
-            //灏嗗綋鍓嶆柟寮忕殑鍙戦�佺姸鎬佹敼鎴愬凡棰嗗彇
-            ServiceSubtask serviceSubtask = selectServiceSubtaskList.get(0);
-            ServiceSubtaskPreachform serviceSubtaskPreachform = new ServiceSubtaskPreachform();
-            serviceSubtaskPreachform.setPreachform(serviceSubtask.getCurrentPreachform());
-            serviceSubtaskPreachform.setSubid(serviceSubtask.getId());
-            serviceSubtaskPreachform.setTaskid(serviceTask.getTaskid());
-            List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = taskPreachformPort.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
-            if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
-                ServiceSubtaskPreachform ssp = serviceSubtaskPreachforms.get(0);
-                //浜哄伐鏃�-3宸查鍙栫姸鎬�(service_subtask_preachform.sendstate = 3)
-                if(StringUtils.isNotEmpty(ssp.getPreachform()) && !ssp.getPreachform().equals("1")){
-                    ssp.setSendstate("3");
-                    taskPreachformPort.updateServiceSubtaskPreachform(ssp);
-                }
-            }
-        }
         if (serviceTask != null) {
             if (StringUtils.isNotEmpty(serviceTask.getKcb())) map.put("kcb", serviceTask.getKcb());
             map.put("script", info);

--
Gitblit v1.9.3