自动化立体仓库 - WMS系统
#
Junjie
2 天以前 6a1b04daaa0b144a8a7131e3449db57e185498cc
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;
            // 获取库位
@@ -347,9 +338,38 @@
//            }
            // 获取路径
            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
            List<StaDesc> staDescs = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
            StaDesc staDesc = staDescs.get(0);
            if (locMast.getCrnNo() == 1) {
                int finalCrnStn = 1016;
                if (locMast.getRow1() <= 3) {
                    finalCrnStn = 1013;
                }
                for (StaDesc desc : staDescs) {
                    if (desc.getCrnStn() == finalCrnStn) {
                        staDesc = desc;
                        break;
                    }
                }
            }
            // 生成工作号
            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);
@@ -395,7 +415,11 @@
                    throw new CoolException("保存工作档明细失败");
                }
                if (ioType == 107) {
                    List<InventoryCheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", checkOrderNo).eq("loc_no", dto.getLocNo()));
                    List<InventoryCheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>()
                            .eq("order_no", checkOrderNo)
                            .eq("loc_no", dto.getLocNo())
                            .eq("batch", wrkDetl.getBatch())
                    );
                    if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) {
                        throw new CoolException("该库位的盘点任务已经添加到了该库位中");
                    }
@@ -406,6 +430,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);