package com.ruoyi.ams.task.service; import java.util.List; import com.ruoyi.ams.agv.ndc.entity.CallbackResult; import com.ruoyi.ams.task.domain.WcsTask; import com.ruoyi.ams.task.dto.WcsTaskLocationDTO; import com.ruoyi.common.core.domain.AjaxResult; /** * AGV任务Service接口 * * @author andy * @date 2022-03-10 */ public interface IWcsTaskService { /** * 查询AGV任务 * * @param taskNo AGV任务主键 * @return AGV任务 */ WcsTask selectWcsTaskByTaskNo(String taskNo); /** * 查询AGV任务列表 * * @param wcsTask AGV任务 * @return AGV任务集合 */ List selectWcsTaskList(WcsTask wcsTask); /** * 查询待下发的任务 * * @param warehouseId * @return */ List selectWcsUnallocated(Long warehouseId); /** * 查询AGV任务 * * @param wcsTask AGV任务 * @return AGV任务集合 */ WcsTask selectWcsTaskByModel(WcsTask wcsTask); /** * 新增AGV任务 * * @param wcsTask AGV任务 * @return 结果 */ int insertWcsTask(WcsTask wcsTask); /** * 修改AGV任务 * * @param wcsTask AGV任务 * @return 结果 */ int updateWcsTask(WcsTask wcsTask); /** * 批量删除AGV任务 * * @param taskNos 需要删除的AGV任务主键集合 * @return 结果 */ int deleteWcsTaskByTaskNos(String[] taskNos); /** * 删除AGV任务信息 * * @param taskNo AGV任务主键 * @return 结果 */ int deleteWcsTaskByTaskNo(String taskNo); /** * 取货完成回调 * * @param wcsTask */ void callBackPickup(WcsTask wcsTask); /** * 任务完成回调 * * @param wcsTask */ void callBackTaskComplete(WcsTask wcsTask); /** * 取消任务 * * @param wcsTask */ AjaxResult cancelTask(WcsTask wcsTask); /** * 库存处理 * * @param wcsTask 任务单号 * @param result 处理结果 */ void invDisposition(WcsTask wcsTask, String result); /** * 事件回调 * * @param wcsTask */ void eventCallBack(String code, WcsTask wcsTask); /** * 查询同列的任务 * * @param colNo 列号 * @param colIndex 列索引 * @param zoneId 区域 * @param warehouseId 仓库id * @return */ List selectTaskByColNo(String colNo, Long colIndex, Long zoneId, Long warehouseId); /** * 查询同列任务是否有优先级 * * @param colNo * @param colIndex * @param zoneId * @param warehouseId * @return */ List selectTaskByColNoAfter(String colNo, Long colIndex, Long zoneId, Long warehouseId); /** * 任务回调 * * @param taskNo * @param state * @param carNo */ void callBack(String taskNo, Integer state, Integer carNo); /** * 将起点库存放到中间缓存位置 * * @param wcsTask * @return */ AjaxResult moveStartingPointToMiddleCache(WcsTask wcsTask); /** * 将中间缓存位库存放到终点位置 * * @param wcsTask * @return */ AjaxResult moveMiddleCacheToDestination(WcsTask wcsTask); /** * 入库将起始点库存放到终点位置 * * @param wcsTask * @return */ AjaxResult moveStartingPointToDestination(WcsTask wcsTask); /** * 出库将起始点库存放到终点位置 * * @param wcsTask * @return */ AjaxResult moveStartingPointToDestinationout(WcsTask wcsTask); }