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