Showing
2 changed files
with
28 additions
and
5 deletions
| 1 | package com.iot.scheduler.zone; | 1 | package com.iot.scheduler.zone; |
| 2 | 2 | ||
| 3 | +import com.iot.scheduler.service.XinkangdaDeviceReportService; | ||
| 3 | import com.iot.scheduler.task.AbstractZoneScheduler; | 4 | import com.iot.scheduler.task.AbstractZoneScheduler; |
| 5 | +import jakarta.annotation.Resource; | ||
| 4 | import lombok.extern.slf4j.Slf4j; | 6 | import lombok.extern.slf4j.Slf4j; |
| 5 | import org.springframework.scheduling.annotation.Scheduled; | 7 | import org.springframework.scheduling.annotation.Scheduled; |
| 6 | import org.springframework.stereotype.Component; | 8 | import org.springframework.stereotype.Component; |
| @@ -9,6 +11,9 @@ import org.springframework.stereotype.Component; | @@ -9,6 +11,9 @@ import org.springframework.stereotype.Component; | ||
| 9 | @Component | 11 | @Component |
| 10 | public class ChizhouZoneScheduler extends AbstractZoneScheduler { | 12 | public class ChizhouZoneScheduler extends AbstractZoneScheduler { |
| 11 | 13 | ||
| 14 | + @Resource | ||
| 15 | + private XinkangdaDeviceReportService xinkangdaDeviceReportService; | ||
| 16 | + | ||
| 12 | @Override | 17 | @Override |
| 13 | protected String getZoneName() { | 18 | protected String getZoneName() { |
| 14 | return "xkd (新康达)"; | 19 | return "xkd (新康达)"; |
| @@ -36,6 +41,7 @@ public class ChizhouZoneScheduler extends AbstractZoneScheduler { | @@ -36,6 +41,7 @@ public class ChizhouZoneScheduler extends AbstractZoneScheduler { | ||
| 36 | try { | 41 | try { |
| 37 | // TODO: Implement actual logic | 42 | // TODO: Implement actual logic |
| 38 | log.info("[{}] Simulating pushing devices...", getZoneName()); | 43 | log.info("[{}] Simulating pushing devices...", getZoneName()); |
| 44 | + xinkangdaDeviceReportService.batchDeviceReport(); | ||
| 39 | Thread.sleep(1000); | 45 | Thread.sleep(1000); |
| 40 | } catch (Exception e) { | 46 | } catch (Exception e) { |
| 41 | logError(taskName, e); | 47 | logError(taskName, e); |
| @@ -36,12 +36,29 @@ xkd: | @@ -36,12 +36,29 @@ xkd: | ||
| 36 | jdbcPassword: "postgres" | 36 | jdbcPassword: "postgres" |
| 37 | selectSql: "SELECT | 37 | selectSql: "SELECT |
| 38 | dc.credentials_id AS deviceId, | 38 | dc.credentials_id AS deviceId, |
| 39 | - de.name AS deviceName | 39 | + de.name AS deviceName, |
| 40 | + CASE | ||
| 41 | + WHEN attrAt.long_v IS NULL | ||
| 42 | + OR (attrA0.bool_v = FALSE AND attrAt.long_v IS NOT NULL) THEN | ||
| 43 | + 'OFF' | ||
| 44 | + WHEN tkl.bool_v = 't' OR tkl.long_v = 1 THEN | ||
| 45 | + 'RUN' | ||
| 46 | + ELSE | ||
| 47 | + 'STAND' | ||
| 48 | + END AS status | ||
| 40 | FROM | 49 | FROM |
| 41 | device de | 50 | device de |
| 42 | - LEFT JOIN tk_organization tko ON de.organization_id = tko.id | ||
| 43 | - LEFT JOIN ts_kv_latest tkl ON de.id = tkl.entity_id AND tkl.KEY = 61 | 51 | + LEFT JOIN device_profile dp ON dp.id = de.device_profile_id |
| 52 | + LEFT JOIN ts_kv_latest tkl ON de.id = tkl.entity_id | ||
| 53 | + AND KEY = '65' | ||
| 54 | + LEFT JOIN attribute_kv attrA0 ON de.id = attrA0.entity_id | ||
| 55 | + AND attrA0.attribute_key = (SELECT key_id FROM key_dictionary WHERE KEY = 'active') | ||
| 56 | + LEFT JOIN attribute_kv attrAt ON de.id = attrAt.entity_id | ||
| 57 | + AND attrAt.attribute_key = (SELECT key_id FROM key_dictionary WHERE KEY = 'lastActivityTime') | ||
| 58 | + AND attrAt.long_v > 0 | ||
| 44 | LEFT JOIN device_credentials dc ON de.id = dc.device_id | 59 | LEFT JOIN device_credentials dc ON de.id = dc.device_id |
| 45 | WHERE | 60 | WHERE |
| 46 | - de.tenant_id = '0414df80-f01d-11f0-9cb8-e3376d1e7978' | ||
| 47 | - AND de.device_profile_id = '0418b010-f01d-11f0-9cb8-e3376d1e7978'" | 61 | + de.device_profile_id IN ('a232cf60-2664-11f1-b8c6-b7a06d6a5950'::UUID, 'c4f7b830-2664-11f1-b8c6-b7a06d6a5950'::UUID, 'aaaf8250-2664-11f1-b8c6-b7a06d6a5950'::UUID, 'b950a050-2664-11f1-b8c6-b7a06d6a5950'::UUID, 'bf127900-2664-11f1-b8c6-b7a06d6a5950'::UUID, 'e4d55640-f756-11f0-b8c6-b7a06d6a5950'::UUID) |
| 62 | + AND de.tenant_id = 'e4c3a300-f756-11f0-b8c6-b7a06d6a5950'::UUID | ||
| 63 | +ORDER BY | ||
| 64 | + de.name" |