rev:优化agv充电接口
This commit is contained in:
@@ -182,4 +182,7 @@ public interface AgvService {
|
||||
|
||||
|
||||
String queryDeviceStation();
|
||||
|
||||
HttpResponse chargingQuest(JSONObject json);
|
||||
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.sf.json.JSONArray;
|
||||
@@ -41,6 +42,7 @@ import org.nl.acs.opc.DeviceType;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.exception.BadRequestException;
|
||||
import org.nl.logger.BusinessLogger;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
import org.nl.start.auto.run.NDCSocketConnectionAutoRun;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -354,6 +356,7 @@ public class AgvServiceImpl implements AgvService {
|
||||
JSONArray prija = new JSONArray();
|
||||
prija.add(prijo);
|
||||
orderjo.put("properties", prija);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1754,6 +1757,56 @@ public class AgvServiceImpl implements AgvService {
|
||||
return jo.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResponse chargingQuest(JSONObject json) {
|
||||
log.info("agvCode参数:{}", json);
|
||||
String inst_no = CodeUtil.getNewCode("INSTRUCT_NO");
|
||||
if (ObjectUtil.isEmpty(json)){
|
||||
throw new BadRequestException("agv编码为空!");
|
||||
}
|
||||
String agv_code = json.getString("agv_code");
|
||||
JSONArray ja = new JSONArray();
|
||||
JSONObject orderjo = new JSONObject();
|
||||
//指定agv车号
|
||||
if (StrUtil.equals(agv_code,"1")){
|
||||
orderjo.put("intendedVehicle", "HS 1#AGV");
|
||||
}else if (StrUtil.equals(agv_code,"2")){
|
||||
orderjo.put("intendedVehicle", "HS 2#AGV");
|
||||
}
|
||||
JSONObject jo = new JSONObject();
|
||||
//指定agv充电位置
|
||||
jo.put("locationName", "Charge-100");
|
||||
//指定agv操作码
|
||||
jo.put("operation", "CHARGE");
|
||||
ja.add(jo);
|
||||
orderjo.put("destinations",ja);
|
||||
System.out.println("orderjo的值:"+orderjo);
|
||||
log.info("下发agv指令参数:{}", orderjo.toString());
|
||||
HttpResponse result = null;
|
||||
if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) {
|
||||
String agvurl = acsConfigService.findConfigFromCache().get(AcsConfig.AGVURL);
|
||||
String agvport = acsConfigService.findConfigFromCache().get(AcsConfig.AGVPORT);
|
||||
|
||||
agvurl = agvurl + ":" + agvport + "/v1/transportOrders/" + inst_no;
|
||||
|
||||
log.info("下发agv指令参数:{}", orderjo.toString());
|
||||
|
||||
try {
|
||||
result = HttpRequest.post(agvurl)
|
||||
.body(String.valueOf(orderjo))//表单内容
|
||||
.timeout(20000)//超时,毫秒
|
||||
.execute();
|
||||
System.out.println(result);
|
||||
log.info("chargingQuest----返回参数{}", result);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("下发agv失败!");
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeException("系统参数未配置!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public JSONObject createOrederData(Instruction inst, String inst_type) {
|
||||
String inst_code = inst.getInstruction_code();
|
||||
@@ -1964,6 +2017,7 @@ public class AgvServiceImpl implements AgvService {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public HttpResponse resume() throws Exception {
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.sf.json.JSONObject;
|
||||
import org.nl.acs.agv.server.AgvService;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
@@ -34,6 +35,7 @@ public class TaskController {
|
||||
|
||||
private final TaskService taskService;
|
||||
private final AcsToWmsService acsToWmsService;
|
||||
private final AgvService agvService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询任务")
|
||||
@@ -171,7 +173,7 @@ public class TaskController {
|
||||
@ApiOperation("请求充电任务")
|
||||
@PostMapping("/chargingTask")
|
||||
//@PreAuthorize("@el.check('task:add')")
|
||||
public ResponseEntity<Object> chargingQuest(@RequestBody String agv_code) {
|
||||
return new ResponseEntity<>(taskService.chargingQuest(agv_code), HttpStatus.OK);
|
||||
public ResponseEntity<Object> chargingQuest(@RequestBody JSONObject json) {
|
||||
return new ResponseEntity<>(agvService.chargingQuest(json), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1630,19 +1630,26 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
|
||||
|
||||
@Override
|
||||
public HttpResponse chargingQuest(String agvCode) {
|
||||
log.info("agvCode参数:{}", agvCode);
|
||||
String inst_no = CodeUtil.getNewCode("INSTRUCT_NO");
|
||||
if (StrUtil.isEmpty(agvCode)){
|
||||
throw new BadRequestException("agv编码为空!");
|
||||
}
|
||||
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(agvCode);
|
||||
String code = jsonObject.getString("agv_code");
|
||||
JSONArray ja = new JSONArray();
|
||||
JSONObject orderjo = new JSONObject();
|
||||
//指定agv车号
|
||||
orderjo.put("intendedVehicle", agvCode);
|
||||
if (StrUtil.equals(code,"1")){
|
||||
orderjo.put("intendedVehicle", "HS 1#AGV");
|
||||
}else if (StrUtil.equals(code,"2")){
|
||||
orderjo.put("intendedVehicle", "HS 2#AGV");
|
||||
}
|
||||
JSONObject jo = new JSONObject();
|
||||
//指定agv充电位置
|
||||
jo.put("locationName", "100");
|
||||
jo.put("locationName", "Charge-100");
|
||||
//指定agv操作码
|
||||
jo.put("operation", "Charge");
|
||||
jo.put("operation", "CHARGE");
|
||||
ja.add(jo);
|
||||
orderjo.put("destinations",ja);
|
||||
HttpResponse result = null;
|
||||
|
||||
@@ -67,10 +67,32 @@ https://juejin.cn/post/6844903775631572999
|
||||
|
||||
<!--生产环境:打印控制台和输出到文件-->
|
||||
<springProfile name="prod">
|
||||
<root level="error">
|
||||
<root level="info">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
|
||||
<logger name="jdbc.audit" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="jdbc.resultset" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="springfox.documentation" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="jdbc.sqlonly" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="jdbc.sqltiming" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.jinterop" level="ERROR" additivity="false">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
</springProfile>
|
||||
|
||||
<!--开发环境:打印控制台-->
|
||||
|
||||
Reference in New Issue
Block a user