From c4dc6a5d66524d08b768046d9d2d5974bf96f45c Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 11 十一月 2026 14:06:23 +0800
Subject: [PATCH] Merge branch 'smartor_ls_261103' into smartor_ls_merge

---
 ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtask.java                     |   19 ++++
 ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/domain/row/VisitInhospRow.java   |    9 ++
 ruoyi-task/src/main/java/com/ruoyi/task/api/contract/VisitTaskCreateApiImpl.java       |    4 +
 ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceSubtaskServiceImpl.java    |   96 ++++++++++++++++++++---
 ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceTaskVO.java                      |    8 +-
 ruoyi-task/src/main/resources/mapper/task/ServiceSubtaskMapper.xml                     |   26 ++++++
 ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitSubtaskDraft.java    |   21 +++++
 smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java            |    5 +
 ruoyi-task/src/main/java/com/ruoyi/task/domain/entity/ServiceSubtaskEntity.java        |   25 ++++++
 ruoyi-inhospvisit/src/main/resources/mapper/inhospvisit/VisitInhospMapper.xml          |    4 +
 ruoyi-task/src/main/java/com/ruoyi/task/api/contract/OperationSubtaskWriter.java       |    4 +
 ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtaskRes.java                  |   11 ++
 ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/support/VisitSubtaskFactory.java |    8 ++
 13 files changed, 220 insertions(+), 20 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitSubtaskDraft.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitSubtaskDraft.java
index 42b9ee3..652fd54 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitSubtaskDraft.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/service/dto/VisitSubtaskDraft.java
@@ -112,6 +112,19 @@
     /** 璇婃柇鍚嶇О */
     private String diagname;
 
+    /**
+     * 閲嶈鎬ф爣璁扮紪鐮侊紙2026-11 鏂板锛夛細鏉ユ簮 {@code pat_med_inhosp.importance_flag_code}锛�
+     * 钀藉簱鍒� {@code service_subtask.importance_flag_code}銆�
+     * <p>
+     * 鍒ゆ柇銆屾棩闂淬�嶅氨鐪嬭繖涓瓧娈碉紙{@code ImportFlagEnum} 鐨� {@code FH0165.01} 鏃ラ棿鎵嬫湳 /
+     * {@code FH0165.02} 鏃ラ棿璇婄枟锛涚幇鍦哄簱瀛樼殑鏄腑鏂囨弿杩般�屾棩闂存墜鏈�嶃�屾棩闂磋瘖鐤椼�嶏紝鍙兘澶氬�硷級銆�
+     * <p>
+     * 鈿狅笍 涓� {@code deptcode}/{@code leaveldeptcode} 閭f壒涓嶅悓锛�<b>涓嶅仛缁村害鏀瑰啓</b>
+     * 锛堝叆闄㈠鏁� type=4/5 涔熺収鏍峰甫鍘熷�硷級锛屽畠鎻忚堪鐨勬槸銆岃繖娆′綇闄㈢殑閲嶈鎬�/鏃ラ棿灞炴�с�嶏紝涓庣瀹ゆ棤鍏炽��
+     * 闂ㄨ瘖閾捐矾锛坽@link OuthospSubtaskDraft}锛夋病鏈夎繖涓潵婧愶紝鎭掍负 {@code null}銆�
+     */
+    private String importanceFlagCode;
+
     // ==================== 妯℃澘锛堝師 serviceTask锛� ====================
     /** 闂嵎妯℃澘ID */
     private Long templateid;
@@ -517,6 +530,14 @@
         this.diagname = diagname;
     }
 
+    public String getImportanceFlagCode() {
+        return importanceFlagCode;
+    }
+
+    public void setImportanceFlagCode(String importanceFlagCode) {
+        this.importanceFlagCode = importanceFlagCode;
+    }
+
     public Long getTemplateid() {
         return templateid;
     }
diff --git a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/domain/row/VisitInhospRow.java b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/domain/row/VisitInhospRow.java
index dad720e..fb4b77a 100644
--- a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/domain/row/VisitInhospRow.java
+++ b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/domain/row/VisitInhospRow.java
@@ -545,7 +545,14 @@
     private String outWayName;
     /** 杩囨护锛氬氨璇婃潵婧怚D */
     private String encounterSourceId;
-    /** 杩囨护锛氶噸瑕佺▼搴︿唬鐮� */
+    /**
+     * 閲嶈鎬ф爣璁帮紙2026-11 璧�<b>涓嶅啀鍙槸杩囨护鏉′欢</b>锛歿@code selectForScan} / {@code selectByInhospid}
+     * 宸茬粡鎶� {@code b.importance_flag_code} 鏌ュ嚭鏉ワ紝寤哄瓙浠诲姟鏃跺師鏍峰甫缁� {@code service_subtask}锛夈��
+     * <p>
+     * 鍙栧�硷細鐜板満搴撳瓨涓枃鎻忚堪锛堛�屾棩闂存墜鏈�嶃�屾棩闂磋瘖鐤椼�嶃�屾棤銆嶃�岀壒绾︿汉鍛樸�嶃�岀浼戜汉鍛樸�嶏紝鍙兘閫楀彿澶氬�硷級锛�
+     * 涔熸湁搴撴寜 {@code ImportFlagEnum} 瀛� {@code FH0165.01} / {@code FH0165.02} 绛夌紪鐮併��
+     * 鍒ゆ柇銆屾棩闂淬�嶅氨鍒ゆ柇瀹� 鈥斺�� 鏈被鍙礋璐f惉杩愶紝涓嶅仛鍊煎煙褰掍竴銆�
+     */
     private String importanceFlagCode;
     /** 杩囨护锛氭�ヨ瘖鍒嗙骇浠g爜 */
     private String emergencyLevelCode;
