WcsController.java
5.32 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
package com.huaheng.api.wcs.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.wcs.domain.WcsTask;
import com.huaheng.api.wcs.service.WcsService;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.material.domain.Material;
import com.huaheng.pc.config.material.service.MaterialService;
import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import io.swagger.annotations.ApiOperation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* @author 游杰
*/
@RestController
@RequestMapping("/API/WMS/v2")
public class WcsController extends BaseController {
@Resource
private TaskHeaderService taskHeaderService;
@Resource
private TaskDetailService taskDetailService;
@Resource
private MaterialService materialService;
@Resource
private WcsService wcsService;
@PostMapping("/calculateWeight")
@ApiOperation("估算重量")
@ApiLogger(apiName = "估算重量", from="WCS")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult calculateWeight(@RequestBody Map<String,String> map) {
String taskNo = map.get("taskNo");
String weight1 = map.get("weight");
if(taskNo == null) {
return AjaxResult.error("称重信息没有任务号");
}
if(weight1 == null) {
return AjaxResult.error("称重信息没有重量");
}
AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = wcsService.calculateWeight(taskNo, weight1);
return ajaxResult;
}
});
return ajaxResult;
}
/**
* 查询托盘库存
*/
@PostMapping("/back")
@ApiOperation("查询托盘是否返回")
@ApiLogger(apiName = "查询托盘是否返回", from="WCS")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult back(@RequestBody WcsTask wcsTask) {
String containerCode = wcsTask.getContainerCode();
if(containerCode == null) {
return AjaxResult.error("没有托盘号");
}
AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = wcsService.innerBack(wcsTask);
return ajaxResult;
}
});
return ajaxResult;
}
/**
* 扣减库存
*/
@PostMapping("/decreaseInventory")
@ApiOperation("扣减库存")
@ApiLogger(apiName = "扣减库存", from="WCS")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult decreaseInventory(@RequestBody Map<String,String> map) {
String containerCode = map.get("containerCode");
String boxCode = map.get("boxCode");
if(containerCode == null) {
return AjaxResult.error("称重信息没有任务号");
}
if(boxCode == null) {
return AjaxResult.error("称重信息没有重量");
}
AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = wcsService.decreaseInventory(containerCode, boxCode);
return ajaxResult;
}
});
return ajaxResult;
}
/**
* 木托盘组盘
*/
@PostMapping("/receiptContainer")
@ApiOperation("木托盘组盘")
@ApiLogger(apiName = "木托盘组盘", from="WCS")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult receiptContainer(@RequestBody Map<String,String> map) {
String boxCode = map.get("boxCode");
String port = map.get("port");
String stack = map.get("stack");
String finish = map.get("finish");
if(boxCode == null) {
return AjaxResult.error("木托盘组盘,没有boxCode");
}
if(port == null) {
return AjaxResult.error("木托盘组盘,没有port");
}
if(stack == null) {
return AjaxResult.error("木托盘组盘,没有stack");
}
if(finish == null) {
return AjaxResult.error("木托盘组盘,没有finish");
}
AjaxResult ajaxResult = handleMultiProcess(new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
AjaxResult ajaxResult = wcsService.receiptContainer(boxCode, port, stack, Integer.parseInt(finish));
return ajaxResult;
}
});
return ajaxResult;
}
}