From 6d451494073276a7fa2b38f07c40d16f5c09af68 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期六, 15 二月 2025 17:49:20 +0800
Subject: [PATCH] 撤回流程的补充

---
 src/main/java/com/gs/xky/service/XkyService.java |   72 ++++++++++++++++++++++++-----------
 1 files changed, 49 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/gs/xky/service/XkyService.java b/src/main/java/com/gs/xky/service/XkyService.java
index 29755dd..558e20f 100644
--- a/src/main/java/com/gs/xky/service/XkyService.java
+++ b/src/main/java/com/gs/xky/service/XkyService.java
@@ -1,6 +1,7 @@
 package com.gs.xky.service;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.gs.xky.config.ApiResponse;
 import com.gs.xky.config.BodyParam;
@@ -9,9 +10,7 @@
 import com.gs.xky.dto.BarcodeDeliveryNo;
 import com.gs.xky.dto.XkyDetail;
 import com.gs.xky.dto.XkyEntity;
-import com.gs.xky.entity.DeliveryNotice;
-import com.gs.xky.entity.DeliveryNoticeDetail;
-import com.gs.xky.entity.TblBarcodeInformation;
+import com.gs.xky.entity.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -31,6 +30,10 @@
 
     private final TblBarcodeInformationService barcodeInformationService;
     private final DeliveryNoticeDetailService deliveryNoticeDetailService;
+
+    private final MesInvItemArnService mesInvItemArnService;
+    private final MesInvItemArnDetailService mesInvItemArnDetailService;
+    private final MesInvItemBarcodesService mesInvItemBarcodesService;
 
     public void GetSaveDetail() throws IOException {
         long currentTimeMillis = System.currentTimeMillis();
@@ -56,31 +59,12 @@
 
         List<XkyEntity> deliveryNoList = noList.getDataList();
 
-        LambdaUpdateWrapper<DeliveryNotice> deliveryNoticeWrapper = new LambdaUpdateWrapper<>();
-
-        LambdaUpdateWrapper<DeliveryNoticeDetail> updateWrapper = new LambdaUpdateWrapper<>();
-
-        LambdaUpdateWrapper<TblBarcodeInformation> updateWrapper1 = new LambdaUpdateWrapper<>();
-
         deliveryNoList.forEach(deliveryNo -> {
             try {
 
                 if ("6".equals(deliveryNo.getStatus()) || "0".equals(deliveryNo.getLogisticsStatus())) {
-                    deliveryNoticeWrapper.clear();
-                    updateWrapper.clear();
-                    updateWrapper1.clear();
-                    deliveryNoticeWrapper.eq(DeliveryNotice::getDeliveryNo, deliveryNo.getDeliveryNo());
 
-                    DeliveryNotice one = deliveryNoticeService.getOne(deliveryNoticeWrapper, false);
-
-                    if (deliveryNoticeService.remove(deliveryNoticeWrapper)) {
-
-                        updateWrapper.eq(DeliveryNoticeDetail::getPid, one.getId());
-                        deliveryNoticeDetailService.remove(updateWrapper);
-
-                        updateWrapper1.eq(TblBarcodeInformation::getDeliveryNo, deliveryNo.getDeliveryNo());
-                        barcodeInformationService.remove(updateWrapper1);
-                    }
+                    remove(deliveryNo);
 
                 } else if ("2".equals(deliveryNo.getLogisticsStatus())) {
                     XkyDetail detail = getDetail(deliveryNo.getDeliveryNo());
@@ -97,6 +81,48 @@
         });
     }
 
+    private void remove(XkyEntity deliveryNo) {
+        LambdaUpdateWrapper<DeliveryNotice> deliveryNoticeWrapper = new LambdaUpdateWrapper<>();
+
+        deliveryNoticeWrapper.eq(DeliveryNotice::getDeliveryNo, deliveryNo.getDeliveryNo());
+
+        DeliveryNotice one = deliveryNoticeService.getOne(deliveryNoticeWrapper, false);
+
+        if (deliveryNoticeService.remove(deliveryNoticeWrapper)) {
+
+            LambdaUpdateWrapper<DeliveryNoticeDetail> updateWrapper = new LambdaUpdateWrapper<>();
+
+            updateWrapper.eq(DeliveryNoticeDetail::getPid, one.getId());
+
+            deliveryNoticeDetailService.remove(updateWrapper);
+
+            LambdaUpdateWrapper<TblBarcodeInformation> updateWrapper1 = new LambdaUpdateWrapper<>();
+
+            updateWrapper1.eq(TblBarcodeInformation::getDeliveryNo, deliveryNo.getDeliveryNo());
+
+            barcodeInformationService.remove(updateWrapper1);
+
+            LambdaQueryWrapper<MesInvItemArn> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(MesInvItemArn::getPaperBillNo, deliveryNo.getDeliveryNo());
+
+            mesInvItemArnService.remove(wrapper);
+
+            MesInvItemArn mesInvItemArn = mesInvItemArnService.getOne(wrapper, false);
+            if (mesInvItemArn != null) {
+                LambdaUpdateWrapper<MesInvItemArnDetail> updateWrapper2 = new LambdaUpdateWrapper<>();
+
+                updateWrapper2.eq(MesInvItemArnDetail::getMid, mesInvItemArn.getId());
+                mesInvItemArnDetailService.remove(updateWrapper2);
+
+                LambdaUpdateWrapper<MesInvItemBarcodes> updateWrapper3 = new LambdaUpdateWrapper<>();
+
+                updateWrapper3.eq(MesInvItemBarcodes::getBillNo, mesInvItemArn.getBillNo());
+                mesInvItemBarcodesService.remove(updateWrapper3);
+
+            }
+        }
+    }
+
     private XkyDetail getDetail(String deliveryNo) throws IOException {
         XkyCommonParam param = XkyCommonParam.GetInit();
 

--
Gitblit v1.9.3