647556386
2026-01-27 036db6cdb6bd7818fc14d3970255d31938fe92a7
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WIDESEA_Core;
using WIDESEA_DTO.CalcOut;
using WIDESEA_Model.Models;
 
namespace WIDESEA_IOutboundService
{
    public interface IOutboundService:IDependency
    {
        IOutboundOrderDetailService OutboundOrderDetailService { get; }
 
        IOutboundOrderService OutboundOrderService { get; }
 
        IOutStockLockInfoService OutboundStockLockInfoService { get; }
 
        /// <summary>
        /// 分拣出库操作
        /// </summary>
        /// <param name="request">分拣出库请求</param>
        /// <returns>分拣出库响应</returns>
        WebResponseContent ProcessPickingOutbound(PickingOutboundRequestDTO request);
 
        /// <summary>
        /// 出库完成处理(扫描条码扣减库存)
        /// </summary>
        /// <param name="request">出库完成请求</param>
        /// <returns>出库完成响应</returns>
        WebResponseContent CompleteOutboundWithBarcode(OutboundCompleteRequestDTO request);
 
        WebResponseContent CompleteOutboundWithPallet(OutboundCompletePalletRequestDTO request);
 
        WebResponseContent QueryPickingTasks(string palletCode, string orderNo);
 
        WebResponseContent QueryPickedList(string orderNo, string palletCode);
 
        WebResponseContent GetOrderInfo(string orderNo);
 
        /// <summary>
        /// 取空箱
        /// </summary>
        /// <param name="palletCode"></param>
        /// <returns></returns>
        Task<WebResponseContent> EmptyBox(string palletCode);
 
 
        /// <summary>
        /// 回库
        /// </summary>
        /// <param name="palletCode"></param>
        /// <param name="OrderNo"></param>
        /// <returns></returns>
        Task<WebResponseContent> ReturnToWarehouse(string palletCode, string OrderNo,string station);
 
        public (string NewBarcode, List<MaterialCodeReturnDTO> MaterialCodeReturnDTOs) PerformUnpackOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
            decimal actualOutboundQuantity, OutboundCompleteRequestDTO request, decimal beforeQuantity, int taskNum, int orderId, string orderNo);
 
        public void PerformFullOutboundOperation(Dt_StockInfoDetail stockDetail, Dt_StockInfo stockInfo,
            decimal actualOutboundQuantity, OutboundCompleteRequestDTO request, decimal beforeQuantity, int taskNum);
 
        /// <summary>
        /// 重检拣选
        /// </summary>
        /// <param name="barCode"></param>
        /// <param name="orderNo"></param>
        /// <returns></returns>
        WebResponseContent RecheckPicking(RecheckPickingDTO pickingDTO);
 
        WebResponseContent PrintFromData(string barcode);
    }
}