From 4df80cad47f22a930435835e7f7135bd60672cd8 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期四, 26 九月 2024 15:38:43 +0800 Subject: [PATCH] 1 --- src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java | 95 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 80 insertions(+), 15 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 462f199..09b1651 100644 --- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java @@ -1,17 +1,18 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; -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.*; 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; @Service("pakoutService") @@ -25,9 +26,18 @@ @Autowired private ManLocDetlService manLocDetlService; + @Autowired + private PlaService plaService; + + @Autowired + private PlaQtyService plaQtyService; + @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){ @@ -45,23 +55,78 @@ throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触"); } - List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum)); + 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("搴撳瓨鐘舵�佹洿鏂板け璐�"); + + 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()); + if(pla.getQtyAnfme() <= 0){ + pla.setStatus(GlobleParameter.PLA_STATUS_1); + } + plaService.updateById(pla); + plaQtyService.deleteById(pakout.getNodeId()); + + }else { + 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揣鍗曞垹闄ゅけ璐�"); } + } + @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