using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions; using System.Text;
using System.Threading.Tasks;
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 TaskComplate(TaskCompleUpInput input); }
}