ICSReceiptApi.java
8.9 KB
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
package com.huaheng.api.U8.controller;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.documentWarning.service.IDocumentWarningService;
import com.huaheng.pc.u8.domain.ICSReceiptDetail;
import com.huaheng.pc.u8.domain.ICSReceiptHeader;
import com.huaheng.pc.u8.domain.ICSReceiptModel;
import com.huaheng.pc.u8.service.ICSReceiptAPIService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.text.ParseException;
import java.util.List;
/**
* u8-wms入库下发或回传接口
*
* @author huaheng
* @date 2019-1-4
*/
@RestController
@RequestMapping("/api/icsReceipt1")
@Api(tags = {"icsReceipt"}, description = "ICS入库下发或回传接口")
public class ICSReceiptApi extends BaseController {
@Autowired
private ICSReceiptAPIService icsReceiptAPIService;
@Resource
private IDocumentWarningService documentWarningService;
@Log(title = "采购订单", action = BusinessType.INSERT)
@PostMapping("/GetICSPO_PO")
@ApiOperation("ICS采购订单接口")
@ResponseBody
@ApiLogger(apiName = "ICS采购订单接口", from = "U8")
public AjaxResult procureReceipt(@RequestBody ICSReceiptModel icsReceiptModel) {
ICSReceiptHeader icsReceiptHeader = icsReceiptModel.getIcsReceiptHeader();
// String wareHouseCode = icsReceiptHeader.getCWarehouseCode();
// if(wareHouseCode!=null && !"".equals(wareHouseCode)){
// return AjaxResult.error("入库单头信息仓库编码不能为空");
// }
List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
if (icsReceiptHeader == null) {
// documentWarningService.ErpSendWarning("","采购订单缺少主单据");
return AjaxResult.error("缺少主单据");
}
if (icsReceiptDetails == null) {
// documentWarningService.ErpSendWarning(icsReceiptHeader.getCCode(),"采购订单缺少子单据");
return AjaxResult.error("缺少子单据");
}
icsReceiptHeader.setType("PCI");
AjaxResult result = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = icsReceiptAPIService.procureReceipt(icsReceiptModel);
return ajaxResult;
}
});
return result;
}
@Log(title = "材料出库单(红字)", action = BusinessType.INSERT)
@PostMapping("/GetICSRdRecord_11_Return")
@ApiOperation("ICS材料出库单(红字)下发接口")
@ResponseBody
@ApiLogger(apiName = "ICS材料出库单(红字)下发接口", from = "U8")
public AjaxResult GetICSRdRecord_11_Return(@RequestBody ICSReceiptModel icsReceiptModel) {
ICSReceiptHeader icsReceiptHeader = icsReceiptModel.getIcsReceiptHeader();
List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
if (icsReceiptHeader == null) {
// documentWarningService.ErpSendWarning("","材料出库单(红字)缺少主单据");
return AjaxResult.error("缺少主单据");
}
if (icsReceiptDetails == null) {
// documentWarningService.ErpSendWarning(icsReceiptHeader.getCCode(),"材料出库单(红字)缺少子单据");
return AjaxResult.error("缺少子单据");
}
icsReceiptHeader.setType("CI");
AjaxResult ajaxResult = icsReceiptAPIService.procureReceipt(icsReceiptModel);
if (ajaxResult.hasErr()) {
ajaxResult = AjaxResult.success(ajaxResult.getMsg());
}
return ajaxResult;
}
@Log(title = "采购到货单下发", action = BusinessType.INSERT)
@PostMapping("/GetICSPU_ArrivalVouch")
@ApiOperation("ICS采购到货单下发接口")
@ResponseBody
@ApiLogger(apiName = "ICS采购到货单下发接口", from = "U8")
public AjaxResult procureArrive(@RequestBody ICSReceiptModel icsReceiptModel) throws ParseException {
ICSReceiptHeader icsReceiptHeader = icsReceiptModel.getIcsReceiptHeader();
List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
if (icsReceiptHeader == null) {
// documentWarningService.ErpSendWarning("","采购到货单缺少主单据");
return AjaxResult.error("缺少主单据");
}
if (icsReceiptDetails == null) {
// documentWarningService.ErpSendWarning(icsReceiptHeader.getCCode(),"采购到货单缺少子单据");
return AjaxResult.error("缺少子单据");
}
icsReceiptHeader.setType(QuantityConstant.U8_RECEIPT_TYPE_PI);
AjaxResult result = handleMultiProcessV1("GetICSPU_ArrivalVouch", new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = icsReceiptAPIService.procureArrive(icsReceiptModel);
return ajaxResult;
}
});
if (result.hasErr()) {
result = AjaxResult.success(result.getMsg());
}
return result;
}
@Log(title = "销售退货入库单", action = BusinessType.INSERT)
@PostMapping("/GetICSDispatchList_Return")
@ApiOperation("ICS销售退货入库单下发接口")
@ResponseBody
@ApiLogger(apiName = "ICS销售退货入库单下发接口", from = "U8")
public AjaxResult GetICSDispatchList_Return(@RequestBody ICSReceiptModel icsReceiptModel) {
ICSReceiptHeader icsReceiptHeader = icsReceiptModel.getIcsReceiptHeader();
List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
if (icsReceiptHeader == null) {
// documentWarningService.ErpSendWarning("","销售退货入库单缺少主单据");
return AjaxResult.error("缺少主单据");
}
if (icsReceiptDetails == null) {
// documentWarningService.ErpSendWarning(icsReceiptHeader.getCCode(),"销售退货入库单缺少子单据");
return AjaxResult.error("缺少子单据");
}
icsReceiptHeader.setType("SRI");
AjaxResult ajaxResult = icsReceiptAPIService.procureArrive(icsReceiptModel);
return ajaxResult;
}
@Log(title = "其他入库单", action = BusinessType.INSERT)
@PostMapping("/GetICSRdRecord_08")
@ApiOperation("ICS其他入库单下发接口")
@ResponseBody
@ApiLogger(apiName = "ICS其他入库单下发接口",from = "U8")
public AjaxResult GetICSRdRecord_08(@RequestBody ICSReceiptModel icsReceiptModel) throws ParseException {
ICSReceiptHeader icsReceiptHeader=icsReceiptModel.getIcsReceiptHeader();
List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
if(icsReceiptHeader==null ){
documentWarningService.ErpSendWarning("","其他入库单缺少主单据");
return AjaxResult.error("缺少主单据");
}
if(icsReceiptDetails==null){
documentWarningService.ErpSendWarning(icsReceiptHeader.getCCode(),"其他入库单缺少子单据");
return AjaxResult.error("缺少子单据");
}
icsReceiptHeader.setType("QI");
AjaxResult ajaxResult = handleMultiProcessV1("GetICSRdRecord_08", new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = icsReceiptAPIService.otherReceipt(icsReceiptModel);
return ajaxResult;
}
});
if(ajaxResult!=null&&ajaxResult.hasErr()){
ajaxResult = AjaxResult.success(ajaxResult.getMsg());
}
return ajaxResult;
// return AjaxResult.error("失败");
}
@Log(title = "调拨入库单", action = BusinessType.INSERT)
@PostMapping("/TransVouch")
@ApiOperation("ICS调拨入库单下发接口")
@ResponseBody
@ApiLogger(from = "U8", apiName = "ICS调拨入库单下发接口")
public AjaxResult TransVouch(@RequestBody ICSReceiptModel icsReceiptModel) throws ParseException {
ICSReceiptHeader icsReceiptHeader=icsReceiptModel.getIcsReceiptHeader();
List<ICSReceiptDetail> icsReceiptDetails = icsReceiptModel.getIcsReceiptDetails();
if(icsReceiptHeader==null ){
return AjaxResult.error("缺少主单据");
}
if(icsReceiptDetails==null){
return AjaxResult.error("缺少子单据");
}
icsReceiptHeader.setType("TI");
AjaxResult ajaxResult = icsReceiptAPIService.otherReceipt(icsReceiptModel);
return ajaxResult;
}
}