using System.Linq.Expressions; using Microsoft.AspNetCore.Mvc; using Tnb.BasicData.Entities; using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto.Inputs; namespace Tnb.WarehouseMgr.Interfaces { /// /// 库房业务(出入库)接口 /// public interface IWareHouseService { /// /// 入库策略 /// /// /// Task> InStockStrategy([FromQuery] InStockStrategyQuery input); /// /// 出库策略 /// /// /// Task> OutStockStrategy([FromQuery] OutStockStrategyQuery input); /// /// 路径算法 /// /// /// /// Task> PathAlgorithms(string pStartId, string pEndId); /// /// 生成预任务 /// /// /// Task GenPreTask(List preTasks, List preTaskCodes); /// /// 生成预任务成功后操作 /// /// /// Task GenInStockTaskHandleAfter(GenPreTaskUpInput input, Expression> setCarryColumnsExp, Expression> setLocaionColumbExp); /// /// 生成任务执行 /// /// Task GenTaskExecute(); /// /// 任务完成 /// /// /// Task TaskComplate(TaskCompleUpInput input); /// /// 任务执行 /// /// /// Task TaskExecute(TaskExecuteUpInput input); /// /// 任务执行取操作返回(后续操作) /// /// /// /// Task TaskExecuteAfter(TaskExecuteAfterUpInput input); /// /// 路径算法(同时出库多个载具) /// /// /// /// /// Task> PathAlgorithmsEle(string pStartId, string pEndId, int ele); Task SsxControl(WmsDistaskH disTask, string action); Func AddUnExecuteTask { get; set; } Task Check(string code, string action); /// /// // 二楼机械臂 /// /// Task Floor2MechanicalComplete(WmsDistaskH disTask, string action); } }