From fce96ef468291fb9a0e6a4d34ab371315e9485d4 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期六, 03 十月 2026 00:59:44 +0800
Subject: [PATCH] ai优化

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java |  117 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 107 insertions(+), 10 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java
index ea4424c..5943f62 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/ActionTypeEnum.java
@@ -3,20 +3,55 @@
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 
+import java.util.Arrays;
+import java.util.List;
+
 /**
- * Action绫诲瀷鏋氫妇
+ * HIS 鎶ユ枃 header 涓� action 鐨勫彇鍊兼灇涓俱��
+ *
+ * <h3>鍏充簬 PACS / ECG 鐨� action 鍖哄垎</h3>
+ * 闄㈡柟銆婁氦浜掓湇鍔¢�氱敤鎺ュ彛鏂囨。銆嬩腑锛屽悓涓�鏈嶅姟鍦ㄤ笉鍚岀郴缁熶笅浣跨敤**涓嶅悓鐨勪氦鏄撶紪鍙�**锛�
+ * <pre>
+ *   6.4 妫�鏌ラ绾︾姸鎬佹柊澧烇細S050401锛坧acs锛� / S050402锛圗CG锛�
+ *   6.5 妫�鏌ラ绾︾姸鎬佹洿鏂帮細S050501锛坧acs锛� / S050502锛圗CG锛�
+ * </pre>
+ *
+ * <p><b>瀹炴祴缁撹锛�2026-09-17 鏃ュ織锛屽叡 1753 鏉¤姹傦級</b>锛氬疄闄呭埌杈剧殑 action 鍙湁
+ * {@code S0405}銆亄@code S050401}銆亄@code S0201ECG}銆亄@code S0202ECG}銆�
+ * {@code S050501}銆亄@code S040501HIS} 鍏锛屽叾涓�
+ * <b>{@code S050402} 涓� {@code S050502} 鍑虹幇 0 娆�</b>銆�
+ * 鍗抽櫌鏂瑰綋鍓嶈蛋鐨勬槸 pacs 缂栧彿锛孍CG 涓撳睘缂栧彿灏氭湭鍚敤銆�
+ *
+ * <p>涓轰簡鍦ㄩ櫌鏂瑰垏鎹㈢紪鍙锋椂涓嶄涪娑堟伅锛岃繖閲�**鍚屾椂娉ㄥ唽涓ょ缂栧彿**锛堜富鍔ㄥ吋瀹癸級锛�
+ * 骞堕澶栧吋瀹圭敵璇峰崟鏂板/鏇存柊鐨勬棤鍚庣紑鍐欐硶 {@code S0201} / {@code S0202}
+ * 锛堟枃妗e彧瀹氫箟浜嗘棤鍚庣紑褰㈠紡锛岃�屽疄娴嬫姤鏂囧甫 {@code ECG} 鍚庣紑锛夈��
+ *
+ * @author 蹇冪數鎺掗槦瑁呮満绯荤粺
  */
 @Getter
 @AllArgsConstructor
 public enum ActionTypeEnum {
 
+    // ---------- 6.1 鐢宠鍗曟柊澧烇紙鏂囨。涓� S0201锛屽疄娴嬫姤鏂囦负 S0201ECG锛屼袱绉嶉兘鍏煎锛� ----------
     S0201ECG("S0201ECG", "鐢宠鍗曞垱寤�"),
-    S0202ECG("S0202ECG", "鐢宠鍗曟洿鏂�"),
-    S040501HIS("S040501HIS", "棰勭害鏇存柊"),
-    S050401("S050401", "妫�鏌ラ绾︾姸鎬佹柊澧�"),
-    S0405("S0405", "鐢宠鍗曠櫥璁扮姸鎬佹洿鏂�"),
-    S050501("S050501", "妫�鏌ラ绾︾姸鎬佷慨鏀�");
+    S0201("S0201", "鐢宠鍗曞垱寤�"),
 
+    // ---------- 6.2 鐢宠鍗曟洿鏂帮紙鏂囨。涓� S0202锛屽疄娴嬫姤鏂囦负 S0202ECG锛� ----------
+    S0202ECG("S0202ECG", "鐢宠鍗曟洿鏂�"),
+    S0202("S0202", "鐢宠鍗曟洿鏂�"),
+
+    // ---------- 6.3 鐢宠鍗曠姸鎬佹洿鏂帮紙鍏ㄩ櫌閫氱敤锛屼笉鍖哄垎绉戝锛� ----------
+    S040501HIS("S040501HIS", "棰勭害鏇存柊"),
+    S0405HIS("S0405HIS", "鐢宠鍗曠姸鎬佹洿鏂�"),
+    S0405("S0405", "鐢宠鍗曠櫥璁扮姸鎬佹洿鏂�"),
+
+    // ---------- 6.4 妫�鏌ラ绾︾姸鎬佹柊澧烇紙pacs / ECG 涓ょ缂栧彿閮芥帴鏀讹級 ----------
+    S050401("S050401", "妫�鏌ラ绾︾姸鎬佹柊澧�"),   // pacs
+    S050402("S050402", "妫�鏌ラ绾︾姸鎬佹柊澧�"),   // ECG锛堟枃妗e畾涔夛紝褰撳墠鏈惎鐢紝涓诲姩鍏煎锛�
+
+    // ---------- 6.5 妫�鏌ラ绾︾姸鎬佹洿鏂帮紙pacs / ECG 涓ょ缂栧彿閮芥帴鏀讹級 ----------
+    S050501("S050501", "妫�鏌ラ绾︾姸鎬佷慨鏀�"),   // pacs
+    S050502("S050502", "妫�鏌ラ绾︾姸鎬佷慨鏀�");   // ECG锛堟枃妗e畾涔夛紝褰撳墠鏈惎鐢紝涓诲姩鍏煎锛�
 
     /**
      * 绫诲瀷
@@ -28,17 +63,79 @@
     private final String description;
 
     /**
-     * 鏍规嵁绫诲瀷鑾峰彇鏋氫妇
+     * 鏍规嵁绫诲瀷鑾峰彇鏋氫妇銆�
+     * <p>
+     * 鍏煎澶勭悊锛氬叆鍙傚厛鍘婚櫎棣栧熬绌虹櫧锛涜嫢鏈懡涓紝鍐嶅皾璇曞拷鐣ュぇ灏忓啓鍖归厤锛�
+     * 閬垮厤鍥� HIS 渚уぇ灏忓啓涓嶄竴鑷达紙濡� {@code s0201ecg}锛夊鑷存暣鏉℃秷鎭鎷掋��
      *
-     * @param type 绫诲瀷
-     * @return 鏋氫妇
+     * @param type action 鍊�
+     * @return 鏋氫妇锛涙棤娉曡瘑鍒椂杩斿洖 null
      */
     public static ActionTypeEnum getByType(String type) {
+        if (type == null) {
+            return null;
+        }
+        String trimmed = type.trim();
+        if (trimmed.isEmpty()) {
+            return null;
+        }
+        // 1. 绮剧‘鍖归厤
         for (ActionTypeEnum value : values()) {
-            if (value.getType().equals(type)) {
+            if (value.type.equals(trimmed)) {
+                return value;
+            }
+        }
+        // 2. 蹇界暐澶у皬鍐欏厹搴�
+        for (ActionTypeEnum value : values()) {
+            if (value.type.equalsIgnoreCase(trimmed)) {
                 return value;
             }
         }
         return null;
     }
+
+    /** 鐢宠鍗曟柊澧炵被 action锛堝惈鏃犲悗缂�鍏煎鍐欐硶锛� */
+    public static final List<ActionTypeEnum> APPLY_CREATE_ACTIONS =
+            Arrays.asList(S0201ECG, S0201);
+
+    /** 鐢宠鍗曟洿鏂扮被 action锛堝惈鏃犲悗缂�鍏煎鍐欐硶锛� */
+    public static final List<ActionTypeEnum> APPLY_UPDATE_ACTIONS =
+            Arrays.asList(S0202ECG, S0202);
+
+    /** 鐢宠鍗曠姸鎬佹洿鏂扮被 action锛堝叏闄㈤�氱敤锛� */
+    public static final List<ActionTypeEnum> APPLY_STATUS_ACTIONS =
+            Arrays.asList(S040501HIS, S0405HIS, S0405);
+
+    /** 妫�鏌ラ绾︾姸鎬佹柊澧炵被 action锛坧acs + ECG锛� */
+    public static final List<ActionTypeEnum> APPOINTMENT_STATUS_CREATE_ACTIONS =
+            Arrays.asList(S050401, S050402);
+
+    /** 妫�鏌ラ绾︾姸鎬佹洿鏂扮被 action锛坧acs + ECG锛� */
+    public static final List<ActionTypeEnum> APPOINTMENT_STATUS_UPDATE_ACTIONS =
+            Arrays.asList(S050501, S050502);
+
+    /** 鏄惁涓虹敵璇峰崟鏂板 */
+    public boolean isApplyCreate() {
+        return APPLY_CREATE_ACTIONS.contains(this);
+    }
+
+    /** 鏄惁涓虹敵璇峰崟鏇存柊 */
+    public boolean isApplyUpdate() {
+        return APPLY_UPDATE_ACTIONS.contains(this);
+    }
+
+    /** 鏄惁涓虹敵璇峰崟鐘舵�佹洿鏂帮紙鍏ㄩ櫌閫氱敤娴侊紝闇�瑕佹寜蹇冪數涓氬姟杩囨护锛� */
+    public boolean isApplyStatusUpdate() {
+        return APPLY_STATUS_ACTIONS.contains(this);
+    }
+
+    /** 鏄惁涓烘鏌ラ绾︾姸鎬佹柊澧� */
+    public boolean isAppointmentStatusCreate() {
+        return APPOINTMENT_STATUS_CREATE_ACTIONS.contains(this);
+    }
+
+    /** 鏄惁涓烘鏌ラ绾︾姸鎬佹洿鏂� */
+    public boolean isAppointmentStatusUpdate() {
+        return APPOINTMENT_STATUS_UPDATE_ACTIONS.contains(this);
+    }
 }

--
Gitblit v1.9.3