迦南fix
This commit is contained in:
@@ -22,6 +22,7 @@ import org.nl.acs.opc.DeviceAppService;
|
|||||||
import org.nl.acs.opc.DeviceAppServiceImpl;
|
import org.nl.acs.opc.DeviceAppServiceImpl;
|
||||||
import org.nl.acs.opc.DeviceType;
|
import org.nl.acs.opc.DeviceType;
|
||||||
import org.nl.exception.BadRequestException;
|
import org.nl.exception.BadRequestException;
|
||||||
|
import org.nl.start.auto.run.NDCSocketConnectionAutoRun;
|
||||||
import org.nl.utils.SpringContextHolder;
|
import org.nl.utils.SpringContextHolder;
|
||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -51,7 +52,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
|
|||||||
try {
|
try {
|
||||||
MDC.put(log_file_type, log_type);
|
MDC.put(log_file_type, log_type);
|
||||||
if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) {
|
if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.FORKAGV).toString(), "1")) {
|
||||||
int index = Integer.parseInt(inst.getAgv_jobno());
|
int index = ObjectUtil.isEmpty(inst.getAgv_jobno())?0:Integer.parseInt(inst.getAgv_jobno());
|
||||||
|
|
||||||
byte indexhigh = (byte) IntToHexHigh(index);
|
byte indexhigh = (byte) IntToHexHigh(index);
|
||||||
byte indexlow = (byte) IntToHexLow(index);
|
byte indexlow = (byte) IntToHexLow(index);
|
||||||
@@ -181,7 +182,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
|
|||||||
};
|
};
|
||||||
log.info("下发AGV作业指令--{}", str1);
|
log.info("下发AGV作业指令--{}", str1);
|
||||||
|
|
||||||
// NDCSocketConnectionAutoRun.write(b);
|
NDCSocketConnectionAutoRun.write(b);
|
||||||
System.out.println("下发agv指令数据:" + Bytes2HexString(b));
|
System.out.println("下发agv指令数据:" + Bytes2HexString(b));
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@@ -230,91 +231,30 @@ public class NDCAgvServiceImpl implements NDCAgvService {
|
|||||||
return new byte[0];
|
return new byte[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public byte[] sendAgvOneModeInst(int phase, int index, int result) {
|
public byte[] sendAgvOneModeInst(int phase, int index, int result) {
|
||||||
try {
|
if (phase < 0 || index < 0)
|
||||||
MDC.put(log_file_type, log_type);
|
return null;
|
||||||
if (phase < 0 || index < 0)
|
byte indexhigh = (byte) IntToHexHigh(index);
|
||||||
return null;
|
byte indexlow = (byte) IntToHexLow(index);
|
||||||
byte indexhigh = (byte) IntToHexHigh(index);
|
byte phasehigh = (byte) IntToHexHigh(phase);
|
||||||
byte indexlow = (byte) IntToHexLow(index);
|
byte phaselow = (byte) IntToHexLow(phase);
|
||||||
byte phasehigh = (byte) IntToHexHigh(phase);
|
|
||||||
byte phaselow = (byte) IntToHexLow(phase);
|
|
||||||
byte resulthigh = (byte) IntToHexHigh(result);
|
|
||||||
byte resultlow = (byte) IntToHexLow(result);
|
|
||||||
|
|
||||||
int type = Integer.parseInt(acsConfigService.findConfigFromCache().get(AcsConfig.BUSINESSTYPE));
|
byte[] b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
||||||
byte[] b = new byte[]{};
|
(byte) 0X00, (byte) 0X08,
|
||||||
switch (type) {
|
(byte) 0X00, (byte) 0X0A,
|
||||||
case 0:
|
(byte) 0X00, (byte) 0X01,
|
||||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
(byte) 0X00, (byte) 0X6D,
|
||||||
(byte) 0X00, (byte) 0X08,
|
(byte) 0X00, (byte) 0X06,
|
||||||
(byte) 0X00, (byte) 0X0A,
|
(byte) indexhigh, (byte) indexlow,
|
||||||
(byte) 0X00, (byte) 0X01,
|
(byte) 0X01, (byte) 0X12,
|
||||||
(byte) 0X00, (byte) 0X6D,
|
(byte) phasehigh, (byte) phaselow
|
||||||
(byte) 0X00, (byte) 0X06,
|
};
|
||||||
(byte) indexhigh, (byte) indexlow,
|
|
||||||
(byte) 0X01, (byte) 0X12,
|
|
||||||
(byte) phasehigh, (byte) phaselow
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
|
||||||
(byte) 0X00, (byte) 0X08,
|
|
||||||
(byte) 0X00, (byte) 0X0D,
|
|
||||||
(byte) 0X00, (byte) 0X01,
|
|
||||||
(byte) 0X00, (byte) 0X6D,
|
|
||||||
(byte) 0X00, (byte) 0X08,
|
|
||||||
(byte) indexhigh, (byte) indexlow,
|
|
||||||
(byte) 0X01, (byte) 0X12,
|
|
||||||
(byte) phasehigh, (byte) phaselow,
|
|
||||||
(byte) resulthigh, (byte) resultlow
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
|
||||||
(byte) 0X00, (byte) 0X08,
|
|
||||||
(byte) 0X00, (byte) 0X0A,
|
|
||||||
(byte) 0X00, (byte) 0X01,
|
|
||||||
(byte) 0X00, (byte) 0X6D,
|
|
||||||
(byte) 0X00, (byte) 0X06,
|
|
||||||
(byte) indexhigh, (byte) indexlow,
|
|
||||||
(byte) 0X01, (byte) 0X12,
|
|
||||||
(byte) phasehigh, (byte) phaselow
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
|
||||||
(byte) 0X00, (byte) 0X08,
|
|
||||||
(byte) 0X00, (byte) 0X0A,
|
|
||||||
(byte) 0X00, (byte) 0X01,
|
|
||||||
(byte) 0X00, (byte) 0X6D,
|
|
||||||
(byte) 0X00, (byte) 0X06,
|
|
||||||
(byte) indexhigh, (byte) indexlow,
|
|
||||||
(byte) 0X01, (byte) 0X12,
|
|
||||||
(byte) phasehigh, (byte) phaselow
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
b = new byte[]{(byte) 0X87, (byte) 0XCD,
|
|
||||||
(byte) 0X00, (byte) 0X08,
|
|
||||||
(byte) 0X00, (byte) 0X0A,
|
|
||||||
(byte) 0X00, (byte) 0X01,
|
|
||||||
(byte) 0X00, (byte) 0X6D,
|
|
||||||
(byte) 0X00, (byte) 0X06,
|
|
||||||
(byte) indexhigh, (byte) indexlow,
|
|
||||||
(byte) 0X01, (byte) 0X12,
|
|
||||||
(byte) phasehigh, (byte) phaselow
|
|
||||||
};
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
log.info("反馈agv动作数据--index:" + hexToString(indexhigh & 0xFF) + hexToString(indexlow & 0xFF) + ",phase:" + hexToString(phasehigh & 0xFF) + hexToString(phaselow & 0xFF));
|
|
||||||
|
|
||||||
System.out.println("反馈agv动作数据:" + Bytes2HexString(b));
|
|
||||||
return b;
|
log.info("反馈agv动作数据--index:" + hexToString(indexhigh & 0xFF) + hexToString(indexlow & 0xFF) + ",phase:" + hexToString(phasehigh & 0xFF) + hexToString(phaselow & 0xFF));
|
||||||
} finally {
|
|
||||||
MDC.remove(log_file_type);
|
System.out.println("反馈agv动作数据:" + Bytes2HexString(b));
|
||||||
}
|
return b;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -162,14 +162,13 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
if (phase == 0x01) {
|
if (phase == 0x01) {
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index);
|
|
||||||
if (!ObjectUtil.isEmpty(inst)) {
|
if (!ObjectUtil.isEmpty(inst)) {
|
||||||
inst.setInstruction_status("1");
|
inst.setInstruction_status("1");
|
||||||
inst.setAgv_jobno(String.valueOf(index));
|
inst.setAgv_jobno(String.valueOf(index));
|
||||||
inst.setSend_status("1");
|
inst.setSend_status("1");
|
||||||
instructionService.update(inst);
|
instructionService.update(inst);
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
|
||||||
}
|
}
|
||||||
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
flag = true;
|
flag = true;
|
||||||
}
|
}
|
||||||
//分配 车id
|
//分配 车id
|
||||||
@@ -221,22 +220,34 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
//检测站点smart200
|
//检测站点smart200
|
||||||
if (device.getDeviceDriver() instanceof StandardInspectSiteSmartDeviceDriver) {
|
if (device.getDeviceDriver() instanceof StandardInspectSiteSmartDeviceDriver) {
|
||||||
standardInspectSiteSmartDeviceDriver = (StandardInspectSiteSmartDeviceDriver) device.getDeviceDriver();
|
standardInspectSiteSmartDeviceDriver = (StandardInspectSiteSmartDeviceDriver) device.getDeviceDriver();
|
||||||
if (StrUtil.equals(acsConfigService.findConfigFromCache().get(AcsConfig.IGNOREHASGOODS), "1")) {
|
inst.setExecute_status("1");
|
||||||
inst.setExecute_status("1");
|
instructionService.update(inst);
|
||||||
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// 取货完成请求离开
|
||||||
|
else if (phase == 0x05) {
|
||||||
|
if (ObjectUtil.isEmpty(inst)) {
|
||||||
|
logServer.deviceExecuteLog("未找到指令号对应的指令:", "", "", String.valueOf(ikey));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
||||||
|
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
||||||
|
standardInspectSiteDeviceDriver.writing(3);
|
||||||
|
if (standardInspectSiteDeviceDriver.getMode() != 0
|
||||||
|
&& standardInspectSiteDeviceDriver.getMove() == 0) {
|
||||||
|
inst.setExecute_status("5");
|
||||||
instructionService.update(inst);
|
instructionService.update(inst);
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
flag = true;
|
flag = true;
|
||||||
} else {
|
} else {
|
||||||
if (device.getHas_goods() != 0) {
|
logServer.deviceExecuteLog(device_code, "", "", "AGV取货完成请求离开设备{}有货,无法反馈");
|
||||||
inst.setExecute_status("1");
|
|
||||||
instructionService.update(inst);
|
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
|
||||||
flag = true;
|
|
||||||
} else {
|
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "AGV请求取货设备{}无货,无法反馈");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
//检测站点smart200
|
||||||
|
if (device.getDeviceDriver() instanceof StandardInspectSiteSmartDeviceDriver) {
|
||||||
|
standardInspectSiteSmartDeviceDriver = (StandardInspectSiteSmartDeviceDriver) device.getDeviceDriver();
|
||||||
//如果是混料区则上送LMS当前点位的字段,同步到st_ivt_structivt仓位库存表
|
//如果是混料区则上送LMS当前点位的字段,同步到st_ivt_structivt仓位库存表
|
||||||
JSONObject jsonObject = new JSONObject();
|
JSONObject jsonObject = new JSONObject();
|
||||||
jsonObject.put("device_code", device_code);
|
jsonObject.put("device_code", device_code);
|
||||||
@@ -245,49 +256,28 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
jsonObject.put("batch_code", standardInspectSiteSmartDeviceDriver.getBatch_code());
|
jsonObject.put("batch_code", standardInspectSiteSmartDeviceDriver.getBatch_code());
|
||||||
jsonObject.put("product_specifications", standardInspectSiteSmartDeviceDriver.getProduct_specifications());
|
jsonObject.put("product_specifications", standardInspectSiteSmartDeviceDriver.getProduct_specifications());
|
||||||
jsonObject.put("time", standardInspectSiteSmartDeviceDriver.getTime());
|
jsonObject.put("time", standardInspectSiteSmartDeviceDriver.getTime());
|
||||||
jsonObject.put("type","9");
|
jsonObject.put("type", "9");
|
||||||
acsToWmsService.lnshApplyTaskToWms(jsonObject);
|
acsToWmsService.lnshApplyTaskToWms(jsonObject);
|
||||||
}
|
}
|
||||||
|
// 检验取放货条件
|
||||||
// 检验取放货条件
|
JSONObject agv_check = device_extra_table
|
||||||
JSONObject agv_check = device_extra_table
|
.query("is_delete = '0' AND extra_code = 'agv_check' AND device_code = '" + device.getDevice_code() + "'")
|
||||||
.query("is_delete = '0' AND extra_code = 'agv_check' AND device_code = '" + device.getDevice_code() + "'")
|
|
||||||
.uniqueResult(0);
|
|
||||||
if (ObjectUtil.isNotEmpty(agv_check) && "true".equals(agv_check.getString("extra_value"))) {
|
|
||||||
JSONObject agv_check_status = device_extra_table
|
|
||||||
.query("is_delete = '0' AND extra_code = 'agv_check_status' AND device_code = '" + device.getDevice_code() + "'")
|
|
||||||
.uniqueResult(0);
|
.uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(agv_check_status) && "2".equals(agv_check_status.getString("extra_value"))) {
|
if (ObjectUtil.isNotEmpty(agv_check) && "true".equals(agv_check.getString("extra_value"))) {
|
||||||
inst.setExecute_status("1");
|
JSONObject agv_check_status = device_extra_table
|
||||||
instructionService.update(inst);
|
.query("is_delete = '0' AND extra_code = 'agv_check_status' AND device_code = '" + device.getDevice_code() + "'")
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
.uniqueResult(0);
|
||||||
flag = true;
|
if (ObjectUtil.isNotEmpty(agv_check_status) && "2".equals(agv_check_status.getString("extra_value"))) {
|
||||||
agv_check_status.put("extra_value", "0");
|
inst.setExecute_status("1");
|
||||||
device_extra_table.update(agv_check_status);
|
instructionService.update(inst);
|
||||||
} else {
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "AGV请求取货设备{}未放盖确认,无法反馈");
|
flag = true;
|
||||||
|
agv_check_status.put("extra_value", "0");
|
||||||
|
device_extra_table.update(agv_check_status);
|
||||||
|
} else {
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "AGV请求取货设备{}未放盖确认,无法反馈");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
// 取货完成请求离开
|
|
||||||
else if (phase == 0x05) {
|
|
||||||
if (ObjectUtil.isEmpty(inst)) {
|
|
||||||
logServer.deviceExecuteLog("未找到指令号对应的指令:", "", "", String.valueOf(ikey));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
|
||||||
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
|
||||||
standardInspectSiteDeviceDriver.writing(3);
|
|
||||||
if (standardInspectSiteDeviceDriver.getMode() != 0
|
|
||||||
&& standardInspectSiteDeviceDriver.getMove() == 0) {
|
|
||||||
inst.setExecute_status("5");
|
|
||||||
instructionService.update(inst);
|
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
|
||||||
flag = true;
|
|
||||||
} else {
|
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "AGV取货完成请求离开设备{}有货,无法反馈");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// if(!inst.getTask_code().startsWith("-")) {
|
// if(!inst.getTask_code().startsWith("-")) {
|
||||||
// //反馈wms系统动作完成
|
// //反馈wms系统动作完成
|
||||||
@@ -302,65 +292,69 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
// acsToWmsService.feedbackActionStatusToWms(feedja);
|
// acsToWmsService.feedbackActionStatusToWms(feedja);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
|
||||||
//请求放货
|
|
||||||
else if (phase == 0x07) {
|
|
||||||
if (ObjectUtil.isEmpty(inst)) {
|
|
||||||
logServer.deviceExecuteLog("未找到指令号对应的指令:", "", "", String.valueOf(ikey));
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
//请求放货
|
||||||
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
else if (phase == 0x07) {
|
||||||
standardInspectSiteDeviceDriver.writing(4);
|
if (ObjectUtil.isEmpty(inst)) {
|
||||||
if (standardInspectSiteDeviceDriver.getMode() != 0
|
logServer.deviceExecuteLog("未找到指令号对应的指令:", "", "", String.valueOf(ikey));
|
||||||
&& standardInspectSiteDeviceDriver.getMove() == 0) {
|
break;
|
||||||
inst.setExecute_status("3");
|
|
||||||
instructionService.update(inst);
|
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
|
||||||
flag = true;
|
|
||||||
} else {
|
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "AGV请求放货设备{}有货,无法反馈");
|
|
||||||
}
|
}
|
||||||
}
|
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
||||||
// 检验取放货条件
|
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
||||||
JSONObject agv_check = device_extra_table
|
standardInspectSiteDeviceDriver.writing(4);
|
||||||
.query("is_delete = '0' AND extra_code = 'agv_check' AND device_code = '" + device.getDevice_code() + "'")
|
if (standardInspectSiteDeviceDriver.getMode() != 0
|
||||||
.uniqueResult(0);
|
&& standardInspectSiteDeviceDriver.getMove() == 0) {
|
||||||
if (ObjectUtil.isNotEmpty(agv_check) && "true".equals(agv_check.getString("extra_value"))) {
|
inst.setExecute_status("3");
|
||||||
JSONObject agv_check_status = device_extra_table
|
instructionService.update(inst);
|
||||||
.query("is_delete = '0' AND extra_code = 'agv_check_status' AND device_code = '" + device.getDevice_code() + "'")
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
|
flag = true;
|
||||||
|
} else {
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "AGV请求放货设备{}有货,无法反馈");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 检验取放货条件
|
||||||
|
JSONObject agv_check = device_extra_table
|
||||||
|
.query("is_delete = '0' AND extra_code = 'agv_check' AND device_code = '" + device.getDevice_code() + "'")
|
||||||
.uniqueResult(0);
|
.uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(agv_check_status) && "1".equals(agv_check_status.getString("extra_value"))) {
|
if (ObjectUtil.isNotEmpty(agv_check) && "true".equals(agv_check.getString("extra_value"))) {
|
||||||
inst.setExecute_status("1");
|
JSONObject agv_check_status = device_extra_table
|
||||||
instructionService.update(inst);
|
.query("is_delete = '0' AND extra_code = 'agv_check_status' AND device_code = '" + device.getDevice_code() + "'")
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
.uniqueResult(0);
|
||||||
flag = true;
|
if (ObjectUtil.isNotEmpty(agv_check_status) && "1".equals(agv_check_status.getString("extra_value"))) {
|
||||||
agv_check_status.put("extra_value", "0");
|
inst.setExecute_status("1");
|
||||||
device_extra_table.update(agv_check_status);
|
instructionService.update(inst);
|
||||||
} else {
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "AGV请求取货设备{}未取盖确认,无法反馈");
|
flag = true;
|
||||||
|
agv_check_status.put("extra_value", "0");
|
||||||
|
device_extra_table.update(agv_check_status);
|
||||||
|
} else {
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "AGV请求取货设备{}未取盖确认,无法反馈");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
// 放货完成请求离开
|
||||||
// 放货完成请求离开
|
else if (phase == 0x09) {
|
||||||
else if (phase == 0x09) {
|
if (ObjectUtil.isEmpty(inst)) {
|
||||||
if (ObjectUtil.isEmpty(inst)) {
|
logServer.deviceExecuteLog("未找到指令号对应的指令:", "", "", String.valueOf(ikey));
|
||||||
logServer.deviceExecuteLog("未找到指令号对应的指令:", "", "", String.valueOf(ikey));
|
break;
|
||||||
break;
|
}
|
||||||
}
|
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
||||||
if (device.getDeviceDriver() instanceof StandardInspectSiteDeviceDriver) {
|
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
||||||
standardInspectSiteDeviceDriver = (StandardInspectSiteDeviceDriver) device.getDeviceDriver();
|
standardInspectSiteDeviceDriver.writing(5);
|
||||||
standardInspectSiteDeviceDriver.writing(5);
|
if (standardInspectSiteDeviceDriver.getMode() != 0
|
||||||
if (standardInspectSiteDeviceDriver.getMode() != 0
|
&& standardInspectSiteDeviceDriver.getMove() != 0) {
|
||||||
&& standardInspectSiteDeviceDriver.getMove() != 0) {
|
inst.setExecute_status("6");
|
||||||
|
instructionService.update(inst);
|
||||||
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
|
flag = true;
|
||||||
|
} else {
|
||||||
|
logServer.deviceExecuteLog(device_code, "", "", "AGV放货完成请求离开设备{}无货,无法反馈");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
inst.setExecute_status("6");
|
inst.setExecute_status("6");
|
||||||
instructionService.update(inst);
|
instructionService.update(inst);
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
flag = true;
|
|
||||||
} else {
|
|
||||||
logServer.deviceExecuteLog(device_code, "", "", "AGV放货完成请求离开设备{}无货,无法反馈");
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// if(!inst.getTask_code().startsWith("-")){
|
// if(!inst.getTask_code().startsWith("-")){
|
||||||
// //反馈wms系统动作完成
|
// //反馈wms系统动作完成
|
||||||
@@ -376,167 +370,157 @@ public class NDCSocketConnectionAutoRun extends AbstractAutoRunnable {
|
|||||||
// acsToWmsService.feedbackActionStatusToWms(feedja);
|
// acsToWmsService.feedbackActionStatusToWms(feedja);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
|
||||||
//任务完毕
|
|
||||||
//(无车id及状态)
|
|
||||||
else if (phase == 0x0A) {
|
|
||||||
if (!ObjectUtil.isEmpty(inst)) {
|
|
||||||
inst.setInstruction_status("2");
|
|
||||||
instructionService.finish(inst);
|
|
||||||
}
|
}
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
//任务完毕
|
||||||
}
|
//(无车id及状态)
|
||||||
//请求删除任务
|
else if (phase == 0x0A) {
|
||||||
else if (phase == 0x30) {
|
if (!ObjectUtil.isEmpty(inst)) {
|
||||||
flag = true;
|
inst.setInstruction_status("2");
|
||||||
if (!ObjectUtil.isEmpty(inst)) {
|
instructionService.finish(inst);
|
||||||
|
}
|
||||||
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
|
}
|
||||||
|
//请求删除任务
|
||||||
|
else if (phase == 0x30) {
|
||||||
data = AgvService.sendAgvOneModeInst(0x8F, index, 0);
|
data = AgvService.sendAgvOneModeInst(0x8F, index, 0);
|
||||||
} else {
|
|
||||||
log.info("未找到对应的指令无法删除");
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
//任务删除确认
|
||||||
//任务删除确认
|
//(需要WCS反馈)
|
||||||
//(需要WCS反馈)
|
else if (phase == 0xFF) {
|
||||||
else if (phase == 0xFF) {
|
flag = true;
|
||||||
flag = true;
|
if (!ObjectUtil.isEmpty(inst)) {
|
||||||
if (!ObjectUtil.isEmpty(inst)) {
|
instructionService.cancel(inst.getInstruction_id());
|
||||||
instructionService.cancel(inst.getInstruction_id());
|
}
|
||||||
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
}
|
}
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
//进入区域
|
||||||
}
|
else if (phase == 0x50) {
|
||||||
//进入区域
|
//开门
|
||||||
else if (phase == 0x50) {
|
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
||||||
//开门
|
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||||
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
|
||||||
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
|
||||||
standardAutodoorDeviceDriver.OpenOrClose("1");
|
|
||||||
standardAutodoorDeviceDriver.writeing(1);
|
|
||||||
if (standardAutodoorDeviceDriver.getAction() == 1) {
|
|
||||||
standardAutodoorDeviceDriver.OpenOrClose("1");
|
standardAutodoorDeviceDriver.OpenOrClose("1");
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
standardAutodoorDeviceDriver.writeing(1);
|
||||||
|
if (standardAutodoorDeviceDriver.getAction() == 1) {
|
||||||
|
standardAutodoorDeviceDriver.OpenOrClose("1");
|
||||||
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
//离开区域
|
||||||
//离开区域
|
else if (phase == 0x51) {
|
||||||
else if (phase == 0x51) {
|
//关门
|
||||||
//关门
|
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
||||||
if (device.getDeviceDriver() instanceof StandardAutodoorDeviceDriver) {
|
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
||||||
standardAutodoorDeviceDriver = (StandardAutodoorDeviceDriver) device.getDeviceDriver();
|
standardAutodoorDeviceDriver.OpenOrClose("2");
|
||||||
standardAutodoorDeviceDriver.OpenOrClose("2");
|
standardAutodoorDeviceDriver.writeing(2);
|
||||||
standardAutodoorDeviceDriver.writeing(2);
|
if (standardAutodoorDeviceDriver.getAction() == 2) {
|
||||||
if (standardAutodoorDeviceDriver.getAction() == 2) {
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
}
|
||||||
|
}
|
||||||
|
} else if (phase == 0x64) {
|
||||||
|
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
||||||
|
}
|
||||||
|
//上报异常
|
||||||
|
else if (phase == 0x67) {
|
||||||
|
AgvDto dto = null;
|
||||||
|
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
||||||
|
if (map.containsKey(String.valueOf(carno))) {
|
||||||
|
dto = map.get(String.valueOf(carno));
|
||||||
|
} else {
|
||||||
|
dto = new AgvDto();
|
||||||
|
}
|
||||||
|
dto.setName(String.valueOf(carno));
|
||||||
|
if (arr[18] * 256 + arr[19] == 0) {
|
||||||
|
dto.setState("IDLE");
|
||||||
|
acsToWmsService.feedbackAgvStatus(String.valueOf(carno), "0", "");
|
||||||
|
} else {
|
||||||
|
StringBuffer errbs = new StringBuffer();
|
||||||
|
for (int i = 0; i < ERROR.length; i++) {
|
||||||
|
if (((arr[18] * 256 + arr[19]) & (1 << i)) > 0)
|
||||||
|
errbs.append("," + ERROR[i]);
|
||||||
|
//反馈故障
|
||||||
|
}
|
||||||
|
dto.setState("ERROR");
|
||||||
|
acsToWmsService.feedbackAgvStatus(String.valueOf(carno), "1", "error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (phase == 0x64) {
|
//X坐标
|
||||||
data = AgvService.sendAgvOneModeInst(phase, index, 0);
|
else if (phase == 0x70) {
|
||||||
}
|
AgvDto dto = null;
|
||||||
//上报异常
|
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
||||||
else if (phase == 0x67) {
|
carno = arr[18] * 256 + arr[19];
|
||||||
AgvDto dto = null;
|
if (map.containsKey(String.valueOf(carno))) {
|
||||||
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
dto = map.get(String.valueOf(carno));
|
||||||
if (map.containsKey(String.valueOf(carno))) {
|
} else {
|
||||||
dto = map.get(String.valueOf(carno));
|
dto = new AgvDto();
|
||||||
} else {
|
|
||||||
dto = new AgvDto();
|
|
||||||
}
|
|
||||||
dto.setName(String.valueOf(carno));
|
|
||||||
if (arr[18] * 256 + arr[19] == 0) {
|
|
||||||
dto.setState("IDLE");
|
|
||||||
acsToWmsService.feedbackAgvStatus(String.valueOf(carno), "0", "");
|
|
||||||
} else {
|
|
||||||
StringBuffer errbs = new StringBuffer();
|
|
||||||
for (int i = 0; i < ERROR.length; i++) {
|
|
||||||
if (((arr[18] * 256 + arr[19]) & (1 << i)) > 0)
|
|
||||||
errbs.append("," + ERROR[i]);
|
|
||||||
//反馈故障
|
|
||||||
}
|
}
|
||||||
dto.setState("ERROR");
|
dto.setName(String.valueOf(carno));
|
||||||
acsToWmsService.feedbackAgvStatus(String.valueOf(carno), "1", "error");
|
dto.setPositionX(String.valueOf(ikey));
|
||||||
}
|
}
|
||||||
}
|
//Y坐标
|
||||||
//X坐标
|
else if (phase == 0x71) {
|
||||||
else if (phase == 0x70) {
|
AgvDto dto = null;
|
||||||
AgvDto dto = null;
|
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
||||||
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
carno = arr[18] * 256 + arr[19];
|
||||||
carno = arr[18] * 256 + arr[19];
|
if (map.containsKey(String.valueOf(carno))) {
|
||||||
if (map.containsKey(String.valueOf(carno))) {
|
dto = map.get(String.valueOf(carno));
|
||||||
dto = map.get(String.valueOf(carno));
|
} else {
|
||||||
} else {
|
dto = new AgvDto();
|
||||||
dto = new AgvDto();
|
}
|
||||||
|
dto.setName(String.valueOf(carno));
|
||||||
|
dto.setPositionY(String.valueOf(ikey));
|
||||||
}
|
}
|
||||||
dto.setName(String.valueOf(carno));
|
//角度
|
||||||
dto.setPositionX(String.valueOf(ikey));
|
else if (phase == 0x72) {
|
||||||
}
|
AgvDto dto = null;
|
||||||
//Y坐标
|
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
||||||
else if (phase == 0x71) {
|
carno = arr[18] * 256 + arr[19];
|
||||||
AgvDto dto = null;
|
if (map.containsKey(String.valueOf(carno))) {
|
||||||
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
dto = map.get(String.valueOf(carno));
|
||||||
carno = arr[18] * 256 + arr[19];
|
} else {
|
||||||
if (map.containsKey(String.valueOf(carno))) {
|
dto = new AgvDto();
|
||||||
dto = map.get(String.valueOf(carno));
|
}
|
||||||
} else {
|
dto.setName(String.valueOf(carno));
|
||||||
dto = new AgvDto();
|
dto.setPositionAngle(String.valueOf(ikey));
|
||||||
}
|
}
|
||||||
dto.setName(String.valueOf(carno));
|
//电量
|
||||||
dto.setPositionY(String.valueOf(ikey));
|
else if (phase == 0x73) {
|
||||||
}
|
AgvDto dto = null;
|
||||||
//角度
|
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
||||||
else if (phase == 0x72) {
|
carno = arr[18] * 256 + arr[19];
|
||||||
AgvDto dto = null;
|
if (map.containsKey(String.valueOf(carno))) {
|
||||||
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
dto = map.get(String.valueOf(carno));
|
||||||
carno = arr[18] * 256 + arr[19];
|
} else {
|
||||||
if (map.containsKey(String.valueOf(carno))) {
|
dto = new AgvDto();
|
||||||
dto = map.get(String.valueOf(carno));
|
}
|
||||||
} else {
|
dto.setName(String.valueOf(carno));
|
||||||
dto = new AgvDto();
|
dto.setEnergyLevel(String.valueOf(ikey));
|
||||||
}
|
}
|
||||||
dto.setName(String.valueOf(carno));
|
if (!ObjectUtil.isEmpty(data)) {
|
||||||
dto.setPositionAngle(String.valueOf(ikey));
|
write(data);
|
||||||
}
|
|
||||||
//电量
|
|
||||||
else if (phase == 0x73) {
|
|
||||||
AgvDto dto = null;
|
|
||||||
Map<String, AgvDto> map = AgvService.findAllAgvFromCache();
|
|
||||||
carno = arr[18] * 256 + arr[19];
|
|
||||||
if (map.containsKey(String.valueOf(carno))) {
|
|
||||||
dto = map.get(String.valueOf(carno));
|
|
||||||
} else {
|
|
||||||
dto = new AgvDto();
|
|
||||||
}
|
}
|
||||||
dto.setName(String.valueOf(carno));
|
} catch (Exception e) {
|
||||||
dto.setEnergyLevel(String.valueOf(ikey));
|
System.out.println(e);
|
||||||
|
log.info(e.toString());
|
||||||
|
log.info(e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
if (!ObjectUtil.isEmpty(data)) {
|
} else {
|
||||||
write(data);
|
System.out.println("agv上报不是0073类型动作,不处理");
|
||||||
}
|
|
||||||
} catch(Exception e){
|
|
||||||
System.out.println(e);
|
|
||||||
log.info(e.toString());
|
|
||||||
log.info(e.getMessage());
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
} else{
|
|
||||||
System.out.println("agv上报不是0073类型动作,不处理");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} catch (
|
||||||
|
Exception e) {
|
||||||
|
|
||||||
|
|
||||||
|
} finally {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch(
|
|
||||||
Exception e)
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
} finally
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void stop() {
|
public void stop() {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ spring:
|
|||||||
freemarker:
|
freemarker:
|
||||||
check-template-location: false
|
check-template-location: false
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: prod
|
||||||
jackson:
|
jackson:
|
||||||
time-zone: GMT+8
|
time-zone: GMT+8
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
<!--<?xml version="1.0" encoding="UTF-8"?>-->
|
|
||||||
<!--<included>-->
|
|
||||||
<!-- <springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>-->
|
|
||||||
<!-- <springProperty scope="context" name="lokiUrl" source="loki.url"/>-->
|
|
||||||
<!-- <property name="LOKI_URL" value="${lokiUrl}"/>-->
|
|
||||||
<!-- <property name="log.pattern"-->
|
|
||||||
<!-- value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>-->
|
|
||||||
|
|
||||||
<!-- <!–添加loki–>-->
|
|
||||||
<!-- <appender name="lokiAppender" class="com.github.loki4j.logback.Loki4jAppender">-->
|
|
||||||
<!-- <batchTimeoutMs>1000</batchTimeoutMs>-->
|
|
||||||
<!-- <http class="com.github.loki4j.logback.ApacheHttpSender">-->
|
|
||||||
<!-- <url>${LOKI_URL}</url>-->
|
|
||||||
<!-- </http>-->
|
|
||||||
<!-- <format>-->
|
|
||||||
<!-- <label>-->
|
|
||||||
<!-- <pattern>logType=wms_to_acs</pattern>-->
|
|
||||||
<!-- </label>-->
|
|
||||||
<!-- <message>-->
|
|
||||||
<!-- <pattern>${log.pattern}</pattern>-->
|
|
||||||
<!-- </message>-->
|
|
||||||
<!-- <sortByTime>true</sortByTime>-->
|
|
||||||
<!-- </format>-->
|
|
||||||
<!-- </appender>-->
|
|
||||||
|
|
||||||
<!-- <!– 打印sql –>-->
|
|
||||||
<!-- <logger name="org.nl.acs.ext.wms.service.impl.WmsToAcsServiceImpl" level="info" additivity="false">-->
|
|
||||||
<!-- <appender-ref ref="lokiAppender" />-->
|
|
||||||
<!-- </logger>-->
|
|
||||||
<!--</included>-->
|
|
||||||
@@ -12,7 +12,7 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<contextName>nlAdmin</contextName>
|
<contextName>nlAdmin</contextName>
|
||||||
<property name="log.charset" value="utf-8"/>
|
<property name="log.charset" value="utf-8"/>
|
||||||
<property name="log.pattern"
|
<property name="log.pattern"
|
||||||
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss.SSS}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)"/>
|
||||||
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
<springProperty scope="context" name="logPath" source="logging.file.path" defaultValue="logs"/>
|
||||||
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
|
<springProperty scope="context" name="lokiUrl" source="loki.url"/>
|
||||||
<springProperty scope="context" name="systemName" source="loki.systemName"/>
|
<springProperty scope="context" name="systemName" source="loki.systemName"/>
|
||||||
@@ -21,16 +21,26 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||||
<property name="LOG_HOME" value="${logPath}"/>
|
<property name="LOG_HOME" value="${logPath}"/>
|
||||||
<!--引入默认的一些设置-->
|
<!--引入默认的一些设置-->
|
||||||
<!-- <include resource="log/AutoCreateInst.xml"/>
|
<!-- <include resource="log/AutoCreateInst.xml"/>
|
||||||
<include resource="log/QueryAgvTaskStatus.xml"/>
|
<include resource="log/QueryAgvTaskStatus.xml"/>
|
||||||
<include resource="log/AgvFeedbackServiceImpl.xml"/>
|
<include resource="log/AgvFeedbackServiceImpl.xml"/>
|
||||||
<include resource="log/AgvLeaveServlet.xml"/>
|
<include resource="log/AgvLeaveServlet.xml"/>
|
||||||
<include resource="log/AcsToErp.xml"/>
|
<include resource="log/AcsToErp.xml"/>
|
||||||
|
<include resource="log/AcsToWms.xml"/>
|
||||||
|
<include resource="log/WmsToAcs.xml"/>
|
||||||
|
<include resource="log/QueryXZAgvTaskStatus.xml"/>
|
||||||
|
-->
|
||||||
|
<!-- <include resource="log/QueryMagicAgvDeviceStatus.xml"/>-->
|
||||||
|
<!--FILE 10开始+1-->
|
||||||
|
<include resource="log/OneNDCSocketConnectionAutoRun.xml"/>
|
||||||
|
<include resource="log/AgvNdcOneDeviceDriver.xml"/>
|
||||||
|
<include resource="log/AcsToLk.xml"/>
|
||||||
|
<include resource="log/LkToAcs.xml"/>
|
||||||
<include resource="log/AcsToWms.xml"/>
|
<include resource="log/AcsToWms.xml"/>
|
||||||
<include resource="log/WmsToAcs.xml"/>
|
<include resource="log/WmsToAcs.xml"/>
|
||||||
<include resource="log/QueryXZAgvTaskStatus.xml"/>
|
<include resource="log/OpcUtil.xml"/>
|
||||||
<include resource="log/NDCSocketConnectionAutoRun.xml"/>-->
|
|
||||||
<!-- <include resource="log/QueryMagicAgvDeviceStatus.xml"/>-->
|
|
||||||
|
|
||||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
<encoder>
|
<encoder>
|
||||||
@@ -39,6 +49,7 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
</encoder>
|
</encoder>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
|
||||||
<!-- 按照每天生成日志文件 -->
|
<!-- 按照每天生成日志文件 -->
|
||||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||||
@@ -81,15 +92,37 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
</format>
|
</format>
|
||||||
</appender>
|
</appender>
|
||||||
|
|
||||||
|
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>error</level>
|
||||||
|
</filter>
|
||||||
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||||
|
<!--日志文件输出的文件名-->
|
||||||
|
<FileNamePattern>${LOG_HOME}/ERROR/%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
||||||
|
<!--日志文件保留天数-->
|
||||||
|
<maxHistory>15</maxHistory>
|
||||||
|
<!--单个日志最大容量 至少10MB才能看得出来-->
|
||||||
|
<maxFileSize>200MB</maxFileSize>
|
||||||
|
<!--所有日志最多占多大容量-->
|
||||||
|
<totalSizeCap>20GB</totalSizeCap>
|
||||||
|
</rollingPolicy>
|
||||||
|
<encoder>
|
||||||
|
<pattern>${log.pattern}</pattern>
|
||||||
|
<charset>${log.charset}</charset>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
|
||||||
<!--开发环境:打印控制台-->
|
<!--开发环境:打印控制台-->
|
||||||
<springProfile name="dev">
|
<springProfile name="dev">
|
||||||
<root level="info">
|
<root level="info">
|
||||||
<appender-ref ref="CONSOLE"/>
|
<appender-ref ref="CONSOLE"/>
|
||||||
<appender-ref ref="lokiAppender" />
|
<appender-ref ref="lokiAppender" />
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
</root>
|
</root>
|
||||||
<!--logmanage -->
|
<!--logmanage -->
|
||||||
<logger name="org.nl.acs.log.service.impl.DeviceExecuteLogServiceImpl" level="info" additivity="false">
|
<logger name="org.nl.acs.log.service.impl.DeviceExecuteLogServiceImpl" level="info" additivity="false">
|
||||||
|
<appender-ref ref="CONSOLE"/>
|
||||||
<appender-ref ref="lokiAppender" />
|
<appender-ref ref="lokiAppender" />
|
||||||
</logger>
|
</logger>
|
||||||
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
|
<logger name="jdbc.resultsettable" level="ERROR" additivity="false">
|
||||||
@@ -130,15 +163,16 @@ https://juejin.cn/post/6844903775631572999
|
|||||||
</logger>
|
</logger>
|
||||||
<root level="info">
|
<root level="info">
|
||||||
<appender-ref ref="CONSOLE"/>
|
<appender-ref ref="CONSOLE"/>
|
||||||
<appender-ref ref="lokiAppender" />
|
|
||||||
</root>
|
</root>
|
||||||
</springProfile>
|
</springProfile>
|
||||||
|
|
||||||
<!--生产环境:打印控制台和输出到文件-->
|
<!--生产环境:打印控制台和输出到文件-->
|
||||||
<springProfile name="prod">
|
<springProfile name="prod">
|
||||||
<root level="info">
|
<root level="info">
|
||||||
<appender-ref ref="CONSOLE"/>
|
<appender-ref ref="ERROR"/>
|
||||||
<appender-ref ref="lokiAppender" />
|
<appender-ref ref="lokiAppender" />
|
||||||
|
<appender-ref ref="asyncFileAppender"/>
|
||||||
</root>
|
</root>
|
||||||
<!--logmanage -->
|
<!--logmanage -->
|
||||||
<logger name="org.nl.acs.log.service.impl.DeviceExecuteLogServiceImpl" level="info" additivity="false">
|
<logger name="org.nl.acs.log.service.impl.DeviceExecuteLogServiceImpl" level="info" additivity="false">
|
||||||
|
|||||||
@@ -235,17 +235,17 @@ public class SendMaterialTask extends AbstractAcsTask {
|
|||||||
|
|
||||||
PointService pointService = SpringContextHolder.getBean(PointService.class);
|
PointService pointService = SpringContextHolder.getBean(PointService.class);
|
||||||
|
|
||||||
// 起点是空位不能搬
|
// // 起点是空位不能搬
|
||||||
PointDto startPoint = pointService.findByCode(start_point_code);
|
PointDto startPoint = pointService.findByCode(start_point_code);
|
||||||
if (StrUtil.equals(startPoint.getPoint_status(), "00")) {
|
// if (StrUtil.equals(startPoint.getPoint_status(), "00")) {
|
||||||
throw new BadRequestException("起点是空位");
|
// throw new BadRequestException("起点是空位");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 终点不是空位不能搬
|
// // 终点不是空位不能搬
|
||||||
PointDto nextPoint = pointService.findByCode(next_point_code);
|
PointDto nextPoint = pointService.findByCode(next_point_code);
|
||||||
if (!StrUtil.equals(nextPoint.getPoint_status(), "00")) {
|
// if (!StrUtil.equals(nextPoint.getPoint_status(), "00")) {
|
||||||
throw new BadRequestException("终点不是空位");
|
// throw new BadRequestException("终点不是空位");
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 判断起点有没有未完成的指令
|
// 判断起点有没有未完成的指令
|
||||||
JSONObject startPointTask = taskTable
|
JSONObject startPointTask = taskTable
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ spring:
|
|||||||
multi-statement-alagvslow: true
|
multi-statement-alagvslow: true
|
||||||
redis:
|
redis:
|
||||||
#数据库索引
|
#数据库索引
|
||||||
database: ${REDIS_DB:1}
|
database: ${REDIS_DB:3}
|
||||||
host: ${REDIS_HOST:127.0.0.1}
|
host: ${REDIS_HOST:127.0.0.1}
|
||||||
port: ${REDIS_PORT:6379}
|
port: ${REDIS_PORT:6379}
|
||||||
password: ${REDIS_PWD:}
|
password: ${REDIS_PWD:}
|
||||||
|
|||||||
@@ -157,4 +157,6 @@ jetcache:
|
|||||||
maxTotal: 1000
|
maxTotal: 1000
|
||||||
uri:
|
uri:
|
||||||
- redis://localhost:6379
|
- redis://localhost:6379
|
||||||
|
loki:
|
||||||
|
url: http://localhost:3100/loki/api/v1
|
||||||
|
systemName: lms
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ spring:
|
|||||||
freemarker:
|
freemarker:
|
||||||
check-template-location: false
|
check-template-location: false
|
||||||
profiles:
|
profiles:
|
||||||
active: dev
|
active: prod
|
||||||
jackson:
|
jackson:
|
||||||
time-zone: GMT+8
|
time-zone: GMT+8
|
||||||
data:
|
data:
|
||||||
|
|||||||
Reference in New Issue
Block a user