From a23bf319248345801a7f3110f246336d244e8edc Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 17 二月 2025 13:55:10 +0800
Subject: [PATCH] 退货增加退货标识,退货人,退货备注,清空库区和库位值

---
 src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 47 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 895493e..09b1651 100644
--- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
@@ -3,12 +3,14 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.GlobleParameter;
 import com.zy.asrs.mapper.PakoutMapper;
 import com.zy.asrs.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.List;
@@ -56,7 +58,7 @@
        List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum));
        for (Pakout pakout: pakouts){
 
-           Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), pakout.getBarcode());
+           Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()), pakout.getMaktx());
            if(!Cools.isEmpty(pla)){
                pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme());
                pla.setModifyTime(new Date());
@@ -83,4 +85,48 @@
           throw new RuntimeException("鎷h揣鍗曞垹闄ゅけ璐�");
       }
     }
+
+    @Override
+    @Transactional
+    public void deletePakoutByWrkNo(String wrkNo) {
+        Pakout pakout = this.selectById(wrkNo);
+        //鏇存柊鍗曟嵁淇℃伅
+        if(pakout.getCount() > 0){
+            throw new CoolException("璇ユ潯鎷h揣淇℃伅宸插畬鎴愶紝鏃犳硶鍒犻櫎");
+        }
+        OrderDetl orderDetl = orderDetlService.selectById(pakout.getDocId());
+        orderDetl.setWorkQty(orderDetl.getWorkQty() - pakout.getAnfme());
+        orderDetl.setUpdateTime(new Date());
+        orderDetlService.updateById(orderDetl);
+
+        Order order = orderService.selectByNo(pakout.getDocNum());
+        List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
+        //鍒ゆ柇鍗曟嵁鏄惁鏈夋鍦ㄤ綔涓氱殑浠诲姟锛宼rue涓烘病鏈�
+        boolean flag = true;
+        for (OrderDetl od : orderDetlList){
+            if(od.getWorkQty() + od.getQty() > 0){
+                flag = false;
+            }
+        }
+
+        if(flag){
+            order.setSettle(1L);
+            order.setUpdateTime(new Date());
+            orderService.updateById(order);
+        }
+
+        //鏇存柊pla淇℃伅
+        Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode()),pakout.getMaktx());
+        pla.setQtyAnfme(pla.getQtyAnfme() - pakout.getAnfme());
+        pla.setStatus(GlobleParameter.PLA_STATUS_1);
+        pla.setModifyTime(new Date());
+        plaService.updateById(pla);
+
+        //鏇存柊plaQty淇℃伅
+        plaQtyService.deleteById(pakout.getNodeId());
+
+        //鍒犻櫎鎷h揣鍗�
+        this.deleteById(wrkNo);
+
+    }
 }

--
Gitblit v1.9.1