AcsServiceImpl.java
4.95 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
package com.huaheng.api.acs.service;
import com.alibaba.fastjson.JSON;
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.AgvDomain;
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.common.utils.restful.RestUtil;
import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
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.http.ResponseEntity;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
/**
* @ClassName AcsServiceImpl
* @Description TODO
* @Author youjie
* @Date 2019/12/2615:38
*/
@Service
public class AcsServiceImpl implements AcsService {
@Resource
private AgvTaskService agvTaskService;
@Resource
private AddressService addressService;
@Override
@ApiLogger(apiName = "创建AGV任务", from="acs")
public AjaxResult createAGVTask(AgvTask agvTask) {
AgvDomain agvDomain = new AgvDomain();
agvDomain.setTaskNo(String.valueOf(agvTask.getId()));
agvDomain.setTaskType(agvTask.getTaskType());
agvDomain.setFromPort(agvTask.getFromPort());
agvDomain.setToPort(agvTask.getToPort());
agvDomain.setPriority(agvTask.getPriority());
agvDomain.setCreatedBy(agvTask.getCreatedBy());
// agvDomain.setCreatedTime(agvTask.getCreated());
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(agvTask.getPriority());
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("更新任务信息成功");
}
}