package com.ruoyi.api.service; import com.ruoyi.api.domain.RequestLog; import com.ruoyi.api.domain.agv.agvCallback.AgvCallbackRequest; import com.ruoyi.api.domain.agv.agvCallback.AgvCallbackResponse; import com.ruoyi.api.domain.agv.cancelTask.CancelTaskRequest; import com.ruoyi.api.domain.agv.cancelTask.CancelTaskResponse; import com.ruoyi.api.domain.agv.continueTask.ContinueTaskRequest; import com.ruoyi.api.domain.agv.continueTask.ContinueTaskResponse; import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskRequest; import com.ruoyi.api.domain.agv.genAgvSchedulingTask.GenAgvSchedulingTaskResponse; import com.ruoyi.api.domain.wcs2wms.JobParam; import com.ruoyi.api.domain.wcs2wms.ReceiveJob; import com.ruoyi.api.domain.wcs2wms.exception.TaskExceptionRequest; import com.ruoyi.api.domain.wcs2wms.stockout.StockoutReceive; import com.ruoyi.bas.port.domain.WcsPort; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.exception.job.TaskException; import com.ruoyi.job.domain.MydoJob; import com.ruoyi.queue.agv.domain.AgvQueue; import org.aspectj.weaver.loadtime.Aj; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 接口记录Service接口 * * @author ruoyi * @date 2025-06-11 */ public interface IApiService { /** * 生成agv队列 * @param code1 起点 * @param code2 终点 * @param wmsTrayCode 容器码 托盘料箱码/容器码 * @param wmsTaskNo mydojob 任务 * @param wmsTaskType 1-入库 2-出库 3-agv搬运 * @return */ public AgvQueue createAgvQueue(String code1,String code2,String wmsTrayCode,String taskCode,String wmsTaskType,String traySize,String wmsTaskNo); /** * 取消AGV任务 * * @param cancelTaskRequest * @return */ public CancelTaskResponse cancelTask(CancelTaskRequest cancelTaskRequest); /** * 继续AGV任务 * @param agvQueue * @return */ public AjaxResult continueTask(AgvQueue agvQueue); /** * 生成AGV生成任务 * * @param genAgvSchedulingTaskRequest * @return */ public GenAgvSchedulingTaskResponse genAgvSchedulingTask(GenAgvSchedulingTaskRequest genAgvSchedulingTaskRequest); /** * agv任务状态推送 * @param request * @return */ AgvCallbackResponse agvCallback(AgvCallbackRequest request); /** * agv搬运作业 * * @param param * @return */ AjaxResult receiveAgvMoveJob(Map param); /** * 任务到达拣选口 * @param param * @return */ RequestLog finishMydoJob(Map param); /** * 下发agv任务 * @param agvQueue * @return */ public GenAgvSchedulingTaskResponse requestAgvQueue(AgvQueue agvQueue); /** * 取消ctu任务 * @param jobParam * @return */ AjaxResult cancelMydoJob(JobParam jobParam); AjaxResult selectWcsPort(WcsPort wcsPort); AjaxResult updateWcsPort(WcsPort wcsPort); /** * 放货有货,重新分配货位 * @param jobParam * @return */ AjaxResult reAssign(JobParam jobParam); /** * 放货有货 (参数类型TaskExceptionRequest) * @param taskExceptionRequest * @return */ AjaxResult reAssign(TaskExceptionRequest taskExceptionRequest); /** * 取货无货,重新分配单据 * @param jobParam * @return */ AjaxResult reMaterial(JobParam jobParam); /** * 取货无货(参数类型TaskExceptionRequest) * @param taskExceptionRequest * @return */ AjaxResult reMaterial(TaskExceptionRequest taskExceptionRequest); /** * 入库请求生成作业 */ AjaxResult createInMydoJob(Map param); /** * 入库请求作业异常反馈(扫码失败、外形、称重等异常) */ AjaxResult createInMydoJobException(Map param); AjaxResult selectMydoJobByNoTrayCode(Map param); AjaxResult receiveOutMydoJob(StockoutReceive stockoutReceive); AjaxResult receiveInMydoJob(ReceiveJob receiveInJob); AjaxResult selectMydoJobByTrayCodeAndEntranceId(HashMap paramMap); AjaxResult deleteAgvTray(AgvQueue agvQueue); AjaxResult requestWmsSpace(MydoJob mydoJob); }