AcsServiceImpl.java
5.3 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
package com.huaheng.api.acs.service;
import com.alibaba.fastjson.JSON;
import com.huaheng.api.acs.domain.AgvDomain;
import com.huaheng.api.acs.domain.StateInfoUploadModel;
import com.huaheng.common.constant.HttpConstant;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.exception.service.ServiceException;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.http.OkHttpUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.address.service.AddressService;
import com.huaheng.pc.task.agvTask.domain.AgvTask;
import com.huaheng.pc.task.agvTask.service.AgvTaskService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @ClassName AcsServiceImpl
* @Description TODO
* @Author Administrator
* @Date 2019/12/2615:38
*/
@Service
public class AcsServiceImpl implements AcsService {
@Resource
private AgvTaskService agvTaskService;
@Resource
private AddressService addressService;
@Override
public AjaxResult StateInfoUpload(StateInfoUploadModel model) {
return null;
}
@Override
public AjaxResult TaskConfirm(AgvTask agvTask) {
return null;
}
@Override
public AjaxResult executeAGVTask(AgvTask agvTask) {
String toLocationCode = agvTask.getToPort();
String fromLocationCode = agvTask.getFromPort();
if(StringUtils.isEmpty(fromLocationCode)) {
return AjaxResult.error("创建AGV任务失败,起点为空");
}
if(StringUtils.isEmpty(toLocationCode)) {
return AjaxResult.error("创建AGV任务失败,终点为空");
}
AgvDomain agvDomain = new AgvDomain();
agvDomain.setTaskNo(String.valueOf(agvTask.getId()));
agvDomain.setTaskType(agvTask.getTaskType());
agvDomain.setFromPort(agvTask.getFromPort());
agvDomain.setToPort(agvTask.getToPort());
agvDomain.setPriority(10);
// if(!agvTaskService.save(agvTask)) {
// throw new ServiceException("更新AGV任务状态失败");
// }
agvTask.setPriority(agvDomain.getPriority());
agvDomain.setCreatedBy(agvTask.getCreatedBy());
agvDomain.setQty(agvTask.getQty());
agvDomain.setContainerCode(agvTask.getContainerCode());
String warehouseCode = agvTask.getWarehouseCode();
String url = addressService.selectAddress(QuantityConstant.ADDRESS_AGV_TASK_ASSIGN,
warehouseCode, null);
String jsonParam = JSON.toJSONString(agvDomain);
String result = OkHttpUtils.bodypost(url, jsonParam);
if(StringUtils.isEmpty(result)) {
throw new ServiceException("接口地址错误或返回为空");
}
AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
if(ajaxResult.getCode() != HttpConstant.OK) {
return AjaxResult.error(ajaxResult.getMsg());
}
return AjaxResult.success("创建AGV任务成功");
}
@Override
public AjaxResult cancelAGVTask(AgvTask agvTask) {
List<String> ids = new ArrayList<String>();
ids.add(String.valueOf(agvTask.getId()));
AgvDomain agvDomain = new AgvDomain();
agvDomain.setTaskNo(String.valueOf(agvTask.getId()));
String url = addressService.selectAddress(QuantityConstant.ADDRESS_AGV_TASK_CANCEL);
String jsonParam = JSON.toJSONString(agvDomain);
String result = OkHttpUtils.bodypost(url, jsonParam);
if(StringUtils.isEmpty(result)) {
throw new ServiceException("接口地址错误或返回为空");
}
AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
if(ajaxResult.getCode() != HttpConstant.OK) {
return AjaxResult.error(ajaxResult.getMsg());
}
return AjaxResult.success("取消AGV任务成功");
}
@Override
public AjaxResult updateAGVTask(AgvTask agvTask) {
AgvDomain agvDomain = new AgvDomain();
agvDomain.setTaskNo(String.valueOf(agvTask.getId()));
agvDomain.setPriority(1);
String url = addressService.selectAddress(QuantityConstant.ADDRESS_AGV_TASK_UPDATE);
String jsonParam = JSON.toJSONString(agvDomain);
String result = OkHttpUtils.bodypost(url, jsonParam);
if(StringUtils.isEmpty(result)) {
throw new ServiceException("接口地址错误或返回为空");
}
AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
if(ajaxResult.getCode() != HttpConstant.OK) {
return AjaxResult.error(ajaxResult.getMsg());
}
return AjaxResult.success("更新AGV任务成功");
}
@Override
public AjaxResult notifyAGVTask(String taskNo, String carNo, int status, String updateBy) {
AgvTask agvTask = agvTaskService.getById(taskNo);
if(agvTask == null) {
return AjaxResult.error("没有找到对应AGV任务,任务号为" + taskNo);
}
agvTask.setStatus(status);
agvTask.setCarNo(carNo);
agvTask.setLastUpdatedBy(updateBy);
boolean result = agvTaskService.updateById(agvTask);
if(!result) {
return AjaxResult.error("更新任务信息失败 ");
}
return AjaxResult.success("更新任务信息成功");
}
}