From dc434264996b83c7900be642dd6af604bd98b13d Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 16 一月 2026 16:47:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop-phyz' into devlop-phyz

---
 rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
index 02a3c1b..f580e64 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java
@@ -5,6 +5,7 @@
 import com.vincent.rsf.framework.common.SpringUtils;
 import com.vincent.rsf.framework.exception.CoolException;
 import com.vincent.rsf.server.common.utils.DateUtils;
+import com.vincent.rsf.server.system.constant.SerialRuleCode;
 import com.vincent.rsf.server.system.entity.SerialRule;
 import com.vincent.rsf.server.system.entity.SerialRuleItem;
 import com.vincent.rsf.server.system.enums.SerialRuleReset;
@@ -41,6 +42,7 @@
                 .getOne(new LambdaQueryWrapper<SerialRule>()
                         .eq(SerialRule::getCode, code));
         if (Objects.isNull(serialRule)) {
+
             throw new CoolException("褰撳墠涓氬姟锛�" + code + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒");
         }
         SerialRuleItemService serialRuleItemService = SpringUtils.getBean(SerialRuleItemService.class);
@@ -50,10 +52,16 @@
                 .list(new LambdaQueryWrapper<SerialRuleItem>()
                         .eq(SerialRuleItem::getRuleId, serialRule.getId())
                         .orderByAsc(SerialRuleItem::getSort));
-        if (Objects.isNull(ruleItems)) {
+        if (Objects.isNull(ruleItems) || ruleItems.isEmpty()) {
             throw new CoolException("缂栫爜瑙勫垯鏄庣粏涓虹┖锛侊紒");
         }
 
+        //閾跺骇鐗逛緵
+        if (code.equals(SerialRuleCode.SYS_ASN_ORDER)){
+            StringBuffer buffer = new StringBuffer();
+            Object poCode = objectToMap(obj).get("poCode");
+            return poCode == null ? "" : buffer.append(poCode).toString();
+        }
         StringBuffer buffer = new StringBuffer();
         ruleItems.forEach(rule -> {
             if (rule.getWkType().equals(SerialRuleType.WK_CONSTANT.wkType)) {
@@ -63,9 +71,9 @@
                 if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_YEAR.type)) {
                      format = DateUtils.format(new Date(), "yyyy");
                 } else if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_MONTH.type)) {
-                     format = DateUtils.format(new Date(), "MM");
-                } else {
-                     format = DateUtils.format(new Date(), "dd");
+                     format = DateUtils.format(new Date(), "yyMM");
+                } else if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_DAYS.type)){
+                     format = DateUtils.format(new Date(), "yyMMdd");
                 }
                 //褰撳墠鍊艰嚜鍔ㄥ姞1
                 Integer curVal = serialRule.getCurrValue() + 1;
@@ -83,11 +91,13 @@
                 //鍒ゆ柇鏄惁璁剧疆鎴彇闀垮害鍜岃捣濮嬫埅鍙栦綅缃�
                 buffer.append(subStr(format, rule.getLenStr(), rule.getLen()));
             } else if (rule.getWkType().equals(SerialRuleType.WK_FEILD.wkType)) {
-                String subStr = subStr(objectToMap(obj).get(rule.getFeildValue()).toString(), rule.getLenStr(), rule.getLen());
-                buffer.append(subStr);
+                String subStr;
+                if (!Objects.isNull(objectToMap(obj).get(rule.getFeildValue()))) {
+                    subStr = subStr(objectToMap(obj).get(rule.getFeildValue()).toString(), rule.getLenStr(), rule.getLen());
+                    buffer.append(subStr);
+                }
             }
         });
-
         serialRule.setLastCode(buffer.toString());
         //淇敼褰撳墠瑙勫垯缂栫爜鍙疯嚦鏁版嵁搴�
         if (!ruleService.saveOrUpdate(serialRule)) {
@@ -109,7 +119,7 @@
         if (Objects.isNull(start) || end == 0) {
             buffer.append(str);
         } else {
-            if (str.length() <= (end + start)) {
+            if (str.length() < (end + start)) {
                 throw new CoolException("鎴彇瀛楃璧峰嚭瀛楃涓查暱搴︼紝璇锋煡鐪嬭鍒欒瀹氾紒锛�");
             }
             //杩斿洖璧峰浣嶇疆lenStr寮�濮嬶紝缁堢偣浣嶇疆涓簂enStr + len闀垮害鐨勫瓧绗︿覆
@@ -128,7 +138,7 @@
      * @time 2025/3/5 14:00
      */
     public static Map<?, ?> objectToMap (Object obj) {
-        if (obj == null) {
+        if (Objects.isNull(obj)) {
             return null;
         }
         ObjectMapper objectMapper = new ObjectMapper();

--
Gitblit v1.9.1