using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Model.InterFaceModel;
using Model.ModelDto.BllSoDto;
using Model.ModelVm.BllSoVm;
using SqlSugar;
namespace WMS.IBLL.IBllSoServer
{
public interface IWaveMageServer
{
///
/// 获取波次单信息
///
/// 波次单号
/// 状态
/// 批次
/// 承运商
/// 页
/// 数量
/// 中数量
///
Task> GetWaveMageList(GetWaveMageVm model, RefAsync count);
///
/// 获取添加波次单的出库单信息
///
/// 承运商
/// 收货地址
///
List GetAddExNoticeInfo(int? logisticsId,string address);
///
/// 添加波次单据
///
/// 出库单ID集合
/// 出库单ID集合
void AddWaveMage(List Ids,int userId);
///
/// 删除波次出库单
///
/// 出库单Id
/// 操作人
///
bool DelWaveExportNotice(int id, int userId);
//----------------------------------------------------------------------------------------
///
/// 自动分配
///
/// 出库单据号
/// 操作人
///
bool WaveAutoAllot(string waveNo, int userId);
///
/// 取消分配
///
/// 出库单据号
/// 操作人
///
bool WaveCancelAllot(string waveNo, int userId);
///
/// 下发出库(调用cs接口给他库位地址)
///
/// 出库单号
/// 拆跺方式
/// 出库口
/// 装车口
/// 操作人
/// 下发出库路径
/// 提示信息
/// 下发的指令集合
List WaveIssueOutHouse(string waveNo, string unstackingMode, string outMode, string loadingAddress, int userId, string url, out string str);
///
///
///
///
///
string WaveIsNeedUnpack(string waveNo);
#region 数据归档
///
/// 获取波次单信息-数据归档
///
/// 波次单号
/// 状态
/// 批次
/// 承运商
/// 页
/// 数量
/// 中数量
///
List GetArchivingWaveMageList(string waveNo, string status, string lotNo, int? logisticsId, int page, int limit, out int count);
#endregion
}
}