Browse Source

rev:优化agv充电接口

master
涂强 9 months ago
parent
commit
ca0f14d3ae
  1. 3
      hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java
  2. 54
      hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java
  3. 6
      hd/nladmin-system/src/main/java/org/nl/acs/task/rest/TaskController.java
  4. 13
      hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java
  5. 26
      hd/nladmin-system/src/main/resources/logback-spring.xml

3
hd/nladmin-system/src/main/java/org/nl/acs/agv/server/AgvService.java

@ -182,4 +182,7 @@ public interface AgvService {
String queryDeviceStation(); String queryDeviceStation();
HttpResponse chargingQuest(JSONObject json);
} }

54
hd/nladmin-system/src/main/java/org/nl/acs/agv/server/impl/AgvServiceImpl.java

@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse; import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSON;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray; 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.acs.task.service.TaskService;
import org.nl.exception.BadRequestException; import org.nl.exception.BadRequestException;
import org.nl.logger.BusinessLogger; import org.nl.logger.BusinessLogger;
import org.nl.modules.system.util.CodeUtil;
import org.nl.start.auto.run.NDCSocketConnectionAutoRun; import org.nl.start.auto.run.NDCSocketConnectionAutoRun;
import org.nl.utils.SpringContextHolder; import org.nl.utils.SpringContextHolder;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -354,6 +356,7 @@ public class AgvServiceImpl implements AgvService {
JSONArray prija = new JSONArray(); JSONArray prija = new JSONArray();
prija.add(prijo); prija.add(prijo);
orderjo.put("properties", prija); orderjo.put("properties", prija);
} }
} }
@ -1754,6 +1757,56 @@ public class AgvServiceImpl implements AgvService {
return jo.toString(); 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 @Override
public JSONObject createOrederData(Instruction inst, String inst_type) { public JSONObject createOrederData(Instruction inst, String inst_type) {
String inst_code = inst.getInstruction_code(); String inst_code = inst.getInstruction_code();
@ -1964,6 +2017,7 @@ public class AgvServiceImpl implements AgvService {
} }
} }
@Override @Override
public HttpResponse resume() throws Exception { public HttpResponse resume() throws Exception {

6
hd/nladmin-system/src/main/java/org/nl/acs/task/rest/TaskController.java

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
import org.nl.acs.agv.server.AgvService;
import org.nl.acs.ext.wms.service.AcsToWmsService; import org.nl.acs.ext.wms.service.AcsToWmsService;
import org.nl.acs.task.service.TaskService; import org.nl.acs.task.service.TaskService;
import org.nl.acs.task.service.dto.TaskDto; import org.nl.acs.task.service.dto.TaskDto;
@ -34,6 +35,7 @@ public class TaskController {
private final TaskService taskService; private final TaskService taskService;
private final AcsToWmsService acsToWmsService; private final AcsToWmsService acsToWmsService;
private final AgvService agvService;
@GetMapping @GetMapping
@Log("查询任务") @Log("查询任务")
@ -171,7 +173,7 @@ public class TaskController {
@ApiOperation("请求充电任务") @ApiOperation("请求充电任务")
@PostMapping("/chargingTask") @PostMapping("/chargingTask")
//@PreAuthorize("@el.check('task:add')") //@PreAuthorize("@el.check('task:add')")
public ResponseEntity<Object> chargingQuest(@RequestBody String agv_code) { public ResponseEntity<Object> chargingQuest(@RequestBody JSONObject json) {
return new ResponseEntity<>(taskService.chargingQuest(agv_code), HttpStatus.OK); return new ResponseEntity<>(agvService.chargingQuest(json), HttpStatus.OK);
} }
} }

13
hd/nladmin-system/src/main/java/org/nl/acs/task/service/impl/TaskServiceImpl.java

@ -1630,19 +1630,26 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
@Override @Override
public HttpResponse chargingQuest(String agvCode) { public HttpResponse chargingQuest(String agvCode) {
log.info("agvCode参数:{}", agvCode);
String inst_no = CodeUtil.getNewCode("INSTRUCT_NO"); String inst_no = CodeUtil.getNewCode("INSTRUCT_NO");
if (StrUtil.isEmpty(agvCode)){ if (StrUtil.isEmpty(agvCode)){
throw new BadRequestException("agv编码为空!"); throw new BadRequestException("agv编码为空!");
} }
com.alibaba.fastjson.JSONObject jsonObject = JSON.parseObject(agvCode);
String code = jsonObject.getString("agv_code");
JSONArray ja = new JSONArray(); JSONArray ja = new JSONArray();
JSONObject orderjo = new JSONObject(); JSONObject orderjo = new JSONObject();
//指定agv车号 //指定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(); JSONObject jo = new JSONObject();
//指定agv充电位置 //指定agv充电位置
jo.put("locationName", "100"); jo.put("locationName", "Charge-100");
//指定agv操作码 //指定agv操作码
jo.put("operation", "Charge"); jo.put("operation", "CHARGE");
ja.add(jo); ja.add(jo);
orderjo.put("destinations",ja); orderjo.put("destinations",ja);
HttpResponse result = null; HttpResponse result = null;

26
hd/nladmin-system/src/main/resources/logback-spring.xml

@ -67,10 +67,32 @@ https://juejin.cn/post/6844903775631572999
<!--生产环境:打印控制台和输出到文件--> <!--生产环境:打印控制台和输出到文件-->
<springProfile name="prod"> <springProfile name="prod">
<root level="error"> <root level="info">
<appender-ref ref="asyncFileAppender"/> <appender-ref ref="asyncFileAppender"/>
<appender-ref ref="FILE"/>
<appender-ref ref="CONSOLE"/>
</root> </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> </springProfile>
<!--开发环境:打印控制台--> <!--开发环境:打印控制台-->

Loading…
Cancel
Save