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(agv_system_type, "1")) {
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;
DeviceAppService appService = SpringContextHolder.getBean(DeviceAppServiceImpl.class);
DeviceService deviceService = SpringContextHolder.getBean(DeviceServiceImpl.class);
@@ -150,7 +155,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
(byte) 0X00, (byte) 0X00,
(byte) carnohigh, (byte) carnolow
};
} else if (type == 2) {
} else if (type == 2 || type == 4) {
b = new byte[]{(byte) 0X87, (byte) 0XCD,
(byte) 0X00, (byte) 0X08,
(byte) 0X00, (byte) 0X18,

View File

@@ -283,7 +283,7 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (device.getDeviceDriver() instanceof AirShowerDoorDeviceDriver) {
airShowerDoorDeviceDriver = (AirShowerDoorDeviceDriver) device.getDeviceDriver();
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_close", "0");
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());
}
}
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_close", "0");
airShowerDoorDeviceDriver.writing("to_close2", "0");
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);
} else {
log.info("未下发NDC信号原因: 下发风淋门开门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen2(), airShowerDoorDeviceDriver.getToClose2());
@@ -375,21 +375,21 @@ public class TwoNDCSocketConnectionAutoRun extends AbstractAutoRunnable {
if (device.getDeviceDriver() instanceof AirShowerDoorDeviceDriver) {
airShowerDoorDeviceDriver = (AirShowerDoorDeviceDriver) device.getDeviceDriver();
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_open", "0");
if (airShowerDoorDeviceDriver.getClose2() == 1) {
log.info("下发风淋门门信号值为:{},读取门信号值为:{}", airShowerDoorDeviceDriver.getToOpen(), airShowerDoorDeviceDriver.getOpen());
log.info("下发风淋门门信号值为:{},读取门信号值为:{}", airShowerDoorDeviceDriver.getToClose(), airShowerDoorDeviceDriver.getClose());
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
} else {
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_open2", "0");
if (airShowerDoorDeviceDriver.getClose2() == 1 ) {
log.info("下发风淋门门信号值为:{},读取开门信号值为:{}", airShowerDoorDeviceDriver.getToOpen2(), airShowerDoorDeviceDriver.getOpen2());
log.info("下发风淋门2关门信号值为:{},读取关门2信号值为:{}", airShowerDoorDeviceDriver.getToClose2(), airShowerDoorDeviceDriver.getClose2());
data = ndcAgvService.sendAgvTwoModeInst(phase, index, 0);
} else {
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();
//上传称重数据
if (StrUtil.equals(instruction_type, CommonFinalParam.ONE)) {
if (StrUtil.equals(instruction_type, "4")) {
weight = agvaddr;
inst.setWeight(String.valueOf(weight));
inst.setRemark("废箔重量:" + weight);
instructionService.update(inst);
if (ObjectUtil.isNotEmpty(task)) {
@@ -1503,6 +1504,7 @@ public class AgvNdcTwoDeviceDriver extends AbstractDeviceDriver implements Devic
logDto.setLog_level(4);
luceneExecuteLogService.deviceExecuteLog(logDto);
task.setWeight(String.valueOf(weight));
task.setRemark("废箔重量:" + weight);
task.setCar_no(this.device_code);
taskService.update(task);
}

View File

@@ -173,7 +173,7 @@ public class AutoCreateInst {
//1、生箔 Itype=1:取空,取满,放空,放满;
//2、分切 Itype=3取满、取空、放满、放空
//3、普通任务 Itype=2:取货、放货;
//4、叉车任务
//4、废箔agv
//5、输送任务
//6、行架
//7、立库
@@ -188,7 +188,9 @@ public class AutoCreateInst {
instdto.setAgv_inst_type("2");
}else if (StrUtil.equals(task_type, "2")) {
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");
} else {
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);
task.setPoint_code2(point.getPoint_code());
}
if (hotDjwList.size() == 0){
throw new BadRequestException("入烘箱没有找到存放母卷位置");
}
}
// todo: 需要烘烤,且是小卷,但是没有位置,需要将最快结束的烘箱组锁住
} else {
@@ -114,18 +117,17 @@ public class InHotTrussTask extends AbstractTask {
}
// 如果都没有位置, 就去未开启的烘箱的空位,也是区分大小卷
// todo: (有可能是待烘烤、也有可能是不需要烘烤做为暂存, 目前是判断未使用的点位,后期可能需要加字段)
if (ObjectUtil.isEmpty(task.getPoint_code2())) {
List<StIvtHotpointivt> notTaskHotOven = hotpointivtService.getNotTaskHotOven(order.getRoll_type(),
"0");
if (notTaskHotOven.size() == 0) {
throw new BadRequestException("未找到可用货位!");
}
// 代表是暂存
flag = "1";
StIvtHotpointivt stIvtHotpointivt = notTaskHotOven.get(0);
task.setPoint_code2(stIvtHotpointivt.getPoint_code());
}
// if (ObjectUtil.isEmpty(task.getPoint_code2())) {
// List<StIvtHotpointivt> notTaskHotOven = hotpointivtService.getNotTaskHotOven(order.getRoll_type(),
// "0");
//
// // 代表是暂存
// flag = "1";
// StIvtHotpointivt stIvtHotpointivt = notTaskHotOven.get(0);
// task.setPoint_code2(stIvtHotpointivt.getPoint_code());
// }
// 保存任务参数
requestObj.put("caching", flag);
task.setRequest_param(requestObj.toJSONString());

View File

@@ -69,6 +69,11 @@ public class RawCallRollTrussTask extends AbstractTask {
if (endPoints.size() == 0) {
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 endPoint = endPoints.get(0);

View File

@@ -90,12 +90,20 @@ public class SlitterDownAGVTask extends AbstractTask {
.orElse(null);
task.setPoint_code1(requestObj.getString("device_code"));
// 查找终点,在内包间的区域找个空位.
// 校验acs点位信息与终点点位信息是否匹配
List<BstIvtCutpointivt> areaEmptyNotTaskPoint = bstIvtCutpointivtService.getAreaNotTaskPointByStatus("1",
"1", "0", "1");
if (areaEmptyNotTaskPoint.size() == 0) {
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.setVehicle_code(currentUpPlan != null ? currentUpPlan.getQzzno() : "");