diff --git a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/support/VisitSubtaskFactory.java b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/support/VisitSubtaskFactory.java
index a130624..e1f5e22 100644
--- a/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/support/VisitSubtaskFactory.java
+++ b/ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/support/VisitSubtaskFactory.java
@@ -146,6 +146,12 @@
         d.setDeptname(inhosp.getDeptname());
         d.setHospitaldistrictcode(inhosp.getHospitaldistrictcode());
         d.setHospitaldistrictname(inhosp.getHospitaldistrictname());
+        // ---- 2026-11 鏂板锛氶噸瑕佹�ф爣璁帮紙鍚�屾棩闂淬�嶏級鍘熸牱甯﹁蛋 ----
+        //   鑳屾櫙锛氬垽鏂棩闂村氨鐪� pat_med_inhosp.importance_flag_code锛堢幇鍦哄簱瀛樹腑鏂囨弿杩�
+        //         銆屾棩闂存墜鏈�嶃�屾棩闂磋瘖鐤椼�嶏紝涔熸湁搴撴寜 ImportFlagEnum 瀛� FH0165.01/02锛夈��
+        //   瀛愪换鍔¤惤涓�浠斤紝闅忚鍒楄〃灏辫兘鐩存帴鎸夈�屾棩闂淬�嶇瓫锛屼笉鐢ㄦ瘡琛屽洖鏌ヤ綇闄㈢櫥璁拌〃銆�
+        //   鍙e緞锛氬師鏍锋嫹璐濄�佷笉鍋氬�煎煙褰掍竴锛涗笉闅� type 4/5 鏀瑰啓锛堜笌绉戝/鐥呭尯缁村害鏃犲叧锛夈��
+        d.setImportanceFlagCode(inhosp.getImportanceFlagCode());
         // ---- 鍘� L1128-1134锛歵ype 4/5 鏀圭敤鍏ラ櫌缁村害 ----
         if (type != null && (type == 4 || type == 5)) {
             d.setLeaveldeptcode(inhosp.getDeptcode());
@@ -308,6 +314,8 @@
         d.setHospitaldistrictname(inhosp.getHospitaldistrictname());
         d.setLeavehospitaldistrictcode(inhosp.getLeavehospitaldistrictcode());
         d.setLeavehospitaldistrictname(inhosp.getLeavehospitaldistrictname());
+        // 2026-11锛氶噸瑕佹�ф爣璁帮紙鍚�屾棩闂淬�嶏級鍘熸牱甯﹁蛋锛堝彛寰勫悓 boxedServiceSubtask锛�
+        d.setImportanceFlagCode(inhosp.getImportanceFlagCode());
         // ---- 鍘� L1242-1251 ----
         d.setTemplateid(serviceTask.getTemplateid());
         d.setTemplatename(serviceTask.getTemplatename());
diff --git a/ruoyi-inhospvisit/src/main/resources/mapper/inhospvisit/VisitInhospMapper.xml b/ruoyi-inhospvisit/src/main/resources/mapper/inhospvisit/VisitInhospMapper.xml
index 501942c..d68321d 100644
--- a/ruoyi-inhospvisit/src/main/resources/mapper/inhospvisit/VisitInhospMapper.xml
+++ b/ruoyi-inhospvisit/src/main/resources/mapper/inhospvisit/VisitInhospMapper.xml
@@ -74,6 +74,8 @@
         <result property="longTaskReason" column="long_task_reason"/>
         <result property="remark" column="remark"/>
         <result property="medicalCode" column="medical_code"/>
+        <!-- 2026-11锛氶噸瑕佹�ф爣璁扮紪鐮侊紙鏃ラ棿鎵嬫湳/鏃ラ棿璇婄枟/鏃犫�︼級锛屽缓瀛愪换鍔℃椂鍘熸牱甯︾粰 service_subtask -->
+        <result property="importanceFlagCode" column="importance_flag_code"/>
     </resultMap>
 
     <!--
@@ -125,6 +127,7 @@
         b.fuflag,
         b.fudate,
         b.remark,
+        b.importance_flag_code,
         b.medical_code
         FROM
         pat_med_inhosp b
@@ -337,6 +340,7 @@
                leaveldeptname,
                leavehospitaldistrictcode,
                leavehospitaldistrictname,
+               importance_flag_code,
                campusid
         from pat_med_inhosp
         where inhospid = #{inhospid}
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/OperationSubtaskWriter.java b/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/OperationSubtaskWriter.java
index bb0f11a..a302570 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/OperationSubtaskWriter.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/api/contract/OperationSubtaskWriter.java
@@ -485,6 +485,8 @@
         serviceSubtask.setLeaveldeptname(patMedInhosp1.getLeaveldeptname());
         serviceSubtask.setLeavehospitaldistrictcode(patMedInhosp1.getLeavehospitaldistrictcode());
         serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
+        // 2026-11锛氶噸瑕佹�ф爣璁帮紙鍚�屾棩闂淬�嶏級闅忎换鍔¤蛋锛屼究浜庡瓙浠诲姟鍒楄〃鐩存帴鎸夋棩闂寸瓫閫�
+        serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode());
 
         serviceSubtask.setTemplateid(serviceTask.getTemplateid());
         serviceSubtask.setTemplatename(serviceTask.getTemplatename());
