zhoupeng 1 year ago
parent
commit
6225285006

+ 2 - 0
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/dao/RawDataDao.java

@@ -59,4 +59,6 @@ public interface RawDataDao {
     Integer updateAttachRawData(AttachRawData attachRawData);
 
     List<Long> getEventRealIndexList(Integer itemGroupId, Integer dataSourceId, Integer itemId, List<Long> indexList, Integer eventMode, Double modeValue);
+
+    AttachRawData getAttachRawDataReal(Integer itemGroupId, Integer dataSourceId, String itemReadName);
 }

+ 4 - 1
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/service/impl/ItemGroupServiceImpl.java

@@ -165,9 +165,10 @@ public class ItemGroupServiceImpl implements ItemGroupService {
                 if (Blank.isEmpty(itemList)) {
                     itemGroupDao.delItemByGroupId(id);
                 } else {
+                    DataSourceDriver dataSourceDriver = null;
                     if (isOpcDa) {
                         String clsId = dataSource.getClsId();
-                        DataSourceDriver dataSourceDriver = dataSourceDao.getDataSourceDriverByclsId(clsId.toUpperCase());
+                        dataSourceDriver = dataSourceDao.getDataSourceDriverByclsId(clsId.toUpperCase());
                         itemList = OpcDaUtil.genBasicDa(dataSource, itemList,
                                 Blank.isEmpty(dataSourceDriver) ? null : dataSourceDriver);
                     }
@@ -175,6 +176,8 @@ public class ItemGroupServiceImpl implements ItemGroupService {
                     itemGroupDao.delItemNoPub(id, itemList);
                     //得到没有删除的项
                     List<Item> noDelItemList = itemGroupDao.getPublicItemList(id, itemList);
+                    noDelItemList = OpcDaUtil.genBasicDa(dataSource, noDelItemList,
+                            Blank.isEmpty(dataSourceDriver) ? null : dataSourceDriver);
                     if (Blank.isNotEmpty(noDelItemList)) {
                         List<Item> newItemList = new ArrayList<>();
                         List<Item> oldItemList = new ArrayList<>();

+ 1 - 1
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/OpcAsyncTask.java

@@ -67,7 +67,7 @@ public class OpcAsyncTask {
 
     public synchronized void addAttachRawData(AttachRawData attachRawData) {
         if (Blank.isNotEmpty(attachRawData)) {
-            AttachRawData attachRawData1 = rawDataDao.getAttachRawData(attachRawData.getItemGroupId(), attachRawData.getDataSourceId(), attachRawData.getItemName());
+            AttachRawData attachRawData1 = rawDataDao.getAttachRawDataReal(attachRawData.getItemGroupId(), attachRawData.getDataSourceId(), attachRawData.getItemName());
             if (Blank.isEmpty(attachRawData1)) {
                 rawDataDao.addAttachRawData(attachRawData);
             } else {

+ 1 - 1
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/OpcDaExceedTask.java

@@ -107,7 +107,7 @@ public class OpcDaExceedTask extends TimerTask {
                             String currentYmdh = DateUtil.dateChangeStr(time, timeFormat);
                             String currentYmdhmss = DateUtil.dateChangeStrYmdhmss(time);
                             if (isDriverItem.equals(ConstantStr.IS_DRIVER_ITEM)) {
-                                if (index % 10 == 0) {
+                                if (index % 20 == 0) {
                                     opcAsyncTask.packageEventTable(itemList, dataSourceId, index - 1);
                                     redisUtil.set(ConstantStr.INDEX + id, index, ConstantStr.TWO_HOUR);
                                 }

+ 0 - 3
chaunyi_opc/opc_da/src/main/java/com/example/opc_da/task/OpcDaTask.java

@@ -1,7 +1,6 @@
 package com.example.opc_da.task;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.example.opc_common.entity.*;
 import com.example.opc_common.enums.ResultEnum;
 import com.example.opc_common.exception.CustomException;
@@ -26,7 +25,6 @@ import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Slf4j
 @Component
@@ -162,7 +160,6 @@ public class OpcDaTask {
                                 Map<String, Object> val = OpcDaUtil.getVal(itemMap.getValue());
                                 String javaType = val.get("javaType").toString();
                                 Object value = val.get("value");
-                                JSONObject jsonObject = new JSONObject();
                                 if (javaType.toLowerCase().equals("boolean")) {
                                     AttachRawData attachRawData = new AttachRawData(
                                             id, dataSource.getId(), keyId, javaType, value.toString(), value.toString(), DateUtil.dateChangeStrYmdhmss(time), new Date()

+ 3 - 1
chaunyi_opc/opc_da/src/main/resources/mapper/ItemGroupDao.xml

@@ -76,9 +76,11 @@
 
     <update id="updateItemByName">
         update t_item
-        set data_model_id=#{dataModelId},
+        set item_type=#{itemType},
+            data_model_id=#{dataModelId},
             is_driver_item=#{isDriverItem}
         where item_name = #{itemName}
+          and item_group_id = #{itemGroupId}
     </update>
 
     <delete id="delItemByGroupId">

+ 11 - 2
chaunyi_opc/opc_da/src/main/resources/mapper/RawDataDao.xml

@@ -298,14 +298,23 @@
             #{index}
         </foreach>
         <if test="eventMode==0">
-            AND #{modeValue} &gt;data_value
+            AND #{modeValue} &lt;data_value
         </if>
         <if test="eventMode==1">
-            AND #{modeValue} &lt; data_value
+            AND #{modeValue} &gt; data_value
         </if>
         <if test="eventMode==2">
             AND #{modeValue} = data_value
         </if>
         ORDER BY data_index
     </select>
+
+    <select id="getAttachRawDataReal" resultType="com.example.opc_common.entity.AttachRawData">
+        select
+        <include refid="attachRawData"/>
+        from t_attach_raw_data
+        where item_group_id=#{itemGroupId}
+        and data_source_id=#{dataSourceId}
+        and item_name= #{itemReadName}
+    </select>
 </mapper>

+ 3 - 2
chaunyi_opc/opc_da/src/main/resources/mapper/ReportTableDao.xml

@@ -119,11 +119,11 @@
 
     <insert id="addTableTemplateItem">
         <if test="tableTemplateTableItemList!= null and tableTemplateTableItemList.size() >0">
-            insert into t_table_template_table_item (table_template_id, item_id, place_holder, xaxis, yaxis,
+            insert into t_table_template_table_item (table_template_id, item_id, is_driver_item, place_holder, xaxis, yaxis,
             value_taking_mode, value_type, bucket_type, bucket_value, standby)
             values
             <foreach collection="tableTemplateTableItemList" item="tableTemplateTableItem" separator=",">
-                (#{tableTemplateTableItem.tableTemplateId}, #{tableTemplateTableItem.itemId},
+                (#{tableTemplateTableItem.tableTemplateId}, #{tableTemplateTableItem.itemId},#{tableTemplateTableItem.isDriverItem},
                 #{tableTemplateTableItem.placeHolder},
                 #{tableTemplateTableItem.xaxis}
                 , #{tableTemplateTableItem.yaxis},
@@ -649,6 +649,7 @@
         SELECT tttti.id,
                tttti.table_template_id,
                tttti.item_id,
+               tttti.is_driver_item,
                ti.item_group_id,
                ti.item_name,
                ti.item_type,

+ 1 - 1
chaunyi_opc/opc_ua/src/main/java/com/example/opc_ua/task/OpcUaExceedTask.java

@@ -100,7 +100,7 @@ public class OpcUaExceedTask extends TimerTask {
             try {
                 DataValue dataValue = opcUaClient.readValue(0.0, TimestampsToReturn.Both, n).get();
                 if (isDriverItem.equals(ConstantStr.IS_DRIVER_ITEM)) {
-                    if (index % 10 == 0) {
+                    if (index % 20 == 0) {
                         opcAsyncTask.packageEventTable(itemList, dataSourceId, index - 1);
                     }
                 }

+ 4 - 4
chaunyi_opc/opc_ua/src/main/resources/mapper/RawDataDao.xml

@@ -197,11 +197,11 @@
         <foreach collection="indexList" item="index" separator="," open="(" close=")">
             #{index}
         </foreach>
-        <if test="#{eventMode}==0">
-            AND #{modeValue} &gt;data_value
+        <if test="eventMode==0">
+            AND #{modeValue} &lt;data_value
         </if>
-        <if test="#{eventMode}==1">
-            AND #{modeValue} &lt; data_value
+        <if test="eventMode==1">
+            AND #{modeValue} &gt; data_value
         </if>
         <if test="#{eventMode}==2">
             AND #{modeValue} = data_value

+ 1 - 0
chaunyi_opc/opc_ua/src/main/resources/mapper/ReportTableDao.xml

@@ -249,6 +249,7 @@
         SELECT tttti.id,
                tttti.table_template_id,
                tttti.item_id,
+               tttti.is_driver_item,
                ti.item_group_id,
                ti.item_name,
                ti.item_type,