From 01cb633562174ae7390d12b85690a45997f34be7 Mon Sep 17 00:00:00 2001 From: yyt <306727702@qq.com> Date: 星期三, 24 一月 2024 11:17:20 +0800 Subject: [PATCH] 更新OPCUA --- jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java | 65 ++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 21 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java index ec82a91..1fe5a1e 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java @@ -6,10 +6,14 @@ import com.jcdm.main.da.opcuaconfig.domain.NodeEntity; import com.jcdm.main.da.opcuaconfig.init.BeanUtils; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; +import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; +import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; +import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import lombok.extern.slf4j.Slf4j; import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue; import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId; +import java.time.Duration; import java.util.*; import java.util.stream.Collectors; @@ -18,10 +22,16 @@ @Slf4j public class MethodName { private IDaCollectionParamConfService collectionParamConfService = BeanUtils.getBean(IDaCollectionParamConfService.class); + private IDaParamCollectionService daParamCollectionService = BeanUtils.getBean(IDaParamCollectionService.class); + private IDaPassingStationCollectionService daPassingStationCollectionService = BeanUtils.getBean(IDaPassingStationCollectionService.class); + private List<DataValue> s=null; public void getSn(String Node, String value) throws Exception { log.info(Node+":"+value); String[] parts = Node.split("[.]"); ClientHandler clientHandler=new ClientHandler(); + NodeEntity SN_node= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".SNCode").value("").type("").build(); + String SNCode=clientHandler.read(SN_node); + log.info("璇诲彇鑺傜偣:{},缁撴灉:{}", SN_node.getIdentifier(),SNCode); switch (value) { case "0": //鍒濆 NodeEntity node= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("0").type("short").build(); @@ -31,24 +41,46 @@ case "1": //璇锋眰涓嬪彂杩涚珯鐘舵�� NodeEntity node1= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("11").type("short").build(); Boolean out1=clientHandler.write(node1); + DaPassingStationCollection PassingStationCollection=new DaPassingStationCollection(); + PassingStationCollection.setSfcCode(SNCode); + PassingStationCollection.setLocationCode(parts[1]); + PassingStationCollection.setInboundTime(new Date()); + daPassingStationCollectionService.insertDaPassingStationCollection(PassingStationCollection); log.info("鑺傜偣:{},鍝嶅簲缁撴灉:{}", node1.getIdentifier(),out1); break; case "2": //璇锋眰璁板綍宸ヤ綅鏁版嵁 List<DaCollectionParamConf> b; DaCollectionParamConf daCollectionParamConf=new DaCollectionParamConf(); - daCollectionParamConf.setCollectParameterId(parts[0]+"."+parts[1]); + daCollectionParamConf.setGatherAddress(parts[0]+"."+parts[1]); b=collectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf); - List<String> ids = b.stream().map(e -> e.getCollectParameterId()).collect(Collectors.toList()); - Set<String> de=ListToSet(ids); - List<DataValue> s=readValues(de); -// s.forEach(element->{ -// DaParamCollection Config=new DaParamCollection(); -// String[] q = element.getIdentifier().split("[.]"); -// Config.setParamCode(q[2]); -// Config.setLocationCode(q[1]); -// Config.setParamValue(element.getValue().toString()); -// daParamCollectionService.insertDaParamCollection(Config); -// }); + + List<NodeId> nodeId = b.stream().map(info -> { + NodeId nodeid = new NodeId(2,info.getGatherAddress()); + return nodeid; + }).collect(Collectors.toList()); + List<DataValue> s=readValues(nodeId); + //淇濆瓨PLC閲囬泦鏁版嵁 + for(int i=0;i<nodeId.size();i++) + { + DaParamCollection Config=new DaParamCollection(); + Config.setParamCode(nodeId.get(i).getIdentifier().toString().split("[.]")[2]); + Config.setLocationCode(nodeId.get(i).getIdentifier().toString().split("[.]")[1]); + Config.setParamValue(s.get(i).getValue().getValue().toString()); + Config.setSfcCode(SNCode); + Config.setParamName(b.get(i).getGatherAddress()); + daParamCollectionService.insertDaParamCollection(Config); + } + //鏇存柊鍑虹珯鏃堕棿锛岃绠楄妭鎷嶃�� + DaPassingStationCollection PSC=new DaPassingStationCollection(); + PSC.setSfcCode(SNCode); + List<DaPassingStationCollection> LPSC=daPassingStationCollectionService.selectDaPassingStationCollectionList(PSC); + if(LPSC != null && LPSC.size() > 0){ + LPSC.get(0).setOutboundTime(new Date()); + LPSC.get(0).setCollectionTime(new Date()); + LPSC.get(0).setBeatTime(Long.toString(Math.abs(new Date().getTime() - LPSC.get(0).getInboundTime().getTime()))); + daPassingStationCollectionService.updateDaPassingStationCollection(LPSC.get(0)); + } + //鏇存柊PLC鑺傜偣鐘舵�� NodeEntity node2= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("21").type("short").build(); Boolean out2=clientHandler.write(node2); log.info("鑺傜偣:{},鍝嶅簲缁撴灉:{}", node2.getIdentifier(),out2); @@ -56,14 +88,5 @@ default: break; } - } - - public Set<String> ListToSet(List<String> list) { - Object[] objects = list.toArray();// 杩斿洖Object鏁扮粍 - String[] strings1 = new String[list.size()]; - list.toArray(strings1);// 灏嗚浆鍖栧悗鐨勬暟缁勬斁鍏ュ凡缁忓垱寤哄ソ鐨勫璞′腑 - String[] strings2 = list.toArray(new String[0]);// 灏嗚浆鍖栧悗鐨勬暟缁勮祴缁欐柊瀵硅薄 - Set<String> set = new HashSet<String>(Arrays.asList(strings2)); - return set; } } -- Gitblit v1.9.3