kazelee
2025-06-26 f703b278956736aa14c12d1d25c8e8f23b822760
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
using System.Web.Http;
 
using HH.WCS.Mobox3.DSZSH.models;
 
using Newtonsoft.Json;
 
using static HH.WCS.Mobox3.DSZSH.api.ApiModel;
using static HH.WCS.Mobox3.DSZSH.api.OtherModel;
 
namespace HH.WCS.Mobox3.DSZSH.api {
    /// <summary>
    /// Mobox3 调用,脚本中调用(包括 PDA 的接口)
    /// </summary>
    [RoutePrefix("api")]
    public class MoboxController : ApiController {
        /// <summary>
        /// 好运箱-满箱下线入库(PDA)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("goodpack-offline")]
        public SimpleResult GoodpackOffline(GoodpackOfflineInfo model) {
            var apiName = "好运箱-满托下线入库(PDA)";
            LogHelper.InfoApi(apiName, model);
 
            return ApiHelper.GoodpackOffline(model);
        }
 
        /// <summary>
        /// 空托/空箱入库(PDA)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("empty-inbound")]
        public SimpleResult EmptyInbound(EmptyInboundInfo model) {
            var apiName = "空托/空箱入库";
            LogHelper.InfoApi(apiName, model);
 
            if (model.CntrType == "空托盘") {
                return ApiHelper.EmptyInboundPallet(model);
            }
            else if (model.CntrType == "空好运箱") {
                return ApiHelper.EmptyInboundGoodpack(model);
            }
            else { // PDA前端下拉选单限制,故理论上不会进入这个流程
                return NewSimpleResult(-1, $"容器类型 '{model.CntrType}' 不合法:应为 '空托盘' 或 '空好运箱'");
            }
        }
        
        /// <summary>
        /// 托盘-空托上线(PDA)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("empty-online-pallet")]
        public SimpleResult EmptyOnlinePallet(EmptyOnlinePalletInfo model) {
            var apiName = "托盘-空托上线(PDA)";
            LogHelper.InfoApi(apiName, model);
            return ApiHelper.EmptyOnlinePallet(model);
        }
 
        /// <summary>
        /// 好运箱-空箱上线(PDA)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("empty-online-goodpack")]
        public SimpleResult EmptyOnlineGoodpack(EmptyOnlineGoodpackInfo model) {
            var apiName = "好运箱-空箱上线(PDA)";
            LogHelper.InfoApi(apiName, model);
            return ApiHelper.EmptyOnlineGoodpack(model);
        }
 
        /// <summary>
        /// 合格回库(PDA)
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Route("qualified-back")]
        public SimpleResult QualifiedBack(QualifiedBackInfo model) {
            var apiName = "合格回库(PDA)";
            LogHelper.InfoApi(apiName, model);
            return ApiHelper.QualifiedBack(model);
        }
 
        /// <summary>   
        /// 不合格移库(PDA)
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Route("unqualified-shift")]
        public SimpleResult UnqualifiedShift(UnqualifiedShiftInfo model) {
            var apiName = "不合格移库(PDA)";
            LogHelper.InfoApi(apiName, model);
            return ApiHelper.UnqualifiedShift(model);
        }
 
        /// <summary>
        /// 余料尾箱回库(PDA)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("rest-back")]
        public SimpleResult RestBack(RestBackInfo model) {
            var apiName = "余料尾箱回库(PDA)";
            LogHelper.InfoApi(apiName, model);
            return ApiHelper.RestBack(model);
        }
 
        /// <summary>
        /// 成品胶出库(PDA)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost]
        [Route("finished-outbound")]
        public SimpleResult FinishedOutbound(FinishedOutboundInfo model) {
            var apiName = "成品胶出库(PDA)";
            LogHelper.InfoApi(apiName, model);
 
            if (model.ForcedOut) {
                return ApiHelper.FinishedOutboundForce(model);
            }
            else {
                return ApiHelper.FinishedOutbound(model);
            }
        }
 
    }
}