using Model.InterFaceModel; using Model.ModelDto.BllSoDto; using Model.ModelDto.DataDto; using Model.ModelVm.BllSoVm; using WMS.Entity.DataEntity; using System.Collections.Generic; using System.Xml; using System.Threading.Tasks; using SqlSugar; namespace WMS.IBLL.IBllSoServer { public interface IExportNoticeServer { /// /// 添加出库单(上游系统) /// /// 模型 /// SoResInfo ErpAddExportNotice(SoInfo model); /// /// 获取执行完成的单据发送至erp /// /// 出库单Id /// 上传路径 /// 操作人 /// bool FinishSo(int id, string url, int userId); /// /// 接受生产叫料信号接口 /// /// /// bool MESProductionCall(ProductionCallVm model); //------------------------------------------------------------------------------------------ /// /// 查询出库总单信息 /// /// 出库单号 /// 单据类型 /// 状态 /// 批次号 /// 承运商 /// 是否生成波次 /// 是否发运 /// 波次号 /// /// /// /// Task> GetExportNoticeList(GetExportNoticeVm model, RefAsync count); /// /// 获取添加或修改出库单明细所显示的库存数据源 /// /// 类型 /// 物流编码、名称、批次 /// List GetStockGroupList(string house, string type, string ownerNo, string msg); /// /// 添加出库单 /// /// 模型 /// 操作人 /// bool AddExportNotice(AddEditExportNoticeVm model,int userId); /// /// 获取编辑出库单据 /// /// 单据号 /// EditExportNotifyDto GetEditExportNotice(string code); /// /// 编辑出库单 /// /// /// /// EditExportNotifyDto EditExportNotice(AddEditExportNoticeVm model, int userId); /// /// 删除出库单 /// /// 出库单Id /// 操作人 /// bool DelExportNotice(int id,int userId); /// /// 单据关闭(关单) /// /// 出库单Id /// 操作人 /// bool CloseExportNotice(int id,int userId); XmlNode AddExXmlStr(int id, int userId); //------------------------------------------------------------------------------------------ /// /// 获取托盘出库明细 /// /// 物料号 /// 物料名称 /// 托盘号 /// 批次 /// 抽检标识 /// 零托标识 /// /// /// /// Task> GetPalletNoOutList(GetPalletNoOutVm model, RefAsync count); /// /// 托盘下发出库 /// /// 托盘号 /// 出库口 /// 操作人 /// 下发出库接口路径 /// 提示消息 /// List IssuePalletNoOut(string palletNo, string outMode, int userId, string url, out string str); //------------------------------------------------------------------------------------------ #region 备料 /// /// 生产叫料定时任务开时 /// /// List ProCallIssueOutHouse(string url); /// /// 生产备料定时任务 /// /// 出库单 /// 操作人 void AddBeiLiaoTimer(string soNo, int userId); /// /// JC23领料单据备料出库 /// /// 下发WCS路径 /// List BeiLiaoIssueOutHouse(string url); /// /// agv返回的成功信号(出库成功) /// /// /// void ExportSuccessAGV(string taskNo, int userId); #endregion //------------------------------------------------------------------------------------------ /// /// 下发出库(调用cs接口给他库位地址) /// /// 出库单号 /// 出库口 /// 操作人 /// 下发出库路径 /// 提示信息 /// 下发的指令集合 List IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre, int userId,string url,out string str); /// /// wcs返回的成功信号或手动完成(出库成功) /// /// 任务号 /// 操作人 /// void ExportSuccess(string taskNo,int userId); /// /// wcs返回的成功信号或手动完成(移库成功) /// /// /// void RelocationSuccess(string taskNo, int userId); /// /// 重新下发出库任务 /// /// 任务号 /// 操作人 /// 下发路径 /// OutCommandDto AgainSendSoTask(string taskNo, int userId,string url); /// /// 手动取消出库任务 /// /// 任务号 /// 操作人 /// void CancelSoTask(string taskNo, int userId); /// /// 空取异常 /// /// 任务信息 /// 出库任务 bool EmptyException(ReceiveWcsSignal model); //------------------------------------------------------------------------------------------ /// /// 判断是否跨批分配 /// /// 出库单号 /// bool IsCrossLotNo(string soNo); /// /// 自动分配 /// /// 出库单据号 /// 操作人 /// bool AutoAllot(string soNo, int userId); /// /// 取消分配 /// /// 出库单据号 /// 操作人 /// bool CancelAllot(string soNo, int userId); /// /// 维护出库单备注信息 /// /// /// /// void EditNoticeDemo(int id, string demo, int userId); /// /// 获取库存明细信息(出库单手动分配选择数据源) /// /// 出库单明细Id /// 仓库号 /// 巷道号 /// 储位号 /// 物料编码、名称、批次号 /// 托盘码 /// List GetHandOutList(int detailId, string houseNo, string roadwayNo, string locateNo, string msg,string palletNo); /// /// 手动分配出库单明细 /// /// /// void AddHandOutAllot(AddHandOutVm model, int userId); /// /// 判断出库是否需要拆箱 /// /// /// string IsNeedUnpack(string soNo); #region 数据归档 /// /// 查询出库总单信息 - 数据归档 /// /// 出库单号 /// 单据类型 /// 状态 /// 批次号 /// 承运商 /// 是否生成波次 /// 是否发运 /// 波次号 /// /// /// /// List GetArchivingExportNoticeList(string no, string type, string status, string LotNo, int? logisticsId, string isWave, string isDespatch, string waveNo, int page, int limit, out int count); #endregion } }