From f3914234db3bf68dad372c4dfb9a1111a0c09e32 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 28 十二月 2023 15:04:22 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
index 4438c18..d359763 100644
--- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
@@ -1,12 +1,69 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.ManLocDetl;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.mapper.PakoutMapper;
 import com.zy.asrs.entity.Pakout;
-import com.zy.asrs.service.PakoutService;
+import com.zy.asrs.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 @Service("pakoutService")
 public class PakoutServiceImpl extends ServiceImpl<PakoutMapper, Pakout> implements PakoutService {
+    @Autowired
+    private OrderService orderService;
 
+    @Autowired
+    private OrderDetlService orderDetlService;
+
+    @Autowired
+    private ManLocDetlService manLocDetlService;
+
+    @Override
+    public void deletePakout(String docNum) {
+        Order order = orderService.selectByNo(docNum);
+        if (Cools.isEmpty(order)){
+            throw new RuntimeException("鏈煡璇㈠埌璁㈠崟妗f");
+        }
+        List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", docNum));
+
+        for (OrderDetl orderDetl: orderDetls){
+            if (orderDetl.getQty() > 0.0){
+                throw new RuntimeException("鎷h揣鍗曞凡鏈夊嚭搴撲换鍔★紝涓嶅彲鍒犻櫎!");
+            }
+            orderDetl.setWorkQty(0.0D);
+        }
+
+       if (!orderDetlService.updateBatchById(orderDetls)){
+           throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触");
+       }
+       order.setSettle(1L);
+       if (!orderService.updateById(order)){
+           throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触");
+       }
+
+        List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum));
+       for (Pakout pakout: pakouts){
+           ManLocDetl manLocDetl = manLocDetlService.selectOne(new EntityWrapper<ManLocDetl>()
+                   .eq("loc_no", pakout.getLocNo())
+                   .eq("matnr", pakout.getMatnr()));
+           manLocDetl.setStatus(1);
+           if (!manLocDetlService.update(manLocDetl,new EntityWrapper<ManLocDetl>()
+                   .eq("loc_no", pakout.getLocNo())
+                   .eq("matnr", pakout.getMatnr()))){
+               throw new RuntimeException("搴撳瓨鐘舵�佹洿鏂板け璐�");
+           }
+       }
+
+        if (!delete(new EntityWrapper<Pakout>().eq("doc_num",docNum))){
+          throw new RuntimeException("鎷h揣鍗曞垹闄ゅけ璐�");
+      }
+    }
 }

--
Gitblit v1.9.1