自动化立体仓库 - WMS系统
pang.jiabao
2025-11-19 e5c56a0626329f446547c3dce836c88e15dfc549
agv回调接口
1个文件已添加
4个文件已修改
123 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/AgvCallbackDto.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Task.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -4,6 +4,7 @@
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.AgvCallbackDto;
import com.zy.asrs.entity.param.MatSyncParam;
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
@@ -38,6 +39,15 @@
    @Autowired
    private OpenService openService;
    @PostMapping("/api/agv_callback")
    @AppAuth(memo = "agv任务回调")
    public synchronized R agvCallback(@RequestHeader(required = false) String appkey,
                                      @RequestBody(required = false) AgvCallbackDto param,
                                      HttpServletRequest request) {
        auth(appkey, param, request);
        return openService.agvCallback(param);
    }
    // 入库完成上报测试接口
    @PostMapping("/inOrderFinishReport")
    public synchronized R inOrderFinishReport(@RequestHeader(required = false) String appkey,
src/main/java/com/zy/asrs/entity/AgvCallbackDto.java
New file
@@ -0,0 +1,80 @@
package com.zy.asrs.entity;
import lombok.Data;
/**
 * @author pang.jiabao
 * @description agv任务回调dto
 * @createDate 2025/11/19 14:14
 */
@Data
public class AgvCallbackDto {
    /**
     * 运单编号
     */
    private String id;
    /**
     * 运单类型
     */
    private String kind;
    /**
     * 运单状态
     * - Failed:失败(注意失败可以不是终态。在故障被解决后,失败的运单允许变为完成。或者取消掉失败的运单。如果不需要处理,失败就是终态)
     * - Assigned:已派车
     * - Done:完成(终态,运单成功)
     * - Cancelled:取消(终态,人工标记取消)
     */
    private String status;
    /**
     * 起始库位
     */
    private String fromBin;
    /**
     * 目标库位
     */
    private String toBin;
    /**
     * 分配AGV
     */
    private String robotName;
    /**
     * 在库口
     */
    private Boolean atPort;
    /**
     * 已取货
     */
    private Boolean loaded;
    /**
     * 已放货
     */
    private Boolean unloaded;
    /**
     * 故障编码
     */
    private String errCode;
    /**
     * 故障信息
     */
    private String errMsg;
    /**
     * 最后修改时间
     */
    private String modifiedOn;
    /**
     * 运单完成时间
     */
    private String doneOn;
}
src/main/java/com/zy/asrs/entity/Task.java
@@ -78,7 +78,7 @@
    @TableField("crn_no")
    private Integer crnNo;
    @ApiModelProperty(value = "")
    @ApiModelProperty(value = "rgv")
    @TableField("sheet_no")
    private String sheetNo;
src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,5 +1,7 @@
package com.zy.asrs.service;
import com.core.common.R;
import com.zy.asrs.entity.AgvCallbackDto;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
@@ -44,4 +46,9 @@
     * @param param
     */
    void syncMat(MatSyncParam param);
    /**
     * agv任务回调
     */
    R agvCallback(AgvCallbackDto param);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
@@ -19,6 +20,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -53,6 +55,28 @@
    @Autowired
    private TagMapper tagMapper;
    @Resource
    private TaskService taskService;
    @Override
    public R agvCallback(AgvCallbackDto param) {
        String id = param.getId();
        Task task = taskService.selectById(id);
        if (task == null) {
            return R.parse(id +":id不存在");
        }
        switch (param.getStatus()) {
            case "Assigned":task.setSheetNo(param.getRobotName());break;
            case "Done":task.setWrkSts(9L);break;
            case "Failed":
            case "Cancelled":
            default:
        }
        taskService.updateById(task);
        return R.ok();
    }
    @Override
    @Transactional
    public void pakinOrderCreate(OpenOrderPakinParam param) {