TrussRobotController.java
4.38 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
package com.huaheng.api.acs.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.api.acs.domain.pickContainer.ContainerPositionDomain;
import com.huaheng.api.acs.service.AcsService;
import com.huaheng.api.sap.domain.ZarDomain;
import com.huaheng.api.sap.service.ZarApiService;
import com.huaheng.api.wcs.service.warecellAllocation.LocationAllocationService;
import com.huaheng.api.wcs.service.warecellAllocation.WarecellAllocationService;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.service.ConfigService;
import com.huaheng.pc.sap.domain.Zarsh;
import com.huaheng.pc.sap.domain.Zarsi;
import com.huaheng.pc.sap.service.SapTaskLogService;
import com.huaheng.pc.sap.service.ZarshService;
import com.huaheng.pc.sap.service.ZarsiService;
import com.huaheng.pc.task.agvTask.domain.AgvTask;
import com.huaheng.pc.task.agvTask.service.AgvTaskService;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
/***
* 商片二楼包装 自动行架抓取
* @author tongzonghao
*
*/
@RestController
@RequestMapping("/API/WMS/v2")
public class TrussRobotController {
@Resource
private AgvTaskService agvTaskService;
@Resource
private ZarshService zarshService;
@Resource
private ZarsiService zarsiService;
@Resource
private AcsService acsService;
@Resource
private WarecellAllocationService warecellAllocationService;
@Resource
private ZarApiService zarApiService;
@Resource
private SapTaskLogService sapTaskLogService;
@PostMapping("/pickContainerPosition")
@ApiOperation("商片分拣物料")
@ResponseBody
@ApiLogger(apiName = "商片分拣物料", from = "acs")
public AjaxResult pickContainerPosition(@RequestBody ContainerPositionDomain domain) {
if(StringUtils.isNull(domain)){
AjaxResult.error("请求内容未空");
}
String containerCode = domain.getContainerCode();
String port = domain.getStationCode();
if(StringUtils.isEmpty(containerCode)){
return AjaxResult.error("容器号不能为空");
}
if(!"P2026".equals(port)){
return AjaxResult.error("不是指定站台P2026");
}
return acsService.pickContainerPosition(containerCode,port);
}
@PostMapping("/leavedContainerPosition")
@ApiOperation("离开托盘位置")
@ResponseBody
@ApiLogger(apiName = "离开托盘位置", from = "acs")
public AjaxResult leavedContainerPosition(@RequestBody ContainerPositionDomain domain) {
String containerCode = domain.getContainerCode();
Integer position = domain.getPosition();
String rollNumber = domain.getRollNumber();
boolean isEx = domain.getIsEx();
if(StringUtils.isEmpty(containerCode)){
return AjaxResult.error("抓取容器号不能为空");
}
if(StringUtils.isNull(position)){
return AjaxResult.error("抓取位置号不能为空");
}
if(StringUtils.isEmpty(rollNumber)){
return AjaxResult.error("抓取批次不能为空");
}
AgvTask agvTask = agvTaskService.getOne(new LambdaQueryWrapper<AgvTask>()
.eq(AgvTask::getPalletNo,containerCode)
.eq(AgvTask::getState,60)
.eq(AgvTask::getIsEmpty,1)
.isNotNull(AgvTask::getUniqueId));
if(agvTask == null){
return AjaxResult.error("未找到到达容器");
}
String uniqueId = agvTask.getUniqueId();
List<Zarsi> zarsis = zarsiService.getListByUniq(uniqueId);
for (Zarsi zarsi : zarsis) {
if(zarsi.getCharg().equals(rollNumber)){
zarsi.setUseFlag("XX");
if(isEx){
zarsi.setUseFlag("");
}
zarsiService.updateById(zarsi);
return AjaxResult.success(zarsi);
}
}
return AjaxResult.success();
}
}