| | |
| | | package org.jeecg.modules.dry.runner; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.kangaroohy.milo.service.MiloService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.modules.dry.entity.DryOpcDevice; |
| | | import org.jeecg.modules.dry.service.IDryOpcDeviceService; |
| | | import org.jeecg.modules.dry.vo.DryOpcMsgVo; |
| | | import org.jeecg.modules.dry.websocket.DrySocket; |
| | | 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.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class OpcCustomRunner implements ApplicationRunner { |
| | | @Autowired |
| | | private MiloService miloService; |
| | | |
| | | |
| | | @Autowired |
| | | private IDryOpcDeviceService dryOpcDeviceService; |
| | | |
| | | @Autowired |
| | | private DrySocket drySocket; |
| | | @Override |
| | | public void run(ApplicationArguments args) throws Exception { |
| | | |
| | | subscript(); |
| | | |
| | | } |
| | | |
| | | private void subscript() throws Exception { |
| | | List<String> ids = new ArrayList<>(); |
| | | List<DryOpcDevice> list = dryOpcDeviceService.list(); |
| | | list.forEach(item -> { |
| | | ids.add(item.getIdentifier()); |
| | | }); |
| | | // ids.add("通道 1.设备 1.标记 1"); |
| | | // ids.add("通道 1.设备 1.标记 2"); |
| | | // ids.add("channel1.device1.tag1"); |
| | | // ids.add("channel1.device1.tag2"); |
| | | // ids.add("channel1.device1.tag3"); |
| | | // ids.add("channel1.device1.tag4"); |
| | | // ids.add("channel1.device1.tag5"); |
| | | // ids.add("channel1.device1.tag6"); |
| | | miloService.subscriptionFromOpcUa(ids, (id,value)->{ |
| | | log.info("subscription 点位:{} 订阅到消息:{}", id, value); |
| | | |
| | | DryOpcMsgVo dryOpcMsgVo = new DryOpcMsgVo(id, (Boolean) value); |
| | | drySocket.pushMessage("1003", JSON.toJSONString(dryOpcMsgVo)); |
| | | } ); |
| | | } |
| | | } |
| | | //package org.jeecg.modules.dry.runner; |
| | | // |
| | | //import com.alibaba.fastjson.JSON; |
| | | //import com.kangaroohy.milo.service.MiloService; |
| | | //import lombok.extern.slf4j.Slf4j; |
| | | //import org.jeecg.modules.dry.entity.DryOpcDevice; |
| | | //import org.jeecg.modules.dry.service.IDryOpcDeviceService; |
| | | //import org.jeecg.modules.dry.vo.DryOpcMsgVo; |
| | | //import org.jeecg.modules.dry.websocket.DrySocket; |
| | | //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.ArrayList; |
| | | //import java.util.List; |
| | | // |
| | | //@Component |
| | | //@Slf4j |
| | | //public class OpcCustomRunner implements ApplicationRunner { |
| | | // @Autowired |
| | | // private MiloService miloService; |
| | | // |
| | | // |
| | | // @Autowired |
| | | // private IDryOpcDeviceService dryOpcDeviceService; |
| | | // |
| | | // @Autowired |
| | | // private DrySocket drySocket; |
| | | // @Override |
| | | // public void run(ApplicationArguments args) throws Exception { |
| | | // |
| | | // subscript(); |
| | | // |
| | | // } |
| | | // |
| | | // private void subscript() throws Exception { |
| | | // List<String> ids = new ArrayList<>(); |
| | | // List<DryOpcDevice> list = dryOpcDeviceService.list(); |
| | | // list.forEach(item -> { |
| | | // ids.add(item.getIdentifier()); |
| | | // }); |
| | | //// ids.add("通道 1.设备 1.标记 1"); |
| | | //// ids.add("通道 1.设备 1.标记 2"); |
| | | //// ids.add("channel1.device1.tag1"); |
| | | //// ids.add("channel1.device1.tag2"); |
| | | //// ids.add("channel1.device1.tag3"); |
| | | //// ids.add("channel1.device1.tag4"); |
| | | //// ids.add("channel1.device1.tag5"); |
| | | //// ids.add("channel1.device1.tag6"); |
| | | // miloService.subscriptionFromOpcUa(ids, (id,value)->{ |
| | | // log.info("subscription 点位:{} 订阅到消息:{}", id, value); |
| | | // |
| | | // DryOpcMsgVo dryOpcMsgVo = new DryOpcMsgVo(id, (Boolean) value); |
| | | // drySocket.pushMessage("1003", JSON.toJSONString(dryOpcMsgVo)); |
| | | // } ); |
| | | // } |
| | | //} |