From 68ff33beff11310e830b0615b5a81f83fad0f683 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期日, 08 十一月 2026 23:33:14 +0800
Subject: [PATCH] ai优化

---
 jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckNameEnum.java |   82 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 78 insertions(+), 4 deletions(-)

diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckNameEnum.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckNameEnum.java
index f8fa31a..b365dd0 100644
--- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckNameEnum.java
+++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/enums/HisCheckNameEnum.java
@@ -4,7 +4,20 @@
 import lombok.Getter;
 
 /**
- * His鐨凜heck_type绫诲瀷鏋氫妇
+ * His鐨凜heck_type绫诲瀷鏋氫妇锛堟寜 HIS 浼犳潵鐨�**妫�鏌ラ」鐩悕绉�**鏄犲皠鏈湴 check_type锛�
+ *
+ * <p>娉ㄦ剰锛氬悓涓�涓鏌ュ湪 HIS 渚у彲鑳芥湁澶氫釜鍙硶锛屾湰鏋氫妇鐢ㄣ�屼竴涓�兼寕澶氫釜鍚嶇О銆嶇殑鏂瑰紡鍏煎銆�
+ * 瀹炴祴 2026-10-04/05锛氳繍鍔ㄨ瘯楠岃繖涓�椤� HIS 渚ф敼鍚嶈繃鈥斺��
+ * 銆屽钩鏉胯繍鍔ㄥ績鐢点�嶏紙鏃э級鈫掋�屽钩鏉胯繍鍔ㄨ瘯楠屻�嶏紙鐜帮級锛岃�屾湰鍦� check_type 涓�鐩存槸 400銆�
+ * 鍚嶇О鏄犲皠涓嶅埌鏃讹紝{@code handleAppointmentCreate} 浼氶��鍥炴寜 HIS 妫�鏌ヤ唬鐮佹槧灏�
+ * 锛坽@link HisCheckCodeEnum}锛夛紝涓ゆ潯璺换涓�鏉¢�氬嵆鍙紝閬垮厤鍐嶅嚭鐜� book_check_type 涓虹┖銆�</p>
+ *
+ * <p>瀹炴祴 2026-10-07 鍙堝彂鐜拌鍘嬬被鍚屾牱鐨勯棶棰橈細HIS 鍙戠殑鏄��24灏忔椂鍔ㄦ�佽鍘嬬洃娴嬨�嶏紝
+ * 鑰屾灇涓鹃噷褰撴椂鍙湁銆屽姩鎬佽鍘嬨�嶏紝绮剧‘鍖归厤澶辫触锛堟棩蹇楋細
+ * {@code [handleAppointmentCreate][浣撴鎮h�呮鏌ラ」鐩悕绉版棤娉曟槧灏刔 checkName=24灏忔椂鍔ㄦ�佽鍘嬬洃娴媫锛夈��
+ * 鐜板凡琛ラ綈鍒悕锛涘悓鏃� {@link #getByName(String)} 澧炲姞涓�灞�**瑙勮寖鍖栧厹搴曞尮閰�**锛�
+ * 鐢ㄤ簬鍚告敹 HIS 渚с�屾湁鏃犮��24灏忔椂銆嶅墠缂�銆嶃�屽叏/鍗婅鎷彿銆嶃�屽浣欑┖鏍笺�嶈繖绫绘棤鎰忎箟宸紓锛�
+ * 閬垮厤姣忔崲涓�绉嶅彨娉曞氨瑕佹敼涓�娆′唬鐮併��</p>
  */
 @Getter
 @AllArgsConstructor
@@ -12,8 +25,23 @@
     Y691133607("甯歌蹇冪數鍥�", "100"),
     Y201605("24灏忔椂鍔ㄦ�佸績鐢靛浘", "200"),
     Y201606("24灏忔椂鍔ㄦ�佸績鐢电洃娴�", "200"),
+    // 鍚屼竴妫�鏌ワ紙鏈湴 check_type=200 鍔ㄦ�佸績鐢碉級鐨勫叾瀹冨彨娉曘��
+    // 瀹炴祴鎶ユ枃閲岃椤圭殑 code 瀛樺湪涓ょ褰㈡�侊細Y201605锛堝甫Y鍓嶇紑锛変笌 201605锛堜笉甯︼級锛�
+    // 鑰� HisCheckCodeEnum 鍙櫥璁颁簡 201605锛屾晠甯� Y 鐨勯偅绉嶅繀椤婚潬鍚嶇О鏄犲皠鍏滀綇銆�
+    Y201605_ALIAS1("鍔ㄦ�佸績鐢靛浘", "200"),
+    Y201605_ALIAS2("24灏忔椂鍔ㄦ�佸績鐢�", "200"),
+    Y201605_ALIAS3("鍔ㄦ�佸績鐢电洃娴�", "200"),
     Y200327("鍔ㄦ�佽鍘�", "300"),
