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>> OutStockStrategy_saleRelease([FromQuery] OutStockStrategyQuery input); /// /// 路径算法 /// /// /// /// Task> PathAlgorithms(string pStartId, string pEndId); /// /// 是否为一楼出库工位 /// /// /// string[] GetFloor1OutstockLocation(); /// /// 生成预任务 /// /// /// 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); /// /// 二楼kiva把料架送到下升降机后生成中储仓入库任务 /// /// 料架id /// Task Floor2EmptyCarryCreateZZCPretask(string rackid); } }