自动化立体仓库 - WMS系统
#
ytfl
22 小时以前 acb1348d6746ea9e6a48542baa203123559518cf
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -326,15 +326,6 @@
                ioType = dto.isAll() ? 101 : 103;
            } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                ioType = 107;
                if (Cools.isEmpty(checkOrderNo)) {
                    checkOrderNo = DateUtils.createTimeStamp();
                    InventoryCheckOrder checkOrder = new InventoryCheckOrder();
                    checkOrder.setCreateBy(userId);
                    checkOrder.setStatus("1");
                    checkOrder.setCreateTime(new Date());
                    checkOrder.setOrderNo(checkOrderNo);
                    checkOrderService.insert(checkOrder);
                }
            }
            assert ioType != null;
            // 获取库位
@@ -350,6 +341,20 @@
            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
            // 生成工作号
            int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
            if (ioType == 107) {
                if (Cools.isEmpty(checkOrderNo)) {
                    checkOrderNo = DateUtils.createTimeStamp() + "_" + workNo;
                    InventoryCheckOrder checkOrder = new InventoryCheckOrder();
                    checkOrder.setCreateBy(userId);
                    checkOrder.setStatus("1");
                    checkOrder.setArea(String.valueOf(workNo));
                    checkOrder.setCreateTime(new Date());
                    checkOrder.setOrderNo(checkOrderNo);
                    checkOrderService.insert(checkOrder);
                }
            }
            // 生成工作档
            WrkMast wrkMast = new WrkMast();
            wrkMast.setWrkNo(workNo);
@@ -406,6 +411,8 @@
                    checkOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
                    checkOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
                    checkOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
                    checkOrderDetl.setArea(String.valueOf(workNo));
                    checkOrderDetl.setCwarehouseid(wrkDetl.getStandby1());
                    checkOrderDetl.setIoTime(new Date());
                    checkOrderDetl.setStatus("0");
                    checkOrderDetlService.insert(checkOrderDetl);
@@ -482,6 +489,19 @@
                        , locDto.getStandby1(), locDto.getStandby2(), locDto.getStandby3(), locDto.getBoxType1(), locDto.getBoxType2(), locDto.getBoxType3());
            }
            Wrapper<LocDetl> wrapper = new EntityWrapper<LocDetl>()
                    .eq("loc_no", wrkMast.getSourceLocNo())
                    .eq("matnr", orderDetlPakout.getMatnr());
            if (!Cools.isEmpty(locDto.getBatch())) {
                wrapper.eq("batch", locDto.getBatch());
            }
            if (!Cools.isEmpty(orderDetlPakout.getSpecs())) {
                wrapper.eq("specs", orderDetlPakout.getSpecs());
            }
            LocDetl locDetl = locDetlService.selectOne(wrapper);
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetlPakout);
            wrkDetl.setZpallet(wrkMast.getBarcode());
@@ -495,6 +515,10 @@
            wrkDetl.setModiTime(now);
            wrkDetl.setModiUser(userId);
            wrkDetl.setThreeCode(orderDetlPakout.getId() + "");
            wrkDetl.setSupp(orderPakout.getCstmrName());
            wrkDetl.setStockNum(locDetl.getAnfme());//库存
            wrkDetl.setStockNum2(locDetl.getWeight());//辅库存
            wrkDetl.setKpCstmrName(orderPakout.getKpCstmrName());
            //计算辅数量
            Double weight = MatUtils.calcWeight(wrkDetl.getMatnr(), wrkDetl.getAnfme());