add 扫码校验

This commit is contained in:
2023-06-26 10:14:39 +08:00
parent 1c36fe4a5f
commit 70893a5f4c
3 changed files with 352 additions and 351 deletions

View File

@@ -24,6 +24,7 @@ import org.nl.acs.opc.DeviceType;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.service.ParamService;
import org.nl.modules.wql.util.SpringContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
@@ -35,11 +36,14 @@ import java.util.Map;
@RequiredArgsConstructor
public class NDCAgvServiceImpl implements NDCAgvService {
private final DeviceAppService deviceAppService;
private final ParamService paramService;
private final AcsToWmsService acsToWmsService;
private final DeviceExecuteLogService logServer;
@Autowired
private DeviceAppService deviceAppService;
@Autowired
private ParamService paramService;
@Autowired
private AcsToWmsService acsToWmsService;
@Autowired
private DeviceExecuteLogService logServer;
Map<String, AgvDto> AGVDeviceStatus = new HashMap();
@@ -110,6 +114,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
}
@LokiLog(type = LokiLogType.AGV)
@Override
public void sendAgvOneInstToNDC(Instruction inst) {
@@ -171,6 +176,7 @@ public class NDCAgvServiceImpl implements NDCAgvService {
System.out.println("下发agv指令数据:" + Bytes2HexString(b));
}
}
@LokiLog(type = LokiLogType.AGV)
@Override
public void sendAgvInstToNDC(Instruction inst) {

View File

@@ -169,55 +169,56 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService {
//共挤线三工位
if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
// if ((hailiangSmartplcTestDeviceDriver.getAction() == 1 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1");
// is_feedback = true;
// }
if ((hailiangSmartplcTestDeviceDriver.getAction() == 1 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 1) {
inst.setExecute_status("1");
is_feedback = true;
}
//is_feedback = true;
}
//叠盘位
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
// int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
// if (number < Integer.valueOf(str)) {
// log.info("叠盘位:" + jobno + "当前层高为:" + number + ",不存在第" + str + "的托盘!");
// return null;
// }
// inst.setExecute_status("1");
int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
if (number < Integer.valueOf(str)) {
log.info("叠盘位:" + jobno + "当前层高为:" + number + ",不存在第" + str + "的托盘!");
return null;
}
inst.setExecute_status("1");
is_feedback = true;
}
//货梯对接线
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((cargoLiftConveyorDeviceDriver.getAction() == 1 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1");
// is_feedback = true;
// }
if ((cargoLiftConveyorDeviceDriver.getAction() == 1 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 1) {
inst.setExecute_status("1");
is_feedback = true;
}
//is_feedback = true;
}
//豪凯自动线对接位
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((haoKaiAutoConveyorDeviceDriver.getAction() == 1 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1");
// is_feedback = true;
// }
if ((haoKaiAutoConveyorDeviceDriver.getAction() == 1 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 1) {
inst.setExecute_status("1");
is_feedback = true;
}
//is_feedback = true;
}
//油漆线
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((paintConveyorDeviceDriver.getAction() == 1 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 1) {
// inst.setExecute_status("1");
// is_feedback = true;
// }
if ((paintConveyorDeviceDriver.getAction() == 1 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 1) {
inst.setExecute_status("1");
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
// is_feedback = true;
}/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true;
} */else {
is_feedback = true;
}
}
@@ -226,37 +227,40 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService {
hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2");
hailiangSmartplcTestDeviceDriver.writing(2);
if (hailiangSmartplcTestDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
} else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2");
emptyVehicleStackingPositionDeviceDriver.writing(2);
if (emptyVehicleStackingPositionDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
} else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2");
cargoLiftConveyorDeviceDriver.writing(2);
if (cargoLiftConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
} else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2");
haoKaiAutoConveyorDeviceDriver.writing(2);
if (haoKaiAutoConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
} else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("2");
paintConveyorDeviceDriver.writing(2);
if (paintConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 2) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
}/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true;
} */else {
is_feedback = true;
}
@@ -321,102 +325,93 @@ public class ZheDaAgvServiceImpl implements ZheDaAgvService {
if ("EntryRequired".equals(type)) {
if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
// if ((hailiangSmartplcTestDeviceDriver.getAction() == 2 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3");
// is_feedback = true;
// }
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
// emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
// int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
// if (number >= Integer.valueOf(str)) {
// log.info("叠盘位:" + jobno + "第" + str + "上有货!");
// return null;
// }
// inst.setExecute_status("3");
if ((hailiangSmartplcTestDeviceDriver.getAction() == 2 || hailiangSmartplcTestDeviceDriver.getAction() == 3) && hailiangSmartplcTestDeviceDriver.getMove() == 0) {
inst.setExecute_status("3");
is_feedback = true;
}
//is_feedback = true;
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
} else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
int number = emptyVehicleStackingPositionDeviceDriver.getNumber();
if (number >= Integer.valueOf(str)) {
log.info("叠盘位:" + jobno + "" + str + "上有货!");
return null;
}
inst.setExecute_status("3");
is_feedback = true;
} else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((cargoLiftConveyorDeviceDriver.getAction() == 2 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3");
// is_feedback = true;
// }
if ((cargoLiftConveyorDeviceDriver.getAction() == 2 || cargoLiftConveyorDeviceDriver.getAction() == 3) && cargoLiftConveyorDeviceDriver.getMove() == 0) {
inst.setExecute_status("3");
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
//is_feedback = true;
} else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((haoKaiAutoConveyorDeviceDriver.getAction() == 2 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3");
// is_feedback = true;
// }
if ((haoKaiAutoConveyorDeviceDriver.getAction() == 2 || haoKaiAutoConveyorDeviceDriver.getAction() == 3) && haoKaiAutoConveyorDeviceDriver.getMove() == 0) {
inst.setExecute_status("3");
is_feedback = true;
}
// is_feedback = true;
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
} else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
// if ((paintConveyorDeviceDriver.getAction() == 2 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 0) {
// inst.setExecute_status("3");
// is_feedback = true;
// }
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
if ((paintConveyorDeviceDriver.getAction() == 2 || paintConveyorDeviceDriver.getAction() == 3) && paintConveyorDeviceDriver.getMove() == 0) {
inst.setExecute_status("3");
is_feedback = true;
}
// is_feedback = true;
if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
}/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true;
} else if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
is_feedback = true;
}*/ else {
is_feedback = true;
}
}
if ("PauseOnStation".equals(type)) {
if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof HailiangSmartplcTestDeviceDriver) {
// hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
// inst.setExecute_status("4");
// hailiangSmartplcTestDeviceDriver.writing(3);
hailiangSmartplcTestDeviceDriver = (HailiangSmartplcTestDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("4");
hailiangSmartplcTestDeviceDriver.writing(3);
if (hailiangSmartplcTestDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
// emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
// inst.setExecute_status("4");
// emptyVehicleStackingPositionDeviceDriver.writing(3);
} else if (addressdevice.getDeviceDriver() instanceof EmptyVehicleStackingPositionDeviceDriver) {
emptyVehicleStackingPositionDeviceDriver = (EmptyVehicleStackingPositionDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("4");
emptyVehicleStackingPositionDeviceDriver.writing(3);
if (emptyVehicleStackingPositionDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
// cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
// inst.setExecute_status("4");
// cargoLiftConveyorDeviceDriver.writing(3);
} else if (addressdevice.getDeviceDriver() instanceof CargoLiftConveyorDeviceDriver) {
cargoLiftConveyorDeviceDriver = (CargoLiftConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("4");
cargoLiftConveyorDeviceDriver.writing(3);
if (cargoLiftConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
// haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
// inst.setExecute_status("4");
// haoKaiAutoConveyorDeviceDriver.writing(3);
} else if (addressdevice.getDeviceDriver() instanceof HaoKaiAutoConveyorDeviceDriver) {
haoKaiAutoConveyorDeviceDriver = (HaoKaiAutoConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("4");
haoKaiAutoConveyorDeviceDriver.writing(3);
if (haoKaiAutoConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
// paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
// inst.setExecute_status("4");
// paintConveyorDeviceDriver.writing(3);
} else if (addressdevice.getDeviceDriver() instanceof PaintConveyorDeviceDriver) {
paintConveyorDeviceDriver = (PaintConveyorDeviceDriver) addressdevice.getDeviceDriver();
inst.setExecute_status("4");
paintConveyorDeviceDriver.writing(3);
if (paintConveyorDeviceDriver.getItemProtocol().getOpcIntegerValue("to_command") == 3) {
is_feedback = true;
}
if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
}/* else if (addressdevice.getDeviceDriver() instanceof StandardStorageDeviceDriver) {
is_feedback = true;
} else if (addressdevice.getDeviceDriver() instanceof StandardOrdinarySiteDeviceDriver) {
is_feedback = true;
} */else {
is_feedback = true;
}
}

View File

@@ -257,12 +257,12 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
// logServer.deviceExecuteLog(this.device_code, "", "", "扫码器扫到的条码为:" + barcode());
// }
//申请任务
if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && !requireSucess) {
if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && barcode().trim().startsWith("TTP") && !requireSucess) {
logServer.deviceExecuteLog(this.device_code, "", "", "开始申请任务~~~~~~");
instruction_require(barcode());
logServer.deviceExecuteLog(this.device_code, "", "", "申请任务成功~~~~~~");
}
if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && !applySucess) {
if (!StrUtil.isEmpty(barcode()) && !StrUtil.equals(barcode(), "NoRead") && barcode().trim().length() == 12 && barcode().trim().startsWith("TTP") && !applySucess) {
instruction_apply(barcode());
}
}
@@ -577,18 +577,18 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
message = "申请任务中...";
logServer.deviceExecuteLog(device_code, "", "", "开始申请任务...条码信息:" + container_code);
JSONObject apply = new JSONObject();
if(action == 4){
if(this.itemProtocol.getItem_task() == 0 ){
if (action == 4) {
if (this.itemProtocol.getItem_task() == 0) {
logServer.deviceExecuteLog(device_code, "", "", "开始申请一楼任务...上次指令号为0");
return false;
}
Instruction inst = instructionService.findByCode(String.valueOf(this.itemProtocol.getItem_task()));
if(ObjectUtil.isEmpty(inst)){
if (ObjectUtil.isEmpty(inst)) {
logServer.deviceExecuteLog(device_code, "", "", "开始申请一楼任务...指令号:" + String.valueOf(this.itemProtocol.getItem_task() + "未找到对应指令"));
return false;
}
TaskDto taskDto = taskserver.findByCode(inst.getTask_code());
if(ObjectUtil.isEmpty(taskDto)){
if (ObjectUtil.isEmpty(taskDto)) {
logServer.deviceExecuteLog(device_code, "", "", "开始申请一楼任务...指令号:" + String.valueOf(this.itemProtocol.getItem_task() + "未找到对应任务"));
return false;
}
@@ -681,10 +681,10 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
@Override
public void setDeviceStatus(JSONObject data) {
String requireSucess = data.getString("requireSucess");
if (StrUtil.isNotEmpty(requireSucess)){
if (requireSucess.equals("1")){
if (StrUtil.isNotEmpty(requireSucess)) {
if (requireSucess.equals("1")) {
this.requireSucess = true;
} else if (requireSucess.equals("0")){
} else if (requireSucess.equals("0")) {
this.requireSucess = false;
}
}