You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

147 lines
5.3 KiB
C#

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
{
/// <summary>
///
/// </summary>
public interface IBookingTruckService
{
/// <summary>
/// 保存派车
/// </summary>
/// <param name="info">派车信息</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> Save(BookingTruckDto info);
/// <summary>
/// 订舱生成派车初始信息
/// </summary>
/// <param name="bookingId">订舱主键</param>
/// <returns>返回派车初始信息</returns>
Task<TaskManageOrderResultDto> InitFromBookingOrder(long bookingId);
/// <summary>
/// 引入订舱详情生成派车信息
/// </summary>
/// <param name="bookingId">订舱主键</param>
/// <returns>返回派车初始信息</returns>
Task<TaskManageOrderResultDto> PullInBookingOrder(long bookingId);
/// <summary>
/// 引入订舱集装箱详情生成派车信息
/// </summary>
/// <param name="bookingId">订舱主键</param>
/// <returns>返回派车集装箱初始信息</returns>
Task<TaskManageOrderResultDto> PullInBookingOrderConta(long bookingId);
/// <summary>
/// 派车台账查询
/// </summary>
/// <param name="QuerySearch">派车台账查询请求</param>
/// <returns>返回结果</returns>
Task<SqlSugarPagedList<BookingTruckPageDto>> GetPageAsync(QueryBookingTruckDto QuerySearch);
/// <summary>
/// 订舱主键获取相关派车列表
/// </summary>
/// <param name="bookingId">订舱主键</param>
/// <returns>返回派车列表</returns>
Task<List<BookingTruckShowDto>> GetTruckListByBookingAsync(long bookingId);
/// <summary>
/// 获取派车详情
/// </summary>
/// <param name="id">派车主键</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> GetInfo(long id);
/// <summary>
/// 提交派车
/// </summary>
/// <param name="info">派车信息</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> Submit(BookingTruckDto info);
/// <summary>
/// 批量提交派车
/// </summary>
/// <param name="ids">派车主键组</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> SubmitBatch(long[] ids);
/// <summary>
/// 撤销派车
/// </summary>
/// <param name="id">派车主键</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> Cancel(long id);
/// <summary>
/// 批量撤销派车
/// </summary>
/// <param name="ids">派车主键组</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> CancelBatch(long[] ids);
/// <summary>
/// 删除派车
/// </summary>
/// <param name="id">派车主键</param>
/// <returns>返回回执</returns>
Task<string> Delete(long id);
/// <summary>
/// 批量删除派车
/// </summary>
/// <param name="ids">派车主键组</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> DeleteBatch(long[] ids);
/// <summary>
/// 打印派车
/// </summary>
/// <param name="id">派车主键</param>
/// <param name="templateId">打印模板ID</param>
/// <param name="cateCode">分类代码使用字典【booking_template_category】中的代码</param>
/// <param name="printFileType">类型1pdf、2xlsx、3docx</param>
/// <param name="printType">打印类型10FastReport、20Excel模板</param>
/// <returns>返回回执</returns>
Task<string> Print(long id, long templateId, string cateCode, PrintFileTypeEnum printFileType = PrintFileTypeEnum.PDF,
BookingPrintTemplateType printType = BookingPrintTemplateType.FastReport);
/// <summary>
/// 获取订舱打印模板列表(带有当前用户打印历史排序)
/// </summary>
/// <param name="cateCode">分类代码使用字典【booking_template_category】中的代码</param>
/// <param name="printType">打印分类10FastReport、20Excel模板</param>
/// <returns></returns>
Task<dynamic> PrintTemplateWithHistoryList(string cateCode, BookingPrintTemplateType printType);
/// <summary>
/// 派车任务回写派车详情
/// </summary>
/// <param name="info">派车详情</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> TruckDispatchCompleteCallBack(BookingTruckDto info);
/// <summary>
/// 获取场站数据
/// </summary>
/// <param name="bookingTruckId"></param>
/// <param name="isWeb"></param>
/// <returns>返回场站详情</returns>
Task<string> GetYardData(long bookingTruckId, bool isWeb = false);
}
}