From 5ea5d085cc7c9a1aea3d4ee7e3a9c93ea05a2eb1 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 17 七月 2025 16:35:16 +0800
Subject: [PATCH] 盘点功能优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java
index 552b351..ad3f323 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/PurchaseItemServiceImpl.java
@@ -30,6 +30,7 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -67,11 +68,12 @@
             List<PurchaseTemplate> list = listMap.get(key);
             Purchase serviceOne = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, key));
             if (!Objects.isNull(serviceOne)) {
-//                return R.error(serviceOne.getCode() +  "鍗曟嵁宸插瓨鍦紒锛�");
                 throw new CoolException(serviceOne.getCode() +  "鍗曟嵁宸插瓨鍦紒锛�");
             }
             PurchaseTemplate template = list.stream().findFirst().get();
             Purchase purchase = new Purchase();
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            Date date = dateFormat.parse(template.getArrTime());
             BeanUtils.copyProperties(template, purchase);
             purchase.setCode(template.getPoCode());
             if (StringUtils.isBlank(template.getPoCode())) {
@@ -81,6 +83,7 @@
             purchase.setType(OrderType.getTypeVal(template.getType()))
                     .setWkType(OrderWorkType.getWorkType(template.getWkType()))
                     .setSource(OrderSourceType.ORDER_SOURCE_TYPE_EXCEL.desc)
+                    .setPreArr(date)
                     .setCreateBy(loginUserId)
                     .setUpdateBy(loginUserId);
             if (!purchaseService.save(purchase)) {
@@ -92,24 +95,25 @@
                 if (StringUtils.isBlank(purchaseTemplate.getMatnrCode())) {
                     throw new CoolException(purchaseTemplate.getPoCode() + "锛氱墿鏂欑紪鐮佷笉鑳戒负绌猴紒锛�");
                 }
-                Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, template.getMatnrCode()));
+                Matnr matnr = matnrService.getOne(new LambdaQueryWrapper<Matnr>().eq(Matnr::getCode, purchaseTemplate.getMatnrCode()));
                 if (Objects.isNull(matnr)) {
-                    throw new CoolException(template.getMatnrCode() + "鐗╂枡涓嶅瓨鍦紒锛�");
+                    throw new CoolException(purchaseTemplate.getMatnrCode() + "鐗╂枡涓嶅瓨鍦紒锛�");
                 }
                 item.setMatnrName(matnr.getName())
                         .setMatnrCode(matnr.getCode())
-                        .setPlatItemId(template.getPlatItemId())
-                        .setAnfme(template.getAnfme())
+                        .setPlatItemId(purchaseTemplate.getPlatItemId())
+                        .setAnfme(purchaseTemplate.getAnfme())
                         .setPurchaseId(purchase.getId())
+                        .setUnit(matnr.getUnit())
                         .setNromQty(matnr.getNromNum())
-                        .setSplrBatch(template.getSplrBatch())
+                        .setSplrBatch(purchaseTemplate.getSplrBatch())
                         .setCreateBy(loginUserId)
                         .setUpdateBy(loginUserId);
 
                 if (StringUtils.isNotBlank(purchaseTemplate.getSplrCode())) {
                     Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>()
                             .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)
-                            .eq(Companys::getCode, template.getSplrCode()));
+                            .eq(Companys::getCode, purchaseTemplate.getSplrCode()));
                     if (!Objects.isNull(companys)) {
                         item.setSplrCode(companys.getCode()).setSplrName(companys.getName());
                     } else {
@@ -125,8 +129,7 @@
             }
 
             double anfmes = items.stream().mapToDouble(PurchaseItem::getAnfme).sum();
-            double qty = items.stream().mapToDouble(PurchaseItem::getQty).sum();
-            purchase.setAnfme(anfmes).setQty(qty);
+            purchase.setAnfme(anfmes);
 
            if (!purchaseService.updateById(purchase)) {
                throw new CoolException("涓诲崟鏁伴噺淇敼澶辫触锛侊紒");

--
Gitblit v1.9.1