155 lines
5.7 KiB
C#
155 lines
5.7 KiB
C#
using System.Linq.Expressions;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SqlSugar;
|
|
using Tnb.BasicData.Entities;
|
|
using Tnb.WarehouseMgr.Entities;
|
|
using Tnb.WarehouseMgr.Entities.Dto;
|
|
using Tnb.WarehouseMgr.Entities.Dto.Inputs;
|
|
|
|
namespace Tnb.WarehouseMgr.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// 库房业务(出入库)接口
|
|
/// </summary>
|
|
public interface IWareHouseService
|
|
{
|
|
/// <summary>
|
|
/// 入库策略
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task<List<BasLocation>> InStockStrategy([FromQuery] InStockStrategyQuery input);
|
|
/// <summary>
|
|
/// 出库策略
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task<List<WmsCarryH>> OutStockStrategy([FromQuery] OutStockStrategyQuery input);
|
|
/// <summary>
|
|
/// 原材料仓出库策略
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="AppFriendlyException"></exception>
|
|
Task<List<WmsCarryH>> OutStockStrategyYCL([FromQuery] OutStockStrategyQuery input);
|
|
/// <summary>
|
|
/// 缓存仓出库策略
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="AppFriendlyException"></exception>
|
|
Task<List<WmsCarryH>> OutStockStrategyHCC([FromQuery] OutStockStrategyQuery input);
|
|
/// <summary>
|
|
/// 中储仓到二楼出库策略
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
/// <exception cref="AppFriendlyException"></exception>
|
|
Task<List<WmsCarryH>> OutStockStrategyZCC2Floor2([FromQuery] OutStockStrategyQuery input);
|
|
|
|
/// <summary>
|
|
/// 出库策略-销售出库下发
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task<List<Tuple<string, WmsCarryH, WmsCarryCode, BasLocation>>> OutStockStrategy_saleRelease([FromQuery] OutStockStrategyQuery input);
|
|
/// <summary>
|
|
/// 路径算法
|
|
/// </summary>
|
|
/// <param name="pStartId"></param>
|
|
/// <param name="pEndId"></param>
|
|
/// <returns></returns>
|
|
Task<List<WmsPointH>> PathAlgorithms(string pStartId, string pEndId);
|
|
|
|
/// <summary>
|
|
/// 是否为一楼出库工位
|
|
/// </summary>
|
|
/// <param name="location_id"></param>
|
|
/// <returns></returns>
|
|
string[] GetFloor1OutstockLocation();
|
|
|
|
/// <summary>
|
|
/// 是否为供料三工位库位
|
|
/// </summary>
|
|
/// <param name="location_id"></param>
|
|
/// <returns></returns>
|
|
string[] GetFloor1GLSGWOutstockLocation();
|
|
|
|
/// <summary>
|
|
/// 是否为外协三工位库位
|
|
/// </summary>
|
|
/// <param name="location_id"></param>
|
|
/// <returns></returns>
|
|
string[] GetFloor1WXSGWOutstockLocation();
|
|
|
|
/// <summary>
|
|
/// 生成预任务
|
|
/// </summary>
|
|
/// <param name="preTasks"></param>
|
|
/// <returns></returns>
|
|
Task<bool> GenPreTask(List<WmsPretaskH> preTasks, List<WmsPretaskCode> preTaskCodes, ISqlSugarClient dbConn = null);
|
|
/// <summary>
|
|
/// 生成预任务成功后操作
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task GenInStockTaskHandleAfter(GenPreTaskUpInput input, Expression<Func<WmsCarryH, WmsCarryH>> setCarryColumnsExp, Expression<Func<BasLocation, BasLocation>> setLocaionColumbExp, ISqlSugarClient dbConn = null);
|
|
/// <summary>
|
|
/// 生成任务执行
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task GenTaskExecute();
|
|
/// <summary>
|
|
/// 任务完成
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task TaskComplate(TaskCompleUpInput input);
|
|
/// <summary>
|
|
/// 任务执行
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task TaskExecute(TaskExecuteUpInput input);
|
|
/// <summary>
|
|
/// 任务执行取操作返回(后续操作)
|
|
/// </summary>
|
|
/// /// <param name="input"></param>
|
|
/// <returns></returns>
|
|
Task TaskExecuteAfter(TaskExecuteAfterUpInput input);
|
|
/// <summary>
|
|
/// 路径算法(同时出库多个载具)
|
|
/// </summary>
|
|
/// <param name="pStartId"></param>
|
|
/// <param name="pEndId"></param>
|
|
/// <param name="ele"></param>
|
|
/// <returns></returns>
|
|
Task<List<WmsPointH>> PathAlgorithmsEle(string pStartId, string pEndId, int ele);
|
|
Task SsxControl(WmsDistaskH disTask, string action);
|
|
Func<string, int, Task> AddUnExecuteTask { get; set; }
|
|
Task<bool> Check(string code, string action);
|
|
/// <summary>
|
|
/// // 二楼机械臂
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task Floor2MechanicalComplete(WmsDistaskH disTask, string action);
|
|
|
|
/// <summary>
|
|
/// 二楼kiva把料架送到下升降机后生成中储仓入库任务
|
|
/// </summary>
|
|
/// <param name="rackid">料架id</param>
|
|
/// <returns></returns>
|
|
Task<bool> Floor2EmptyCarryCreateZZCPretask(string rackid);
|
|
|
|
/// <summary>
|
|
/// 生成预任务接口 CTU需要传task_type
|
|
/// </summary>
|
|
/// <param name="input"></param>
|
|
/// <returns></returns>
|
|
[HttpPost, NonUnify, AllowAnonymous]
|
|
Task<Tnb.WarehouseMgr.Entities.Dto.Outputs.Result> CommonCreatePretask(CommonCreatePretaskInput input, ISqlSugarClient db = null);
|
|
|
|
}
|
|
}
|