Merge branch 'master' of http://121.40.234.130:8899/root/lanzhouhailiang_one
This commit is contained in:
@@ -3,6 +3,7 @@ package org.nl.acs.opc;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alicp.jetcache.anno.method.SpringCacheContext;
|
import com.alicp.jetcache.anno.method.SpringCacheContext;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.bag.SynchronizedSortedBag;
|
import org.apache.commons.collections4.bag.SynchronizedSortedBag;
|
||||||
@@ -10,7 +11,9 @@ import org.nl.acs.opc.service.dto.OpcServerManageDto;
|
|||||||
import org.nl.acs.udw.UnifiedDataAccessor;
|
import org.nl.acs.udw.UnifiedDataAccessor;
|
||||||
import org.nl.acs.udw.UnifiedDataAccessorFactory;
|
import org.nl.acs.udw.UnifiedDataAccessorFactory;
|
||||||
import org.nl.acs.udw.UnifiedDataAppService;
|
import org.nl.acs.udw.UnifiedDataAppService;
|
||||||
|
import org.nl.common.enums.LogTypeEnum;
|
||||||
import org.nl.config.SpringContextHolder;
|
import org.nl.config.SpringContextHolder;
|
||||||
|
import org.nl.config.lucene.service.dto.LuceneLogDto;
|
||||||
import org.openscada.opc.lib.da.*;
|
import org.openscada.opc.lib.da.*;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -416,6 +419,8 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
|
|||||||
|
|
||||||
private void logItemChanged(String itemId, UnifiedDataAccessor accessor_value, Object value, OpcItemDto itemDto) {
|
private void logItemChanged(String itemId, UnifiedDataAccessor accessor_value, Object value, OpcItemDto itemDto) {
|
||||||
Object his = accessor_value.getValue(itemId);
|
Object his = accessor_value.getValue(itemId);
|
||||||
|
itemDto.setHis_item_value(his);
|
||||||
|
itemDto.setItem_value(value);
|
||||||
List<String> relate_items = itemDto.getRelate_items();
|
List<String> relate_items = itemDto.getRelate_items();
|
||||||
if (relate_items != null && !relate_items.isEmpty()) {
|
if (relate_items != null && !relate_items.isEmpty()) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
@@ -427,20 +432,34 @@ public class DeviceOpcProtocolRunable implements Runnable, DataCallback, ServerC
|
|||||||
sb.append("key:" + relate + "value:" + obj + ";");
|
sb.append("key:" + relate + "value:" + obj + ";");
|
||||||
}
|
}
|
||||||
log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value, sb});
|
log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value, sb});
|
||||||
// this.businessLogger.setResource(itemDto.getDevice_code(), itemDto.getDevice_name()).log("信号{}变更从{}->{};信号快照:{}", new Object[]{itemId, his, value, sb});
|
if (!itemDto.getItem_code().endsWith("heartbeat") && !itemDto.getItem_code().endsWith("time")) {
|
||||||
|
LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(), itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
|
||||||
|
String.valueOf(itemDto.getHis_item_value()), String.valueOf(itemDto.getItem_value()));
|
||||||
|
luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
|
||||||
|
log.info("{}", JSON.toJSONString(luceneLogDto));
|
||||||
|
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if(his instanceof int[]){
|
if(his instanceof int[]){
|
||||||
if(!Arrays.equals((long[]) his, (long[]) value)){
|
if(!Arrays.equals((long[]) his, (long[]) value)){
|
||||||
log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value});
|
LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(), itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
|
||||||
|
String.valueOf(itemDto.getHis_item_value()), String.valueOf(itemDto.getItem_value()));
|
||||||
|
luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
|
||||||
|
log.info("{}", JSON.toJSONString(luceneLogDto));
|
||||||
}
|
}
|
||||||
} else if(his instanceof String){
|
} else if(his instanceof String){
|
||||||
if(!StrUtil.equals((CharSequence) his, (CharSequence) value)){
|
if(!StrUtil.equals((CharSequence) his, (CharSequence) value)){
|
||||||
log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value});
|
LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(), itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
|
||||||
|
String.valueOf(itemDto.getHis_item_value()), String.valueOf(itemDto.getItem_value()));
|
||||||
|
luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
|
||||||
|
log.info("{}", JSON.toJSONString(luceneLogDto));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
log.warn("设备:{}信号{}变更从{}->{};信号快照:{}", new Object[]{itemDto.getDevice_code(), itemId, his, value});
|
LuceneLogDto luceneLogDto = new LuceneLogDto(itemDto.getOpc_server_code(), itemDto.getOpc_plc_code(), itemDto.getDevice_code(), itemDto.getItem_code().substring(itemDto.getItem_code().lastIndexOf(".") + 1),
|
||||||
|
String.valueOf(itemDto.getHis_item_value()), String.valueOf(itemDto.getItem_value()));
|
||||||
|
luceneLogDto.setLogType(LogTypeEnum.DEVICE_LOG.getDesc());
|
||||||
|
log.info("{}", JSON.toJSONString(luceneLogDto));
|
||||||
}
|
}
|
||||||
// this.businessLogger.setResource(itemDto.getDevice_code(), itemDto.getDevice_name()).log("信号{}变更从{}->{}", new Object[]{itemId, his, value});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
package org.nl.acs.opc;
|
package org.nl.acs.opc;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author 20220102CG\noblelift
|
* @author 20220102CG\noblelift
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
public class OpcItemDto {
|
public class OpcItemDto {
|
||||||
private String device_code;
|
private String device_code;
|
||||||
private String device_name;
|
private String device_name;
|
||||||
@@ -14,6 +17,9 @@ public class OpcItemDto {
|
|||||||
private String opc_plc_code;
|
private String opc_plc_code;
|
||||||
private String item_code;
|
private String item_code;
|
||||||
private Object item_value;
|
private Object item_value;
|
||||||
|
|
||||||
|
private Object his_item_value;
|
||||||
|
|
||||||
private Boolean need_log = Boolean.valueOf(false);
|
private Boolean need_log = Boolean.valueOf(false);
|
||||||
private List<String> relate_items = new ArrayList();
|
private List<String> relate_items = new ArrayList();
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<!-- <el-table-column type="selection" width="55"/>-->
|
<!-- <el-table-column type="selection" width="55"/>-->
|
||||||
<!-- <el-table-column v-if="false" prop="id" label="id"/>-->
|
<!-- <el-table-column v-if="false" prop="id" label="id"/>-->
|
||||||
<el-table-column prop="operate" width="50" label="操作" />
|
<el-table-column prop="operate" width="50" label="操作" />
|
||||||
<el-table-column prop="device_code" label="设备号" />
|
<el-table-column prop="device_code" label="设备号" min-width="130" show-overflow-tooltip />
|
||||||
<el-table-column prop="task_code" label="任务编号" />
|
<el-table-column prop="task_code" label="任务编号" />
|
||||||
<el-table-column prop="instruct_code" label="指令编号" />
|
<el-table-column prop="instruct_code" label="指令编号" />
|
||||||
<el-table-column prop="method" label="方法" />
|
<el-table-column prop="method" label="方法" />
|
||||||
|
|||||||
Reference in New Issue
Block a user