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.

105 lines
2.8 KiB
C#

using DS.Module.Core;
using DS.Module.Core.Data;
using DS.WMS.Core.Fee.Dtos;
using DS.WMS.Core.Flow.Dtos;
using DS.WMS.Core.Info.Dtos;
using DS.WMS.Core.Info.Entity;
namespace DS.WMS.Core.Info.Interface;
/// <summary>
/// 往来单位
/// </summary>
public interface IClientInfoService
{
/// <summary>
/// 提交审核
/// </summary>
/// <param name="idModel"></param>
/// <returns></returns>
Task<DataResult> SubmitAuditAsync(IdModel idModel);
/// <summary>
/// 执行审核
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult> AuditAsync(AuditRequest request);
/// <summary>
/// 撤销审核
/// </summary>
/// <param name="idModel"></param>
/// <returns></returns>
Task<DataResult> WithdrawAsync(IdModel idModel);
/// <summary>
/// 审核完成回调
/// </summary>
/// <param name="callback">回调信息</param>
/// <returns></returns>
Task<DataResult> AuditCallbackAsync(FlowCallback callback);
/// <summary>
/// 导入
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
Task<DataResult> ImportAsync(List<InfoClientModel> list);
/// <summary>
/// 列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
Task<DataResult<List<ClientInfoRes>>> GetListAsync(PageRequest<ClientQuery> request);
/// <summary>
/// 确定往来单位是否已使用
/// </summary>
/// <param name="ids">往来单位ID</param>
/// <returns></returns>
Task<DataResult<List<ClientUsage>>> GetUsageAsync(params long[] ids);
/// <summary>
/// 编辑
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
Task<DataResult> EditAsync(ClientInfoReq model);
/// <summary>
/// 检查客户信息是否重复
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
Task<DataResult> IsAvailableAsync(ClientInfoReq req);
/// <summary>
/// 获取详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<DataResult<ClientInfoRes>> GetAsync(string id);
/// <summary>
/// 批量删除发票抬头
/// </summary>
/// <param name="idModel"></param>
/// <returns></returns>
Task<DataResult> DeleteInvoiceHeaderAsync(IdModel idModel);
/// <summary>
/// 批量删除
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
Task<DataResult> DeleteAsync(IdModel req);
/// <summary>
/// 获取往来单位详情(含有联系人列表)
/// </summary>
/// <param name="query">查询往来单位</param>
/// <returns>返回往来单位详情</returns>
Task<DataResult<ClientInfoRes>> GetClientInfoWithContact(QueryClientInfo query);
}