From 2dbe2c8b830a3b006b1536c7dac48b5f8c24e00d Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 28 四月 2025 16:53:07 +0800
Subject: [PATCH] #wms端生成任务优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/system/utils/SerialRuleUtils.java |   21 ++++++++++++---------
 1 files changed, 12 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..4e67c2f 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
@@ -41,6 +41,7 @@
                 .getOne(new LambdaQueryWrapper<SerialRule>()
                         .eq(SerialRule::getCode, code));
         if (Objects.isNull(serialRule)) {
+
             throw new CoolException("褰撳墠涓氬姟锛�" + code + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒");
         }
         SerialRuleItemService serialRuleItemService = SpringUtils.getBean(SerialRuleItemService.class);
@@ -50,7 +51,7 @@
                 .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("缂栫爜瑙勫垯鏄庣粏涓虹┖锛侊紒");
         }
 
@@ -63,9 +64,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(), "yyyyMM");
+                } else if (serialRule.getReset().equals(SerialRuleReset.SERIAL_REST_TYPE_DAYS.type)){
+                     format = DateUtils.format(new Date(), "yyyyMMdd");
                 }
                 //褰撳墠鍊艰嚜鍔ㄥ姞1
                 Integer curVal = serialRule.getCurrValue() + 1;
@@ -83,11 +84,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 +112,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 +131,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