rev:一楼桁架交互、AGV任务状态查询接口更新
This commit is contained in:
@@ -28,6 +28,7 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @author zhangjiangwei
|
||||
@@ -65,6 +66,22 @@ public class AgvWaitUtil {
|
||||
if (manipulatorAgvStationDeviceDriver.getTo_command() != 2) {
|
||||
manipulatorAgvStationDeviceDriver.writing(2);
|
||||
}
|
||||
int i = 0;
|
||||
while (true){
|
||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) startDevice.getDeviceDriver();
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() == 1){
|
||||
break;
|
||||
}
|
||||
if (i >= 4){
|
||||
break;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(500);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() == 1) {
|
||||
LuceneLogDto logDto1 = LuceneLogDto.builder()
|
||||
.device_code(inst.getCarno())
|
||||
@@ -76,14 +93,18 @@ public class AgvWaitUtil {
|
||||
map.put("status", 200);
|
||||
map.put("message", "允许取货!");
|
||||
log.info("允许仙工AGV取货,设备号 - {}", startDeviceCode);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
} else {
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(manipulatorAgvStationDeviceDriver.getDevice_code())
|
||||
.content("未给agv进入信号原因是:" + manipulatorAgvStationDeviceDriver.getDevice_code() + "动作信号不为1")
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: 桁架不允许取货! ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("行架不允许取货");
|
||||
}
|
||||
|
||||
@@ -93,31 +114,34 @@ public class AgvWaitUtil {
|
||||
if (startDevice.getDeviceDriver() instanceof BoxSubvolumesConveyorDeviceDriver) {
|
||||
boxSubvolumesConveyorDeviceDriver = (BoxSubvolumesConveyorDeviceDriver) startDevice.getDeviceDriver();
|
||||
if (boxSubvolumesConveyorDeviceDriver.getMode() == 2) {
|
||||
LuceneLogDto logDto1 = LuceneLogDto.builder()
|
||||
.device_code(inst.getCarno())
|
||||
.content("叉车允许取货")
|
||||
.build();
|
||||
logDto1.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto1);
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("status", 200);
|
||||
map.put("message", "允许取货!");
|
||||
log.info("允许仙工AGV取货,设备号 - {}", startDeviceCode);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
} else {
|
||||
LuceneLogDto logDto1 = LuceneLogDto.builder()
|
||||
.device_code(inst.getCarno())
|
||||
.content("agv叉车对接位输送线不允许取货:" + inst.getCarno() + "点位号" + boxSubvolumesConveyorDeviceDriver.getDevice_code())
|
||||
.build();
|
||||
logDto1.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto1);
|
||||
throw new BadRequestException("上位系统不允许取货");
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: { 请查看开始请求 }, 响应结果: 设备不满足信号, 不允许取货! ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("设备不满足信号, 不允许取货");
|
||||
}
|
||||
}
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("status", 200);
|
||||
map.put("message", "允许取货!");
|
||||
log.info("允许仙工AGV取货,设备号 - {}", startDeviceCode);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -145,21 +169,41 @@ public class AgvWaitUtil {
|
||||
if (manipulatorAgvStationDeviceDriver.getTo_command() != 3) {
|
||||
manipulatorAgvStationDeviceDriver.writing(3);
|
||||
}
|
||||
int i = 0;
|
||||
while (true){
|
||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) startDevice.getDeviceDriver();
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() == 0 && manipulatorAgvStationDeviceDriver.getMode() == 2){
|
||||
break;
|
||||
}
|
||||
if (i >= 4){
|
||||
break;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(500);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) startDevice.getDeviceDriver();
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() == 0 && manipulatorAgvStationDeviceDriver.getMode() == 2) {
|
||||
if (StrUtil.equals(paramService.findByCode(AcsConfig.isSendLms).getValue(), CommonFinalParam.ONE)){
|
||||
if (StrUtil.equals(paramService.findByCode(AcsConfig.isSendLms).getValue(), CommonFinalParam.ONE)) {
|
||||
if (!AgvActionTypeEnum.ORDINARY.getCode().equals(inst.getAgv_action_type())) {
|
||||
applyLmsGetOut(inst);
|
||||
} else {
|
||||
boolean ignore_pickup_check = Optional.ofNullable(startDevice.getExtraValue().get("ignore_pickup_check")).map(Object::toString).map(Boolean::parseBoolean).orElse(false);
|
||||
if (ignore_pickup_check) {
|
||||
applyLmsGetOut(inst);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(manipulatorAgvStationDeviceDriver.getDevice_code())
|
||||
.content("未给agv离开信号原因是:" + manipulatorAgvStationDeviceDriver.getDevice_code() + "动作信号不为0")
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
log.info("不允许仙工AGV取货,对接位有报警,设备号 - {}", startDeviceCode);
|
||||
throw new BadRequestException("上位系统不允许agv离开");
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: { 请查看开始请求 }, 响应结果: 桁架信号不满足条件, 不允许AGV取货完成离开! ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("桁架信号不满足条件,不允许AGV取货完成离开");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -169,6 +213,11 @@ public class AgvWaitUtil {
|
||||
map.put("message", "允许离开!");
|
||||
log.info("允许仙工AGV取货完成后请求离开,返回参数 - {}", map);
|
||||
log.info("允许仙工AGV取货完成后请求离开,设备号 - {}", startDeviceCode);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -191,6 +240,11 @@ public class AgvWaitUtil {
|
||||
.build();
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: 请求LMS追加动诺宝作块, LMS返回成功")
|
||||
.log_level(4)
|
||||
.build());
|
||||
} else {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(inst.getCarno())
|
||||
@@ -198,6 +252,11 @@ public class AgvWaitUtil {
|
||||
.build();
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: 请求LMS追加动诺宝作块, LMS返回失败")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("追加动诺宝作块返回失败");
|
||||
}
|
||||
}
|
||||
@@ -212,15 +271,31 @@ public class AgvWaitUtil {
|
||||
if (manipulatorAgvStationDeviceDriver.getTo_command() != 4) {
|
||||
manipulatorAgvStationDeviceDriver.writing(4);
|
||||
}
|
||||
int i = 0;
|
||||
while (true){
|
||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) endDevice.getDeviceDriver();
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() == 1){
|
||||
break;
|
||||
}
|
||||
if (i >= 4){
|
||||
break;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(500);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) endDevice.getDeviceDriver();
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() != 1) {
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(manipulatorAgvStationDeviceDriver.getDevice_code())
|
||||
.content("未给agv进入信号原因是:" + manipulatorAgvStationDeviceDriver.getDevice_code() + "动作信号不为1")
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: { 请查看开始请求 }, 响应结果: 桁架信号不满足条件, 不允许AGV放货! ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
log.info("不允许仙工AGV取货,对接位有报警,设备号 - {}", endDevice);
|
||||
throw new BadRequestException("上位系统不允许取货");
|
||||
throw new BadRequestException("桁架信号不满足条件, 不允许AGV放货");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -234,6 +309,11 @@ public class AgvWaitUtil {
|
||||
map.put("status", 200);
|
||||
map.put("message", "允许放货!");
|
||||
log.info("允许仙工AGV放货,设备号 - {}", endDeviceCode);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -248,15 +328,31 @@ public class AgvWaitUtil {
|
||||
if (manipulatorAgvStationDeviceDriver.getTo_command() != 5) {
|
||||
manipulatorAgvStationDeviceDriver.writing(5);
|
||||
}
|
||||
int i = 0;
|
||||
while (true){
|
||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) nextDevice.getDeviceDriver();
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() == 0){
|
||||
break;
|
||||
}
|
||||
if (i >= 4){
|
||||
break;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(500);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
i++;
|
||||
}
|
||||
manipulatorAgvStationDeviceDriver = (ManipulatorAgvStationDeviceDriver) nextDevice.getDeviceDriver();
|
||||
if (manipulatorAgvStationDeviceDriver.getAction() != 0) {
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(manipulatorAgvStationDeviceDriver.getDevice_code())
|
||||
.content("未给agv离开信号原因是:" + manipulatorAgvStationDeviceDriver.getDevice_code() + "动作信号不为0")
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: { 请查看开始请求 }, 响应结果: 桁架信号不满足条件, 不允许AGV放货完成离开! ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
log.info("不允许仙工AGV取货,对接位有报警,设备号 - {}", endDeviceCode);
|
||||
throw new BadRequestException("上位系统不允许agv离开");
|
||||
throw new BadRequestException("桁架信号不满足条件, 不允许AGV放货完成离开!");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -268,6 +364,11 @@ public class AgvWaitUtil {
|
||||
map.put("status", 200);
|
||||
map.put("message", "允许离开!");
|
||||
log.info("允许仙工AGV放货完成后请求离开,设备号 - {}", endDeviceCode);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: {查看开始请求}, 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,17 @@
|
||||
package org.nl.acs.agv;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.device_driver.agv.xg_agv_car.XgAgvCarDeviceDriver;
|
||||
import org.nl.acs.agv.server.XianGongAgvService;
|
||||
import org.nl.acs.instruction.domain.Instruction;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.task.domain.Task;
|
||||
import org.nl.acs.task.enums.AgvActionTypeEnum;
|
||||
import org.nl.acs.task.enums.AgvSystemTypeEnum;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 定时查询AGV状态
|
||||
@@ -38,79 +22,53 @@ public class QueryAGVStatus {
|
||||
|
||||
|
||||
@Autowired
|
||||
private DeviceAppService deviceAppService;
|
||||
private XianGongAgvService agvService;
|
||||
@Autowired
|
||||
private InstructionService instructionService;
|
||||
|
||||
public void run() {
|
||||
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class);
|
||||
TaskService taskService = SpringContextHolder.getBean(TaskService.class);
|
||||
ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class);
|
||||
List<Instruction> allInstFromCache = instructionService.findAllInstFromCache();
|
||||
List<Instruction> agvInstruction = allInstFromCache.stream().filter(item -> AgvSystemTypeEnum.One_NDC_System_Type.getIndex().equals(item.getAgv_system_type()) || AgvSystemTypeEnum.XG_System_Type.getIndex().equals(item.getAgv_system_type())).collect(Collectors.toList());
|
||||
if (CollUtil.isEmpty(agvInstruction) || agvInstruction.size() < 1) {
|
||||
return;
|
||||
}
|
||||
for (Instruction instruction : agvInstruction) {
|
||||
String agvurl = paramService.findByCode(AcsConfig.AGVURL).getValue();
|
||||
String agvport = paramService.findByCode(AcsConfig.AGVPORT).getValue();
|
||||
JSONObject param = new JSONObject();
|
||||
agvurl = agvurl + ":" + agvport + "/orderDetails/" + instruction.getInstruction_code();
|
||||
log.info("根据运单号查询运单状态的请求:{}", agvurl);
|
||||
HttpResponse result = HttpRequest.get(agvurl)
|
||||
.timeout(20000)//超时,毫秒
|
||||
.execute();
|
||||
log.info("根据运单号查询运单状态的请求反馈:{}", result);
|
||||
String body = result.body();
|
||||
JSONObject json = JSONObject.parseObject(body);
|
||||
if (result.getStatus() == 200 && json.getString("id").equals(instruction.getInstruction_code())) {
|
||||
// 已创建=CREATED,
|
||||
// 待分配=TOBEDISPATCHED,
|
||||
// 正在执行=RUNNING,
|
||||
// 完成=FINISHED,
|
||||
// 失败=FAILED(主动失败),
|
||||
// 终止=STOPPED(被人为终止),
|
||||
// 无法执行=Error(参数错误),
|
||||
// 等待=WAITING
|
||||
//执行中
|
||||
String state = json.getString("state");
|
||||
String carNo = json.getString("vehicle");
|
||||
String instructionCode = json.getString("id");
|
||||
if ("RUNNING".equals(state) || "TOBEDISPATCHED".equals(state) || "WAITING".equals(state)) {
|
||||
TaskDto task = taskService.findById(instruction.getTask_id());
|
||||
if ("0".equals(instruction.getInstruction_status())&&"1".equals(task.getTask_status())) {
|
||||
instruction.setCarno(carNo);
|
||||
instruction.setInstruction_status("1");
|
||||
instructionService.update(instruction);
|
||||
task.setCarno(carNo);
|
||||
task.setTask_id(instruction.getTask_id());
|
||||
instructionService.update(instruction);
|
||||
taskService.update(task);
|
||||
if (StrUtil.isNotEmpty(instructionCode)) {
|
||||
Device carCode = deviceAppService.findDeviceByCode(instructionCode);
|
||||
XgAgvCarDeviceDriver xgAgvCarDeviceDriver;
|
||||
if (null != carCode) {
|
||||
if (carCode.getDeviceDriver() instanceof XgAgvCarDeviceDriver) {
|
||||
xgAgvCarDeviceDriver = (XgAgvCarDeviceDriver) carCode.getDeviceDriver();
|
||||
xgAgvCarDeviceDriver.setTaskType(AgvActionTypeEnum.getStatus(instruction.getAgv_action_type()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void run() throws Exception {
|
||||
|
||||
} else if ("FINISHED".equals(state)) {
|
||||
if (!"2".equals(instruction.getInstruction_status())) {
|
||||
instruction.setInstruction_status("2");
|
||||
try {
|
||||
instructionService.finish(instruction);
|
||||
} catch (Exception e) {
|
||||
log.error("执行完成,但无法更新状态,可能由于参数错误导致的异常");
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
} else if ("STOPPED".equals(state) || "FAILED".equals(state) || "Error".equals(state)) {
|
||||
if (!"1".equals(instruction.getInstruction_status())) {
|
||||
instruction.setInstruction_status("1");
|
||||
instructionService.update(instruction);
|
||||
}
|
||||
HttpResponse response = agvService.queryXZAgvInstStatus();
|
||||
JSONObject jo = JSONArray.parseObject(response.body());
|
||||
|
||||
JSONArray ja = JSONArray.parseArray(jo.getString("list"));
|
||||
for (int i = 0; i < ja.size(); i++) {
|
||||
JSONObject one = (JSONObject) ja.get(i);
|
||||
String inst_code = one.getString("id");
|
||||
Instruction inst = instructionService.findByCodeFromCache(inst_code);
|
||||
if (ObjectUtil.isEmpty(inst))
|
||||
continue;
|
||||
|
||||
String state = one.getString("state");
|
||||
if (!StrUtil.isEmpty(one.getString("vehicle"))) {
|
||||
String carno = one.getString("vehicle");
|
||||
inst.setCarno(carno);
|
||||
}
|
||||
|
||||
// 已创建=CREATED,
|
||||
// 待分配=TOBEDISPATCHED,
|
||||
// 正在执行=RUNNING,
|
||||
// 完成=FINISHED,
|
||||
// 失败=FAILED(主动失败),
|
||||
// 终止=STOPPED(被人为终止),
|
||||
// 无法执行=Error(参数错误),
|
||||
// 等待=WAITING
|
||||
|
||||
//执行中
|
||||
if ("RUNNING".equals(state) || "CREATED".equals(state) || "TOBEDISPATCHED".equals(state) || "WAITING".equals(state)) {
|
||||
if (inst != null && "0".equals(inst.getInstruction_status())) {
|
||||
inst.setInstruction_status("1");
|
||||
instructionService.update(inst);
|
||||
}
|
||||
} else if ("FINISHED".equals(state)) {
|
||||
if (inst != null) {
|
||||
inst.setInstruction_status("2");
|
||||
instructionService.finish(inst);
|
||||
}
|
||||
} else if ("STOPPED".equals(state) || "FAILED".equals(state) || "Error".equals(state)) {
|
||||
if (inst != null) {
|
||||
//inst.setInstruction_status("1");
|
||||
//instructionService.update(inst);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,6 +60,8 @@ public interface XianGongAgvService {
|
||||
*/
|
||||
public HttpResponse queryXZAgvInstStatus(String instCode);
|
||||
|
||||
public HttpResponse queryXZAgvInstStatus();
|
||||
|
||||
/**
|
||||
* 删除先知任务
|
||||
*
|
||||
|
||||
@@ -238,6 +238,25 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResponse queryXZAgvInstStatus() {
|
||||
if (StrUtil.equals(paramService.findByCode(AcsConfig.FORKAGV).getValue(), CommonFinalParam.ONE)) {
|
||||
String agvurl = paramService.findByCode(AcsConfig.AGVURL).getValue();
|
||||
String agvport = paramService.findByCode(AcsConfig.AGVPORT).getValue();
|
||||
|
||||
agvurl = agvurl + ":" + agvport + "/orders?page=1&size=50&orderBy=createTime&orderMethod=descending";
|
||||
|
||||
HttpResponse result = HttpRequest.get(agvurl)
|
||||
.timeout(20000)//超时,毫秒
|
||||
.execute();
|
||||
log.info("queryXZAgvInstStatus----查询agv指令数据:{}" + result.body());
|
||||
return result;
|
||||
} else {
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public HttpResponse deleteXZAgvInst(String instCode) {
|
||||
@@ -741,25 +760,29 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
|
||||
@Override
|
||||
public JSONObject xgAGVWaitPointRequest(JSONObject requestParam) {
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始请求.....,请求参数:" + JSON.toJSONString(requestParam))
|
||||
.log_level(4)
|
||||
.build());
|
||||
log.info("仙工AGV请求取放货,请求参数 - {}", requestParam);
|
||||
String inst_code = requestParam.getString("task_code");
|
||||
Instruction instructionDto = instructionService.findByCodeFromCache(inst_code);
|
||||
if (ObjectUtil.isEmpty(instructionDto)) {
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.content("请求失败,未找到指令!" + inst_code)
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: 指令号不存在!")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("请求失败,未找到指令!");
|
||||
}
|
||||
String address = requestParam.getString("address");
|
||||
if (StrUtil.isBlank(address)) {
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("请求失败,地址为空!" )
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: 请求地址为空!")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("请求失败,地址为空!");
|
||||
}
|
||||
if (address.contains("IN") || address.contains("WAIT")) {
|
||||
@@ -771,17 +794,15 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
deviceCodeNow = address.substring(0, address.length() - 5);
|
||||
}
|
||||
if (ObjectUtil.isEmpty(deviceAppService.findDeviceByCode(deviceCodeNow))) {
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("设备号 " + deviceCodeNow + " 不存在!")
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: 设备号: " + deviceCodeNow + "不存在! ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("设备号 " + deviceCodeNow + " 不存在!");
|
||||
}
|
||||
//一楼诺宝agv
|
||||
if (instructionDto.getAgv_system_type().equals(AgvSystemTypeEnum.One_NDC_System_Type.getIndex())) {
|
||||
|
||||
if (address.contains("GET")) {
|
||||
return agvWaitUtil.waitInGet(deviceCodeNow, instructionDto);
|
||||
} else if (address.contains("PUT")) {
|
||||
@@ -795,6 +816,11 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("status", 200);
|
||||
map.put("message", "取货二次分配追加诺宝成功!");
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
}
|
||||
//如果是放货二次分配,取放货二次分配需要重新追加动作块
|
||||
@@ -806,6 +832,11 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("status", 200);
|
||||
map.put("message", "放货二次分配追加诺宝成功!");
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
}
|
||||
}
|
||||
@@ -823,12 +854,11 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
map.put("status", 200);
|
||||
map.put("message", "允许叉车放货!" + "点位" + newPointCode);
|
||||
log.info("允许仙工AGV放货,设备号 - {}", newPointCode);
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("叉车允许放货" + "新点位:" + newPointCode + map )
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: " + JSON.toJSONString(map))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return map;
|
||||
}
|
||||
//放货前等待
|
||||
@@ -841,6 +871,11 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
if (address.contains("OUT")) {
|
||||
String deviceCodeNow = address.substring(0, address.length() - 6);
|
||||
if (ObjectUtil.isEmpty(deviceAppService.findDeviceByCode(deviceCodeNow))) {
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果:设备号 " + deviceCodeNow + "不存在! ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("设备号 " + deviceCodeNow + " 不存在!");
|
||||
}
|
||||
|
||||
@@ -849,6 +884,11 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
JSONObject jsonObject = agvWaitUtil.waitOutGet(deviceCodeNow, instructionDto);
|
||||
if (StringUtil.equals("200", jsonObject.getString("status"))) {
|
||||
log.info("仙工AGV取货完成后离开,设备号 - {}", deviceCodeNow);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: " + JSON.toJSONString(jsonObject))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return jsonObject;
|
||||
}
|
||||
} else if (address.contains("PUT")) {
|
||||
@@ -856,48 +896,62 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
JSONObject jsonObject = agvWaitUtil.waitOutPut(deviceCodeNow, instructionDto);
|
||||
if (StringUtil.equals("200", jsonObject.getString("status"))) {
|
||||
log.info("仙工AGV放货完成后离开,设备号 - {}", deviceCodeNow);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: " + JSON.toJSONString(jsonObject))
|
||||
.log_level(4)
|
||||
.build());
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(requestParam.getString("task_code"))
|
||||
.content("AGV开始响应.....,请求参数:" + JSON.toJSONString(requestParam) + ", 响应结果: IN OUT 站点错误!")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("请求失败,IN OUT 站点错误!");
|
||||
}
|
||||
|
||||
private String applyCCAgvTask(String task_code, Instruction instructionDto) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("task_code", task_code);
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("task_code", task_code);
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("叉车二次分配请求lms,参数:" + task_code)
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
String response = acsToWmsService.applySendOutTwo(param);
|
||||
JSONObject jo = JSON.parseObject(response);
|
||||
if (jo.getInteger("status") == 200) {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("叉车二次分配请求lms,参数:" + task_code)
|
||||
.content("叉车二次分配请求lms,参数,接口返回:" + jo)
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
String response = acsToWmsService.applySendOutTwo(param);
|
||||
JSONObject jo = JSON.parseObject(response);
|
||||
if (jo.getInteger("status") == 200) {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("叉车二次分配请求lms,参数,接口返回:" + jo)
|
||||
.build();
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
//二次分配更新点位
|
||||
updataTask(instructionDto, jo.getString("data"));
|
||||
//请求成功调用叉车追加动作块
|
||||
sendAddSequencesToCCAgv(instructionDto.getInstruction_code(), jo.getString("data"), instructionDto);
|
||||
return jo.getString("data");
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
//二次分配更新点位
|
||||
updataTask(instructionDto, jo.getString("data"));
|
||||
//请求成功调用叉车追加动作块
|
||||
sendAddSequencesToCCAgv(instructionDto.getInstruction_code(), jo.getString("data"), instructionDto);
|
||||
return jo.getString("data");
|
||||
|
||||
} else {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("叉车二次分配请求lms失败,返回参数:" + jo.getString("message"))
|
||||
.build();
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
throw new BadRequestException("叉车二次分配请求lms返回失败");
|
||||
}
|
||||
} else {
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getCarno())
|
||||
.content("叉车二次分配请求lms失败,返回参数:" + jo.getString("message"))
|
||||
.build();
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: { 请查看请求参数 }, 响应结果: 二次分配请求LMS, LMS返回失败 ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("叉车二次分配请求lms返回失败");
|
||||
}
|
||||
}
|
||||
|
||||
private void sendAddSequencesToCCAgv(String instructionCode, String nextPoint, Instruction instructionDto) {
|
||||
@@ -1009,6 +1063,11 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
.build();
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(instructionDto.getInstruction_code())
|
||||
.content("AGV开始响应.....,请求参数: { 请查看请求参数 }, 响应结果: 二次分配请求LMS, LMS返回失败 ")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("二次分配请求lms返回失败");
|
||||
}
|
||||
|
||||
@@ -1085,7 +1144,6 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 追加动作块
|
||||
*
|
||||
@@ -1437,7 +1495,7 @@ public class XianGongAgvServiceImpl implements XianGongAgvService {
|
||||
jo10.put("binTask", "OutForkHeight");
|
||||
ja.add(jo10);
|
||||
|
||||
} else if (AgvActionTypeEnum.IN_STOCK.getCode().equals(inst.getAgv_action_type())) {
|
||||
} else if (AgvActionTypeEnum.IN_STOCK.getCode().equals(inst.getAgv_action_type())) {
|
||||
|
||||
} else if (AgvActionTypeEnum.OUT_STOCK.getCode().equals(inst.getAgv_action_type())) {
|
||||
// to do
|
||||
|
||||
@@ -273,27 +273,36 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
||||
}
|
||||
|
||||
private void updateInstrction() {
|
||||
//更改指令状态
|
||||
if (task > 0) {
|
||||
Instruction inst = checkInst();
|
||||
if (inst != null) {
|
||||
if (StrUtil.equals(inst.getInstruction_status(), "0")) {
|
||||
inst.setInstruction_status(CommonFinalParam.ONE);
|
||||
inst.setExecute_device_code(this.device_code);
|
||||
instructionService.update(inst);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("装箱桁架: 桁架任务更新为执行中")
|
||||
.log_level(4)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
Date date = new Date();
|
||||
if (date.getTime() - this.instruction_update_time.getTime() < (long) this.instruction_update_time_out) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_update_time_out);
|
||||
|
||||
} else {
|
||||
this.instruction_update_time = date;
|
||||
//更改指令状态
|
||||
if (task > 0) {
|
||||
Instruction inst = checkInst();
|
||||
if (inst != null) {
|
||||
if (StrUtil.equals(inst.getInstruction_status(), "0")) {
|
||||
inst.setInstruction_status(CommonFinalParam.ONE);
|
||||
inst.setExecute_device_code(this.device_code);
|
||||
instructionService.update(inst);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//放货完成
|
||||
if ( action == 4 && move == 0) {
|
||||
if (inst != null) {
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("装箱桁架: 桁架任务放货完成")
|
||||
.log_level(4)
|
||||
.build());
|
||||
try {
|
||||
logServer.deviceExecuteLog(this.device_code,"","","放货完成");
|
||||
finish_instruction(inst);
|
||||
@@ -541,6 +550,11 @@ public class BoxPackageManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
||||
}
|
||||
}
|
||||
this.writing(list);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(task)
|
||||
.content("装箱桁架: 下发桁架任务")
|
||||
.log_level(4)
|
||||
.build());
|
||||
}
|
||||
|
||||
private void packageData(Instruction instdto, String route_plan_code, String taskid, String taskcode, String start_device_code, String next_device_code, String start_point_code, String next_point_code) {
|
||||
|
||||
@@ -59,7 +59,8 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
|
||||
protected ItemProtocol itemProtocol = new ItemProtocol(this);
|
||||
|
||||
AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsServiceImpl.class);;
|
||||
AcsToWmsService acsToWmsService = SpringContextHolder.getBean(AcsToWmsServiceImpl.class);
|
||||
;
|
||||
|
||||
DeviceExecuteLogService logServer = SpringContextHolder.getBean("deviceExecuteLogServiceImpl");
|
||||
|
||||
@@ -195,18 +196,28 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
// 更新指令状态
|
||||
if (mode == 3 && task > 0) {
|
||||
updateInstructionStatus();
|
||||
if (null!=inst) {
|
||||
if (null != inst) {
|
||||
inst_message = "指令号:" + inst.getInstruction_code() + " " + inst.getStart_point_code() + "->" + inst.getNext_point_code();
|
||||
}
|
||||
}
|
||||
//四个点行架任务,满轴放货完成后调lms生成rgv任务
|
||||
if (action == 6 && task > 0 && !actionRequireSucess ){
|
||||
if (action == 6 && task > 0 && !actionRequireSucess) {
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(String.valueOf(this.task))
|
||||
.content("子卷下线桁架: 桁架任务满轴放货完成")
|
||||
.log_level(4)
|
||||
.build());
|
||||
Integer actionType = ActionTypeEnum.RELEASE_FINISHING.getCode();
|
||||
creatAGV(actionType,action);
|
||||
creatAGV(actionType, action);
|
||||
}
|
||||
|
||||
//空载具取货完成
|
||||
if (action == 7 && task > 0 && !actionRequireSucess ){
|
||||
if (action == 7 && task > 0 && !actionRequireSucess) {
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(String.valueOf(this.task))
|
||||
.content("子卷下线桁架: 桁架任务空载具取货完成")
|
||||
.log_level(4)
|
||||
.build());
|
||||
Integer actionType = ActionTypeEnum.IN_FINISHING.getCode();
|
||||
creatAGV(actionType, action);
|
||||
}
|
||||
@@ -291,22 +302,27 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
|
||||
private void creatAGV(Integer actionType, int toCommand) {
|
||||
Instruction instruction = checkInst();
|
||||
if(ObjectUtil.isEmpty(instruction)){
|
||||
if (ObjectUtil.isEmpty(instruction)) {
|
||||
log.info("指令不存在");
|
||||
return;
|
||||
}
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("taskCode", instruction.getTask_code());
|
||||
param.put("actionType",actionType );
|
||||
param.put("actionType", actionType);
|
||||
LuceneLogDto logDto = LuceneLogDto.builder()
|
||||
.device_code(device_code)
|
||||
.content("行架取放货完成请求lms,参数:" + task + "--" +ActionTypeEnum.getStatus(actionType))
|
||||
.content("行架取放货完成请求lms,参数:" + task + "--" + ActionTypeEnum.getStatus(actionType))
|
||||
.build();
|
||||
logDto.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto);
|
||||
String response = acsToWmsService.secondaryAllocationPoint(param);
|
||||
JSONObject jo = JSON.parseObject(response);
|
||||
if (jo.getInteger("status") == 200) {
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(instruction.getInstruction_code())
|
||||
.content("子卷下线桁架: 桁架任务" + ActionTypeEnum.getStatus(actionType) + "完成请求LMS, LMS反馈成功")
|
||||
.log_level(4)
|
||||
.build());
|
||||
LuceneLogDto logDto2 = LuceneLogDto.builder()
|
||||
.device_code(device_code)
|
||||
.content("行架取放货完成请求lms,参数,接口返回:" + jo)
|
||||
@@ -327,6 +343,11 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
.build();
|
||||
logDto2.setLog_level(4);
|
||||
luceneExecuteLogService.deviceExecuteLog(logDto2);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(instruction.getInstruction_code())
|
||||
.content("子卷下线桁架: 桁架任务" + ActionTypeEnum.getStatus(actionType) + "完成请求LMS, LMS反馈失败")
|
||||
.log_level(4)
|
||||
.build());
|
||||
throw new BadRequestException("行架取放货完成请求lms返回失败");
|
||||
}
|
||||
|
||||
@@ -342,6 +363,11 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
inst.setExecute_device_code(this.device_code);
|
||||
instructionService.update(inst);
|
||||
logServer.deviceExecuteLog(this.device_code, "", "", "修改指令状态为执行中");
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("子卷下线桁架: 桁架任务更新为执行中")
|
||||
.log_level(4)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -353,6 +379,11 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
//放货完成
|
||||
if (action == 4 && move == 0) {
|
||||
if (inst != null) {
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(inst.getInstruction_code())
|
||||
.content("子卷下线桁架: 桁架任务放货完成")
|
||||
.log_level(4)
|
||||
.build());
|
||||
try {
|
||||
logServer.deviceExecuteLog(this.device_code, "", "", "放货完成");
|
||||
finish_instruction(inst);
|
||||
@@ -603,6 +634,11 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
list.add(map7);
|
||||
|
||||
this.writing(list);
|
||||
luceneExecuteLogService.deviceExecuteLog(LuceneLogDto.builder()
|
||||
.device_code(task)
|
||||
.content("子卷下线桁架: 下发桁架任务")
|
||||
.log_level(4)
|
||||
.build());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -706,7 +742,7 @@ public class VolumeTwoManipulatorManipulatorDeviceDriver extends AbstractOpcDevi
|
||||
jo.put("isError", this.getIserror());
|
||||
jo.put("message", LangProcess.msg(message));
|
||||
jo.put("notCreateTaskMessage", notCreateTaskMessage);
|
||||
jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage));
|
||||
jo.put("notCreateInstMessage", LangProcess.msg(notCreateInstMessage));
|
||||
jo.put("feedMessage", LangProcess.msg(feedMessage));
|
||||
jo.put("driver_type", "siemens_conveyor");
|
||||
jo.put("is_click", true);
|
||||
|
||||
@@ -853,7 +853,6 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(TaskDto dto) {
|
||||
TaskDto entity = this.findById(dto.getTask_id());
|
||||
if (entity == null) {
|
||||
|
||||
Reference in New Issue
Block a user