fix:春节放假问题修改
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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() : "");
|
||||||
|
|||||||
Reference in New Issue
Block a user