ws 1 år sedan
förälder
incheckning
a7fdf47797

+ 25 - 7
industry-system/industry-da/src/main/resources/mapper/CollectorDao.xml

@@ -83,16 +83,34 @@
 
     <!--获取配置采集的数据组-->
     <select id="getItemNameByGroupId" resultType="java.util.Map">
-        SELECT ti.item_read_name itemName, tig.data_source_id dataSourceId, ti.modbus_config modbusConfig, ti.node_index nodeIndex, ti.data_type dataType FROM t_item ti
-        LEFT JOIN t_item_group tig ON ti.item_group_id = tig.id
-        <where>
-            ti.item_group_id IN (
+        SELECT
+            tmp.itemGroupId,
+            tmp.itemName,
+            tmp.dataSourceId,
+            ti.modbus_config modbusConfig,
+            ti.node_index nodeIndex,
+            ti.data_type dataType
+        FROM (
+            SELECT
+                ti.item_group_id itemGroupId,
+                ti.item_read_name itemName,
+                tig.data_source_id dataSourceId
+            FROM
+                t_item ti
+            LEFT JOIN t_item_group tig ON ti.item_group_id = tig.id
+            WHERE
+                ti.item_group_id IN (
                 <foreach collection="list" item="item" separator=",">
                     #{item}
                 </foreach>
-            )
-        </where>
-        GROUP BY tig.data_source_id, ti.item_read_name
+                )
+            GROUP BY
+                tig.data_source_id,
+                ti.item_group_id,
+                ti.item_read_name
+        ) tmp
+        LEFT JOIN t_item ti on tmp.itemGroupId = ti.item_group_id and tmp.itemName = ti.item_read_name
+
     </select>
 
     <!--获取所有数据源-->

+ 9 - 8
telegraf-client/src/main/java/com/cqcy/ei/telegraf/client/util/ConfUtil.java

@@ -93,7 +93,7 @@ public class ConfUtil {
             } else if (Pact.MODBUS.getValue().equals(item.getStr("type"))) {
                 buffer.append(createModbus(item, agent.getInt("restartDelay", ClientInfoUtil.input.getRestartDelay())));
             } else if (Pact.OPC_UA.getValue().equals(item.getStr("type"))) {
-
+                buffer.append(createOpcUa(item));
             }
         }
 
@@ -140,10 +140,11 @@ public class ConfUtil {
                 type = "i";
             }
             builder.append("{name=\"").append(obj.getStr("itemName")).append("\", namespace=\"").append(obj.getStr("nodeIndex"))
-                    .append("\", identifier_type=\"").append(type).append("\", identifier=\"");
+                    .append("\", identifier_type=\"").append(type).append("\", identifier=\"").append(obj.getStr("itemName"))
+                    .append("\", tags=[[\"DataSource\", \"").append(item.getStr("datasource")).append("\"]]},\n");
         }
         builder.append("]\n");
-        return "";
+        return builder.toString();
     }
 
     private static String createModbus(JSONObject item, Integer restartDelay) {
@@ -158,13 +159,13 @@ public class ConfUtil {
             JSONObject modbusConfig = JSONUtil.parseObj(obj.getStr("modbusConfig"));
             Integer type = modbusConfig.getInt("ioType", 0);
             if (type == 0) {
-                getHoldingOrInput(item, coils, obj, modbusConfig);
+                getCoilsOrDiscrete(item, coils, obj, modbusConfig);
             } else if (type == 1) {
-                getHoldingOrInput(item, discrete, obj, modbusConfig);
+                getCoilsOrDiscrete(item, discrete, obj, modbusConfig);
             } else if (type == 2) {
-                getCoilsOrDiscrete(item, holding, obj, modbusConfig);
+                getHoldingOrInput(item, holding, obj, modbusConfig);
             } else {
-                getCoilsOrDiscrete(item, input, obj, modbusConfig);
+                getHoldingOrInput(item, input, obj, modbusConfig);
             }
         }
         StringBuilder builder = new StringBuilder();
@@ -173,7 +174,7 @@ public class ConfUtil {
                 .append("slave_id=").append(item.getStr("slaveId")).append("\n")
                 .append("timeout=\"").append(restartDelay).append("\"\n")
                 .append("controller=\"tcp://").append(item.getStr("ip")).append(":").append(item.getStr("port")).append("\"\n")
-                .append("configuration_type=\"register\"");
+                .append("configuration_type=\"register\"\n");
         if (coils.length() > 0) {
             coils.append("]\n");
             builder.append("coils=").append(coils);