From 4976563e692c610f2a8e2ba472424114340ff6a7 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 25 三月 2021 10:34:52 +0800 Subject: [PATCH] # --- src/main/webapp/static/js/check/check.js | 2 src/main/java/zy/cloud/wms/common/utils/VersionUtils.java | 18 +++++++++ src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 55 +++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java index 1de1c1b..c2a14e9 100644 --- a/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java +++ b/src/main/java/zy/cloud/wms/common/utils/VersionUtils.java @@ -46,6 +46,24 @@ locDetl.setWeight(comb.getWeight()); } + public static void setLocDetl(LocDetl locDetl, Mat mat) { + locDetl.setMatnr(mat.getMatnr()); + locDetl.setMaktx(mat.getMaktx()); + locDetl.setName(mat.getName()); + locDetl.setSpecs(mat.getSpecs()); + locDetl.setModel(mat.getModel()); + locDetl.setBatch(mat.getBatch()); + locDetl.setUnit(mat.getUnit()); + locDetl.setBarcode(mat.getBarcode()); + locDetl.setDocId(mat.getDocId()); + locDetl.setDocNum(mat.getDocNum()); + locDetl.setCustName(mat.getCustName()); + locDetl.setItemNum(mat.getItemNum()); + locDetl.setCount(mat.getCount()); + locDetl.setWeight(mat.getWeight()); + } + + public static void setPakout(Pakout pakout, Mat mat) { pakout.setMatnr(mat.getMatnr()); pakout.setMaktx(mat.getMaktx()); 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 1c8556f..99df66d 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 @@ -529,15 +529,68 @@ } } - return R.ok(); } @Override + @Transactional public R stockCheckAuditing(Long checkId, Long userId) { + Check check = checkService.selectById(checkId); + if (null == check) { + return R.error("鐩樼偣璁板綍宸插け鏁�"); + } + Date now = new Date(); + // 1.淇敼搴撳瓨鏁伴噺 + if (check.getOriQty() != 0 && check.getCekQty() != 0) { + // 鏇存柊搴撳瓨鏄庣粏 + if (check.getSettle() == 1) { + if (!locDetlService.incrementStock(check.getNodeId(), check.getMatnr(), Math.abs(check.getDiffQty()))) { + throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触"); + } + } else if (check.getSettle() == 2) { + if (!locDetlService.reduceStock(check.getNodeId(), check.getMatnr(), Math.abs(check.getDiffQty()))) { + throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触"); + } + } + } + // 2.鍒犻櫎搴撳瓨 + if (check.getOriQty() != 0 && check.getCekQty() == 0) { + if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("node_id", check.getNodeId()).eq("matnr", check.getMatnr()))) { + throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏鏁伴噺澶辫触"); + } + } + // 3.鏂板搴撳瓨 + if (check.getOriQty() == 0 && check.getCekQty() != 0) { + Mat mat = matService.selectByMatnr(check.getMatnr()); + if (mat == null) { + throw new CoolException("鍟嗗搧鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�"); + } + // 鏇存柊璐т綅搴撳瓨鏄庣粏 + LocDetl locDetl = new LocDetl(); + locDetl.setLocNo(check.getLocNo()); + locDetl.setNodeId(check.getNodeId()); +// locDetl.setZpallet(param.getZpallet()); + locDetl.setAnfme(check.getCekQty()); + VersionUtils.setLocDetl(locDetl, mat); + locDetl.setStatus(1); + locDetl.setCreateBy(userId); + locDetl.setCreateTime(now); + locDetl.setUpdateBy(userId); + locDetl.setUpdateTime(now); + if (!locDetlService.insert(locDetl)) { + throw new CoolException("鏂板搴撳瓨鏄庣粏澶辫触"); + } + } + // 淇敼鐩樼偣璁板綍 + check.setStatus(2); + check.setUpdateBy(userId); + check.setUpdateTime(now); + if (!checkService.updateById(check)) { + throw new CoolException("淇敼鐩樼偣璁板綍鐘舵�佸け璐�"); + } return R.ok(); } diff --git a/src/main/webapp/static/js/check/check.js b/src/main/webapp/static/js/check/check.js index 7006cf9..20e21a5 100644 --- a/src/main/webapp/static/js/check/check.js +++ b/src/main/webapp/static/js/check/check.js @@ -32,8 +32,8 @@ ,{field: 'docNum', align: 'center',title: '鍗曟嵁缂栧彿', hide: true} ,{field: 'oriQty', align: 'center',title: '璐﹂潰鏁伴噺 (鍘�)', style: 'font-weight: bolder'} ,{field: 'cekQty', align: 'center',title: '瀹炵洏鏁伴噺 (鐜�)', style: 'font-weight: bolder'} - ,{field: 'diffQty', align: 'center',title: '宸��', style: 'font-weight: bolder; color: blue'} ,{field: 'settle$', align: 'center',title: '鐩堜簭', templet: '#checkTpl', width: 100} + ,{field: 'diffQty', align: 'center',title: '宸��', style: 'font-weight: bolder; color: blue'} ,{field: 'createTime$', align: 'center',title: '鐩樼偣鏃堕棿'} ,{field: 'createBy$', align: 'center',title: '鐩樼偣浜哄憳'} ,{field: 'status$', align: 'center',title: '鐘舵��', templet: '#statusTpl', width: 110} -- Gitblit v1.9.1