Commit d9a3c7959e304af3e1148e34c7f5dabbc7cb8f70

Authored by 杨鸣坤
1 parent 86e6b481

新康达设备查询上报

1 1 package com.iot.scheduler.zone;
2 2
  3 +import com.iot.scheduler.service.XinkangdaDeviceReportService;
3 4 import com.iot.scheduler.task.AbstractZoneScheduler;
  5 +import jakarta.annotation.Resource;
4 6 import lombok.extern.slf4j.Slf4j;
5 7 import org.springframework.scheduling.annotation.Scheduled;
6 8 import org.springframework.stereotype.Component;
... ... @@ -9,6 +11,9 @@ import org.springframework.stereotype.Component;
9 11 @Component
10 12 public class ChizhouZoneScheduler extends AbstractZoneScheduler {
11 13
  14 + @Resource
  15 + private XinkangdaDeviceReportService xinkangdaDeviceReportService;
  16 +
12 17 @Override
13 18 protected String getZoneName() {
14 19 return "xkd (新康达)";
... ... @@ -36,6 +41,7 @@ public class ChizhouZoneScheduler extends AbstractZoneScheduler {
36 41 try {
37 42 // TODO: Implement actual logic
38 43 log.info("[{}] Simulating pushing devices...", getZoneName());
  44 + xinkangdaDeviceReportService.batchDeviceReport();
39 45 Thread.sleep(1000);
40 46 } catch (Exception e) {
41 47 logError(taskName, e);
... ...
... ... @@ -36,12 +36,29 @@ xkd:
36 36 jdbcPassword: "postgres"
37 37 selectSql: "SELECT
38 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 49 FROM
41 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 59 LEFT JOIN device_credentials dc ON de.id = dc.device_id
45 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"
... ...