bklLiudl
2025-04-07 4e8f58cb41c7b6d570fd1979d80f74ab8a4d00c2
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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
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;
 
namespace WMS.IBLL.IBllSoServer
{
    public interface IExportNoticeServer
    {
        /// <summary>
        /// 添加出库单(上游系统)
        /// </summary>
        /// <param name="model">模型</param>
        /// <returns></returns>
        void HttpAddExportNotice(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, string userNo, string pwd, int userId);
        //------------------------------------------------------------------------------------------
 
        /// <summary>
        /// 查询出库总单信息
        /// </summary>
        /// <param name="no">出库单号</param>
        /// <param name="type">单据类型</param>
        /// <param name="status">状态</param>
        /// <param name="LotNo">批次号</param>
        /// <param name="logisticsId">承运商</param>
        /// <param name="isWave">是否生成波次</param>
        /// <param name="isDespatch">是否发运</param>
        /// <param name="waveNo">波次号</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 LotNo,int? logisticsId,string isWave, string isDespatch,string waveNo, int page, int limit, out int count);
 
        /// <summary>
        /// 获取添加或修改出库单明细所显示的库存数据源
        /// </summary> 
        /// <param name="type">类型</param>
        /// <param name="msg">物流编码、名称、批次</param>
        /// <returns></returns>
        List<ExStockInfoDto> GetStockGroupList( string type, string ownerNo, string msg);
        /// <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);
 
        XmlNode AddExXmlStr(int id, int userId);
 
        //------------------------------------------------------------------------------------------
 
        /// <summary>
        /// 获取托盘出库明细
        /// </summary>
        /// <param name="skuNo">物料号</param>
        /// <param name="skuName">物料名称</param>
        /// <param name="palletNo">托盘号</param>
        /// <param name="lotNo">批次</param>
        /// <param name="inspectMark">抽检标识</param>
        /// <param name="bitPalletMark">零托标识</param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        List<DataStockDetail> GetPalletNoOutList(string skuNo, string skuName, string palletNo, string lotNo,
            string inspectMark, string bitPalletMark, int page, int limit, out int count);
 
        /// <summary>
        /// 托盘下发出库
        /// </summary>
        /// <param name="palletNo">托盘号</param>
        /// <param name="outMode">出库口</param>
        /// <param name="userId">操作人</param>
        /// <param name="url">下发出库接口路径</param>
        /// <param name="str">提示消息</param>
        /// <returns></returns>
        List<OutCommandDto> IssuePalletNoOut(string palletNo, string outMode, int userId, string url, out string str);
 
        //------------------------------------------------------------------------------------------
        /// <summary>
        /// 下发出库(调用cs接口给他库位地址)
        /// </summary>
        /// <param name="soNo">出库单号</param>
        /// <param name="outMode">出库口</param>
        /// <param name="checkmode">分拣类型</param>
        /// <param name="userId">操作人</param>
        /// <param name="url">下发出库路径</param>
        /// <param name="str">提示信息</param>
        /// <returns>下发的指令集合</returns>
        List<OutCommandDto> IssueOutHouse(string soNo, string unstackingMode, string outMode,string checkmode, string loadingAddre, 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);
 
        /// <summary>
        /// 重新下发出库任务
        /// </summary>
        /// <param name="taskNo">任务号</param> 
        /// <param name="userId">操作人</param> 
        /// <param name="url">下发路径</param> 
        /// <returns></returns>
        OutCommandDto AgainSendSoTask(string taskNo, string Receiver, int userId,string url);
        /// <summary>
        /// 手动取消出库任务
        /// </summary>
        /// <param name="taskNo">任务号</param> 
        /// <param name="userId">操作人</param> 
        /// <returns></returns>
        void CancelSoTask(string taskNo, int userId);
 
        /// <summary>
        /// 空取异常
        /// </summary>
        /// <param name="model">任务信息</param>
        /// <returns>出库任务</returns>
        bool EmptyException(ReceiveWcsSignal model);
 
        //------------------------------------------------------------------------------------------
 
        /// <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="id"></param>
        /// <param name="demo"></param>
        /// <param name="userId"></param>
        void EditNoticeDemo(int id, string demo, 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);
 
        /// <summary>
        /// 判断出库是否需要拆箱
        /// </summary>
        /// <param name="soNo"></param>
        /// <returns></returns>
        string IsNeedUnpack(string soNo);
 
        /// <summary>
        /// 获取拆垛托盘拆垛信息
        /// </summary>
        /// <param name="model">拆垛托盘号和WCS任务号</param>
        /// <returns>拆垛托盘信息</returns>
 
        public RequestBoxInfoCheck BoxInfoCheckWcs(BoxInfoCheck model);
 
        /// <summary>
        /// 拆垛分拣主扫箱码出库
        /// </summary>
        /// <param name="boxno"></param>
        /// <returns></returns>
        string BoxInfoExportWcs(string boxno);
    }
}