From 3d047130b059efd46f56be37465a751ab16ee8cb Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 11 十一月 2026 14:06:56 +0800
Subject: [PATCH] Merge branch 'smartor_ls_merge' into 20261111-妇幼档案随访

---
 ruoyi-inhospvisit/src/main/java/com/ruoyi/inhospvisit/support/VisitSubtaskFactory.java |   73 +++++++++++++++++++++++++++++++++---
 1 files changed, 66 insertions(+), 7 deletions(-)

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 85f67ae..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
@@ -48,6 +48,26 @@
  * 鏂规鍘熻鍒掑彨 {@code VisitSubtaskFactory} 骞跺悓鏃舵壙杞� {@code writeInSubTask}銆�
  * 瀹為檯瀹炵幇鏃舵妸瀹冩敹绐勪负"绾粍瑁� + 绾伐鍏�"锛屽洜涓� {@code writeInSubTask}锛�232 琛岋級閲屾湁澶ч噺
  * 鍐欏簱涓庡幓閲嶇紪鎺掞紝娣峰湪涓�璧蜂細璁╂湰绫荤殑 A 妗i�愯绛変环鎺㈤拡澶卞幓鎰忎箟銆�
+ *
+ * <h3>鈿狅笍 涓ゅ鏈夋剰鐨�"闈炴惉杩�"琛�</h3>
+ * <ol>
+ *   <li><b>{@code hospno}</b>锛歿@link #boxedServiceSubtask} 閲屽浜嗕竴鍙�
+ *       {@code d.setHospno(inhosp.getInhospno())}銆傚師瀹炵幇纭疄<b>娌℃湁</b>杩欎竴鍙ワ紝
+ *       鎵�浠ュ嚭闄㈤摼璺殑 {@code service_subtask.hospno} 涓�鐩磋惤绌猴紱
+ *       鑰� {@code ServiceSubtask.hospno} 鐨勮涔夊氨鏄�"灏辫瘖缂栧彿锛堝搴旂殑 outhospno銆乮nhospno锛�"銆�
+ *       杩欐槸<b>鏈夋剰琛ラ綈</b>锛屼笉鏄妱婕� 鈥斺�� 鍙嶅悜鎺㈤拡锛坽@code verify_inhospvisit_boxed_fields.py}锛�
+ *       鍙牎楠�"鍘� setter 鏄惁閮芥湁瀵瑰簲璋冪敤"锛屼笉浼氬洜姝ゆ姤閿欍��</li>
+ *   <li><b>campusid 涓嶅啀琚┖鍊艰鐩�</b>锛�2026-10-29 淇級锛氬師瀹炵幇鏃犳潯浠�
+ *       {@code d.setCampusid(inhosp.getCampusid())}锛屼細鎶婁粠闀挎湡浠诲姟鎼潵鐨勯櫌鍖烘姽鎴� {@code null}銆�
+ *       鍚庢灉鏄换鍔¤惤搴� {@code campusid=NULL}锛岃�岄殢璁垮垪琛ㄦ帴鍙�
+ *       锛坽@code ServiceSubtaskController#patItem}锛夊己鍒剁敤鐧诲綍鐢ㄦ埛鐨勯櫌鍖鸿繃婊�
+ *       锛坽@code and campusid = #{campusid}}锛夛紝NULL 涓嶅尮閰嶄换浣曞�� 鈫�
+ *       <b>浠诲姟瀛樺湪銆侀〉闈㈡案杩滄煡涓嶅埌</b>銆傚疄娴嬪崡鍗庨檮涓� 2026-07 鏈� 894 鏉¤繖鏍�"鐢熸垚浜嗕絾涓嶆樉绀�"鐨�
+ *       鍑洪櫌闅忚浠诲姟锛堝叾涓绉戜腑蹇冧竴鐥呭尯 25 鏉★級銆傜幇鏀逛负"鍑洪櫌璁板綍鏈夐櫌鍖烘墠瑕嗙洊"銆�
+ *       鈿狅笍 杩欐槸<b>琛屼负鍙樻洿</b>锛堜笉鏄瓑浠锋惉杩侊級锛岃Е鍙戞潯浠跺彧鏈�"鍑洪櫌璁板綍闄㈠尯涓虹┖"杩欎竴绉嶏紝
+ *       鍏朵綑鎯呭喌浠嶄笌鍘熷疄鐜板畬鍏ㄤ竴鑷淬�傚巻鍙叉暟鎹洖濉剼鏈細
+ *       {@code sql/fix_nhfy_鍑洪櫌闅忚浠诲姟闄㈠尯鐥呭尯鍥炲~_20261029.sql}銆�</li>
+ * </ol>
  */
 @Slf4j
 @Component
@@ -104,16 +124,38 @@
         d.setNurseId(inhosp.getNurseId());
         d.setNurseName(inhosp.getNurseName());
         d.setInhospid(inhosp.getInhospid());
+        // 鈿狅笍 杩欎竴琛屾槸銆愯ˉ鐨勩�戯紝涓嶆槸鎼繍锛�
+        //   鍘� boxedServiceSubtask 浠庢湭璁� hospno锛岃�� ServiceSubtask.hospno 鐨勮涔夋槸
+        //   "灏辫瘖缂栧彿锛堝搴旂殑 outhospno銆乮nhospno锛�"锛堣 ServiceSubtask 瀛楁娉ㄩ噴锛夈��
+        //   缁撴灉灏辨槸鍑洪櫌閾捐矾鐨� service_subtask.hospno 涓�鐩存槸 NULL锛屼笌闂ㄨ瘖閾捐矾涓嶄竴鑷淬��
+        //   鍙栧�硷細pat_med_inhosp.inhospno锛堥棬璇婁晶鍙� pat_med_outhosp.outhospno锛岃 OuthospSubtaskDraft锛夈��
+        d.setHospno(inhosp.getInhospno());
         d.setDrcode(inhosp.getDrcode());
         d.setDrname(inhosp.getDrname());
