From 6c7f3a2e780f45e57bb341a5faedac932928a10e Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 23 四月 2026 16:33:16 +0800
Subject: [PATCH] feat(process): 添加工艺路线单位数量默认值设置
---
src/main/java/com/ruoyi/common/utils/StringUtils.java | 80 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 80 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 fc6c6b5..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;
@@ -287,6 +290,32 @@
}
/**
+ * 鍦ㄥ瓧绗︿覆涓煡鎵剧涓�涓嚭鐜扮殑 `open` 鍜屾渶鍚庝竴涓嚭鐜扮殑 `close` 涔嬮棿鐨勫瓙瀛楃涓�
+ *
+ * @param str 瑕佹埅鍙栫殑瀛楃涓�
+ * @param open 璧峰瀛楃涓�
+ * @param close 缁撴潫瀛楃涓�
+ * @return 鎴彇缁撴灉
+ */
+ public static String substringBetweenLast(final String str, final String open, final String close)
+ {
+ if (isEmpty(str) || isEmpty(open) || isEmpty(close))
+ {
+ return NULLSTR;
+ }
+ final int start = str.indexOf(open);
+ if (start != INDEX_NOT_FOUND)
+ {
+ final int end = str.lastIndexOf(close);
+ if (end != INDEX_NOT_FOUND)
+ {
+ return str.substring(start + open.length(), end);
+ }
+ }
+ return NULLSTR;
+ }
+
+ /**
* 鍒ゆ柇鏄惁涓虹┖锛屽苟涓斾笉鏄┖鐧藉瓧绗�
*
* @param str 瑕佸垽鏂殑value
@@ -353,6 +382,18 @@
public static final Set<String> str2Set(String str, String sep)
{
return new HashSet<String>(str2List(str, sep, true, false));
+ }
+
+ /**
+ * 瀛楃涓茶浆list
+ *
+ * @param str 瀛楃涓�
+ * @param sep 鍒嗛殧绗�
+ * @return list闆嗗悎
+ */
+ public static final List<String> str2List(String str, String sep)
+ {
+ return str2List(str, sep, true, false);
}
/**
@@ -681,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