自动化立体仓库 - WMS系统
zhou zhou
2025-12-30 3964d6d567fb00cedded7b8a05ad095e0db22042
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -9,6 +9,7 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.enums.LocStsType;
import com.zy.asrs.enums.TaskIOType;
import com.zy.asrs.mapper.BasDevpMapper;
import com.zy.asrs.mapper.BasStationMapper;
import com.zy.asrs.mapper.LocMastMapper;
@@ -124,7 +125,7 @@
    @Override
    public R inLocCallAgv(CallAgvParam param,Long userId) {
        int type = param.getType();
        int sourceSite = param.getSourceSite();
        String sourceSite = param.getSourceSite();
        String barcode = param.getBarcode();
        int ioType;
@@ -205,9 +206,31 @@
        // 入库暂存+1
        basDevpMapper.incrementInQty(endSite);
        // 插入agv任务
        Task task = new Task(0, 7L, ioType, String.valueOf(sourceSite), String.valueOf(endSite), userId, barcode);
        taskService.insert(task);
        // 获取工作号
        int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
        // 保存工作档
        Task task = new Task();
        Date now = new Date();
        task.setWrkNo(workNo)
                .setIoTime(now)
                .setWrkSts(7L) // 工作状态:11.生成出库ID
                .setIoType(ioType) // 入出库状态: 1.入库
                .setTaskType("agv")
                .setIoPri(10D)
                .setStaNo(String.valueOf(endSite))
                .setFullPlt(ioType != 10 ? "N" : "Y")// 满板:Y
                .setPicking("N") // 拣料
                .setExitMk("N")// 退出
                .setSourceLocNo(sourceSite)
                .setEmptyMk(ioType == 10 ? "Y" : "N")// 空板
                .setBarcode(barcode)// 托盘码
                .setLinkMis("N")
                .setAppeTime(now)
                .setModiTime(now);
        if (!taskService.insert(task)) {
            throw new CoolException("保存工作档失败");
        }
        // 更新暂存位状态为 R.出库预约
        basStationMapper.updateLocStsBatch( Collections.singletonList(String.valueOf(sourceSite)), "R");