using Microsoft.AspNetCore.Mvc;
using Myshipping.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Myshipping.Application
{
///
///
///
public interface IBookingTruckService
{
///
/// 保存派车
///
/// 派车信息
/// 返回回执
Task Save(BookingTruckDto info);
///
/// 订舱生成派车初始信息
///
/// 订舱主键
/// 返回派车初始信息
Task InitFromBookingOrder(long bookingId);
///
/// 引入订舱详情生成派车信息
///
/// 订舱主键
/// 返回派车初始信息
Task PullInBookingOrder(long bookingId);
///
/// 引入订舱集装箱详情生成派车信息
///
/// 订舱主键
/// 返回派车集装箱初始信息
Task PullInBookingOrderConta(long bookingId);
///
/// 派车台账查询
///
/// 派车台账查询请求
/// 返回结果
Task> GetPageAsync(QueryBookingTruckDto QuerySearch);
///
/// 订舱主键获取相关派车列表
///
/// 订舱主键
/// 返回派车列表
Task> GetTruckListByBookingAsync(long bookingId);
///
/// 获取派车详情
///
/// 派车主键
/// 返回回执
Task GetInfo(long id);
///
/// 提交派车
///
/// 派车信息
/// 返回回执
Task Submit(BookingTruckDto info);
///
/// 批量提交派车
///
/// 派车主键组
/// 返回回执
Task SubmitBatch(long[] ids);
///
/// 撤销派车
///
/// 派车主键
/// 是否撤销后自动删除 true-删除 false-不删除
/// 返回回执
Task Cancel(long id, bool isAfterDelete = false);
///
/// 批量撤销派车
///
/// 派车主键组
/// 返回回执
Task CancelBatch(long[] ids);
///
/// 删除派车
///
/// 派车主键
/// 返回回执
Task Delete(long id);
///
/// 批量删除派车
///
/// 派车主键组
/// 返回回执
Task DeleteBatch(long[] ids);
///
/// 打印派车
///
/// 派车主键
/// 打印模板ID
/// 分类代码(使用字典【booking_template_category】中的代码)
/// 类型,1:pdf、2:xlsx、3:docx
/// 打印类型,10:FastReport、20:Excel模板
/// 返回回执
Task Print(long id, long templateId, string cateCode, PrintFileTypeEnum printFileType = PrintFileTypeEnum.PDF,
BookingPrintTemplateType printType = BookingPrintTemplateType.FastReport);
///
/// 获取订舱打印模板列表(带有当前用户打印历史排序)
///
/// 分类代码(使用字典【booking_template_category】中的代码)
/// 打印分类,10:FastReport、20:Excel模板
///
Task PrintTemplateWithHistoryList(string cateCode, BookingPrintTemplateType printType);
///
/// 派车任务回写派车详情
///
/// 派车详情
/// 返回回执
Task TruckDispatchCompleteCallBack(BookingTruckDto info);
///
/// 获取场站数据
///
///
///
/// 返回场站详情
Task GetYardData(long bookingTruckId, bool isWeb = false);
}
}