自动化立体仓库 - WMS系统
skyouc
14 小时以前 8ae2f2dcfe7e263d42c21ed7644641c780445b95
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -127,11 +127,7 @@
                            locDetl = new LocDetl();
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                            if (!Objects.isNull(wrkMast.getWrkCode())) {
                                locDetl.setAnfme(wrkDetl.getRealQty());
                            } else {
                                locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            }
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setModiTime(now);
                            locDetl.setAppeTime(now);
@@ -144,8 +140,33 @@
                        //判断匹配编码不为空,且任务编码包含-2,确认为有上组任务
                        if (!Objects.isNull(wrkMast.getWrkCode())) {
                            //不需要更新单据信息(子任务无单据
                            //TODO 获取101出库 主任务档总数量 - 子任务档的实际数量 = 当前作业完成数量
                            WrkDetl selectOne = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                            Double v = Math.round((selectOne.getStockQty() - selectOne.getAnfme()) * 10000) / 10000.0;
                            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), null, null, null, null,
                                    null, null, null);
                            if (!Objects.isNull(orderDetlPakout)) {
                                orderDetlPakout.setQty(v);
                                if (!orderDetlPakoutService.updateById(orderDetlPakout)) {
                                    throw new CoolException("单据完成数量修改失败!!");
                                }
                            }
                            int indexOf = wrkMast.getWrkCode().indexOf("-1");
                            if (indexOf != -1) {
                                String wrkNo = wrkMast.getWrkCode().substring(0, indexOf);
                                WrkMast mast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo));
                                if (Objects.isNull(mast)) {
                                    throw new CoolException("数据错误,主任务档不存在或已删除!!");
                                }
                                mast.setWrkCode(null);
                                if (!wrkMastService.updateById(mast)) {
                                    throw new CoolException("原任务档删除失败!!");
                                }
                            }
                        } else {
                            //正常单据才存存入库单,作入库单据信息更新
                            // 更新订单完成数量