using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application
{
///
/// 服务流程管理
///
public interface IServiceWorkFlowManageService
{
///
/// 推送状态
///
/// 服务流程报文详情
/// 返回回执
Task PushStatus(TrackingMessageInfo info);
///
/// 单票单服务项目查询
///
/// 查询服务流程详情
/// 返回回执
Task QuerySingleBusinessPerServiceProject(TrackingQueryMessageInfo info);
///
/// 单票所有相关服务项目查询
///
/// 查询服务流程详情
/// 返回回执
Task QuerySingleBusinessAll(TrackingQueryMessageInfo info);
///
/// 取消状态
///
/// 服务流程报文详情
/// 返回回执
Task CancelStatus(TrackingMessageInfo info);
///
/// 查询当前租户下可用服务项目与状态详情
///
/// 查询服务项目请求报文
/// 返回回执
Task QueryServiceInfo(TrackingQueryMessageInfo info);
///
/// 校验取消状态
///
/// 服务流程报文详情
/// 返回回执
Task ValidateCancelProject(TrackingMessageInfo info);
///
/// 检索已选中并且可用的服务项目列表
///
/// 查询服务项目和状态详情
/// 返回回执
Task GetEnableProjectList(QueryServiceProjectWithStatus model);
///
/// 检索服务项目下的状态列表
///
/// 查询服务项目和状态详情
/// 返回回执
Task GetEnableStatusListByProject(QueryServiceProjectWithStatus model);
///
/// 单票检索服务项目下的状态列表
///
/// 查询服务项目和状态详情
/// 返回回执
Task GetEnableStatusListByBusiness(QueryServiceProjectWithStatus model);
///
/// 保存服务状态
///
/// 修改服务状态详情
/// 返回回执
Task SaveServiceStatus(ModifyServiceProjectStatusDto model);
///
/// 取消服务状态
///
/// 修改服务状态详情
/// 返回回执
Task CancelServiceStatus(ModifyServiceProjectStatusDto model);
///
/// 批量检索服务项目下的状态列表
///
/// 批量查询服务项目和状态详情
/// 返回回执
Task GetEnableStatusListByBusinessBatch(QueryServiceProjectWithStatusBatch model);
///
/// 手工同步历史服务状态(读取booking_goods_status同步到新的状态)
///
/// 租户ID
///
Task ManualSyncHistoryServiceStatus(long tenantId);
}
}