From 80155f95799dfd1c457e32252cbe43dfbb01c05a Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期六, 25 四月 2026 13:30:00 +0800
Subject: [PATCH] feat(production): 优化生产产品主记录的时间设置逻辑

---
 src/main/java/com/ruoyi/common/utils/StringUtils.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/common/utils/StringUtils.java b/src/main/java/com/ruoyi/common/utils/StringUtils.java
index 920968f..5e13807 100644
--- a/src/main/java/com/ruoyi/common/utils/StringUtils.java
+++ b/src/main/java/com/ruoyi/common/utils/StringUtils.java
@@ -6,6 +6,9 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.extra.pinyin.PinyinUtil;
 import org.springframework.util.AntPathMatcher;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.text.StrFormatter;
@@ -386,6 +389,18 @@
      * 
      * @param str 瀛楃涓�
      * @param sep 鍒嗛殧绗�
+     * @return list闆嗗悎
+     */
+    public static final List<String> str2List(String str, String sep)
+    {
+        return str2List(str, sep, true, false);
+    }
+
+    /**
+     * 瀛楃涓茶浆list
+     * 
+     * @param str 瀛楃涓�
+     * @param sep 鍒嗛殧绗�
      * @param filterBlank 杩囨护绾┖鐧�
      * @param trim 鍘绘帀棣栧熬绌虹櫧
      * @return list闆嗗悎
@@ -707,4 +722,43 @@
         }
         return sb.toString();
     }
+
+    public static String padRight(String str, int length) {
+        if (str == null) str = "";
+        if (str.length() >= length) return str;
+        // 鐢ㄧ┖鏍艰ˉ榻�
+        return String.format("%-" + length + "s", str);
+    }
+
+
+    public static boolean containsChinese(String str) {
+        if (str == null) return false;
+        for (char c : str.toCharArray()) {
+            if (Character.UnicodeScript.of(c) == Character.UnicodeScript.HAN) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public static String getProcessNo(String processName) {
+        if (StrUtil.isBlank(processName)) {
+            return "";
+        }
+
+        // 鍒ゆ柇鏄惁鍖呭惈涓枃
+        if (StringUtils.containsChinese(processName)) {
+            // 涓枃锛氭嫾闊抽瀛楁瘝
+            return StrUtil.toUpperCase(PinyinUtil.getFirstLetter(processName, ""));
+        } else {
+            // 鑻辨枃锛氬彇澶у啓瀛楁瘝 鐩墠宸ュ簭鍚嶇О娌℃湁鑻辨枃鐨勫舰寮� 鍙兘澶勭悊ExxxBxxx
+            StringBuilder sb = new StringBuilder();
+            for (char c : processName.toCharArray()) {
+                if (Character.isUpperCase(c)) {
+                    sb.append(c);
+                }
+            }
+            return sb.toString();
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3