package com.jcdm.main.plcserver; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jcdm.main.constant.Constants; import com.jcdm.main.da.cellData.service.IDaCellDataService; import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService; import com.jcdm.main.da.opcuaconfig.domain.DaOpcuaConfig; import com.jcdm.main.da.opcuaconfig.service.IDaOpcuaConfigService; import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; import com.jcdm.main.da.testDeviceInterfaceTemp.service.IDaTestDeviceInterfaceTempService; import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService; import com.jcdm.main.plcserver.sub.OPCUaSubscription; import com.kangaroohy.milo.service.MiloService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Component; import java.util.List; import java.util.stream.Collectors; @Component public class CustomRunner implements ApplicationRunner { @Autowired private MiloService miloService; @Autowired private IDaPassingStationCollectionService daPassingStationCollectionService; @Autowired private IDaCollectionParamConfService collectionParamConfService; @Autowired private IDaParamCollectionService daParamCollectionService; @Autowired private IOmProductionOrdeInfoService omProductionOrdeInfoService; @Autowired private IDaOpcuaConfigService daOpcuaConfigService; @Autowired private IDaTestDeviceInterfaceTempService daTestDeviceInterfaceTempService; @Autowired private IDaCellDataService daCellDataService; @Override public void run(ApplicationArguments args) throws Exception { //PLC到MES物料转换 Constants.materialMap.put("1","9900199052A"); Constants.materialMap.put("2","9900199053B"); OPCUaSubscription opcUaSubscription = new OPCUaSubscription( miloService, daPassingStationCollectionService, collectionParamConfService, daParamCollectionService, omProductionOrdeInfoService, daTestDeviceInterfaceTempService, daCellDataService); List lists = getSubList(); System.out.println("订阅内容:"+lists); miloService.subscriptionFromOpcUa(lists,50,opcUaSubscription); } /** * 订阅内容 */ public List getSubList(){ List lists = daOpcuaConfigService.list(new LambdaQueryWrapper() .eq(DaOpcuaConfig::getState, Constants.USE_ING) .eq(DaOpcuaConfig::getSubscribe,Constants.YES)) .stream().map(DaOpcuaConfig::getNode).collect(Collectors.toList()); return lists; } }