diff --git a/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryMagicAgvDeviceStatus.java b/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryMagicAgvDeviceStatus.java index e6b24ea..a773977 100644 --- a/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryMagicAgvDeviceStatus.java +++ b/hd/nladmin-system/src/main/java/org/nl/modules/quartz/task/QueryMagicAgvDeviceStatus.java @@ -6,6 +6,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.nl.acs.agv.server.AgvService; import org.nl.acs.device_driver.electric_fence.ElectricFenceDeviceDriver; +import org.nl.acs.device_driver.hailiang.hailiang_packing.HaiLiangPackingDeviceDriver; import org.nl.acs.device_driver.ndxy_special_two.NdxySpecialTwoDeviceDriver; import org.nl.acs.device_driver.weighing_site.WeighingSiteDeviceDriver; import org.nl.acs.instruction.service.InstructionService; @@ -33,6 +34,7 @@ public class QueryMagicAgvDeviceStatus { @Autowired AgvService agvService; + Boolean flag = false; public void run() throws Exception { HttpResponse response = agvService.queryMagicAgvDeviceStatus(); @@ -48,6 +50,7 @@ public class QueryMagicAgvDeviceStatus { List allDevice = appService.findAllDevice(); WeighingSiteDeviceDriver weighingSiteDeviceDriver; NdxySpecialTwoDeviceDriver ndxySpecialTwoDeviceDriver; + HaiLiangPackingDeviceDriver haiLiangPackingDeviceDriver; for (int z = 0; z < allDevice.size(); z++) { Device deviceBycode = allDevice.get(z); if (deviceBycode.getDeviceDriver() instanceof WeighingSiteDeviceDriver) { @@ -55,12 +58,24 @@ public class QueryMagicAgvDeviceStatus { mode = weighingSiteDeviceDriver.getNowMode(); } - if (deviceBycode.getDeviceDriver() instanceof NdxySpecialTwoDeviceDriver) { - ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) deviceBycode.getDeviceDriver(); - if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING") || jo.optString("state").equals("IDLE") ){ - ndxySpecialTwoDeviceDriver.writing("to_agv_status",1); - } else { - ndxySpecialTwoDeviceDriver.writing("to_agv_status",0); +// if (deviceBycode.getDeviceDriver() instanceof NdxySpecialTwoDeviceDriver) { +// ndxySpecialTwoDeviceDriver = (NdxySpecialTwoDeviceDriver) deviceBycode.getDeviceDriver(); +// if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING") || jo.optString("state").equals("IDLE") ){ +// ndxySpecialTwoDeviceDriver.writing("to_agv_status",1); +// } else { +// ndxySpecialTwoDeviceDriver.writing("to_agv_status",0); +// } +// } + if (deviceBycode.getDeviceDriver() instanceof HaiLiangPackingDeviceDriver){ + haiLiangPackingDeviceDriver = (HaiLiangPackingDeviceDriver) deviceBycode.getDeviceDriver(); + if(jo.optString("state").equals("IDLE") || jo.optString("state").equals("EXECUTING")){ + haiLiangPackingDeviceDriver.writing(0); + flag = false; + } else if (jo.optString("state").equals("ERROR")){ + if (!flag){ + haiLiangPackingDeviceDriver.writing(3); + flag = true; + } } } }