rev:更新
This commit is contained in:
@@ -11,7 +11,8 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.agv.hk.service.AcsToHkService;
|
||||
import org.nl.acs.agv.hk.service.HkToAcsService;
|
||||
import org.nl.acs.agv.hk.service.data.GenPreScheduleTaskReq;
|
||||
import org.nl.acs.device_driver.autodoor.standard_autodoor.ItemProtocol;
|
||||
import org.nl.acs.device_driver.autodoor.standard_autodoor.StandardAutodoorDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.robot_arm.RobotArmDeviceDriver;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.instruction.domain.Instruction;
|
||||
@@ -19,7 +20,7 @@ import org.nl.acs.instruction.enums.InstTypeEnum;
|
||||
import org.nl.acs.instruction.enums.InstructionStatusEnum;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.opc.DeviceAppService;
|
||||
import org.nl.acs.task.enums.TaskTypeEnum;
|
||||
import org.nl.acs.opc.ThreadUtl;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.task.service.dto.TaskDto;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
@@ -58,16 +59,19 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public JSONObject agvCallback(JSONObject requestParam) {
|
||||
log.info("agvCallback-----请求参数{}", requestParam.toString());
|
||||
JSONObject resp = new JSONObject();
|
||||
String reqCode = requestParam.getString("reqCode");
|
||||
String robotCode = requestParam.getString("robotCode");
|
||||
String taskCode = requestParam.getString("taskCode");
|
||||
String method = requestParam.getString("method");
|
||||
String currentCallCode = requestParam.getString("currentCallCode");
|
||||
Instruction instruction = instructionService.findByCodeFromCache(taskCode);
|
||||
if (ObjectUtil.isEmpty(instruction)) {
|
||||
resp.put("code", "1");
|
||||
resp.put("message", "请求失败,指令信息不存在,指令号:" + taskCode);
|
||||
resp.put("reqCode", reqCode);
|
||||
log.info("agvCallback-----响应参数{}", resp.toString());
|
||||
return resp;
|
||||
}
|
||||
TaskDto taskDto = taskService.findByCodeFromCache(instruction.getTask_code());
|
||||
@@ -75,6 +79,7 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
resp.put("code", "1");
|
||||
resp.put("message", "请求失败,任务信息不存在,指令号:" + taskCode);
|
||||
resp.put("reqCode", reqCode);
|
||||
log.info("agvCallback-----响应参数{}", resp.toString());
|
||||
return resp;
|
||||
}
|
||||
String now = DateUtil.now();
|
||||
@@ -86,31 +91,21 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
instruction.setExecute_device_code(instruction.getStart_point_code());
|
||||
instruction.setUpdate_time(now);
|
||||
instructionService.update(instruction);
|
||||
|
||||
JSONObject reqParam = new JSONObject();
|
||||
reqParam.put("task_id", instruction.getTask_id());
|
||||
reqParam.put("task_code", instruction.getTask_code());
|
||||
reqParam.put("car_no", robotCode);
|
||||
acsToWmsService.feedCarNo(reqParam);
|
||||
}
|
||||
//method 回调2、任务完成/结束end
|
||||
else if (StrUtil.equals(method, "end")) {
|
||||
if (instruction.getInstruction_type().equals(InstTypeEnum.AGV_THREE_TASK.getCode())) {
|
||||
instruction.setExecute_device_code(instruction.getStart_point_code());
|
||||
Device device = deviceAppService.findDeviceByCode(instruction.getNext_device_code());
|
||||
RobotArmDeviceDriver robotArmDeviceDriver;
|
||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||
robotArmDeviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("to_in", "0");
|
||||
robotArmDeviceDriver.writing(map);
|
||||
}
|
||||
//修改指令状态完成
|
||||
instruction.setInstruction_status(InstructionStatusEnum.FINISHED.getIndex());
|
||||
instruction.setUpdate_time(now);
|
||||
instructionService.finish(instruction);
|
||||
// if (StrUtil.equals(instruction.getIs_wait(), "1") && StrUtil.equals(instruction.getInstruction_type(), InstTypeEnum.CTU_OUT_TASK.getCode())) {
|
||||
// String ctuWaitTime = Optional.ofNullable(sysParamService.findByCode("ctuWaitTime").getValue()).map(Object::toString).orElse("3600");
|
||||
// GenPreScheduleTaskReq gpsReq = GenPreScheduleTaskReq.builder()
|
||||
// .positionCode(instruction.getStart_device_code())
|
||||
// .nextTask(ctuWaitTime)
|
||||
// .agvTyp("10")
|
||||
// .build();
|
||||
// acsToHkService.genPreScheduleTask(gpsReq, null);
|
||||
// }
|
||||
}
|
||||
//method 回调3、任务取消cancel
|
||||
else if (StrUtil.equals(method, "cancel")) {
|
||||
@@ -126,21 +121,9 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
resp.put("code", "1");
|
||||
resp.put("message", "请求失败,请求位置编号不存在!");
|
||||
resp.put("reqCode", reqCode);
|
||||
log.info("agvCallback-----响应参数{}", resp.toString());
|
||||
return resp;
|
||||
}
|
||||
// StandardWeightSiteDeviceDriver standardWeightSiteDeviceDriver;
|
||||
// //CTU取货申请
|
||||
// //如果请求位置编号与指令起点一致并且是输送线则是取货申请
|
||||
// if (device.getDeviceDriver() instanceof StandardWeightSiteDeviceDriver) {
|
||||
// standardWeightSiteDeviceDriver = (StandardWeightSiteDeviceDriver) device.getDeviceDriver();
|
||||
// if (TaskTypeEnum.CTU_TASK.getCode().equals(taskDto.getTask_type())) {
|
||||
// standardWeightSiteDeviceDriver.setReqCtuTakeRequireSuccess(true);
|
||||
// standardWeightSiteDeviceDriver.setReqCtuTakeInstCode(taskCode);
|
||||
// } else {
|
||||
// standardWeightSiteDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
||||
// standardWeightSiteDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
||||
// }
|
||||
// }
|
||||
// 机械手驱动
|
||||
RobotArmDeviceDriver robotArmDeviceDriver;
|
||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||
@@ -154,13 +137,6 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
}
|
||||
//method 回调5、inApplyOk
|
||||
else if (StrUtil.equals(method, "inApplyOK")) {
|
||||
//如果是WMS下发的任务,就反馈WMS取货完成
|
||||
if (!instruction.getTask_code().startsWith("-")) {
|
||||
JSONObject reqParam = new JSONObject();
|
||||
reqParam.put("task_code", instruction.getTask_code());
|
||||
reqParam.put("point_code", instruction.getStart_point_code());
|
||||
acsToWmsService.takeFinish(reqParam);
|
||||
}
|
||||
Device device = deviceAppService.findDeviceByCode(instruction.getStart_device_code());
|
||||
RobotArmDeviceDriver robotArmDeviceDriver;
|
||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||
@@ -168,35 +144,18 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("to_out", "0");
|
||||
robotArmDeviceDriver.writing(map);
|
||||
// robotArmDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
||||
// robotArmDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
||||
}
|
||||
}
|
||||
//method 回调6、放料箱申请outApply
|
||||
else if (StrUtil.equals(method, "outApply")) {
|
||||
Device device = deviceAppService.findDeviceByCode(instruction.getNext_device_code());
|
||||
if (instruction.getInstruction_type().equals(InstTypeEnum.AGV_THREE_TASK.getCode())) {
|
||||
device = deviceAppService.findDeviceByCode(instruction.getStart_device_code());
|
||||
}
|
||||
if (ObjectUtil.isEmpty(device)) {
|
||||
resp.put("code", "1");
|
||||
resp.put("message", "请求失败,请求位置编号不存在!");
|
||||
resp.put("reqCode", reqCode);
|
||||
log.info("agvCallback-----响应参数{}", resp.toString());
|
||||
return resp;
|
||||
}
|
||||
// StandardWeightSiteDeviceDriver standardWeightSiteDeviceDriver;
|
||||
// //CTU取货申请
|
||||
// //如果请求位置编号与指令起点一致并且是输送线则是取货申请
|
||||
// if (device.getDeviceDriver() instanceof StandardWeightSiteDeviceDriver) {
|
||||
// standardWeightSiteDeviceDriver = (StandardWeightSiteDeviceDriver) device.getDeviceDriver();
|
||||
// if (TaskTypeEnum.CTU_TASK.getCode().equals(taskDto.getTask_type())) {
|
||||
// standardWeightSiteDeviceDriver.setReqCtuTakeRequireSuccess(true);
|
||||
// standardWeightSiteDeviceDriver.setReqCtuTakeInstCode(taskCode);
|
||||
// } else {
|
||||
// standardWeightSiteDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
||||
// standardWeightSiteDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
||||
// }
|
||||
// }
|
||||
RobotArmDeviceDriver robotArmDeviceDriver;
|
||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||
robotArmDeviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||
@@ -206,28 +165,50 @@ public class HkToAcsServiceImpl implements HkToAcsService {
|
||||
robotArmDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
||||
robotArmDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
||||
}
|
||||
}
|
||||
//method 回调7、放货完成
|
||||
else if (StrUtil.equals(method, "outApplyOK")) {
|
||||
Device device = deviceAppService.findDeviceByCode(instruction.getStart_device_code());
|
||||
RobotArmDeviceDriver robotArmDeviceDriver;
|
||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||
robotArmDeviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("to_in", "0");
|
||||
robotArmDeviceDriver.writing(map);
|
||||
// robotArmDeviceDriver.setReqAgvTakeRequireSuccess(true);
|
||||
// robotArmDeviceDriver.setReqAgvTakeInstCode(taskCode);
|
||||
} else if (StrUtil.equals(method, "inDoor")) {
|
||||
Device device = deviceAppService.findDeviceByCode(currentCallCode);
|
||||
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver;
|
||||
if (device != null && device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
||||
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_open, 1);
|
||||
standardAutodoorDeviceDriver.writing(param);
|
||||
standardAutodoorDeviceDriver.setRequireDoor(true);
|
||||
standardAutodoorDeviceDriver.setRequireTaskCode(taskCode);
|
||||
} else {
|
||||
resp.put("code", "1");
|
||||
resp.put("message", "请求开门失败,请求位置编号不存在!");
|
||||
resp.put("reqCode", reqCode);
|
||||
log.info("agvCallback-----响应参数{}", resp.toString());
|
||||
return resp;
|
||||
}
|
||||
} else if (StrUtil.equals(method, "outDoor")) {
|
||||
Device device = deviceAppService.findDeviceByCode("DOOR02");
|
||||
StandardAutodoorDeviceDriver standardAutodoorDeviceDriver;
|
||||
if (device != null && device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
||||
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_open, 0);
|
||||
standardAutodoorDeviceDriver.writing(param);
|
||||
ThreadUtl.sleep(500);
|
||||
standardAutodoorDeviceDriver.writing(param);
|
||||
standardAutodoorDeviceDriver.setRequireDoor(false);
|
||||
} else {
|
||||
resp.put("code", "1");
|
||||
resp.put("message", "请求关门失败,请求位置编号不存在!");
|
||||
resp.put("reqCode", reqCode);
|
||||
log.info("agvCallback-----响应参数{}", resp.toString());
|
||||
return resp;
|
||||
}
|
||||
}
|
||||
resp.put("code", "0");
|
||||
resp.put("message", "成功");
|
||||
resp.put("reqCode", reqCode);
|
||||
log.info("agvCallback-----响应参数{}", resp.toString());
|
||||
return resp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public JSONObject warnCallback(JSONObject requestParam) {
|
||||
String reqCode = requestParam.getString("reqCode");
|
||||
|
||||
@@ -11,6 +11,7 @@ import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device_driver.autodoor.standard_autodoor.ItemProtocol;
|
||||
import org.nl.acs.device_driver.autodoor.standard_autodoor.StandardAutodoorDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.agv.ndcone.AgvNdcOneDeviceDriver;
|
||||
import org.nl.acs.device_driver.basedriver.stretch_wrapper.StretchWrapperDeviceDriver;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.ext.wms.service.impl.AcsToWmsServiceImpl;
|
||||
import org.nl.acs.instruction.domain.Instruction;
|
||||
@@ -31,7 +32,9 @@ import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import static org.nl.acs.agv.server.impl.NDCAgvServiceImpl.Bytes2HexString;
|
||||
/**
|
||||
@@ -170,8 +173,8 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
inst.setAgv_jobno(String.valueOf(index));
|
||||
inst.setSend_status(CommonFinalParam.ONE);
|
||||
instructionService.update(inst);
|
||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
||||
}
|
||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0);
|
||||
}
|
||||
//任务完毕
|
||||
//(无车id及状态)
|
||||
@@ -223,8 +226,10 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
StandardAutodoorDeviceDriver driver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||
|
||||
log.info("agv车号为"+carno+",进入自动门:"+device_code+"区域,请求开门中");
|
||||
Map<String,Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_open,1);
|
||||
// 下发开门
|
||||
driver.writing(ItemProtocol.to_open,"1");
|
||||
driver.writing(param);
|
||||
log.info("agv车号为"+carno+",进入自动门区域"+"自动门:"+device_code+"已联机,允许开门。");
|
||||
logServer.deviceExecuteLog(device_code, "", "", "允许开门。");
|
||||
if (driver.getOpen() == 1) {
|
||||
@@ -263,10 +268,34 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
||||
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
||||
StandardAutodoorDeviceDriver driver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||
// 关门
|
||||
driver.writing(ItemProtocol.to_open,"0");
|
||||
Map<String,Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_open,0);
|
||||
driver.writing(param);
|
||||
log.info("agv车号为"+carno+",准备离开自动门:"+device_code+"区域,请求关门中");
|
||||
data = NDCAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
}
|
||||
} else if (phase == 0x4D){
|
||||
if (agvaddr != 0) {
|
||||
old_device_code = deviceService.queryDeviceCodeByAddress(agvaddr);
|
||||
if (StrUtil.contains(old_device_code, "-")) {
|
||||
String[] point = old_device_code.split("-");
|
||||
device_code = point[0];
|
||||
} else if (StrUtil.contains(old_device_code, ".")) {
|
||||
String[] point = old_device_code.split("\\.");
|
||||
device_code = point[0];
|
||||
} else {
|
||||
device_code = old_device_code;
|
||||
}
|
||||
}
|
||||
device = deviceAppService.findDeviceByCode(device_code);
|
||||
if (ObjectUtil.isEmpty(device_code)) {
|
||||
log.info(agvaddr + "对应设备号为空!");
|
||||
return;
|
||||
}
|
||||
if (device != null && device.getDeviceDriver() instanceof StretchWrapperDeviceDriver){
|
||||
|
||||
}
|
||||
Instruction instruction = instructionService.findByCodeFromCache(String.valueOf(ikey));
|
||||
} else {
|
||||
//上报异常信息
|
||||
//(不需要WCS反馈)
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
package org.nl.acs.device_driver.autodoor.standard_autodoor;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.agv.hk.UnifiedResponse;
|
||||
import org.nl.acs.agv.hk.service.AcsToHkService;
|
||||
import org.nl.acs.agv.hk.service.data.ContinueTaskReq;
|
||||
import org.nl.acs.common.base.CommonFinalParam;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
@@ -15,6 +19,7 @@ import org.nl.acs.ext.wms.data.one.feedBackTaskStatus.FeedBackTaskStatusRequest;
|
||||
import org.nl.acs.ext.wms.service.AcsToWmsService;
|
||||
import org.nl.acs.instruction.service.InstructionService;
|
||||
import org.nl.acs.log.service.DeviceExecuteLogService;
|
||||
import org.nl.acs.opc.ThreadUtl;
|
||||
import org.nl.acs.route.service.RouteLineService;
|
||||
import org.nl.acs.task.service.TaskService;
|
||||
import org.nl.acs.utils.ReadUtil;
|
||||
@@ -48,6 +53,7 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl");
|
||||
|
||||
AcsToWmsService acsToWmsService = SpringContextHolder.getBean("acsToWmsServiceImpl");
|
||||
AcsToHkService acsToHkService = SpringContextHolder.getBean(AcsToHkService.class);
|
||||
String container;
|
||||
String container_type_desc;
|
||||
String last_container_type_desc;
|
||||
@@ -66,10 +72,10 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
|
||||
int move = 0;
|
||||
int task = 0;
|
||||
int last_close= 0;
|
||||
int last_open= 0;
|
||||
int last_to_close= 0;
|
||||
int last_to_open= 0;
|
||||
int last_close = 0;
|
||||
int last_open = 0;
|
||||
int last_to_close = 0;
|
||||
int last_to_open = 0;
|
||||
|
||||
boolean hasVehicle = false;
|
||||
boolean isReady = false;
|
||||
@@ -96,6 +102,9 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
|
||||
private int instruction_finished_time_out;
|
||||
|
||||
private volatile boolean requireDoor = false;
|
||||
private volatile String requireTaskCode = null;
|
||||
|
||||
int branchProtocol = 0;
|
||||
|
||||
String message = "";
|
||||
@@ -114,6 +123,23 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
to_close = this.itemProtocol.getToClose();
|
||||
to_open = this.itemProtocol.getToOpen();
|
||||
|
||||
if (this.requireDoor){
|
||||
Map<String,Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_open,1);
|
||||
this.writing(param);
|
||||
if (this.open == 1 && StrUtil.isNotBlank(this.requireTaskCode)){
|
||||
ContinueTaskReq req = ContinueTaskReq.builder()
|
||||
.taskCode(this.requireTaskCode)
|
||||
.build();
|
||||
UnifiedResponse unifiedResponse = acsToHkService.continueTask(req);
|
||||
// 初始化
|
||||
if (unifiedResponse.isSuccess()) {
|
||||
this.requireTaskCode = null;
|
||||
}
|
||||
}
|
||||
ThreadUtl.sleep(3000);
|
||||
}
|
||||
|
||||
last_close = close;
|
||||
last_open = open;
|
||||
last_to_close = to_close;
|
||||
@@ -145,9 +171,9 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
this.checkcontrol(itemMap);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
try{
|
||||
try {
|
||||
this.checkcontrol(itemMap);
|
||||
} catch (Exception e1){
|
||||
} catch (Exception e1) {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
}
|
||||
@@ -155,6 +181,7 @@ public class StandardAutodoorDeviceDriver extends AbstractOpcDeviceDriver implem
|
||||
lucene.deviceExecuteLog(new LuceneLogDto(this.getDeviceCode(), "下发多个电气信号:" + itemMap));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 抽取统一下发电气信号前缀
|
||||
*
|
||||
|
||||
@@ -37,7 +37,9 @@ import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.system.service.param.impl.SysParamServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
||||
/**
|
||||
@@ -195,12 +197,6 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
flag = true;
|
||||
}
|
||||
if (flag) {
|
||||
// log.info("==================允许AGV取货==================");
|
||||
// logServer.deviceExecuteLog(device_code, "", "", "允许AGV取货。");
|
||||
//log.info("{},{}", device_code, "允许AGV取货。");
|
||||
// lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, "允许AGV取货。"));
|
||||
}
|
||||
// 到达货架
|
||||
if (device.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
|
||||
log.info("到达{}取货点开始取货", device_code);
|
||||
@@ -214,7 +210,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
if (device.getDeviceDriver() instanceof StretchWrapperDeviceDriver) {
|
||||
StretchWrapperDeviceDriver deviceDriver = (StretchWrapperDeviceDriver) device.getDeviceDriver();
|
||||
// 下发请求取货
|
||||
deviceDriver.writing(ItemProtocol.to_out, "1");
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_out, 1);
|
||||
deviceDriver.writing(param);
|
||||
// 判断是否允许取货
|
||||
if (deviceDriver.getAction() == 1) {
|
||||
log.info("到达{}取货点开始取货", device_code);
|
||||
@@ -230,7 +228,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||
if (deviceDriver.getHeartbeat() == 1) {
|
||||
// 下发正在取货
|
||||
deviceDriver.writing(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_out, "1");
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(org.nl.acs.device_driver.basedriver.robot_arm.ItemProtocol.to_out, 1);
|
||||
deviceDriver.writing(param);
|
||||
log.info("到达{}取货点开始取货", device_code);
|
||||
inst.setExecute_status("1");
|
||||
instructionService.update(inst);
|
||||
@@ -245,7 +245,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
// 判断是否允许取
|
||||
if (deviceDriver.getEmp_ready() == 1) {
|
||||
// 下发正在取货
|
||||
deviceDriver.writing(org.nl.acs.device_driver.basedriver.pallet_dispenser.ItemProtocol.to_out, "1");
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(org.nl.acs.device_driver.basedriver.pallet_dispenser.ItemProtocol.to_out, 1);
|
||||
deviceDriver.writing(param);
|
||||
log.info("到达{}取货点开始取货", device_code);
|
||||
inst.setExecute_status("1");
|
||||
instructionService.update(inst);
|
||||
@@ -311,8 +313,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
// 到达缠绕机取货完成
|
||||
if (device.getDeviceDriver() instanceof StretchWrapperDeviceDriver) {
|
||||
StretchWrapperDeviceDriver deviceDriver = (StretchWrapperDeviceDriver) device.getDeviceDriver();
|
||||
deviceDriver.writing(ItemProtocol.to_out_finish, "1");
|
||||
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_out_finish, 1);
|
||||
deviceDriver.writing(param);
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
log.info("agv进入" + device_code + "取货完成");
|
||||
flag = true;
|
||||
@@ -322,7 +325,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||
// 取货复位
|
||||
deviceDriver.writing("to_out","0");
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put("to_out", 0);
|
||||
deviceDriver.writing(param);
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
log.info("agv进入" + device_code + "取货完成");
|
||||
flag = true;
|
||||
@@ -331,7 +336,9 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
// 到达拆盘机手取货完成
|
||||
if (device.getDeviceDriver() instanceof PalletDispenseDeviceDriver) {
|
||||
PalletDispenseDeviceDriver deviceDriver = (PalletDispenseDeviceDriver) device.getDeviceDriver();
|
||||
deviceDriver.writing("to_out","0");
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put("to_out", 0);
|
||||
deviceDriver.writing(param);
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
log.info("agv进入" + device_code + "取货完成");
|
||||
flag = true;
|
||||
@@ -387,18 +394,13 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
flag = true;
|
||||
}
|
||||
if (flag) {
|
||||
// log.info("==================允许AGV放货==================");
|
||||
// logServer.deviceExecuteLog(device_code, "", "", "允许AGV放货。");
|
||||
// log.info("{},{}", device_code, "允许AGV放货。");
|
||||
// lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, "允许AGV放货。"));
|
||||
}
|
||||
|
||||
// 缠绕机
|
||||
if (device.getDeviceDriver() instanceof StretchWrapperDeviceDriver) {
|
||||
StretchWrapperDeviceDriver deviceDriver = (StretchWrapperDeviceDriver) device.getDeviceDriver();
|
||||
// 下发请求放货
|
||||
deviceDriver.writing(ItemProtocol.to_in, "1");
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_in, 1);
|
||||
deviceDriver.writing(param);
|
||||
// 判断是否允许放货
|
||||
if (deviceDriver.getAction() == 1) {
|
||||
log.info("到达{}放货点开始放货", device_code);
|
||||
@@ -472,18 +474,12 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
flag = true;
|
||||
}
|
||||
if (flag) {
|
||||
//log.info("================允许AGV放货后离开=================");
|
||||
//logServer.deviceExecuteLog(device_code, "", "", "允许AGV放货后离开。");
|
||||
// log.info("{},{}", device_code, "允许AGV放货后离开。");
|
||||
//lucene.deviceExecuteLog(new LuceneLogDto(this.device_code, "允许AGV放货后离开。"));
|
||||
}
|
||||
|
||||
// 到达缠绕机放货完成
|
||||
if (device.getDeviceDriver() instanceof StretchWrapperDeviceDriver) {
|
||||
StretchWrapperDeviceDriver deviceDriver = (StretchWrapperDeviceDriver) device.getDeviceDriver();
|
||||
deviceDriver.writing(ItemProtocol.to_in_finish, "1");
|
||||
|
||||
Map<String, Object> param = new HashMap<>();
|
||||
param.put(ItemProtocol.to_in_finish, 1);
|
||||
deviceDriver.writing(param);
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
log.info("{}放货完成", device_code);
|
||||
flag = true;
|
||||
@@ -492,7 +488,7 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic
|
||||
// 到达机械手放货完成
|
||||
if (device.getDeviceDriver() instanceof RobotArmDeviceDriver) {
|
||||
RobotArmDeviceDriver deviceDriver = (RobotArmDeviceDriver) device.getDeviceDriver();
|
||||
deviceDriver.writing("to_in","0");
|
||||
deviceDriver.writing("to_in", "0");
|
||||
data = ndcAgvService.sendAgvOneModeInst(phase, index, 0);
|
||||
log.info("{}放货完成", device_code);
|
||||
flag = true;
|
||||
|
||||
@@ -2,11 +2,13 @@ package org.nl.acs.device_driver.basedriver.robot_arm;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.agv.hk.UnifiedResponse;
|
||||
import org.nl.acs.agv.hk.service.AcsToHkService;
|
||||
import org.nl.acs.agv.hk.service.data.ContinueTaskReq;
|
||||
@@ -27,6 +29,7 @@ import org.nl.acs.utils.ReadUtil;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
||||
import org.nl.system.service.lucene.dto.LuceneLogDto;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.openscada.opc.lib.da.Server;
|
||||
|
||||
import java.util.*;
|
||||
@@ -50,7 +53,7 @@ public class RobotArmDeviceDriver extends AbstractOpcDeviceDriver implements Dev
|
||||
RouteLineService routelineserver = SpringContextHolder.getBean("routeLineServiceImpl");
|
||||
|
||||
TaskService taskserver = SpringContextHolder.getBean("taskServiceImpl");
|
||||
|
||||
ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class);
|
||||
AcsToWmsService acsToWmsService = SpringContextHolder.getBean("acsToWmsServiceImpl");
|
||||
private final AcsToHkService acsToHkService = SpringContextHolder.getBean(AcsToHkService.class);
|
||||
|
||||
@@ -126,19 +129,27 @@ public class RobotArmDeviceDriver extends AbstractOpcDeviceDriver implements Dev
|
||||
heartbeat = this.itemProtocol.getHeartbeat();
|
||||
emp_task = this.itemProtocol.getEmp();
|
||||
pallet_apply = this.itemProtocol.getPallet();
|
||||
to_out = this.itemProtocol.getToOut();
|
||||
to_in = this.itemProtocol.getToIn();
|
||||
|
||||
if (emp_task != last_emp_task) {
|
||||
this.requireSucess = false;
|
||||
}
|
||||
|
||||
if (pallet_apply != last_pallet_apply) {
|
||||
this.requireSucess = false;
|
||||
}
|
||||
|
||||
last_heartbeat = heartbeat;
|
||||
last_emp_task = emp_task;
|
||||
last_pallet_apply = pallet_apply;
|
||||
|
||||
if (last_heartbeat == 1) {
|
||||
Date date = new Date();
|
||||
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||
} else {
|
||||
this.instruction_require_time = date;
|
||||
this.executeTask();
|
||||
}
|
||||
Date date = new Date();
|
||||
if (date.getTime() - this.instruction_require_time.getTime() < (long) this.instruction_require_time_out) {
|
||||
log.trace("触发时间因为小于{}毫秒,而被无视", this.instruction_require_time_out);
|
||||
} else {
|
||||
this.instruction_require_time = date;
|
||||
this.executeTask();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,37 +157,51 @@ public class RobotArmDeviceDriver extends AbstractOpcDeviceDriver implements Dev
|
||||
* 执行业务逻辑
|
||||
*/
|
||||
public void executeTask() {
|
||||
String hasWms = paramService.findByCode(AcsConfig.HASWMS).getValue();
|
||||
|
||||
JSONObject param = new JSONObject();
|
||||
// 申请叫料任务
|
||||
if (last_emp_task == 1) {
|
||||
if (emp_task == 1 && !requireSucess) {
|
||||
List<Task> list = taskserver.list(
|
||||
new QueryWrapper<Task>().lambda()
|
||||
.eq(Task::getNext_device_code, devicecode)
|
||||
.eq(Task::getIs_delete, "0")
|
||||
.in(Task::getTask_status, "0", "1")
|
||||
);
|
||||
if (ObjectUtil.isEmpty(list)) {
|
||||
if (ObjectUtil.isEmpty(list) && "1".equals(hasWms)) {
|
||||
// 调用上位接口
|
||||
param.put("device_code", devicecode);
|
||||
param.put("type", "2");
|
||||
param.put("type_dtl", "2");
|
||||
acsToWmsService.applyTask(param);
|
||||
HttpResponse httpResponse = acsToWmsService.applyTask(param);
|
||||
if (httpResponse != null) {
|
||||
JSONObject resp = JSONObject.parseObject(httpResponse.body());
|
||||
if (resp != null && resp.getIntValue("status") == 200) {
|
||||
this.requireSucess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 申请下料任务
|
||||
if (last_pallet_apply == 1) {
|
||||
if (pallet_apply == 1 && !requireSucess) {
|
||||
List<Task> list = taskserver.list(
|
||||
new QueryWrapper<Task>().lambda()
|
||||
.eq(Task::getStart_device_code, devicecode)
|
||||
.eq(Task::getIs_delete, "0")
|
||||
.in(Task::getTask_status, "0", "1")
|
||||
);
|
||||
if (ObjectUtil.isEmpty(list)) {
|
||||
if (ObjectUtil.isEmpty(list) && "1".equals(hasWms)) {
|
||||
// 调用上位接口
|
||||
param.put("device_code", devicecode);
|
||||
param.put("type", "2");
|
||||
param.put("type_dtl", "1");
|
||||
acsToWmsService.applyTask(param);
|
||||
HttpResponse httpResponse = acsToWmsService.applyTask(param);
|
||||
if (httpResponse != null) {
|
||||
JSONObject resp = JSONObject.parseObject(httpResponse.body());
|
||||
if (resp != null && resp.getIntValue("status") == 200) {
|
||||
this.requireSucess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 取货/放货信号写入需要初始化并允许离开
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package org.nl.acs.device_driver.basedriver.stretch_wrapper;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpResponse;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.Data;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.common.base.CommonFinalParam;
|
||||
import org.nl.acs.device.domain.Device;
|
||||
import org.nl.acs.device.service.DeviceService;
|
||||
import org.nl.acs.device_driver.DeviceDriver;
|
||||
@@ -21,6 +24,7 @@ import org.nl.acs.utils.ReadUtil;
|
||||
import org.nl.config.SpringContextHolder;
|
||||
import org.nl.system.service.lucene.LuceneExecuteLogService;
|
||||
import org.nl.system.service.lucene.dto.LuceneLogDto;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.openscada.opc.lib.da.Server;
|
||||
|
||||
import java.util.*;
|
||||
@@ -47,6 +51,8 @@ public class StretchWrapperDeviceDriver extends AbstractOpcDeviceDriver implemen
|
||||
|
||||
AcsToWmsService acsToWmsService = SpringContextHolder.getBean("acsToWmsServiceImpl");
|
||||
|
||||
ISysParamService paramService = SpringContextHolder.getBean(ISysParamService.class);
|
||||
|
||||
String container;
|
||||
String container_type_desc;
|
||||
String last_container_type_desc;
|
||||
@@ -113,6 +119,14 @@ public class StretchWrapperDeviceDriver extends AbstractOpcDeviceDriver implemen
|
||||
action = this.itemProtocol.getAction();
|
||||
error = this.itemProtocol.getError();
|
||||
|
||||
if (task_in != last_task_in){
|
||||
this.requireSucess = false;
|
||||
}
|
||||
|
||||
if (task_out != last_task_out){
|
||||
this.requireSucess = false;
|
||||
}
|
||||
|
||||
last_action = action;
|
||||
last_error = error;
|
||||
last_task_in = task_in;
|
||||
@@ -131,37 +145,50 @@ public class StretchWrapperDeviceDriver extends AbstractOpcDeviceDriver implemen
|
||||
* 执行业务逻辑
|
||||
*/
|
||||
public void executeTask() {
|
||||
String hasWms = paramService.findByCode(AcsConfig.HASWMS).getValue();
|
||||
JSONObject param = new JSONObject();
|
||||
// 申请叫料任务
|
||||
if (last_task_in == 1) {
|
||||
if (last_task_in == 1 && !this.requireSucess) {
|
||||
List<Task> list = taskserver.list(
|
||||
new QueryWrapper<Task>().lambda()
|
||||
.eq(Task::getNext_device_code, devicecode)
|
||||
.eq(Task::getIs_delete, "0")
|
||||
.in(Task::getTask_status, "0", "1")
|
||||
);
|
||||
if (ObjectUtil.isEmpty(list)) {
|
||||
if (ObjectUtil.isEmpty(list) && "1".equals(hasWms)) {
|
||||
// 调用上位接口
|
||||
param.put("device_code", devicecode);
|
||||
param.put("type", "1");
|
||||
param.put("type_dtl", "2");
|
||||
acsToWmsService.applyTask(param);
|
||||
HttpResponse httpResponse = acsToWmsService.applyTask(param);
|
||||
if (httpResponse != null) {
|
||||
JSONObject resp = JSONObject.parseObject(httpResponse.body());
|
||||
if (resp != null && resp.getIntValue("status") == 200){
|
||||
this.requireSucess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 申请下料任务
|
||||
if (last_task_out == 1) {
|
||||
if (last_task_out == 1 && !this.requireSucess) {
|
||||
List<Task> list = taskserver.list(
|
||||
new QueryWrapper<Task>().lambda()
|
||||
.eq(Task::getStart_device_code, devicecode)
|
||||
.eq(Task::getIs_delete, "0")
|
||||
.in(Task::getTask_status, "0", "1")
|
||||
);
|
||||
if (ObjectUtil.isEmpty(list)) {
|
||||
if (ObjectUtil.isEmpty(list) && "1".equals(hasWms)) {
|
||||
// 调用上位接口
|
||||
param.put("device_code", devicecode);
|
||||
param.put("type", "1");
|
||||
param.put("type_dtl", "1");
|
||||
acsToWmsService.applyTask(param);
|
||||
HttpResponse httpResponse = acsToWmsService.applyTask(param);
|
||||
if (httpResponse != null) {
|
||||
JSONObject resp = JSONObject.parseObject(httpResponse.body());
|
||||
if (resp != null && resp.getIntValue("status") == 200){
|
||||
this.requireSucess = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.nl.acs.AcsConfig;
|
||||
import org.nl.acs.agv.hk.UnifiedResponse;
|
||||
import org.nl.acs.agv.hk.service.AcsToHkService;
|
||||
import org.nl.acs.agv.hk.service.data.CancelTaskReq;
|
||||
import org.nl.acs.agv.hk.service.data.GenAgvSchedulingTaskReq;
|
||||
import org.nl.acs.agv.server.NDCAgvService;
|
||||
import org.nl.acs.agv.server.XianGongAgvService;
|
||||
@@ -445,11 +446,12 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
||||
}
|
||||
// 下发指令到海康调度
|
||||
if (dto.getAgv_system_type().equals(AgvSystemTypeEnum.Hik_System_Type.getIndex())) {
|
||||
List<Map<String, String>> positionCodePath = Arrays.asList(MapOf.of("positionCode", dto.getStart_parent_code(), "type", "00"), MapOf.of("positionCode", dto.getNext_parent_code(), "type", "00"));
|
||||
List<Map<String, String>> positionCodePath = Arrays.asList(MapOf.of("positionCode", dto.getStart_device_code(), "type", "00"), MapOf.of("positionCode", dto.getNext_device_code(), "type", "00"));
|
||||
GenAgvSchedulingTaskReq gasReq = GenAgvSchedulingTaskReq
|
||||
.builder()
|
||||
.taskTyp(dto.getInstruction_type())
|
||||
.positionCodePath(positionCodePath)
|
||||
.ctnrTyp("1")
|
||||
.priority(dto.getPriority())
|
||||
.taskCode(dto.getInstruction_code())
|
||||
.build();
|
||||
@@ -975,7 +977,7 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
||||
&& !StrUtil.equals(entity.getSend_status(), "2")) {
|
||||
flag = true;
|
||||
|
||||
} else if (StrUtil.equals(paramService.findByCode(AcsConfig.AGVTYPE).getValue(), "2")) {
|
||||
} else if (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.NDC_System_Type.getCode())) {
|
||||
// NDC agv指令不当场取消指令,需要等agv上报
|
||||
if (StrUtil.isEmpty(entity.getAgv_jobno())) {
|
||||
throw new BadRequestException(LangProcess.msg("task_insNDC"));
|
||||
@@ -985,10 +987,13 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
||||
// ndcAgvService.deleteAgvInstToNDC((Instruction) entity);
|
||||
flag = true;
|
||||
}
|
||||
} else if (StrUtil.equals(paramService.findByCode(AcsConfig.AGVTYPE).getValue(), "3")
|
||||
} else if (StrUtil.equals(task.getAgv_system_type(), AgvSystemTypeEnum.Hik_System_Type.getCode())
|
||||
&& !StrUtil.equals(entity.getSend_status(), "2")) {
|
||||
XianGongAgvService xianGongAgvService = SpringContextHolder.getBean(XianGongAgvService.class);
|
||||
xianGongAgvService.deleteXZAgvInst(entity.getInstruction_code());
|
||||
AcsToHkService acsToHkService = SpringContextHolder.getBean(AcsToHkService.class);
|
||||
CancelTaskReq req = CancelTaskReq.builder()
|
||||
.taskCode(entity.getInstruction_code())
|
||||
.build();
|
||||
acsToHkService.cancelTask(req);
|
||||
flag = true;
|
||||
} else {
|
||||
flag = true;
|
||||
@@ -996,29 +1001,6 @@ public class InstructionServiceImpl extends CommonServiceImpl<InstructionMapper,
|
||||
|
||||
if (flag) {
|
||||
|
||||
if (StrUtil.equals(entity.getInstruction_type(), "7")) {
|
||||
CancelTaskRequest cancelTaskRequest = new CancelTaskRequest();
|
||||
cancelTaskRequest.setOrderId(entity.getInstruction_code());
|
||||
cancelTaskRequest.setPalletCode(entity.getVehicle_code());
|
||||
cancelTaskRequest.setSrcLocation(entity.getStart_point_code());
|
||||
cancelTaskRequest.setDestLocation(entity.getNext_point_code());
|
||||
// 1 入库,2 出库,3 移库,4 空托盘入库,5 空托盘出库
|
||||
int type = 0;
|
||||
if (StrUtil.equals(task.getStorage_task_type(), CommonFinalParam.ONE)) {
|
||||
type = 1;
|
||||
} else if (StrUtil.equals(task.getStorage_task_type(), "2")) {
|
||||
type = 4;
|
||||
} else if (StrUtil.equals(task.getStorage_task_type(), "3")) {
|
||||
type = 2;
|
||||
} else if (StrUtil.equals(task.getStorage_task_type(), "4")) {
|
||||
type = 5;
|
||||
} else if (StrUtil.equals(task.getStorage_task_type(), "5")) {
|
||||
type = 3;
|
||||
}
|
||||
cancelTaskRequest.setTaskType(type);
|
||||
acsToLiKuService.cancelTask(cancelTaskRequest);
|
||||
}
|
||||
|
||||
String currentUsername = SecurityUtils.getCurrentUsername();
|
||||
String now = DateUtil.now();
|
||||
entity.setUpdate_time(now);
|
||||
|
||||
@@ -898,7 +898,7 @@ public class TaskServiceImpl extends CommonServiceImpl<TaskMapper, Task> impleme
|
||||
instdto.setNext_point_code2(next_point_code2);
|
||||
instdto.setAgv_system_type(agv_system_type);
|
||||
instdto.setAgv_inst_type(CommonFinalParam.ONE);
|
||||
instructionservice.create2(instdto);
|
||||
instructionservice.create(instdto);
|
||||
|
||||
acsTask.setTask_status(CommonFinalParam.ONE);
|
||||
this.update(acsTask);
|
||||
|
||||
@@ -78,90 +78,122 @@ https://juejin.cn/post/6844903775631572999
|
||||
</appender>
|
||||
<!--开发环境:打印控制台-->
|
||||
<springProfile name="dev">
|
||||
<root level="debug">
|
||||
<root level="info">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
<logger name="com.baomidou.mybatisplus.core.MybatisConfiguration" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.command.RedisExecutor" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.reflections.Reflections" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.ClientConnectionsEntry" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.mybatis.spring.mapper.ClassPathMapperScanner" level="ERROR" additivity="false">
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.springframework" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.baomidou.dynamic.datasource.DynamicRoutingDataSource" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.pool.MasterPubSubConnectionPool" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.connection.pool.MasterConnectionPool" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.redisson.Version" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.alibaba.druid.pool.DruidDataSource" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.nl.config.RedisConfig" level="INFO" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="org.apache" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.hibernate" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="io.netty" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="io.lettuce" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.fasterxml" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="org.quartz" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="com.google" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="springfox" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<logger name="org.redisson" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="log4jdbc" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<logger name="org.springframework.data" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="nl.basjes" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<logger name="org.jinterop" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<logger name="com.yomahub.tlog.id.snowflake.UniqueIdGenerator" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</logger>
|
||||
<logger name="com.yomahub.tlog.core.rpc.TLogRPCHandler" level="ERROR" additivity="true">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<logger name="org.openscada" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
</logger>
|
||||
<!-- <root level="debug">-->
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </root>-->
|
||||
<!-- <logger name="com.baomidou.mybatisplus.core.MybatisConfiguration" level="ERROR" additivity="false">-->
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<!-- <appender-ref ref="asyncFileAppender"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.redisson.command.RedisExecutor" level="ERROR" additivity="false">-->
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<!-- <appender-ref ref="asyncFileAppender"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.reflections.Reflections" level="ERROR" additivity="false">-->
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<!-- <appender-ref ref="asyncFileAppender"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.redisson.connection.ClientConnectionsEntry" level="ERROR" additivity="false">-->
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<!-- <appender-ref ref="asyncFileAppender"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.mybatis.spring.mapper.ClassPathMapperScanner" level="ERROR" additivity="false">-->
|
||||
<!-- <appender-ref ref="asyncLuceneAppender"/>-->
|
||||
<!-- <appender-ref ref="asyncFileAppender"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.springframework" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="com.baomidou.dynamic.datasource.DynamicRoutingDataSource" level="INFO" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.redisson.connection.pool.MasterPubSubConnectionPool" level="INFO" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.redisson.connection.pool.MasterConnectionPool" level="INFO" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.redisson.Version" level="INFO" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="com.alibaba.druid.pool.DruidDataSource" level="INFO" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.nl.config.RedisConfig" level="INFO" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.apache" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.hibernate" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="io.netty" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="jdbc" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="io.lettuce" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="com.fasterxml" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="org.quartz" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="com.google" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="springfox" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="log4jdbc" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="nl.basjes" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="com.yomahub.tlog.id.snowflake.UniqueIdGenerator" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
<!-- <logger name="com.yomahub.tlog.core.rpc.TLogRPCHandler" level="ERROR" additivity="true">-->
|
||||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||||
<!-- </logger>-->
|
||||
</springProfile>
|
||||
|
||||
<!--生产环境:打印控制台和输出到文件-->
|
||||
|
||||
Reference in New Issue
Block a user