zhoupeng před 1 rokem
rodič
revize
2ea849b559

+ 19 - 0
industry-system/industry-da/src/main/java/com/example/opc_da/util/ItemParent.java

@@ -0,0 +1,19 @@
+package com.example.opc_da.util;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+@Data
+public class ItemParent {
+
+    //数据项id
+    @NotNull
+    private Integer itemId;
+    //虚拟字段,数据项名称
+    private String itemReadName;
+    //虚拟字段
+    private Integer dataSourceId;
+    private String dataValue;
+    private String dataTime;
+}

+ 56 - 0
industry-system/industry-da/src/main/java/com/example/opc_da/util/ItemUtil.java

@@ -0,0 +1,56 @@
+package com.example.opc_da.util;
+
+import com.cqcy.ei.influxdb.entity.Item;
+import com.cqcy.ei.influxdb.service.QueryService;
+import com.example.opc_common.util.Blank;
+import com.example.opc_da.config.SpringContextUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ItemUtil {
+
+    private QueryService queryService = SpringContextUtils.getBean(QueryService.class);
+
+    public List<? extends ItemParent> gen(List<? extends ItemParent> tList) {
+        if (Blank.isNotEmpty(tList)) {
+            //Map<dataSourceId,items>
+            Map<String, List<String>> itemData = new HashMap<>();
+            for (ItemParent m : tList) {
+                String dataSourceId = m.getDataSourceId().toString();
+                List<String> items = itemData.get(dataSourceId);
+                if (Blank.isEmpty(items)) {
+                    items = new ArrayList<>();
+                }
+                items.add(m.getItemReadName());
+                itemData.put(dataSourceId, items);
+            }
+            //根据分组信息,查询对应的数据项值,并转换为相应的map格式
+            Map<String, Map<String, Item>> mapData = new HashMap<>();
+            for (String dataSourceId : itemData.keySet()) {
+                Map<String, Item> map = new HashMap<>();
+                List<Item> itemDataByLast = queryService.getItemDataByLast(itemData.get(dataSourceId), dataSourceId);
+                if (Blank.isNotEmpty(itemDataByLast)) {
+                    for (Item item : itemDataByLast) {
+                        map.put(item.getName(), item);
+                    }
+                }
+                mapData.put(dataSourceId, map);
+            }
+            //将返回的值赋值给对应的数据项中
+            for (int i = 0; i < tList.size(); i++) {
+                ItemParent m = tList.get(i);
+                Item item = mapData.get(m.getDataSourceId().toString()).get(m.getItemReadName());
+                if (Blank.isNotEmpty(item)) {
+                    m.setDataValue(item.getValue());
+                    m.setDataTime(item.getTime());
+                }
+//                tList.set(i, m);
+            }
+        }
+        return tList;
+    }
+
+}

+ 22 - 0
industry-system/industry-da/src/main/java/com/example/opc_da/util/MainRunItemCh.java

@@ -0,0 +1,22 @@
+package com.example.opc_da.util;
+
+public class MainRunItemCh extends ItemParent{
+
+    //id
+    private Integer id;
+    private Integer mainRunId;
+    //虚拟字段,数据项描述
+    private String describe;
+    //虚拟字段,单位
+    private String unit;
+    //图标
+    private Integer iconId;
+    //虚拟字段,文件原始名称
+    private String originalFileName;
+    //虚拟字段,保存的文件名称
+    private String saveFileName;
+    //排序号
+    private Integer sortNum;
+    //是否在可视化界面展示,0否,1是
+    private Integer isShow = 0;
+}