自动化立体仓库 - WMS系统
skyouc
1 天以前 78df6cc0014e1b9ef290a8ae86c39b63c8fc36e1
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -12,6 +12,9 @@
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.enums.LocAreaType;
import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.enums.TaskIOType;
import com.zy.asrs.mapper.LocMastMapper;
import com.zy.asrs.entity.result.FindLocNoAttributeVo;
import com.zy.asrs.service.*;
@@ -99,6 +102,12 @@
    private TaskService taskService;
    @Autowired
    private TaskDetlService taskDetlService;
    @Autowired
    private BasStationService basStationService;
    @Autowired
    private BasStationDetlService basStationDetlService;
    @Autowired
    private BasAreasService basAreasService;
    @Override
    @Transactional
@@ -459,7 +468,7 @@
            }
//            OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            OrderDetl orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch(), locDto.getBrand()
                    , locDto.getStandby1(), locDto.getStandby2(), locDto.getStandby3(), locDto.getBoxType1(), locDto.getBoxType2(), locDto.getBoxType3());
                    , locDto.getStandby1(), locDto.getStandby2(), locDto.getStandby3(), "1", locDto.getBoxType2(), locDto.getBoxType3());
//            if (orderDetl == null) {
////                orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
//                orderDetl = OrderInAndOutUtil.selectItem(Boolean.FALSE, locDto.getOrderNo(), locDto.getMatnr(), null);
@@ -487,7 +496,7 @@
//            orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
            OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE, orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
                    orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(),
                    orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()
                    "1", orderDetl.getBoxType2(), orderDetl.getBoxType3()
                    , locDto.getAnfme());
            OrderInAndOutUtil.updateOrder(Boolean.FALSE, orderDetl.getOrderId(), 2L, userId);
        }
@@ -672,7 +681,7 @@
//            orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
            OrderInAndOutUtil.increaseWorkQty(Boolean.FALSE, orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(),
                    orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(),
                    orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()
                    "1", orderDetl.getBoxType2(), orderDetl.getBoxType3()
                    , locDto.getAnfme());
            OrderInAndOutUtil.updateOrder(Boolean.FALSE, orderDetl.getOrderId(), 2L, userId);
        }
@@ -1457,6 +1466,10 @@
        if (Cools.isEmpty(wrkMast)) {
            throw new CoolException(workNo + "工作档不存在");
        }
        BasAreas basAreas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("whs_type_id", LocAreaType.LOC_AREA_TYPE_CRN.type));
        if (Objects.isNull(basAreas)) {
            throw new CoolException("数据错误,库区不存在!!");
        }
        // 入出库类型判断
        if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
            throw new CoolException("当前入出库类型无法进行操作");
@@ -1465,6 +1478,7 @@
        if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
            throw new CoolException("当前工作状态无法进行操作");
        }
        // 保存工作明细档历史档
//        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
//            throw new CoolException("保存工作明细档历史档失败");
@@ -1498,14 +1512,48 @@
            throw new CoolException("更新工作档数据状态失败");
        }
        // 修改库位状态 Q.拣料/盘点/并板再入库
        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("库位不存在:" + wrkMast.getLocNo());
        }
        locMast.setLocSts("Q");
        locMast.setAreaId(basAreas.getId());
        locMast.setAreaName(basAreas.getName());
        locMast.setBarcode(locMast.getBarcode());
        locMast.setModiTime(now);
        locMast.setModiUser(userId);
        if (!locMastService.updateById(locMast)) {
            throw new CoolException("修改库位状态失败");
        }
        // .修改并托入库明细托码
        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
                        .eq("area_id", locMast.getAreaId())
                .eq("loc_no", locMast.getLocNo()));
        if (!Objects.isNull(locDetls) && !locDetls.isEmpty()) {
            locDetls.forEach(locDetl -> {
                locDetl.setZpallet(locMast.getBarcode());
                locDetl.setBarcode(locMast.getBarcode());
                if (!locDetlService.updateById(locDetl)) {
                    throw new CoolException("库存明细修改失败!!");
                }
            });
        }
        // .修改任务档明细托盘码
        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
        if (!Objects.isNull(wrkDetls) && !wrkDetls.isEmpty()) {
            for (WrkDetl wrkDetl : wrkDetls) {
                wrkDetl.setZpallet(wrkMast.getBarcode());
                wrkDetl.setBarcode(wrkMast.getBarcode());
                if (!wrkDetlService.update(wrkDetl, new EntityWrapper<WrkDetl>()
                                .eq("matnr", wrkDetl.getMatnr())
                                .eq("standby1", wrkDetl.getStandby1())
                        .eq("wrk_no", wrkMast.getWrkNo()))) {
                    throw new CoolException("任务档明细修改失败!!");
                }
            }
        }
    }
    @Override