@@ -620,6 +622,8 @@
         serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
         serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname());
         serviceSubtask.setDiagname(patMedInhosp1.getDiagname());
+        // 2026-11锛氶噸瑕佹�ф爣璁帮紙鍚�屾棩闂淬�嶏級闅忎换鍔¤蛋锛堝彛寰勫悓涓婏級
+        serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode());
         serviceSubtask.setTemplateid(serviceTask.getTemplateid());
         serviceSubtask.setTemplatename(serviceTask.getTemplatename());
         serviceSubtask.setPatid(patArchive.getId());
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 07bebac..470867b 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
@@ -285,6 +285,10 @@
         e.setLeaveicd10code(d.getLeaveicd10code());
         e.setLeavediagname(d.getLeavediagname());
         e.setDiagname(d.getDiagname());
+        // 2026-11锛氶噸瑕佹�ф爣璁扮紪鐮侊紙鏃ラ棿鎵嬫湳/鏃ラ棿璇婄枟/鏃犫�︼級锛屾潵鑷� pat_med_inhosp.importance_flag_code銆�
+        // 鍙湁銆屽嚭鍏ラ櫌闅忚銆嶉摼璺細濉�硷紙VisitSubtaskFactory锛夛紱闂ㄨ瘖/鎵嬫湳绛夎崏绋块噷涓� null 鈫�
+        // insert 鐨勬潯浠跺垪鐩存帴璺宠繃锛屼笌鏀归�犲墠杩欎簺鍒椾笉鍐欑殑鏁堟灉涓�鑷淬��
+        e.setImportanceFlagCode(d.getImportanceFlagCode());
         e.setTemplateid(d.getTemplateid());
         e.setTemplatename(d.getTemplatename());
         e.setLibtemplateid(d.getLibtemplateid());
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtask.java b/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtask.java
index 5847cf4..9cf60da 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtask.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtask.java
@@ -708,6 +708,25 @@
     private String diagType;
 
     /**
+     * 閲嶈鎬ф爣璁扮紪鐮侊紙2026-11 鏂板锛�<b>寤轰换鍔℃椂浠� {@code pat_med_inhosp.importance_flag_code} 鍚屾</b>锛夈��
+     * <p>
+     * 涓轰粈涔堝悓姝ワ細鍒ゆ柇銆屾棩闂淬�嶅氨鐪嬭繖涓瓧娈碉紝鑰� service_subtask 涓婂彧鏈� {@code inhospid}锛�
+     * 涓嶈惤涓�浠界殑璇濇寜銆屾棩闂淬�嶇瓫瀛愪换鍔℃瘡琛岄兘瑕佸洖鏌ヤ綇闄㈢櫥璁拌〃锛圝OIN / 瀛愭煡璇級锛屽垪琛ㄤ笌缁熻閮藉彉鎱€��
+     * <p>
+     * 鍙栧�兼槸<b>鍘熸牱鎷疯礉</b>锛屼笉鍦ㄦ湰琛ㄥ仛褰掍竴锛�
+     * <ul>
+     *   <li>鏋氫妇缂栫爜鍙e緞锛坽@code ImportFlagEnum}锛夛細{@code FH0165.01} 鏃ラ棿鎵嬫湳銆亄@code FH0165.02} 鏃ラ棿璇婄枟銆�
+     *       {@code FH0165.03} 鏃犮�亄@code FH0165.98} 鐗圭害浜哄憳銆亄@code FH0165.99} 绂讳紤浜哄憳锛�</li>
+     *   <li>鐜板満涔熸湁瀛�<b>涓枃鎻忚堪</b>鐨勫簱锛堛�屾棩闂存墜鏈�嶃�屾棩闂磋瘖鐤椼�嶁�︼級锛岃繕瀛樺湪閫楀彿澶氬�硷紙濡� {@code 鏃�,鏃ラ棿鎵嬫湳}锛夈��</li>
+     * </ul>
+     * 鎵�浠ユ煡璇晶鎻愪緵銆岀簿纭�笺�嶅拰銆岄泦鍚� IN銆嶄袱绉嶆潯浠讹紝瑙� {@code serviceSubtaskWhere}銆�
+     * <p>
+     * 鈿狅笍 杩欐槸<b>寤轰换鍔¢偅涓�鍒荤殑蹇収</b>锛氫箣鍚庝綇闄㈣褰曟敼浜嗘爣璁帮紝涓嶄細鑷姩鍥炲啓宸叉湁瀛愪换鍔°��
+     */
+    @ApiModelProperty(value = "閲嶈鎬ф爣璁扮紪鐮侊紙鏃ラ棿鎵嬫湳/鏃ラ棿璇婄枟/鏃�/鐗圭害浜哄憳/绂讳紤浜哄憳锛屾垨 FH0165.xx锛�")
+    private String importanceFlagCode;
+
+    /**
      * 寮�濮嬪嚭闄㈡棩鏈�
      */
     @JsonFormat(pattern = "yyyy-MM-dd")
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtaskRes.java b/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtaskRes.java
index f11c202..0e0cf34 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtaskRes.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceSubtaskRes.java
@@ -243,6 +243,17 @@
     private String deptname;
 
     /**
+     * 閲嶈鎬ф爣璁扮紪鐮侊紙2026-11 鏂板锛夛細寤轰换鍔℃椂浠� {@code pat_med_inhosp.importance_flag_code} 鍚屾锛�
+     * 鍒楄〃鎺ュ彛鍘熸牱杩斿洖銆�
+     * <p>
+     * 鍒ゆ柇銆屾棩闂淬�嶇湅杩欓噷锛歿@code ImportFlagEnum} 鐨� {@code FH0165.01}锛堟棩闂存墜鏈級/
+     * {@code FH0165.02}锛堟棩闂磋瘖鐤楋級锛涚幇鍦哄簱瀛樼殑鏄腑鏂囨弿杩般�屾棩闂存墜鏈�嶃�屾棩闂磋瘖鐤椼�嶏紝
+     * 杩樺彲鑳藉嚭鐜� {@code 鏃�,鏃ラ棿鎵嬫湳} 杩欑被澶氬�� 鈥斺�� 鎵�浠ュ墠绔埆鐢ㄧ瓑鍊煎垽鏂紝鎸夈�屽寘鍚�嶅尮閰嶃��
+     */
+    @ApiModelProperty(value = "閲嶈鎬ф爣璁扮紪鐮侊紙鏃ラ棿鎵嬫湳/鏃ラ棿璇婄枟/鏃�/鐗圭害浜哄憳/绂讳紤浜哄憳锛�")
+    private String importanceFlagCode;
+
+    /**
      * 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒�
      */
     @Excel(name = " 鏅氫笂寮�濮嬪彂閫佹椂闂撮檺鍒� ")
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceTaskVO.java b/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceTaskVO.java
index b2a7d01..01da61f 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceTaskVO.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/domain/ServiceTaskVO.java
@@ -70,9 +70,9 @@
     private List<String> leavehospitaldistrictcodes;
 
     /**
-     * 鍑洪櫌鐥呭尯缂栧彿
+     * 鍑洪櫌閮ㄩ棬缂栧彿闆嗗悎锛堢偣浣嶇紪鍙凤級
      */
