From b8b017c64b4b05a596b95406fed7b1af9f4c6ba8 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期一, 26 五月 2025 20:07:28 +0800
Subject: [PATCH] 添加srm与U9订单数据的对比

---
 src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java b/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java
index 27cb974..01c0d13 100644
--- a/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java
+++ b/src/main/java/com/gs/xky/service/Impl/DeliveryNoticeServiceImpl.java
@@ -10,15 +10,18 @@
 import com.gs.xky.dto.XkyDetail;
 import com.gs.xky.entity.DeliveryNotice;
 import com.gs.xky.entity.DeliveryNoticeDetail;
+import com.gs.xky.entity.MesInvItemArn;
 import com.gs.xky.mapper.DeliveryNoticeMapper;
 import com.gs.xky.service.DeliveryNoticeDetailService;
 import com.gs.xky.service.DeliveryNoticeService;
+import com.gs.xky.service.MesInvItemArnService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author 28567
@@ -33,6 +36,8 @@
 
     private final DeliveryNoticeDetailService detailService;
 
+    private final MesInvItemArnService invItemArnService;
+
 
     @Override
     public boolean saveDeliveryNotice(XkyDetail xkyDetail) {
@@ -41,13 +46,19 @@
 
         wrapper.eq(DeliveryNotice::getDeliveryNo, xkyDetail.getDeliveryNo());
 
-        long count = count(wrapper);
+//        long count = count(wrapper);
+        DeliveryNotice one = getOne(wrapper, false);
 
-        if (count > 0) {
+        if (one != null) {
             LambdaUpdateWrapper<DeliveryNotice> updateWrapper = new LambdaUpdateWrapper<>();
             updateWrapper.eq(DeliveryNotice::getDeliveryNo, xkyDetail.getDeliveryNo());
             remove(updateWrapper);
+
+            LambdaUpdateWrapper<DeliveryNoticeDetail> updateWrapper1 = new LambdaUpdateWrapper<>();
+            updateWrapper1.eq(DeliveryNoticeDetail::getPid, one.getId());
+            detailService.remove(updateWrapper1);
         }
+
 
         DeliveryNotice deliveryNotice = new DeliveryNotice();
         BeanUtil.copyProperties(xkyDetail, deliveryNotice);
@@ -62,7 +73,9 @@
         }
 
         List<DeliveryNoticeDetail> noticeDetails = new ArrayList<>();
-        for (LineList list : lineList) {
+
+        List<LineList> collect = lineList.stream().filter(s -> "1".equals(s.getStatus())).collect(Collectors.toList());
+        for (LineList list : collect) {
             DeliveryNoticeDetail detail = new DeliveryNoticeDetail();
             BeanUtil.copyProperties(list, detail);
             detail.setPid(id);
@@ -70,7 +83,7 @@
             if (StrUtil.isNotEmpty(detail.getPoLineNo())) {
                 String[] split = detail.getPoLineNo().split("-");
                 detail.setPoLineNo(split[0]);
-                detail.setPlanLineNo(split[1]);
+                detail.setPlanLineNo(split[1] + "-" + detail.getDeliveryQty());
             }
 
             noticeDetails.add(detail);
@@ -83,8 +96,34 @@
     public void callPdaReceiptBtn(String inStr, String result) {
         baseMapper.callPdaReceiptBtn(inStr, result);
     }
-}
+
+    @Override
+    public Integer processMesInvItemArnStatus(String factory, String company, String userCode, Long id) {
+        Integer poResult = 1;
+        String poText = "";
+
+        // 璋冪敤瀛樺偍杩囩▼
+        baseMapper.callPrcMesInvItemArnStatus22(factory, company, userCode, id, poResult, poText);
+
+        // 杩斿洖缁撴灉
+        return poResult;
+    }
+
+    //
 
 
-
-
+    @Override
+    public void processMesInvItemArnStatusAsync(List<MesInvItemArn> itemArnMinus) {
+        // 閬嶅巻姣忎釜 itemArn
+        itemArnMinus.forEach(itemArn -> {
+            try {
+                // 澶勭悊姣忎釜 itemArn
+                processMesInvItemArnStatus("1000", "1000", "PL017", itemArn.getId());
+            } catch (Exception e) {
+                // 澶勭悊寮傚父锛屼緥濡傝褰曟棩蹇�
+                System.err.println("Error processing itemArn: " + itemArn.getId());
+                e.printStackTrace();
+            }
+        });
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3