+    // 鍚屼竴妫�鏌ワ紙鏈湴 check_type=300 鍔ㄦ�佽鍘嬶級鐨勫叾瀹冨彨娉曘��
+    // 瀹炴祴 2026-10-07锛欻IS 瀹為檯涓嬪彂鐨勬槸銆�24灏忔椂鍔ㄦ�佽鍘嬬洃娴嬨�嶏紙jcxmcode=Y200327锛夛紝
+    // 褰撴椂鏋氫妇鍙湁銆屽姩鎬佽鍘嬨�嶁啋 鍚嶇О鍖归厤澶辫触锛屼笖浠g爜鍏滃簳涔熷涓嶄笂锛堜唬鐮佹槸 Y200327锛岃〃閲岃鐨勬槸 200327锛夈��
+    Y200327_ALIAS1("24灏忔椂鍔ㄦ�佽鍘嬬洃娴�", "300"),
+    Y200327_ALIAS2("24灏忔椂鍔ㄦ�佽鍘�", "300"),
+    Y200327_ALIAS3("鍔ㄦ�佽鍘嬬洃娴�", "300"),
     Y201652("骞虫澘杩愬姩蹇冪數", "400"),
+    // 鍚屼竴妫�鏌ワ紙鏈湴 check_type=400锛夌殑鍏跺畠鍙硶锛氭灇涓惧父閲忓悕涓嶈兘閲嶅锛屾晠鍔犲悗缂�
+    Y201652_ALIAS1("骞虫澘杩愬姩璇曢獙", "400"),
+    Y201652_ALIAS2("蹇冪數鍥捐繍鍔ㄨ瘯楠�", "400"),
     Y502490914("鍔ㄨ剦纭寲妫�娴�", "500"),
     Y419562119("椋熼亾鐢电敓鐞�", "600"),
     Y201604("蹇冪數鍥捐嵂鐗╄礋鑽疯瘯楠�", "700"),
@@ -32,20 +60,66 @@
     private final String value;
 
     /**
-     * 鏍规嵁绫诲瀷鑾峰彇鏋氫妇
+     * 鏍规嵁鍚嶇О鑾峰彇鏈湴妫�鏌ョ被鍨嬶細鍏堢簿纭尮閰嶏紝鍐嶈鑼冨寲鍏滃簳鍖归厤銆�
      *
-     * @param type 绫诲瀷
-     * @return 鏋氫妇
+     * @param name HIS 浼犳潵鐨勬鏌ラ」鐩悕绉�
+     * @return 鏈湴 check_type 瀛楃涓诧紱閮藉尮閰嶄笉鍒拌繑鍥� null
      */
     public static String getByName(String name) {
+        if (name == null) {
+            return null;
+        }
+        // 鈶� 绮剧‘鍖归厤锛堜繚鎸佸師鏈夎涓猴級
         for (HisCheckNameEnum value : values()) {
             if (value.getName().equals(name)) {
                 return value.getValue();
             }
         }
+        // 鈶� 瑙勮寖鍖栧悗鍐嶅尮閰嶏細鍚告敹銆�24灏忔椂銆嶅墠缂�銆佸叏/鍗婅鎷彿銆佺┖鏍笺�佸ぇ灏忓啓绛夋棤鎰忎箟宸紓锛�
+        //    閬垮厤 HIS 姣忔崲涓�绉嶅彨娉曞氨婕忔槧灏勶紙渚嬪銆�24灏忔椂鍔ㄦ�佽鍘嬬洃娴嬨�峷s銆屽姩鎬佽鍘嬬洃娴嬨�嶏級
+        String normalized = normalizeName(name);
+        if (normalized.isEmpty()) {
+            return null;
+        }
+        for (HisCheckNameEnum value : values()) {
+            String enumNormalized = normalizeName(value.getName());
+            if (enumNormalized.equals(normalized)) {
+                return value.getValue();
+            }
+            // 鈶� 鍘绘帀銆�24灏忔椂銆嶅悗鍐嶆瘮涓�娆★細HIS 渚ф湁鏃犺鍓嶇紑閮藉彲鑳藉嚭鐜�
+            if (strip24Hour(enumNormalized).equals(strip24Hour(normalized)) && !strip24Hour(normalized).isEmpty()) {
+                return value.getValue();
+            }
+        }
         return null;
     }
 
+    /** 瑙勮寖鍖栭」鐩悕绉帮細鍘荤┖鐧姐�佺粺涓�澶у皬鍐欍�佸叏瑙掓嫭鍙封啋鍗婅銆佸幓鎺夈��24灏忔椂銆嶅墠缂� */
+    private static String normalizeName(String name) {
+        if (name == null) {
+            return "";
+        }
+        return name.trim()
+                .replace(" ", "")
+                .replace("\u3000", "")
+                .replace("锛�", "(")
+                .replace("锛�", ")")
+                .replace("锛掞紨", "24")
+                .toLowerCase();
+    }
+
+    /** 鍘绘帀銆�24灏忔椂銆�/銆�24h銆嶅墠缂�锛岀敤浜庢瘮杈冨悓涔夊悕绉� */
+    private static String strip24Hour(String normalizedName) {
+        String v = normalizedName;
+        if (v.startsWith("24灏忔椂")) {
+            v = v.substring("24灏忔椂".length());
+        }
+        if (v.startsWith("24h")) {
+            v = v.substring("24h".length());
+        }
+        return v;
+    }
+
     /**
      * 鏍规嵁绫诲瀷鑾峰彇鏋氫妇
      *

--
Gitblit v1.9.3