ICSReceiptApi.java
6.35 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
package com.huaheng.api.U8.controller;
import com.alibaba.fastjson.JSON;
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 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 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/icsReceipt")
@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);
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("PI");
AjaxResult ajaxResult = icsReceiptAPIService.procureArrive(icsReceiptModel);
return ajaxResult;
}
@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("/test")
@ApiOperation("测试回传")
@ResponseBody
@ApiLogger(apiName = "测试回传",from = "WMS")
public AjaxResult test(@RequestBody ICSReceiptModel icsReceiptModel) {
return AjaxResult.success();
}
}