From 4b4ee0952cf886a5a2baf160a7aea88201979aed Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 06 五月 2025 17:17:13 +0800
Subject: [PATCH] PO单导入功能

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 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 9ab4f72..9255348 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
@@ -20,6 +20,7 @@
 import com.vincent.rsf.server.manager.entity.Companys;
 import com.vincent.rsf.server.manager.entity.Matnr;
 import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
+import com.vincent.rsf.server.manager.enums.CompanysType;
 import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
 import com.vincent.rsf.server.manager.entity.AsnOrderItem;
 import com.vincent.rsf.server.manager.service.AsnOrderItemService;
@@ -127,13 +128,15 @@
                     sbFaild.append(orderTemplate.getMatnrCode()).append("鐗╂枡涓嶅瓨鍦�");
                     continue;
                 }
+                String trackCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, matnr);
                 orderItem.setAsnId(order.getId())
                         .setAsnCode(order.getCode())
                         .setSplrBatch(orderTemplate.getSplrBatch())
+                        .setPlatItemId(orderTemplate.getPlatItemId())
                         .setAnfme(Double.parseDouble(orderTemplate.getAnfme()))
                         .setQty(Double.parseDouble(orderTemplate.getQty()))
-                        .setBarcode(orderTemplate.getBarcode())
-                        .setTrackCode(orderTemplate.getTrackCode())
+                        .setTrackCode(StringUtils.isBlank(orderTemplate.getTrackCode()) ? trackCode : orderTemplate.getTrackCode())
+                        .setBarcode(StringUtils.isBlank(orderTemplate.getBarcode()) ? trackCode : orderTemplate.getBarcode())
                         .setPoCode(orderTemplate.getPoCode())
                         .setPurUnit(orderTemplate.getPurUnit())
                         .setCreateBy(loginUserId)
@@ -146,18 +149,21 @@
                         .setMatnrId(matnr.getId())
                         .setStockUnit(matnr.getUnit());
                 if (!Objects.isNull(orderTemplate.getSplrCode())) {
-                    Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getCode, orderTemplate.getSplrCode()));
+                    Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
+                                    .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)
+                            .eq(Companys::getCode, orderTemplate.getSplrCode()));
                     if (!Objects.isNull(companys)) {
                         orderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
                     } else {
-                        orderItem.setSplrCode(orderTemplate.getSplrCode()).setSplrName(orderTemplate.getSplrName() + "(渚涘簲鍟嗕笉瀛樺湪锛侊紒)");
+                        sbFaild.append("渚涘簲鍟�:" + orderTemplate.getSplrCode()).append("涓嶅瓨鍦�");
+                        continue;
                     }
                 } else {
                     continue;
                 }
-
                 items.add(orderItem);
-                if (!asnOrderItemService.saveBatch(items)) {
+
+                if (!asnOrderItemService.save(orderItem)) {
                     throw new CoolException("鍗曟嵁鏄庣粏淇濆瓨澶辫触锛侊紒");
                 }
             }
@@ -173,7 +179,7 @@
             }
         }
 
-        return R.ok("鎿嶄綔鎴愬姛," + sbFaild.toString());
+        return R.ok("瀵煎叆鎴愬姛锛�" + sbFaild.toString());
     }
 
     /**
@@ -193,6 +199,14 @@
             String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem);
             asnOrderItem.setTrackCode(ruleCode).setBarcode(ruleCode);
         }
+        if (StringUtils.isNoneBlank(asnOrderItem.getSplrCode())) {
+            Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
+                    .eq(Companys::getId, asnOrderItem.getSplrCode())
+                    .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val));
+            if (!Objects.isNull(companys)) {
+                asnOrderItem.setSplrCode(companys.getCode()).setSplrName(companys.getName());
+            }
+        }
         if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) {
             throw new CoolException("璁″垝鏁颁笉鑳戒负绌猴紒锛�");
         }

--
Gitblit v1.9.1