From 52d78628a70d6aa129f874050b7846d259819554 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期三, 15 十月 2025 08:54:19 +0800
Subject: [PATCH] 物料同步接口优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 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 fed968f..4dc8371 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
@@ -30,6 +30,7 @@
 import com.vincent.rsf.server.manager.service.CompanysService;
 import com.vincent.rsf.server.manager.service.MatnrService;
 import com.vincent.rsf.server.system.constant.SerialRuleCode;
+import com.vincent.rsf.server.system.entity.Fields;
 import com.vincent.rsf.server.system.service.DictDataService;
 import com.vincent.rsf.server.system.service.FieldsItemService;
 import com.vincent.rsf.server.system.service.FieldsService;
@@ -160,8 +161,8 @@
                     throw new CoolException(sbFaild.toString());
                 }
                 String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr);
-                orderItem.setAsnId(order.getId())
-                        .setAsnCode(order.getCode())
+                orderItem.setOrderId(order.getId())
+                        .setOrderCode(order.getCode())
                         .setSplrBatch(orderTemplate.getSplrBatch())
                         .setPlatItemId(orderTemplate.getPlatItemId())
                         .setAnfme(Double.parseDouble(orderTemplate.getAnfme()))
@@ -238,11 +239,26 @@
         if (Objects.isNull(wkOrderItem.getAnfme()) || Double.compare(wkOrderItem.getAnfme(), 0.0) <= 0) {
             throw new CoolException("璁″垝鏁颁笉鑳戒负绌猴紒锛�");
         }
+
+        Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, wkOrderItem.getMatnrCode()));
+        if (Objects.isNull(matnr)) {
+            throw new CoolException("鏁版嵁閿欒锛氱墿鏂�" + wkOrderItem.getMatnrCode() + "涓嶅瓨鍦紒锛�");
+        }
+        wkOrderItem.setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId());
+
         //淇濆瓨鎵╁睍瀛楁
         try {
             StringBuffer sb = new StringBuffer();
             if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) {
-                sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch() );
+                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(wkOrderItem.getMatnrId() + wkOrderItem.getSplrBatch());
                 //鑾峰彇16浣島uid
                 String uuid16 = Cools.md5Chinese(sb.toString());
                 wkOrderItem.setFieldsIndex(uuid16);

--
Gitblit v1.9.1