From 6a1173f27140d908513aef29f6d7240a452edb17 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 12 三月 2021 08:32:34 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/MainService.java | 34 +++++++++++++++++++++------------- 1 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/service/MainService.java b/src/main/java/zy/cloud/wms/common/service/MainService.java index c5f3b5d..a3779ee 100644 --- a/src/main/java/zy/cloud/wms/common/service/MainService.java +++ b/src/main/java/zy/cloud/wms/common/service/MainService.java @@ -13,10 +13,7 @@ import zy.cloud.wms.manager.entity.LocDetl; import zy.cloud.wms.manager.entity.Mat; import zy.cloud.wms.manager.entity.Pakout; -import zy.cloud.wms.manager.service.LocDetlService; -import zy.cloud.wms.manager.service.MatService; -import zy.cloud.wms.manager.service.PakoutService; -import zy.cloud.wms.manager.service.PriorService; +import zy.cloud.wms.manager.service.*; import java.util.Date; import java.util.List; @@ -36,7 +33,7 @@ @Autowired private PakoutService pakoutService; @Autowired - private PriorService priorService; + private CustOrderService custOrderService; @Autowired private SnowflakeIdWorker snowflakeIdWorker; @@ -45,6 +42,8 @@ if (Cools.isEmpty(dto) || Cools.isEmpty(dto.getCustOrders())) { return; } + // 妫�鏌ュ簱瀛樻槸鍚﹁冻澶� + locDetlService.checkLocDetlCount(dto.getNumber()); Date now = new Date(); for (CustOrder custOrder : dto.getCustOrders()) { // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪 @@ -66,24 +65,33 @@ pakout.setNodeId(locDetl.getNodeId()); pakout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId())); VersionUtils.setPakout(pakout, mat); +// pakout.setDocId(custOrder.getBTypeId()); + pakout.setDocNum(custOrder.getNumber()); // 鍗曟嵁缂栧彿 pakout.setCreateTime(now); pakout.setUpdateTime(now); pakout.setStatus(1); if (!pakoutService.insert(pakout)) { throw new CoolException("淇濆瓨鍑哄簱閫氱煡鍗曞け璐�"); } - // 淇敼搴撳瓨鏄庣粏鏁伴噺 - if (!locDetlService.reduceStock(locDetl.getNodeId(), mat.getMatnr(), issued>=locDetl.getAnfme()?locDetl.getAnfme():issued)) { - throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触"); + if (issued>=locDetl.getAnfme()) { + // 鍒犻櫎搴撳瓨鏄庣粏 + if (!locDetlService.removeStock(locDetl.getNodeId(), mat.getMatnr())) { + throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触"); + } + } else { + // 淇敼搴撳瓨鏄庣粏鏁伴噺 + if (!locDetlService.reduceStock(locDetl.getNodeId(), mat.getMatnr(), issued)) { + throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触"); + } } - // 鍓╀綑寰呭嚭璐т綅閫掑噺 + // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 issued = issued - locDetl.getAnfme(); } } - - - - + // 淇敼鍗曟嵁鐘舵�� + if (!custOrderService.updateStatus(custOrder.getNumber(), 2)) { + throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�"); + } } } -- Gitblit v1.9.1