ArrivedNoticeController.java
5.5 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
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.RobotView;
import com.huaheng.api.wcs.service.RequestContainerNumberService;
import com.huaheng.api.wcs.service.pickUpHandle.RobotHandleService;
import com.huaheng.common.constant.QuantityConstant;
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.framework.web.service.ConfigService;
import com.huaheng.pc.config.container.service.ContainerBService;
import com.huaheng.pc.config.location.service.LocationService;
import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
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.util.Map;
@RestController
@RequestMapping("/API/WMS/v2")
public class ArrivedNoticeController extends BaseController {
@Resource
private TaskHeaderService taskHeaderService;
@Resource
private TaskDetailService taskDetailService;
@Resource
private InventoryDetailService inventoryDetailService;
@Resource
private LocationService locationService;
@Resource
private ConfigService configService;
@Resource
private RequestContainerNumberService requestContainerNumberService;
@Resource
private ContainerBService containerBService;
@Resource
private RobotHandleService robotHandleService;
@PostMapping("/arrivedNotice")
@ApiOperation("到达拣选台")
@ApiLogger(apiName = "到达拣选台", from = "ROBOT")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult arrivedNotice(@RequestBody Map<String, String> map) {
String taskNo = map.get("taskNo");
String port = map.get("port");
String msg = map.get("msg");
String state = map.get("state");
LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
taskHeaderLambdaQueryWrapper.eq(TaskHeader::getId, taskNo);
TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
if (taskHeader != null) {
taskHeader.setStatus(QuantityConstant.TASK_STATUS_ARRIVED_STATION);
} else {
return AjaxResult.error("没有找到任务taskNo:" + taskNo);
}
int taskType = taskHeader.getTaskType();
int status = taskHeader.getStatus();
if (status == QuantityConstant.TASK_STATUS_COMPLETED) {
return AjaxResult.success("更新到达站台成功, 任务已经完成");
}
boolean result = taskHeaderService.updateById(taskHeader);
if (!result) {
return AjaxResult.error("更新到达站台失败");
}
return AjaxResult.success("更新到达站台成功");
}
/**
* 商片仓分拣出库或整盘出库时告诉机器人抓取哪一个位置的
* 请求出库抓取信息
*
* @return
*/
@PostMapping("/requestContainerNumberByWcs")
@ApiOperation("请求出库抓取信息")
@ApiLogger(apiName = "请求出库抓取信息", from = "WCS")
@ResponseBody
public AjaxResult requestContainerNumberByWcs(@RequestBody RobotView robotView) {
AjaxResult ajaxResult = handleMultiProcess("requestContainerNumberByWcs", new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
// return requestContainerNumberService.requestContainerNumberByWcs(robotView.getContainerCode());
return robotHandleService.reqShipmentContainer(robotView);
}
});
return ajaxResult;
}
/**
* 响应机械手操作信息
*
* @return
*/
@PostMapping("/respRobotOperator")
@ApiOperation("响应机械手操作信息")
@ApiLogger(apiName = "响应机械手操作信息", from = "WCS")
@ResponseBody
public AjaxResult respRobotOperator(@RequestBody RobotView robotView) {
AjaxResult ajaxResult = handleMultiProcess("respRobotOperator", new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
return robotHandleService.respRobotOperator(robotView);
}
});
return ajaxResult;
}
/**
* 商片仓空托盘传托盘号给wcs
* 有任务返回位置,任务明细没有但托盘还有不用出库的给0,wcs回库
* 任务明细没有,托盘上没有货则返回100.wcs往前走
*
* @return
*/
@PostMapping("/emptyContainerCodeToWcs")
@ApiOperation("商片仓空托盘传托盘号给wcs")
@ApiLogger(apiName = "商片仓空托盘传托盘号给wcs", from = "WCS")
@Transactional(rollbackFor = Exception.class)
@ResponseBody
public AjaxResult emptyContainerCodeToWcs(@RequestBody RobotView view) {
AjaxResult ajaxResult = handleMultiProcess("emptyContainerCodeToWcs", new MultiProcessListener() {
@Override
public AjaxResult doProcess() {
return robotHandleService.respRobotOperator(view);
}
});
return ajaxResult;
}
}