-        d.setDeptcode(inhosp.getLeaveldeptcode());
-        d.setDeptname(inhosp.getLeaveldeptname());
+        d.setLeaveldeptcode(inhosp.getLeaveldeptcode());
+        d.setLeaveldeptname(inhosp.getLeaveldeptname());
         d.setLeavehospitaldistrictcode(inhosp.getLeavehospitaldistrictcode());
         d.setLeavehospitaldistrictname(inhosp.getLeavehospitaldistrictname());
+        // ---- 2026-11 鏂板锛氬湪闄㈢淮搴﹁惤銆屽鐢ㄥ垪銆� ----
+        //   鑳屾櫙锛歴ervice_subtask 鐨� deptcode/deptname 鏀瑰悕 leaveldeptcode/leaveldeptname锛�
+        //         鍘� sendlimitabegin/aend銆乻endlimitpbegin/pend 鍥涗釜绌哄垪澶嶇敤涓�
+        //         hospitaldistrictcode/name锛堝湪闄㈢梾鍖猴級銆乨eptcode/name锛堝湪闄㈢瀹わ級銆�
+        //   鍙e緞锛氬嚭闄㈢淮搴︿粛鎸夊師鍐欐硶钀� leavel*锛堜笅闈� type 4/5 鐨勮鐩栦篃淇濇寔鍘熸牱锛岃惤搴撲綅缃笉鍙橈級锛�
+        //         杩欓噷鍙槸鎶� pat_med_inhosp 鐨勩�屽湪闄㈢瀹� / 鍦ㄩ櫌鐥呭尯銆嶉澶栧瓨涓�浠斤紝渚夸簬鎸夊湪闄㈢淮搴︾粺璁°��
+        d.setDeptcode(inhosp.getDeptcode());
+        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.setDeptcode(inhosp.getDeptcode());
-            d.setDeptname(inhosp.getDeptname());
+            d.setLeaveldeptcode(inhosp.getDeptcode());
+            d.setLeaveldeptname(inhosp.getDeptname());
             d.setLeavehospitaldistrictcode(inhosp.getHospitaldistrictcode());
             d.setLeavehospitaldistrictname(inhosp.getHospitaldistrictname());
         }
@@ -134,7 +176,17 @@
         d.setAge(archive.getAge());
         // ---- 鍘� L1147-1163 ----
         d.setSendstate(2L);
-        d.setCampusid(inhosp.getCampusid());
+        // 鈿狅笍 绗簩澶勩�愭湁鎰忓亸绂诲師瀹炵幇銆戯紙2026-10-29锛岃绫绘敞閲�"campusid 涓嶅啀琚┖鍊艰鐩�"锛夛細
+        //   鍘熷疄鐜版棤鏉′欢 d.setCampusid(inhosp.getCampusid())锛屼細鎶婁笂闈粠闀挎湡浠诲姟鎼潵鐨勯櫌鍖烘姽鎴� null銆�
+        //   绾夸笂鍚庢灉锛氫换鍔¤惤搴� campusid=NULL 鈫�
+        //   ServiceSubtaskController#patItem 寮哄埗 setCampusid(鐧诲綍鐢ㄦ埛闄㈠尯)锛�
+        //   SQL 鏉′欢 `and campusid = #{campusid}` 鈫� 璇ヤ换鍔″浠讳綍浜洪兘涓嶆樉绀猴紙"鐢熸垚浜嗕絾鏌ヤ笉鍒�"锛夈��
+        //   瀹炴祴鍗楀崕闄勪竴 2026-07锛�894 鏉″嚭闄㈤殢璁夸换鍔″洜姝ゅ湪椤甸潰涓婁笉鍙
+        //   锛堝叾涓绉戜腑蹇冧竴鐥呭尯 25 鏉★紝姝f槸"鍑洪櫌 475 鏉� / 闅忚 444 鏉�"鐨勬潵婧愶級銆�
+        //   杩欓噷鏀逛负"鍑洪櫌璁板綍鏈夐櫌鍖烘墠瑕嗙洊"锛屽嚭闄㈣褰曞彇涓嶅埌鏃朵繚鐣欎换鍔¤嚜甯︾殑闄㈠尯銆�
+        if (StringUtils.isNotEmpty(inhosp.getCampusid())) {
+            d.setCampusid(inhosp.getCampusid());
+        }
         d.setManagementDoctor(inhosp.getManagementDoctor());
         d.setManagementDoctorCode(inhosp.getManagementDoctorCode());
         d.setStarttime(inhosp.getStarttime());
@@ -253,10 +305,17 @@
         d.setInhospid(inhosp.getInhospid());
         d.setDrcode(inhosp.getDrcode());
         d.setDrname(inhosp.getDrname());
-        d.setDeptcode(inhosp.getLeaveldeptcode());
-        d.setDeptname(inhosp.getLeaveldeptname());
+        d.setLeaveldeptcode(inhosp.getLeaveldeptcode());
+        d.setLeaveldeptname(inhosp.getLeaveldeptname());
+        // 2026-11锛氬叆闄�/鍦ㄩ櫌缁村害钀姐�屽鐢ㄥ垪銆嶏紙鍙e緞鍚� boxedServiceSubtask锛�
+        d.setDeptcode(inhosp.getDeptcode());
+        d.setDeptname(inhosp.getDeptname());
+        d.setHospitaldistrictcode(inhosp.getHospitaldistrictcode());
+        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());

--
Gitblit v1.9.3