From 1c6659a0f946b15bea84bccb206fe11111ac211e Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 10 三月 2021 16:18:48 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java index 30a8371..7266714 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java @@ -154,13 +154,63 @@ if (!pakoutService.insert(pakout)) { throw new CoolException("鐢熸垚鎷h揣鍗曞け璐�"); } - // 淇敼搴撳瓨鏄庣粏鏁伴噺 - if (!locDetlService.reduceStock(locDetl.getNodeId(), locDetl.getMatnr(), param.getCount())) { - throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触"); + if (param.getCount() > locDetl.getAnfme()) { + throw new CoolException("搴撳瓨涓嶈冻"); + } else if (param.getCount()<locDetl.getAnfme()) { + // 淇敼搴撳瓨鏄庣粏鏁伴噺 + if (!locDetlService.reduceStock(locDetl.getNodeId(), param.getMatnr(), param.getCount())) { + throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触"); + } + } else { + // 鍒犻櫎搴撳瓨鏄庣粏 + if (!locDetlService.removeStock(locDetl.getNodeId(), param.getMatnr())) { + throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触"); + } } } } return R.ok(); } + @Override + public R completePakout(String wrkNo, Long userId) { + Pakout pakout = pakoutService.selectOne(new EntityWrapper<Pakout>().eq("wrk_no", wrkNo)); + if (null != pakout) { + if (pakoutService.stockOutComplete(wrkNo, null, userId)) { + return R.ok("鎷h揣鍗曞凡瀹屾垚"); + } + } + return R.error(); + } + + @Override + @Transactional + public R cancelPakout(String wrkNo, Long userId) { + Pakout pakout = pakoutService.selectOne(new EntityWrapper<Pakout>().eq("wrk_no", wrkNo)); + if (null != pakout) { + LocDetl locDetl = locDetlService.getLocDetl(pakout.getNodeId(), pakout.getMatnr()); + if (locDetl == null) { + LocDetl oldLocDetl = new LocDetl(); + VersionUtils.setLocDetl(oldLocDetl, pakout); + oldLocDetl.setCreateTime(new Date()); + oldLocDetl.setCreateBy(userId); + oldLocDetl.setUpdateTime(new Date()); + oldLocDetl.setUpdateBy(userId); + if (!locDetlService.insert(oldLocDetl)) { + throw new CoolException("鎭㈠搴撳瓨鏄庣粏澶辫触"); + } + } else { + if (!locDetlService.incrementStock(locDetl.getNodeId(), locDetl.getMatnr(), pakout.getAnfme())) { + throw new CoolException("鎭㈠搴撳瓨鏄庣粏澶辫触"); + } + } + } else { + return R.error("鎷h揣鍗曞凡澶辨晥锛屽彇娑堝け璐ワ紒"); + } + if (!pakoutService.delete(new EntityWrapper<Pakout>().eq("wrk_no", pakout.getWrkNo()))) { + throw new CoolException("鍒犻櫎鎷h揣鍗曞け璐�"); + } + return R.ok("鎷h揣鍗曞凡鍙栨秷"); + } + } -- Gitblit v1.9.1