fix:春节放假问题修改

This commit is contained in:
ls
2025-02-08 13:43:41 +08:00
parent becdab82f9
commit 880df8de9e
7 changed files with 48 additions and 24 deletions

View File

@@ -82,7 +82,12 @@ public class NDCAgvServiceImpl implements NDCAgvService {
if (StrUtil.equals(paramService.findByCode(AcsConfig.FORKAGV).getValue(), "1")) { if (StrUtil.equals(paramService.findByCode(AcsConfig.FORKAGV).getValue(), "1")) {
if (!StrUtil.equals(agv_system_type, "1")) { if (!StrUtil.equals(agv_system_type, "1")) {
String instcode = inst.getInstruction_code(); String instcode = inst.getInstruction_code();
int type = Integer.parseInt(inst.getAgv_inst_type()); int type;
if (StrUtil.equals(inst.getInstruction_type(), "4")){
type = Integer.parseInt("4");
}else {
type = Integer.parseInt(inst.getAgv_inst_type());
}
int priority = Integer.parseInt(inst.getPriority()) + 128; int priority = Integer.parseInt(inst.getPriority()) + 128;
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class); DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
DeviceService deviceService = SpringContextHolder.getBean(DeviceServiceImpl.class); DeviceService deviceService = SpringContextHolder.getBean(DeviceServiceImpl.class);
@@ -150,7 +155,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
(byte) 0X00, (byte) 0X00, (byte) 0X00, (byte) 0X00,
(byte) carnohigh, (byte) carnolow (byte) carnohigh, (byte) carnolow
}; };
} else if (type == 2) { } else if (type == 2 || type == 4) {
b = new byte[]{(byte) 0X87, (byte) 0XCD, b = new byte[]{(byte) 0X87, (byte) 0XCD,
(byte) 0X00, (byte) 0X08, (byte) 0X00, (byte) 0X08,
(byte) 0X00, (byte) 0X18, (byte) 0X00, (byte) 0X18,

View File

@@ -283,7 +283,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (device.getDeviceDriver() instanceof AirShowerDoorDeviceDriver) { if (device.getDeviceDriver() instanceof AirShowerDoorDeviceDriver) {
airShowerDoorDeviceDriver = (AirShowerDoorDeviceDriver) device.getDeviceDriver(); airShowerDoorDeviceDriver = (AirShowerDoorDeviceDriver) device.getDeviceDriver();
try { try {
if ("AD4".equals(device.getDevice_code())&& airShowerDoorDeviceDriver.getClose2() == 1) { if (("AD4".equals(device.getDevice_code()) || "AD6".equals(device.getDevice_code()) )&& airShowerDoorDeviceDriver.getClose2() == 1) {
airShowerDoorDeviceDriver.writing("to_open", "1"); airShowerDoorDeviceDriver.writing("to_open", "1");
airShowerDoorDeviceDriver.writing("to_close", "0"); airShowerDoorDeviceDriver.writing("to_close", "0");
if (airShowerDoorDeviceDriver.getOpen() == 1 && airShowerDoorDeviceDriver.getToOpen() == 1&& airShowerDoorDeviceDriver.getClose2() == 1) { if (airShowerDoorDeviceDriver.getOpen() == 1 && airShowerDoorDeviceDriver.getToOpen() == 1&& airShowerDoorDeviceDriver.getClose2() == 1) {
@@ -293,12 +293,12 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getToClose()); log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getToClose());
} }
} }
if ("AD5".equals(device.getDevice_code()) && airShowerDoorDeviceDriver.getClose() == 1) { if (("AD5".equals(device.getDevice_code()) || "AD7".equals(device.getDevice_code())) && airShowerDoorDeviceDriver.getClose() == 1) {
airShowerDoorDeviceDriver.writing("to_open2", "1"); airShowerDoorDeviceDriver.writing("to_open2", "1");
airShowerDoorDeviceDriver.writing("to_close", "0"); airShowerDoorDeviceDriver.writing("to_close", "0");
airShowerDoorDeviceDriver.writing("to_close2", "0"); airShowerDoorDeviceDriver.writing("to_close2", "0");
if (airShowerDoorDeviceDriver.getOpen2() == 1 && airShowerDoorDeviceDriver.getToOpen2() == 1&& airShowerDoorDeviceDriver.getClose() == 1) { if (airShowerDoorDeviceDriver.getOpen2() == 1 && airShowerDoorDeviceDriver.getToOpen2() == 1&& airShowerDoorDeviceDriver.getClose() == 1) {
log.info("下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getOpen()); log.info("下发风淋门2开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getOpen());
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
} else { } else {
log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen2(), airShowerDoorDeviceDriver.getToClose2()); log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen2(), airShowerDoorDeviceDriver.getToClose2());
@@ -375,21 +375,21 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (device.getDeviceDriver() instanceof AirShowerDoorDeviceDriver) { if (device.getDeviceDriver() instanceof AirShowerDoorDeviceDriver) {
airShowerDoorDeviceDriver = (AirShowerDoorDeviceDriver) device.getDeviceDriver(); airShowerDoorDeviceDriver = (AirShowerDoorDeviceDriver) device.getDeviceDriver();
try { try {
if ("AD4".equals(device.getDevice_code())) { if ("AD4".equals(device.getDevice_code()) || "AD6".equals(device.getDevice_code())) {
airShowerDoorDeviceDriver.writing("to_close", "1"); airShowerDoorDeviceDriver.writing("to_close", "1");
airShowerDoorDeviceDriver.writing("to_open", "0"); airShowerDoorDeviceDriver.writing("to_open", "0");
if (airShowerDoorDeviceDriver.getClose2() == 1) { if (airShowerDoorDeviceDriver.getClose2() == 1) {
log.info("下发风淋门门信号值为:{},读取门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getOpen()); log.info("下发风淋门门信号值为:{},读取门信号值为:{}", airShowerDoorDeviceDriver.getToClose(), airShowerDoorDeviceDriver.getClose());
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
} else { } else {
log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getToClose()); log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getToClose());
} }
} }
if ("AD5".equals(device.getDevice_code())) { if ("AD5".equals(device.getDevice_code()) || "AD7".equals(device.getDevice_code())) {
airShowerDoorDeviceDriver.writing("to_close2", "1"); airShowerDoorDeviceDriver.writing("to_close2", "1");
airShowerDoorDeviceDriver.writing("to_open2", "0"); airShowerDoorDeviceDriver.writing("to_open2", "0");
if (airShowerDoorDeviceDriver.getClose2() == 1 ) { if (airShowerDoorDeviceDriver.getClose2() == 1 ) {
log.info("下发风淋门门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen2(), airShowerDoorDeviceDriver.getOpen2()); log.info("下发风淋门2关门信号值为:{},读取关门2信号值为:{}", airShowerDoorDeviceDriver.getToClose2(), airShowerDoorDeviceDriver.getClose2());
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0); data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
} else { } else {
log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen2(), airShowerDoorDeviceDriver.getToClose2()); log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen2(), airShowerDoorDeviceDriver.getToClose2());

View File

@@ -1488,9 +1488,10 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
} }
String instruction_type = inst.getInstruction_type(); String instruction_type = inst.getInstruction_type();
//上传称重数据 //上传称重数据
if (StrUtil.equals(instruction_type, CommonFinalParam.ONE)) { if (StrUtil.equals(instruction_type, "4")) {
weight = agvaddr; weight = agvaddr;
inst.setWeight(String.valueOf(weight)); inst.setWeight(String.valueOf(weight));
inst.setRemark("废箔重量:" + weight);
instructionService.update(inst); instructionService.update(inst);
if (ObjectUtil.isNotEmpty(task)) { if (ObjectUtil.isNotEmpty(task)) {
@@ -1503,6 +1504,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
logDto.setLog_level(4); logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto); luceneExecuteLogService.deviceExecuteLog(logDto);
task.setWeight(String.valueOf(weight)); task.setWeight(String.valueOf(weight));
task.setRemark("废箔重量:" + weight);
task.setCar_no(this.device_code); task.setCar_no(this.device_code);
taskService.update(task); taskService.update(task);
} }

View File

@@ -173,7 +173,7 @@ public class AutoCreateInst {
//1、生箔 Itype=1:取空,取满,放空,放满; //1、生箔 Itype=1:取空,取满,放空,放满;
//2、分切 Itype=3取满、取空、放满、放空 //2、分切 Itype=3取满、取空、放满、放空
//3、普通任务 Itype=2:取货、放货; //3、普通任务 Itype=2:取货、放货;
//4、叉车任务 //4、废箔agv
//5、输送任务 //5、输送任务
//6、行架 //6、行架
//7、立库 //7、立库
@@ -188,7 +188,9 @@ public class AutoCreateInst {
instdto.setAgv_inst_type("2"); instdto.setAgv_inst_type("2");
}else if (StrUtil.equals(task_type, "2")) { }else if (StrUtil.equals(task_type, "2")) {
instdto.setAgv_inst_type("3"); instdto.setAgv_inst_type("3");
} else if (StrUtil.equals(task_type, "8")) { } else if (StrUtil.equals(task_type, "4")) {
instdto.setAgv_inst_type("4");
}else if (StrUtil.equals(task_type, "8")) {
instdto.setAgv_inst_type("2"); instdto.setAgv_inst_type("2");
} else { } else {
log.info("未找到对应的AGV指令类型任务号:" + acsTask.getTask_code() + ",task_type:" + acsTask.getTask_type()); log.info("未找到对应的AGV指令类型任务号:" + acsTask.getTask_code() + ",task_type:" + acsTask.getTask_type());

View File

@@ -101,6 +101,9 @@ public class InHotTrussTask extends AbstractTask {
SchBasePoint point = hotDjwList.get(0); SchBasePoint point = hotDjwList.get(0);
task.setPoint_code2(point.getPoint_code()); task.setPoint_code2(point.getPoint_code());
} }
if (hotDjwList.size() == 0){
throw new BadRequestException("入烘箱没有找到存放母卷位置");
}
} }
// todo: 需要烘烤,且是小卷,但是没有位置,需要将最快结束的烘箱组锁住 // todo: 需要烘烤,且是小卷,但是没有位置,需要将最快结束的烘箱组锁住
} else { } else {
@@ -114,18 +117,17 @@ public class InHotTrussTask extends AbstractTask {
} }
// 如果都没有位置, 就去未开启的烘箱的空位,也是区分大小卷 // 如果都没有位置, 就去未开启的烘箱的空位,也是区分大小卷
// todo: (有可能是待烘烤、也有可能是不需要烘烤做为暂存, 目前是判断未使用的点位,后期可能需要加字段) // todo: (有可能是待烘烤、也有可能是不需要烘烤做为暂存, 目前是判断未使用的点位,后期可能需要加字段)
if (ObjectUtil.isEmpty(task.getPoint_code2())) { // if (ObjectUtil.isEmpty(task.getPoint_code2())) {
List<StIvtHotpointivt> notTaskHotOven = hotpointivtService.getNotTaskHotOven(order.getRoll_type(), // List<StIvtHotpointivt> notTaskHotOven = hotpointivtService.getNotTaskHotOven(order.getRoll_type(),
"0"); // "0");
if (notTaskHotOven.size() == 0) { //
throw new BadRequestException("未找到可用货位!"); // // 代表是暂存
} // flag = "1";
// 代表是暂存 // StIvtHotpointivt stIvtHotpointivt = notTaskHotOven.get(0);
flag = "1"; // task.setPoint_code2(stIvtHotpointivt.getPoint_code());
StIvtHotpointivt stIvtHotpointivt = notTaskHotOven.get(0); // }
task.setPoint_code2(stIvtHotpointivt.getPoint_code());
}
// 保存任务参数 // 保存任务参数
requestObj.put("caching", flag); requestObj.put("caching", flag);
task.setRequest_param(requestObj.toJSONString()); task.setRequest_param(requestObj.toJSONString());

View File

@@ -69,6 +69,11 @@ public class RawCallRollTrussTask extends AbstractTask {
if (endPoints.size() == 0) { if (endPoints.size() == 0) {
throw new BadRequestException("收卷辊出口查询失败!"); throw new BadRequestException("收卷辊出口查询失败!");
} }
List<SchBaseTask> schBaseTasks = taskService.checkHaveTask(endPoints.get(0).getPoint_code());
if (schBaseTasks.size() > 0) {
throw new BadRequestException("已创建行架任务等待agv完成后再下生箔下料任务");
}
// 获取点 // 获取点
SchBasePoint startPoint = startPoints.get(0); SchBasePoint startPoint = startPoints.get(0);
SchBasePoint endPoint = endPoints.get(0); SchBasePoint endPoint = endPoints.get(0);

View File

@@ -90,12 +90,20 @@ public class SlitterDownAGVTask extends AbstractTask {
.orElse(null); .orElse(null);
task.setPoint_code1(requestObj.getString("device_code")); task.setPoint_code1(requestObj.getString("device_code"));
// 查找终点,在内包间的区域找个空位. // 查找终点,在内包间的区域找个空位.
// 校验acs点位信息与终点点位信息是否匹配
List<BstIvtCutpointivt> areaEmptyNotTaskPoint = bstIvtCutpointivtService.getAreaNotTaskPointByStatus("1", List<BstIvtCutpointivt> areaEmptyNotTaskPoint = bstIvtCutpointivtService.getAreaNotTaskPointByStatus("1",
"1", "0", "1"); "1", "0", "1");
if (areaEmptyNotTaskPoint.size() == 0) { if (areaEmptyNotTaskPoint.size() == 0) {
throw new BadRequestException("请求搬运失败,内包间没有可存放位置!"); throw new BadRequestException("请求搬运失败,内包间没有可存放位置!");
} }
BstIvtCutpointivt endPoint = areaEmptyNotTaskPoint.get(0); BstIvtCutpointivt endPoint = null;
for (BstIvtCutpointivt bstIvtCutpointivt : areaEmptyNotTaskPoint) {
}
if (endPoint == null) {
throw new BadRequestException("请求搬运失败,缓存架没有匹配的位置!");
}
task.setPoint_code2(endPoint.getPoint_code()); task.setPoint_code2(endPoint.getPoint_code());
// 设置气胀轴 // 设置气胀轴
task.setVehicle_code(currentUpPlan != null ? currentUpPlan.getQzzno() : ""); task.setVehicle_code(currentUpPlan != null ? currentUpPlan.getQzzno() : "");