From ac852588e581738264639e832dab13b926d47132 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期日, 02 十一月 2025 19:54:26 +0800
Subject: [PATCH] #新增 1. 出库单生成fieldsIndex

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |   46 +++++++++++++++++++++++++++-------------------
 1 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index fdf9be2..c3fc7aa 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -68,6 +68,8 @@
 
     @Autowired
     private DictDataService dictDataService;
+    @Autowired
+    private AsnOrderService asnOrderService;
 
     @Override
     public R generateBarcode(List<Long> orders) {
@@ -248,28 +250,34 @@
         BeanUtils.copyProperties(matnr, wkOrderItem);
         wkOrderItem.setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId()).setMaktx(matnr.getName());
 
-        //淇濆瓨鎵╁睍瀛楁
-        try {
-            StringBuffer sb = new StringBuffer();
-            if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) {
-                List<Fields> fields = FieldsUtils.getFieldsSta();
-                for (Fields field : fields) {
-                    if (Objects.isNull(params.get(field.getFields()))) {
-                        continue;
+        WkOrder wkOrder = asnOrderService.getById(Long.parseLong(params.get("orderId").toString()));
+        if (Objects.isNull(wkOrder)) {
+            throw new CoolException("鏁版嵁閿欒锛屽崟鎹笉瀛樺湪锛侊紒");
+        }
+        if (!wkOrder.getType().equals(OrderType.ORDER_OUT.type)) {
+            //淇濆瓨鎵╁睍瀛楁
+            try {
+                StringBuffer sb = new StringBuffer();
+                if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) {
+                    List<Fields> fields = FieldsUtils.getFieldsSta();
+                    for (Fields field : fields) {
+                        if (Objects.isNull(params.get(field.getFields()))) {
+                            continue;
+                        }
+                        //瀛楁鎷兼帴
+                        sb.append(params.get(field.getFields()));
                     }
-                    //瀛楁鎷兼帴
-                    sb.append(params.get(field.getFields()));
+                    sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch());
+                    //鑾峰彇16浣島uid
+                    String uuid16 = Cools.md5Chinese(sb.toString());
+                    wkOrderItem.setFieldsIndex(uuid16);
+                    params.put("index", uuid16);
                 }
-                sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch());
-                //鑾峰彇16浣島uid
-                String uuid16 = Cools.md5Chinese(sb.toString());
-                wkOrderItem.setFieldsIndex(uuid16);
-                params.put("index", uuid16);
+                //淇濆瓨鎴栨洿鏂板姩鎬佸瓧娈靛��
+                FieldsUtils.updateFieldsValue(params);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
             }
-            //淇濆瓨鎴栨洿鏂板姩鎬佸瓧娈靛��
-            FieldsUtils.updateFieldsValue(params);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
         }
         wkOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId);
         if (!this.saveOrUpdate(wkOrderItem)) {

--
Gitblit v1.9.1