From 138871092ea016a6b1bdd43a7570865acd04473e Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期二, 04 十一月 2025 22:16:21 +0800
Subject: [PATCH] #新增 1. 出库单据优化修改

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |   50 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 30 insertions(+), 20 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 4dc8371..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
@@ -36,6 +36,7 @@
 import com.vincent.rsf.server.system.service.FieldsService;
 import com.vincent.rsf.server.system.utils.SerialRuleUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -67,6 +68,8 @@
 
     @Autowired
     private DictDataService dictDataService;
+    @Autowired
+    private AsnOrderService asnOrderService;
 
     @Override
     public R generateBarcode(List<Long> orders) {
@@ -244,30 +247,37 @@
         if (Objects.isNull(matnr)) {
             throw new CoolException("鏁版嵁閿欒锛氱墿鏂�" + wkOrderItem.getMatnrCode() + "涓嶅瓨鍦紒锛�");
         }
-        wkOrderItem.setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId());
+        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