diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/SyncDeviceStatus.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/SyncDeviceStatus.java index 3b73e16..9d6657a 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/SyncDeviceStatus.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/quartz/task/SyncDeviceStatus.java @@ -94,7 +94,7 @@ public class SyncDeviceStatus { } private void device() { - long startTime = System.currentTimeMillis(); + //long startTime = System.currentTimeMillis(); try { JSONArray baoshijian = new JSONArray(); JSONArray guhuashi = new JSONArray(); @@ -152,9 +152,7 @@ public class SyncDeviceStatus { json.put("action", siteDeviceDriver.getAction()); json.put("vehicle_type", siteDeviceDriver.getPallet_type()); json.put("error", siteDeviceDriver.getError()); - //todo 检查mode值是否正常 - json.put("device_status", siteDeviceDriver.getMode() == 0 ? 1 : 0); - // json.put("device_status", siteDeviceDriver.getError() == 0 ? 1 : 0); + json.put("device_status", siteDeviceDriver.getMode()); site.add(json); } else if (device.getDeviceDriver() instanceof AgvNdcOneDeviceDriver) { AgvNdcOneDeviceDriver agvNdcOneDeviceDriver = (AgvNdcOneDeviceDriver) device.getDeviceDriver(); @@ -185,22 +183,23 @@ public class SyncDeviceStatus { .distinct() .collect(Collectors.toList()); JSONArray siteJsonArray = new JSONArray(); - for (String deviceCode : siteList) { - JSONArray siteJSONArray = site.stream() - .filter(obj -> ((JSONObject) obj).getString("device_code").startsWith(deviceCode)) - .collect(Collectors.toCollection(JSONArray::new)); - long siteCount = site.stream() - .filter(obj -> "0".equals(((JSONObject) obj).getString("device_status"))) - .count(); - JSONObject json = new JSONObject(); - json.put("device_code", deviceCode); - json.put("device_status", siteCount > 0 ? 0 : 1); - if (!siteList.isEmpty()) { - JSONObject item = siteJSONArray.getJSONObject(0); + if (ObjectUtil.isNotEmpty(siteList)) { + for (String deviceCode : siteList) { + JSONArray filterJsonArray = site.stream() + .filter(obj -> ((JSONObject) obj).getString("device_code").startsWith(deviceCode)) + .collect(Collectors.toCollection(JSONArray::new)); + //有站点运行代表输送线运行 + long siteCount = site.stream() + .filter(obj -> !"0".equals(((JSONObject) obj).getString("device_status"))) + .count(); + JSONObject json = new JSONObject(); + json.put("device_code", deviceCode); + json.put("device_status", siteCount > 0 ? 1 : 0); + JSONObject item = filterJsonArray.getJSONObject(0); json.put("vehicle_type", item.getString("vehicle_type")); json.put("action", item.getString("action")); + siteJsonArray.add(json); } - siteJsonArray.add(json); } JSONArray ptJsonArray = site.stream() .filter(obj -> ((JSONObject) obj).getString("device_code").startsWith("PTHCW")) @@ -247,7 +246,7 @@ public class SyncDeviceStatus { redisUtils.set("agv", agv); // log.trace("自动上报驱动状态,完毕耗时{}", System.currentTimeMillis() - startTime); } catch (Exception e) { - log.error("自动线程开始查询AGV设备,自动上报驱动状态失败{}{}", e, e.getMessage()); + log.error("自动线程开始查询AGV设备,自动上报驱动状态失败{}{}", e, e.getMessage()); } } }