wxw
2025-05-12 c7c2f7aa20427204944ba80a2704232b2f281582
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
using System;
using System.Collections.Generic;
using System.Text;
using Model.InterFaceModel;
using Model.ModelDto.BllSoDto;
using Model.ModelDto.DataDto;
using Model.ModelVm.BllSoVm;
 
namespace WMS.IBLL.IBllSoServer
{
    public interface IExportNoticeServer
    {
        /// <summary>
        /// 添加出库单(上游系统)
        /// </summary>
        /// <param name="model">模型</param>
        /// <returns></returns>
        bool ErpAddExportNotice(SoInfo model);
        /// <summary>
        /// 获取执行完成的单据发送至erp
        /// </summary>
        /// <param name="id">出库单Id</param>
        /// <param name="url">上传路径</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool FinishSo(int id, string url, int userId);
        //------------------------------------------------------------------------------------------
 
        /// <summary>
        /// 查询出库总单信息
        /// </summary>
        /// <param name="no">出库单号</param>
        /// <param name="type">单据类型</param>
        /// <param name="status">状态</param>
        /// <param name="SkuNo">批次号</param>
        /// <param name="LotNo">批次号</param>
        /// <param name="logisticsId">承运商</param>
        /// <param name="isWave">是否生成波次</param>
        /// <param name="isDespatch">是否发运</param>
        /// <param name="waveNo">波次号</param>
        /// <param name="StartTime">开始时间</param>
        /// <param name="EndTime">结束时间</param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        List<ExportNoticeDto> GetExportNoticeList(string no,string type, string status,string SkuNo, string LotNo,int? logisticsId,string isWave, string isDespatch,string waveNo, string StartTime, string EndTime, int page, int limit, out int count);
 
        /// <summary>
        /// 获取添加或修改出库单明细所显示的库存数据源
        /// </summary>
        /// <param name="wareHouseNo">仓库号</param>
        /// <param name="type">类型</param>
        /// <param name="lotNo">批次</param>
        /// <param name="skuNo">物料编码</param>
        /// <returns></returns>
        List<ExStockInfoDto> GetStockGroupList(string wareHouseNo, string type, string lotNo, string skuNo);
        /// <summary>
        /// 添加出库单
        /// </summary>
        /// <param name="model">模型</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool AddExportNotice(AddEditExportNoticeVm model,int userId);
        /// <summary>
        ///  获取编辑出库单据
        /// </summary>
        /// <param name="code">单据号</param>
        /// <returns></returns>
        EditExportNotifyDto GetEditExportNotice(string code);
        /// <summary>
        /// 编辑出库单
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        bool EditExportNotice(AddEditExportNoticeVm model, int userId);
        /// <summary>
        /// 删除出库单
        /// </summary>
        /// <param name="id">出库单Id</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool DelExportNotice(int id,int userId);
        /// <summary>
        /// 单据关闭(关单)
        /// </summary>
        /// <param name="id">出库单Id</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool CloseExportNotice(int id,int userId);
 
        /// <summary>
        /// 单据关闭(关单) 批量订单关闭
        /// </summary>
        /// <param name="id">出库单Id</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool CloseExportNotices(List<int> ids, int userId);
 
        //------------------------------------------------------------------------------------------
 
        /// <summary>
        /// 下发出库双深度库(调用cs接口给他库位地址)
        /// </summary>
        /// <param name="soNo">出库单号</param>
        /// <param name="userId">操作人</param>
        /// <param name="url">下发出库路径</param>
        /// <param name="str">提示信息</param>
        /// <returns>下发的指令集合</returns>
        List<OutCommandDto> IssueTwoOutHouse(string soNo, int userId, string url, out string str);
 
        //------------------------------------------------------------------------------------------
 
        ///// <summary>
        ///// 下发出库(调用cs接口给他库位地址)
        ///// </summary>
        ///// <param name="soNo">出库单号</param>
        ///// <param name="userId">操作人</param>
        ///// <param name="url">下发出库路径</param>
        ///// <param name="str">提示信息</param>
        ///// <returns>下发的指令集合</returns>
        //List<OutCommandDto> IssueOutHouse(string soNo, int userId,string url,out string str);
 
        /// <summary>
        /// wcs返回的成功信号或手动完成(出库成功)
        /// </summary>
        /// <param name="taskNo">任务号</param> 
        /// <param name="userId">操作人</param> 
        /// <returns></returns>
        void ExportSuccess(string taskNo,int userId, string url);
 
        /// <summary>
        /// wcs返回的成功信号或手动完成(移库成功)
        /// </summary>
        /// <param name="taskNo"></param>
        /// <param name="userId"></param>
        void RelocationSuccess(string taskNo, int userId, string url);
 
        /// <summary>
        /// 重新下发出库任务
        /// </summary>
        /// <param name="taskNo">任务号</param> 
        /// <param name="userId">操作人</param> 
        /// <param name="url">下发路径</param> 
        /// <returns></returns>
        OutCommandDto AgainSendSoTask(string taskNo, int userId,string url);
        /// <summary>
        /// 手动取消出库任务
        /// </summary>
        /// <param name="taskNo">任务号</param> 
        /// <param name="userId">操作人</param> 
        /// <returns></returns>
        void CancelSoTask(string taskNo, int userId, string url); 
        
        //------------------------------------------------------------------------------------------
 
        /// <summary>
        /// 自动分配
        /// </summary>
        /// <param name="soNo">出库单据号</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool AutoAllot(string soNo, int userId);
        /// <summary>
        /// 取消分配
        /// </summary>
        /// <param name="soNo">出库单据号</param>
        /// <param name="userId">操作人</param>
        /// <returns></returns>
        bool CancelAllot(string soNo, int userId);
 
        /// <summary>
        /// 获取库存明细信息(出库单手动分配选择数据源)
        /// </summary>
        /// <param name="detailId">出库单明细Id</param>
        /// <param name="houseNo">仓库号</param>
        /// <param name="roadwayNo">巷道号</param>
        /// <param name="locateNo">储位号</param>
        /// <param name="msg">物料编码、名称、批次号</param>
        /// <param name="palletNo">托盘码</param>
        /// <returns></returns>
        List<StockDetailDto> GetHandOutList(int detailId, string houseNo, string roadwayNo, string locateNo, string msg,string palletNo);
 
        /// <summary>
        /// 手动分配出库单明细
        /// </summary>
        /// <param name="model"></param>
        /// <param name="userId"></param>
        void AddHandOutAllot(AddHandOutVm model, int userId);
 
    }
}