-    @ApiModelProperty(value = "鍑洪櫌閮ㄩ棬缂栧彿闆嗗悎")
+    @ApiModelProperty(value = "鍑洪櫌閮ㄩ棬缂栧彿闆嗗悎锛堢偣浣嶇紪鍙凤級")
     private List<String> leaveldeptcodes;
 
     /**
@@ -468,8 +468,8 @@
     /**
      * 閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷銆�5銆佹寜浠诲姟缁�
      */
-    @ApiModelProperty("閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷銆�5銆佹寜浠诲姟缁�  6.鎸夎嵂鍝佺紪鐮�")
-    @Excel(name = "閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷銆�5銆佹寜浠诲姟缁� 6.鎸夎嵂鍝佺紪鐮�" )
+    @ApiModelProperty("閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷銆�5銆佹寜浠诲姟缁�  6.鎸夎嵂鍝佺紪鐮�  7.鎸夌偣浣嶏紙鍚屽痉闇�姹傦級")
+    @Excel(name = "閫傜敤鏉′欢绫诲瀷锛�1銆佹寜绉戝銆�2銆佹寜鐥呭尯銆�3銆佹寜鐤剧梾璇婃柇銆�4銆佹寜鎵嬫湳绫诲瀷銆�5銆佹寜浠诲姟缁� 6.鎸夎嵂鍝佺紪鐮�   7.鎸夌偣浣嶏紙鍚屽痉闇�姹傦級" )
     private String appltype;
 
     @ApiModelProperty(value = "闅忚閮ㄩ棬缂栫爜")
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/domain/entity/ServiceSubtaskEntity.java b/ruoyi-task/src/main/java/com/ruoyi/task/domain/entity/ServiceSubtaskEntity.java
index a71dadc..ad6ad32 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/domain/entity/ServiceSubtaskEntity.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/domain/entity/ServiceSubtaskEntity.java
@@ -732,6 +732,31 @@
     private String managementDoctor;
 
     /**
+     * 閲嶈鎬ф爣璁扮紪鐮侊紙2026-11 鏂板锛�<b>鏌ヨ鏉′欢</b>锛夛細绮剧‘鍖归厤銆�
+     * <p>
+     * 瀵瑰簲 {@code service_subtask.importance_flag_code}锛氬缓浠诲姟鏃朵粠
+     * {@code pat_med_inhosp.importance_flag_code} 鍘熸牱鍚屾銆�
+     * 鏋氫妇瑙� {@code com.ruoyi.common.enums.ImportFlagEnum}
+     * 锛坽@code FH0165.01} 鏃ラ棿鎵嬫湳銆亄@code FH0165.02} 鏃ラ棿璇婄枟鈥︼級锛�
+     * 鐜板満搴撲篃鍙兘瀛樹腑鏂囨弿杩般��
+     */
+    @ApiModelProperty(value = "閲嶈鎬ф爣璁扮紪鐮侊紙绮剧‘鍖归厤锛屽 FH0165.01 / 鏃ラ棿鎵嬫湳锛�")
+    private String importanceFlagCode;
+
+    /**
+     * 閲嶈鎬ф爣璁扮紪鐮侀泦鍚堬紙鏌ヨ鏉′欢锛夛細{@code IN} 鍖归厤锛岀敤浜庛�屾棩闂淬�嶈繖绫�
+     * 銆岃鍚屾椂鍛戒腑澶氫釜鍙栧�笺�嶇殑鍦烘櫙銆�
+     * <p>
+     * 渚嬶細鍙湅鏃ラ棿 鈫� {@code ["鏃ラ棿鎵嬫湳","鏃ラ棿璇婄枟"]}锛堜腑鏂囨弿杩板彛寰勶級鎴�
+     * {@code ["FH0165.01","FH0165.02"]}锛堟灇涓剧紪鐮佸彛寰勶級銆�
+     * <p>
+     * 鈿狅笍 绛夊��/IN 閮藉尮閰嶄笉鍒伴�楀彿澶氬�硷紙濡� {@code 鏃�,鏃ラ棿鎵嬫湳}锛夛紱杩欑被鏁版嵁鏋佸皯锛�
+     * 闇�瑕佹椂璇风敤 {@code find_in_set} 鍗曠嫭鍐� SQL锛屽埆鎶婅涔夊杩涜繖涓瓧娈点��
+     */
+    @ApiModelProperty(value = "閲嶈鎬ф爣璁扮紪鐮侀泦鍚堬紙IN 鍖归厤锛岀敤浜庝竴娆$瓫澶氫釜鏍囪锛�")
+    private List<String> importanceFlagCodes;
+
+    /**
      * 寮�濮嬪嚭闄㈡棩鏈�
      */
     @JsonFormat(pattern = "yyyy-MM-dd")
