自动化立体仓库 - WMS系统
pang.jiabao
2025-04-30 abb9b5c51d8a20be68b64e0c4a9620f6578d2e3a
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -187,7 +187,12 @@
                LocDetl one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo())
                        .eq("brand",paramLocDetl.getBrand()).eq("model",paramLocDetl.getModel()));
//                        selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
                if (null != one) {
                    if(!"合格".equals(one.getThreeCode())) {
                        throw new CoolException(one.getModel() + "卷不合格:" + one.getThreeCode() );
                    }
                    locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
                }
//            }
        }
        if (!locDetlDtos.isEmpty()) {
@@ -740,10 +745,9 @@
        // 获取库位明细
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(),param.getOrderNo()));
            }
            LocDetl one = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no",paramLocDetl.getLocNo())
                    .eq("brand",paramLocDetl.getBrand()).eq("model",paramLocDetl.getModel()));
            if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
        }
        if (!locDetlDtos.isEmpty()) {
            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
@@ -854,12 +858,6 @@
        if (Cools.isEmpty(loc)){
            throw new CoolException("未找到库位");
        }
        if (!loc.getLocSts().equals("O") || (!sourceLoc.getLocSts().equals("F") && !sourceLoc.getLocSts().equals("D"))){
            throw new CoolException("库位状态已改变");
        }
//        if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
//            throw new CoolException("移转库位属于不同堆垛机");
//        }
        Date now = new Date();
        // 获取工作号
@@ -1180,6 +1178,12 @@
            }
        }
//        // 取消空闲理货任务时,回滚成未理货
//        if (wrkMast.getIoType() == 109) {
//            // 更新库存明细为理货中
//            locDetlMapper.updateLhStsByLocNo(wrkMast.getSourceLocNo(),0);
//        }
        //取消出库工作档时,查询单据管理表,回滚作业中数量
        if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());