148 lines
5.4 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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>
/// <param name="isAfterDelete">是否撤销后自动删除 true-删除 false-不删除</param>
/// <returns>返回回执</returns>
Task<TaskManageOrderResultDto> Cancel(long id, bool isAfterDelete = false);
/// <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);
}
}