diff --git a/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceSubtaskServiceImpl.java b/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceSubtaskServiceImpl.java
index 9f570dc..eccdbdf 100644
--- a/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceSubtaskServiceImpl.java
+++ b/ruoyi-task/src/main/java/com/ruoyi/task/service/impl/ServiceSubtaskServiceImpl.java
@@ -1599,6 +1599,61 @@
     }
 
     /**
+     * 鍙栭�楀彿涓查噷鐨勭涓�涓�硷紙浠诲姟涓婄瀹�/鐥呭尯鏄閫夛紝鑰� {@code service_subtask} 涓婇兘鏄崟鍊煎垪锛夈��
+     */
+    private String firstValue(String value) {
+        if (StringUtils.isEmpty(value)) {
+            return null;
+        }
+        for (String item : value.split(",")) {
+            if (StringUtils.isNotEmpty(item.trim())) {
+                return item.trim();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 浠诲姟閰嶇疆锛坽@link ServiceTaskVO}锛夆啋 瀛愪换鍔★紙{@link ServiceSubtask}锛夌殑瀛楁鎼繍銆�
+     * <p>
+     * <b>涓轰粈涔堜笉鑳界洿鎺� {@code DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class)}锛�</b>
+     * 瀹冩槸绾悓鍚嶆嫹璐濓紝鑰屼袱杈瑰悓鍚嶇殑 {@code deptcode / deptname} <b>璇箟涓嶅悓</b>锛�
+     * <ul>
+     *   <li>{@code ServiceTaskVO.deptcode / deptname} = 浠诲姟鐨勩�岄�傜敤绉戝銆嶏紝
+     *       鍑洪櫌闅忚锛坰erviceType=2锛�/ 鍑洪櫌瀹f暀锛�4锛�/ 闂ㄨ瘖闅忚锛�3锛夌瓑鍦烘櫙涓嬪氨鏄�<b>绂婚櫌绉戝</b>锛�</li>
+     *   <li>{@code ServiceSubtask.deptcode / deptname} = <b>鍦ㄩ櫌绉戝</b>
+     *       锛�2026-11 鐢卞師 sendlimitpbegin/pend 澶嶇敤鑰屾潵锛岃 {@code ServiceSubtask} 瀛楁娉ㄩ噴锛夈��</li>
+     * </ul>
+     * 浜庢槸绾悓鍚嶆嫹璐濅細鎶娿�岀闄㈢瀹ゃ�嶅啓杩涖�屽湪闄㈢瀹ゃ�嶅垪锛屽悗鏋滄湁涓や釜锛�
+     * <ol>
+     *   <li>鎸夊湪闄㈢淮搴︾瓫锛坽@code deptcodes} 鈫� {@code service_subtask.deptcode}锛変細璇懡涓繖浜涘瓙浠诲姟锛�</li>
+     *   <li>鎸夌闄㈢淮搴︾瓫锛坽@code leaveldeptcodes} 鈫� {@code service_subtask.leaveldeptcode}锛夋椂锛�
+     *       鎮h�呰嚜宸辨病甯︾瀹ょ殑閭d簺锛堝墠绔墜鍔ㄥ嬀閫夋偅鑰呭緢甯歌锛変細鍥犱负 {@code leaveldeptcode} 涓虹┖鑰屾煡涓嶅埌銆�</li>
+     * </ol>
+     * 鍥犳杩欓噷鎸夐」鐩棦瀹氬彛寰勶紙{@code doc/service_subtask_瀛楁鏀瑰悕_鏀瑰姩娓呭崟.md} 搂8锛氳繖鍑犳潯
+     * 銆岄暱鏈熶换鍔� / 浠诲姟缁� / 鎵嬪姩寤轰换鍔°�嶈矾寰�<b>涓嶅~鍦ㄩ櫌缁村害</b>锛夌粺涓�澶勭悊锛�
+     * <b>鍦ㄩ櫌缁村害 4 鍒楁竻绌�</b>锛堝湪闄㈢瀹�/鍦ㄩ櫌鐥呭尯鍙湁 HIS 閾捐矾鑳戒粠 {@code pat_med_inhosp} 鎷垮埌锛夛紝
+     * <b>绉戝 / 鐥呭尯涓�寰嬭惤绂婚櫌缁村害</b>锛坽@code leaveldeptcode/name}銆亄@code leavehospitaldistrictcode/name}锛夈��
+     *
+     * @param serviceTaskVO 寤轰换鍔″叆鍙�
+     * @return 宸叉寜绂婚櫌缁村害褰掍綅鐨勫瓙浠诲姟瀵硅薄锛堝湪闄㈢淮搴︿负绌猴級
+     */
+    private ServiceSubtask toSubtaskFromTaskVO(ServiceTaskVO serviceTaskVO) {
+        ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
+        // 鈶� 鍦ㄩ櫌缁村害蹇呴』娓呯┖锛氫换鍔¢厤缃殑绉戝涓嶆槸鎮h�呮湰浜虹殑鍦ㄩ櫌绉戝
+        serviceSubtask.setDeptcode(null);
+        serviceSubtask.setDeptname(null);
+        serviceSubtask.setHospitaldistrictcode(null);
+        serviceSubtask.setHospitaldistrictname(null);
+        // 鈶� 绉戝 / 鐥呭尯 鈫� 绂婚櫌缁村害锛堝閫変覆鍙栫涓�涓紝瀛愪换鍔℃槸鍗曞�煎垪锛�
+        serviceSubtask.setLeaveldeptcode(firstValue(serviceTaskVO.getDeptcode()));
+        serviceSubtask.setLeaveldeptname(firstValue(serviceTaskVO.getDeptname()));
+        serviceSubtask.setLeavehospitaldistrictcode(firstValue(serviceTaskVO.getLeavehospitaldistrictcode()));
+        serviceSubtask.setLeavehospitaldistrictname(firstValue(serviceTaskVO.getLeavehospitaldistrictname()));
+        return serviceSubtask;
+    }
+
+    /**
      * 鍗曚竴浠诲姟
      *
      * @return 缁撴灉
@@ -1825,7 +1880,8 @@
 //            }
 
             //灏嗕换鍔′俊鎭斁鍒版湇鍔¤〃涓�
-            ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
+            // 绉戝/鐥呭尯鎸夈�岀闄㈢淮搴︺�嶅綊浣嶏紙鍑洪櫌闅忚鐨勭瀹ょ梾鍖哄氨鏄闄㈢瀹�/鐥呭尯锛夛紝瑙� toSubtaskFromTaskVO
+            ServiceSubtask serviceSubtask = toSubtaskFromTaskVO(serviceTaskVO);
             serviceSubtask.setTaskid(serviceTask.getTaskid().longValue());
             serviceSubtask.setTemplatename(ObjectUtils.isNotEmpty(tempid) ? tempName : serviceTask.getTemplatename());
             serviceSubtask.setTemplateid(ObjectUtils.isNotEmpty(tempid) ? tempid : serviceTask.getTemplateid());
@@ -1846,15 +1902,18 @@
                     serviceSubtask.setInhospid(patTaskRelevance.getHospid());
                     //鏂板缓瀹屾垚灏辨槸寰呭彂閫佺姸鎬�
                     serviceSubtask.setSendstate(2L);
-                    String subtaskDeptCode = patTaskRelevance.getDeptcode();
-                    if (StringUtils.isEmpty(subtaskDeptCode) && StringUtils.isNotEmpty(serviceTaskVO.getDeptcode())) {
-                        // service_subtask.leaveldeptcode 涓哄崟鍊煎瓧娈碉紝涓嶈兘鍐欏叆浠诲姟鐨勫绉戝鎷兼帴涓诧紝鍙栫涓�涓瀹ゅ厹搴�
-                        subtaskDeptCode = serviceTaskVO.getDeptcode().split(",")[0].trim();
-                    }
-                    serviceSubtask.setLeaveldeptcode(subtaskDeptCode);
-                    serviceSubtask.setLeaveldeptname(StringUtils.isNotEmpty(patTaskRelevance.getDeptName()) ? patTaskRelevance.getDeptName() : serviceTaskVO.getDeptname());
-                    serviceSubtask.setLeavehospitaldistrictcode(patTaskRelevance.getLeavehospitaldistrictcode());
-                    serviceSubtask.setLeavehospitaldistrictname(patTaskRelevance.getLeavehospitaldistrictname());
+                    // 绂婚櫌缁村害锛堝嚭闄㈤殢璁� = 鍑洪櫌绉戝 / 鍑洪櫌鐥呭尯锛夛細
+                    // 鎮h�呰嚜甯︾殑鍑洪櫌绉戝/鐥呭尯浼樺厛锛屾偅鑰呬晶娌″甫锛堝墠绔墜鍔ㄥ嬀閫夊緢甯歌锛夋椂鍥為��鍒颁换鍔¢厤缃紝
+                    // 涓嶈兘鏃犳潯浠惰鐩� 鈥斺�� 鍚﹀垯浼氭妸 toSubtaskFromTaskVO 鎸変换鍔¢厤缃厹濂界殑绂婚櫌缁村害鎶规垚 null锛�
+                    // 缁撴灉銆屼换鍔¢厤浜嗙瀹ょ梾鍖恒�佺敓鎴愬嚭鏉ョ殑瀛愪换鍔$闄㈢瀹�/鐥呭尯鍗存槸绌恒�嶃��
+                    serviceSubtask.setLeaveldeptcode(firstNonBlank(patTaskRelevance.getDeptcode(),
+                            firstValue(serviceTaskVO.getDeptcode())));
+                    serviceSubtask.setLeaveldeptname(firstNonBlank(patTaskRelevance.getDeptName(),
+                            firstValue(serviceTaskVO.getDeptname())));
+                    serviceSubtask.setLeavehospitaldistrictcode(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictcode(),
+                            firstValue(serviceTaskVO.getLeavehospitaldistrictcode())));
+                    serviceSubtask.setLeavehospitaldistrictname(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictname(),
+                            firstValue(serviceTaskVO.getLeavehospitaldistrictname())));
                     serviceSubtask.setType(serviceTaskVO.getType());
                     serviceSubtask.setHospType(patTaskRelevance.getHospType());
                     serviceSubtask.setOpenid(patTaskRelevance.getOpenid());
@@ -2212,7 +2271,8 @@
             }
             if (CollectionUtils.isNotEmpty(serviceTaskVO.getPatTaskRelevances())) {
                 for (PatTaskRelevance patTaskRelevance : serviceTaskVO.getPatTaskRelevances()) {
-                    ServiceSubtask serviceSubtask = DtoConversionUtils.sourceToTarget(serviceTaskVO, ServiceSubtask.class);
+                    // 绉戝/鐥呭尯鎸夈�岀闄㈢淮搴︺�嶅綊浣嶏紙鍑洪櫌闅忚鐨勭瀹ょ梾鍖哄氨鏄闄㈢瀹�/鐥呭尯锛夛紝瑙� toSubtaskFromTaskVO
+                    ServiceSubtask serviceSubtask = toSubtaskFromTaskVO(serviceTaskVO);
                     serviceSubtask.setLibtemplateid(ObjectUtils.isEmpty(serviceTaskVO.getLibtemplateid()) ? null : Long.valueOf(serviceTaskVO.getLibtemplateid()));
                     serviceSubtask.setLibtemplatename(serviceTaskVO.getLibtemplatename());
                     serviceSubtask.setTemplateid(serviceTask.getTemplateid());
@@ -2224,10 +2284,16 @@
                     serviceSubtask.setAddr(patTaskRelevance.getAddr());
                     serviceSubtask.setPatid(patTaskRelevance.getPatid());
                     serviceSubtask.setOpenid(patTaskRelevance.getOpenid());
-                    serviceSubtask.setLeaveldeptcode(patTaskRelevance.getDeptcode());
-                    serviceSubtask.setLeavehospitaldistrictname(patTaskRelevance.getLeavehospitaldistrictname());
-                    serviceSubtask.setLeavehospitaldistrictcode(patTaskRelevance.getLeavehospitaldistrictcode());
-                    serviceSubtask.setLeaveldeptname(patTaskRelevance.getDeptName());
+                    // 绂婚櫌缁村害锛氭偅鑰呰嚜甯︾殑鍑洪櫌绉戝/鐥呭尯浼樺厛锛屾病甯︽椂鍥為��鍒颁换鍔¢厤缃紙鍚﹀垯浼氭妸
+                    // toSubtaskFromTaskVO 鎸変换鍔¢厤缃厹濂界殑鍊兼姽鎴� null锛屽嚭闄㈤殢璁垮氨鎴愩�岀闄㈢瀹�/鐥呭尯涓虹┖銆嶏級
+                    serviceSubtask.setLeaveldeptcode(firstNonBlank(patTaskRelevance.getDeptcode(),
+                            firstValue(serviceTaskVO.getDeptcode())));
+                    serviceSubtask.setLeaveldeptname(firstNonBlank(patTaskRelevance.getDeptName(),
+                            firstValue(serviceTaskVO.getDeptname())));
+                    serviceSubtask.setLeavehospitaldistrictcode(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictcode(),
+                            firstValue(serviceTaskVO.getLeavehospitaldistrictcode())));
+                    serviceSubtask.setLeavehospitaldistrictname(firstNonBlank(patTaskRelevance.getLeavehospitaldistrictname(),
+                            firstValue(serviceTaskVO.getLeavehospitaldistrictname())));
                     serviceSubtask.setType(serviceTaskVO.getType());
                     serviceSubtask.setCreateTime(DateUtils.getNowDate());
                     serviceSubtask.setDrname(patTaskRelevance.getDrname());
diff --git a/ruoyi-task/src/main/resources/mapper/task/ServiceSubtaskMapper.xml b/ruoyi-task/src/main/resources/mapper/task/ServiceSubtaskMapper.xml
index a6a536b..5a56e4d 100644
--- a/ruoyi-task/src/main/resources/mapper/task/ServiceSubtaskMapper.xml
+++ b/ruoyi-task/src/main/resources/mapper/task/ServiceSubtaskMapper.xml
@@ -109,6 +109,8 @@
         <result property="isManuallyCalled" column="is_manually_called"/>
         <result property="campusid" column="campusid"/>
         <result property="diagType" column="diag_type"/>
+        <!-- 2026-11锛氶噸瑕佹�ф爣璁扮紪鐮侊紙鏃ラ棿鎵嬫湳/鏃ラ棿璇婄枟/鏃犫�︼級锛屽缓浠诲姟鏃跺彇鑷� pat_med_inhosp -->
+        <result property="importanceFlagCode" column="importance_flag_code"/>
     </resultMap>
 
     <resultMap type="com.ruoyi.task.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2">
@@ -244,6 +246,7 @@
                hospitaldistrictname,
                deptcode,
                deptname,
+               importance_flag_code,
                stop_state,
                leavehospitaldistrictcode,
                leavehospitaldistrictname,
@@ -720,6 +723,26 @@
         <if test="operatorNo != null  and operatorNo != ''">and operator_no = #{operatorNo}</if>
         <if test="wechat != null  and wechat != ''">and wechat = #{wechat}</if>
         <if test="hospType != null  and hospType != ''">and hosp_type = #{hospType}</if>
+        <!--
+          2026-11锛氶噸瑕佹�ф爣璁扮瓫閫夛紙瀵瑰簲 service_subtask.importance_flag_code锛屽缓浠诲姟鏃跺彇鑷�
+          pat_med_inhosp.importance_flag_code锛夈�備袱绉嶅啓娉曪細
+            鈶� 绮剧‘鍗曞��  importanceFlagCode = 'FH0165.01'锛堟垨鎻忚堪鍙e緞 '鏃ラ棿鎵嬫湳'锛�
+            鈶� 绮剧‘澶氬��  importanceFlagCodes = ['FH0165.01','FH0165.02']
+          璇ュ垪閲囬泦鏃跺氨琚嫾鎴�**鎻忚堪涓�**锛圛mportFlagEnum 鐨� desc锛夛紝澶氬�肩敤鑻辨枃閫楀彿鎷兼帴锛�
+          濡� '鏃�,鏃ラ棿鎵嬫湳'锛堣 ServiceSLTDHealthcareRecordServiceImpl#hospitalizedApply锛夆�斺��
+          绛夊��/IN 鍙懡涓崟鍊艰锛涘鍊艰锛堢幇鍦轰粎 7 鏉★紝閮藉湪鍑洪櫌璁板綍涓婏級瑕佺瓫鍏ㄩ渶鑷鍐�
+          find_in_set銆備袱绉嶅彛寰勫苟瀛橈紙鏈夊簱瀛樻灇涓剧紪鐮併�佹湁搴撳瓨涓枃鎻忚堪锛夛紝浼犱粈涔堟寜浠�涔堢簿纭瘮锛�
+          涓嶅仛鍊煎煙褰掍竴銆�
+        -->
+        <if test="importanceFlagCode != null  and importanceFlagCode != ''">
+            and importance_flag_code = #{importanceFlagCode}
+        </if>
+        <if test="importanceFlagCodes != null and importanceFlagCodes.size() > 0">
+            AND importance_flag_code IN
+            <foreach collection="importanceFlagCodes" item="impFlagItem" open="(" separator="," close=")">
+                #{impFlagItem}
+            </foreach>
+        </if>
         <if test="libtemplateid != null ">and libtemplateid = #{libtemplateid}</if>
         <if test="libtemplatename != null ">and libtemplatename = #{libtemplatename}</if>
         <if test="openid != null ">and openid = #{openid}</if>
@@ -1191,6 +1214,8 @@
             <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">hospitaldistrictname,</if>
             <if test="deptcode != null  and deptcode != ''">deptcode,</if>
             <if test="deptname != null  and deptname != ''">deptname,</if>
+            <!-- 2026-11锛氶噸瑕佹�ф爣璁扮紪鐮侊紙鏃ラ棿鎵嬫湳/鏃ラ棿璇婄枟鈥︼級锛屽缓浠诲姟鏃朵粠 pat_med_inhosp 鍚屾 -->
+            <if test="importanceFlagCode != null  and importanceFlagCode != ''">importance_flag_code,</if>
             <if test="labelstatus != null">labelstatus,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
@@ -1300,6 +1325,7 @@
             <if test="hospitaldistrictname != null  and hospitaldistrictname != ''">#{hospitaldistrictname},</if>
             <if test="deptcode != null  and deptcode != ''">#{deptcode},</if>
             <if test="deptname != null  and deptname != ''">#{deptname},</if>
+            <if test="importanceFlagCode != null  and importanceFlagCode != ''">#{importanceFlagCode},</if>
             <if test="labelstatus != null">#{labelstatus},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
diff --git a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
index eeb85f1..6830191 100644
--- a/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
+++ b/smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -828,6 +828,9 @@
         serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
         serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname());
         serviceSubtask.setDiagname(patMedInhosp1.getDiagname());
+        // 2026-11锛氶噸瑕佹�ф爣璁帮紙鍚�屾棩闂淬�嶏級闅忎换鍔¤蛋锛屼笌 ruoyi-inhospvisit 鐨勫彛寰勪竴鑷淬��
+        // 鏈潯閾捐矾鏄�屼汉宸ユ柊澧為殢璁� / 鐤剧梾缁村害銆嶄粛鍦ㄧ敤鐨勯仐鐣欏疄鐜般��
+        serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode());
         serviceSubtask.setTemplateid(serviceTask.getTemplateid());
         serviceSubtask.setTemplatename(serviceTask.getTemplatename());
         serviceSubtask.setPatid(patArchive.getId());
@@ -933,6 +936,8 @@
         serviceSubtask.setLeavehospitaldistrictname(patMedInhosp1.getLeavehospitaldistrictname());
         serviceSubtask.setLeaveicd10code(patMedInhosp1.getLeaveicd10code());
         serviceSubtask.setLeavediagname(patMedInhosp1.getLeavediagname());
+        // 2026-11锛氶噸瑕佹�ф爣璁帮紙鍚�屾棩闂淬�嶏級闅忎换鍔¤蛋锛堝彛寰勫悓涓婏級
+        serviceSubtask.setImportanceFlagCode(patMedInhosp1.getImportanceFlagCode());
 
         serviceSubtask.setTemplateid(serviceTask.getTemplateid());
         serviceSubtask.setTemplatename(serviceTask.getTemplatename());

--
Gitblit v1.9.3