CodingController.java
4.54 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
package com.huaheng.api.erp.controller;
import com.huaheng.api.erp.domain.BoxInfo;
import com.huaheng.api.erp.domain.ERPReceipt;
import com.huaheng.api.erp.domain.EmptyZu;
import com.huaheng.api.erp.domain.ShipmentRecord;
import com.huaheng.api.erp.service.CodingService;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
WMS和赋码系统交互
* @author 游杰
*/
@RestController
@RequestMapping("/API/WMS/v2")
public class CodingController extends BaseController {
@Resource
private CodingService codingService;
@PostMapping("/receipt")
@ApiOperation("入库组盘信息")
@ResponseBody
@ApiLogger(apiName = "入库组盘信息", from="码垛系统")
@Transactional(rollbackFor = Exception.class)
public AjaxResult receipt(@RequestBody ERPReceipt erpReceipt) {
if(erpReceipt == null) {
return AjaxResult.error("入库组盘信息为空");
}
String containerCode = erpReceipt.getContainerCode();
String receiptCode = erpReceipt.getReceiptCode();
String position = erpReceipt.getRequestInCode();
String orderCode = erpReceipt.getOrderCode();
String orderName = erpReceipt.getOrderName();
List<BoxInfo> boxInfoList = erpReceipt.getListBoxInfo();
String stack = erpReceipt.getStack();
int qc = erpReceipt.getQc();
int orderFinish = erpReceipt.getOrderFinish();
if(receiptCode == null) {
return AjaxResult.error("入库组盘信息,排产订单编码为空");
}
if(containerCode == null) {
return AjaxResult.error("入库组盘信息,托盘号为空");
}
if(position == null) {
return AjaxResult.error("入库组盘信息,码垛站台位置为空");
}
if(orderCode == null) {
return AjaxResult.error("入库组盘信息,订单信息为空");
}
if(orderName == null) {
return AjaxResult.error("入库组盘信息,订单名称为空");
}
if(boxInfoList == null) {
return AjaxResult.error("入库组盘信息,箱信息为空");
}
if(stack == null) {
return AjaxResult.error("入库组盘信息,垛型为空");
}
AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = codingService.innerReceipt(containerCode, position,receiptCode, orderCode,
orderName, boxInfoList, stack, qc,orderFinish);
return ajaxResult;
}
});
return ajaxResult;
}
@PostMapping("/inventoryHistoryHeader")
@ApiOperation("历史库存记录")
@ResponseBody
@ApiLogger(apiName = "查询历史库存记录", from="查询历史库存记录")
@Transactional(rollbackFor = Exception.class)
public AjaxResult findInventoryHistory(@RequestBody ShipmentRecord shipmentRecord) {
String boxCode = shipmentRecord.getBoxCode();
if(boxCode == null) {
return AjaxResult.error("历史库存信息,箱为空");
}
AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = codingService.findShipmentRecord(boxCode);
return ajaxResult;
}
});
return ajaxResult;
}
@PostMapping("/ApplicationEmptyZu")
@ApiOperation("空托盘组")
@ResponseBody
@ApiLogger(apiName = "申请空托盘组", from="申请空托盘组")
@Transactional(rollbackFor = Exception.class)
public AjaxResult requestEmptyContainer(@RequestBody EmptyZu emptyZu) {
String requestInCode = emptyZu.getRequestInCode();
if (requestInCode == null) {
return AjaxResult.error("空托盘组信息,申请位置为空");
}
AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = codingService.requestEmptyContainer(requestInCode);
return ajaxResult;
}
});
return ajaxResult;
}
}