zy-asrs-common/src/main/java/com/zy/asrs/common/wms/entity/OrderDetl.java
@@ -482,9 +482,12 @@ } public Double getEnableQty() { if (null != this.anfme && this.qty != null) { return this.anfme - this.qty; if (null != this.anfme && this.workQty != null) { return this.anfme - this.workQty; } // if (null != this.anfme && this.qty != null) { // return this.anfme - this.qty; // } return null; } zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OrderController.java
@@ -211,10 +211,12 @@ double totalQty = 0; double wrkQty = 0; double lackQty = 0; double endQty = 0; for (OrderDetl orderDetl : orderDetls) { totalQty = totalQty + orderDetl.getAnfme(); wrkQty = wrkQty + orderDetl.getQty(); double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); wrkQty = wrkQty + orderDetl.getWorkQty(); endQty = endQty + orderDetl.getQty(); double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued > 0.0) { List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), hostId); for (LocDetl locDetl : locDetls) { @@ -236,6 +238,9 @@ WrkMast wrkMast = wrkMastService.getOne(new LambdaQueryWrapper<WrkMast>().eq(WrkMast::getWrkNo, wrkDetl.getWrkNo()).eq(WrkMast::getIoTime, wrkDetl.getIoTime())); if (wrkMast == null) { WrkMastLog wrkMastLog = wrkMastLogService.getOne(new LambdaQueryWrapper<WrkMastLog>().eq(WrkMastLog::getWrkNo, wrkDetl.getWrkNo()).eq(WrkMastLog::getIoTime, wrkDetl.getIoTime())); if (wrkMastLog.getIoType()==103){ wrkMastLog = wrkMastLogService.getOne(new LambdaQueryWrapper<WrkMastLog>().eq(WrkMastLog::getWrkNo, wrkDetl.getWrkNo()).eq(WrkMastLog::getIoTime, wrkDetl.getIoTime()).eq(WrkMastLog::getIoType,53)); } if (wrkMastLog != null) { wrkMast = new WrkMast(); BeanUtils.copyProperties(wrkMastLog, wrkMast); @@ -264,6 +269,7 @@ .add("totalQty", totalQty) .add("wrkQty", wrkQty) .add("lackQty", lackQty) .add("endQty",endQty) ); } zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/OutController.java
@@ -54,7 +54,7 @@ Set<String> exist = new HashSet<>(); for (OrderDetl orderDetl : orderDetls) { double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getQty()).orElse(0.0D); double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D); if (issued <= 0.0D) { continue; } List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), hostId); for (LocDetl locDetl : locDetls) { zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
@@ -106,21 +106,21 @@ } } // 更新入库通知档 ioStatus ===>> Y // 更新订单完成数量 OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId); if (orderDetl==null){ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId); } try { // Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>() // .eq("zpallet", wrkDetl.getZpallet()) // .eq("matnr", wrkDetl.getMatnr()) // .eq("anfme", wrkDetl.getAnfme()); // if (Cools.isEmpty(wrkDetl.getBatch())) { // wrapper.eq("batch", wrkDetl.getBatch()); // } else { // wrapper.isNull("batch").or().eq("batch", ""); // } // WaitPakin setParam = new WaitPakin(); // setParam.setIoStatus("Y"); // setParam.setModiTime(now); // waitPakinService.update(setParam, wrapper); if(!Cools.isEmpty(orderDetl)){ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) { // exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } } catch (Exception ignore){} } @@ -151,6 +151,24 @@ exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); } } // 更新订单完成数量 OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId); if (orderDetl==null){ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId); } try { if(!Cools.isEmpty(orderDetl)){ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) { // exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("拣料入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); } } } catch (Exception ignore){} } // 修改库位状态 Q ====>> F if (locMast.getLocSts().equals("Q")) { @@ -315,7 +333,22 @@ exceptionHandle("全板出库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); } for (WrkDetl wrkDetl : wrkDetls101) { // todo:luxiaotao 3)修改出库通知档 status ==> Y // 更新订单完成数量 OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId); if (orderDetl==null){ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId); } try { if(!Cools.isEmpty(orderDetl)){ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) { // exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", // wrkMast.getWrkNo(), wrkMast.getLocNo()); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]"); } } } catch (Exception ignore){} } // 删除工作档源库位的库存明细 if (!locDetlService.remove(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, wrkMast.getSourceLocNo()).eq(LocDetl::getHostId, hostId))) { zy-asrs-wms/src/main/webapp/static/js/order/order.js
@@ -565,7 +565,7 @@ var traceCharts = echarts.init(document.getElementById('wrkTraceCharts')); var traceOptions = { title: { text: '作业/总量', x: 'center', y: '38%', text: '总量/作业/完成', x: 'center', y: '38%', textStyle: {fontSize: 18, color: '#262626', fontWeight: 'normal'}, subtextStyle: {fontSize: 36, color: '#10B4E8'}, itemGap: 20 @@ -578,7 +578,7 @@ // 赋值 traceCharts.setOption({ title: { subtext: res.data.wrkQty+"/"+res.data.totalQty subtext: res.data.totalQty+"/"+res.data.wrkQty+"/"+res.data.endQty }, series: [ { zy-asrs-wms/src/main/webapp/views/order/order.html
@@ -257,18 +257,18 @@ </div> <table class="layui-table" lay-skin="nob" style="width: 80%"> <thead> <tr style="background: none"> <td>No.</td> <td>商品编号</td> <td>数量</td> </tr> </thead> <tbody> {{# layui.each(item.wrkDetls, function(idx, wrkDetl){ }} <tr> <tr style="background: none"> <td>No.</td> <td><span class="layui-badge layui-bg-cyan">{{ idx+1 }}</span></td> </tr> <tr style="background: none"> <td>物料号:</td> <td>{{ wrkDetl.matnr }}</td> </tr> <tr style="background: none"> <td>数量:</td> <td style="font-weight: bold">{{ wrkDetl.anfme }}</td> </tr> {{# }); }}