From aa310a47a05110a393c508921c92fa17ea95b491 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期五, 01 三月 2024 13:08:12 +0800 Subject: [PATCH] 导入修改 --- src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 89 insertions(+), 8 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 0e09253..2f46d25 100644 --- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java @@ -1,18 +1,18 @@ package com.zy.asrs.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapper; -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.OrderDetlService; -import com.zy.asrs.service.OrderService; -import com.zy.asrs.service.PakoutService; 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") @@ -23,9 +23,21 @@ @Autowired private OrderDetlService orderDetlService; + @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){ @@ -42,10 +54,79 @@ if (!orderService.updateById(order)){ throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触"); } - if (!delete(new EntityWrapper<Pakout>().eq("doc_num",docNum))){ + + List<Pakout> pakouts = selectList(new EntityWrapper<Pakout>().eq("doc_num", docNum)); + for (Pakout pakout: pakouts){ + + Pla pla = plaService.selectByBatchAndPackageNo(pakout.getBatch(), Integer.parseInt(pakout.getBarcode())); + 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())); + 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