自动化立体仓库 - WMS系统
#
TQS
2023-01-11 0abb8fc8c901a9aedf70c7c0e5bb86dbd2bd4031
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -215,9 +215,9 @@
                ioType = dto.isAll() ? 101 : 103;
            } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                ioType = 107;
                if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
                    throw new CoolException("只能存在一笔盘点任务");
                }
                // if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
                //     throw new CoolException("只能存在一笔盘点任务");
                // }
            }
            assert ioType != null;
            // 获取库位
@@ -233,7 +233,7 @@
            wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID
            wrkMast.setIoType(ioType); // 入出库状态
            Double ioPri = wrkMastService.getIoPri(ioType, dto.getLocNo());
            wrkMast.setIoPri(ioPri); // 优先级:13
            wrkMast.setIoPri(13D); // 优先级:13
            wrkMast.setOutMost(locMastService.isOutMost(dto.getLocNo(), false) ? 1 : 0);
            wrkMast.setCrnNo(locMast.getCrnNo());
            wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站
@@ -268,6 +268,7 @@
                wrkDetl.setAppeUser(userId);
                wrkDetl.setModiTime(now);
                wrkDetl.setModiUser(userId);
                wrkDetl.setSpecs(detlDto.getLocDetl().getSpecs());
                if (!wrkDetlService.insert(wrkDetl)) {
                    throw new CoolException("保存工作档明细失败");
                }
@@ -284,7 +285,7 @@
            } else {
                throw new CoolException(dto.getLocNo() + "库位不是在库状态");
            }
            locMastService.breakUp(dto.getLocNo(), excludeLocNos);
//            locMastService.breakUp(dto.getLocNo(), excludeLocNos);
        }
    }
@@ -391,7 +392,9 @@
                }
            } else {
                // 订单合并出库
                List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
//                List<OrderDto> orderDtoList = JSON.parseArray(locDto.getOrderNo(), OrderDto.class);
                List<OrderDto> orderDtoList = new ArrayList<>();
                orderDtoList.add(new OrderDto(locDto.getOrderNo(),locDto.getMatnr(),locDto.getAnfme()));
                for (OrderDto orderDto : orderDtoList) {
                    OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
                    if (orderDetl == null) {
@@ -588,9 +591,9 @@
    @Override
    @Transactional
    public void locCheckOut(StockOutParam param, Long userId) {
        if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
            throw new CoolException("只能存在一笔盘点任务");
        }
        // if (wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type", 107)) > 0) {
        //     throw new CoolException("只能存在一笔盘点任务");
        // }
        // 目标站点状态检测
        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
        // 获取库位明细
@@ -706,6 +709,7 @@
            wrkMast.setWrkSts(9L);
            // 出库
        } else if (wrkMast.getWrkSts() > 10) {
            wrkMast.setSteNo(0);
            wrkMast.setWrkSts(17L);
        }
        Date now = new Date();
@@ -1058,9 +1062,9 @@
        if (Cools.isEmpty(locNos)) {
            return;
        }
        if (true && !Cools.isEmpty(locNos)) {
            throw new CoolException("暂不支持移库任务");    // todo:luxiaotao 移库开关
        }
//        if (true && !Cools.isEmpty(locNos)) {
//            throw new CoolException("暂不支持移库任务");    // todo:luxiaotao 移库开关
//        }
        LocMast one = locMastService.selectById(locNos.get(0));
        List<Integer> rows = Utils.getGroupLoc(Integer.parseInt(locNos.get(0).substring(0, 2)));
        List<LocMast> locMasts = locMastService.queryFreeLocMast(rows, rows.size(), one.getLocType1());