using DS.Module.Core; using DS.Module.Core.Condition; using DS.Module.Core.Data; using DS.WMS.Core.Op.Entity; using DS.WMS.Core.Op.Entity.TaskInteraction; namespace DS.WMS.Core.Op.Interface.TaskInteraction { /// /// 动作执行管理 /// public interface IActionManagerService { /// /// 根据指定条件返回是否匹配的结果 /// /// 要对比的数据源 /// 匹配条件 /// bool IsMatch(object source, ConditionContent condition); /// /// 根据指定条件返回是否匹配的结果 /// /// 业务ID /// 业务类型 /// 匹配条件 /// Task IsMatchAsync(long bsId, BusinessType businessType, IEnumerable conditions); /// /// 获取所需业务数据 /// /// 业务ID /// 业务类型 /// 条件字段 /// Task GetBusinessDataAsync(long businessId, BusinessType businessType, IEnumerable conditions); /// /// 获取所需业务数据 /// /// 业务ID /// 业务类型 /// 返回字段列表 /// Task GetBusinessDataAsync(long businessId, BusinessType businessType, params string[] fields); /// /// 执行特定动作 /// /// 数据上下文 /// Task ExecuteAsync(TaskFlowDataContext dataContext); /// /// 触发任务执行动作 /// /// 任务信息 /// 是否包含订单数据 /// 附加参数 /// Task TriggerActionAsync(BusinessTask businessTask, bool includeOrder = false, IDictionary? additionalData = null); /// /// 执行放舱任务(任务台使用) /// Task SpaceReleaseTask(TaskFlowDataContext dataContext); /// /// 自动订舱 /// /// 业务ID /// 业务类型 /// Task AutomaticBooking(long businessId, BusinessType businessType); } }