package com.example.springboot.component; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import com.example.springboot.service.JdbcConnections; import com.example.springboot.service.SpianService; import com.example.springboot.entity.Glass; import com.example.springboot.mapper.AlarmMapper; import com.example.springboot.mapper.SpianMapper; public class PlcHold extends Thread { private AlarmMapper alarmMapper; @Autowired private JdbcConnections jdbcConnections; private SpianMapper spianMapper; private SpianService spianService; @Override public void run() { while (this != null) { try { Thread.sleep(500); } catch (InterruptedException e) { //\\ TODO Auto-generated catch block e.printStackTrace(); } spianService = WebSocketServer.applicationContext.getBean(SpianService.class); spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class); jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class); //根据玻璃id获取订单号 try { Glass glass=jdbcConnections.selectGlass(112); //System.out.println(glass.getOrderId()); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //spianService.selectout("11"); //判断进片请求 List datas1List=S7control.getinstance().ReadWord("DB106.24", 1); List datas1ListState=S7control.getinstance().ReadWord("DB106.8", 1); if(datas1List!=null &&datas1ListState!=null){ //获取prc进片请求数据 boolean exist = datas1List.contains((short)1); //获取进片车状态 boolean exist1 = datas1ListState.contains((short)0); //进片请求为1时 if(exist=true){ //当进片车空闲时 if(exist1=true){ //获取进片id List datas1ListID=S7control.getinstance().ReadWord("DB106.26", 13); //获取玻璃id for(Short list1:datas1ListID){ spianService.selectAll((short)list1); } } //System.out.println(exist); } } List outlist=S7control.getinstance().ReadWord("DB106.20", 1); //出片车状态 List outlist2=S7control.getinstance().ReadWord("DB106.20", 1); //出片任务完成 Listceshi1=new ArrayList();//出片车状态 Listceshi2=new ArrayList();//出片任务完成 ceshi1.add((short)0); ceshi2.add((short)1); if(ceshi1!=null && ceshi2!=null){ //判断按订单出片 boolean outstate = ceshi1.contains((short)0); boolean outstate2 = ceshi1.contains((short)1); if(outstate=true){ //出片车状态空闲时 if(outstate2=true){ //出片车任务完成时 String orderid=spianMapper.SelectOrderout(); if(orderid!=null){ spianService.selectout(orderid); } } } } // 查询数据库 // 推送到前端 } } }