wu
2023-12-07 9e8a54035a7b13ef75558c6e44ae7a7cd55693c9
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -1,16 +1,8 @@
package com.example.springboot.component;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import org.apache.ibatis.javassist.compiler.ast.Symbol;
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.entity.north_glass_buffer1;
import com.example.springboot.mapper.AlarmMapper;
import com.example.springboot.mapper.SpianMapper;
@@ -23,7 +15,7 @@
  private JdbcConnections jdbcConnections;
  private SpianMapper spianMapper;
  private SpianService spianService;
  @Override
  public void run() {
    boolean inglassbegin = false;
@@ -39,7 +31,20 @@
       spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
      spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
      jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
//      List<String> adddresslist = new ArrayList<>();
//      adddresslist.add("DB105.0");// 进片车起始位置
//      adddresslist.add("DB105.2");// 进片车目标位置
//      adddresslist.add("DB105.4");// 进片玻璃宽
//      adddresslist.add("DB105.8");//进片笼内已有玻璃数
//      adddresslist.add("DB105.16");// 进片车启动 1为启动
//      List<Short> datas = new ArrayList<>();
//      datas.add((short) 1000);//起始位置
//      datas.add((short) 5);//目标位置
//      datas.add((short) 610);//进片玻璃宽
//      datas.add((short) 1); //玻璃数
//      spianService.outmesid("123321","DB105.20");
//      datas.add((short) 1);//任务启动
//      S7control.getinstance().WriteWord(adddresslist, datas);
      // 根据玻璃id获取订单号,单独数据源
      // try {
      // north_glass_buffer1 glass = jdbcConnections.selectGlass(112);
@@ -59,7 +64,7 @@
      StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02的玻璃id
      // 当进片小车完成任务时
      if (B01backs == true) {
        // 当B01小车汇报完成时更改玻璃状态为1
        // 当B01小车汇报完成时更改玻璃状态  为1
        spianMapper.UpdateCageOver(B01glassid.toString(), 1);// 更改笼子表进片状态
        spianMapper.Updatetask(1, 0);// 更改进片任务状态为1
        spianMapper.UpdatetaskOut(B01glassid.toString()); // 完成上一次出片或者进片任务
@@ -87,8 +92,8 @@
      StringBuilder queueid1 = spianService.queGlassid("DB106.26", 14);// 获取请求的id跟DO1同时清
      // 获取DO2数据
      StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14);
      System.out.println("D01|" + queueid1);
      System.out.println("D02|" + queueid2);
//      System.out.println("D01|" + queueid1);
//      System.out.println("D02|" + queueid2);
      int questate = spianMapper.Selectquecount(queueid1.toString());// 判断扫码位是否有玻璃已确认
      // queueid1.toString().isEmpty()
@@ -148,7 +153,7 @@
          outglassbegin = false;
        }
        if (outstate == true & glass.getbarcode() != null) { // 当出片车空闲且有出片任务待完成时
        if (outstate == true & glass.getbarcode() != null&&Plchome.isAllowQueue==true) { // 当出片车空闲且有出片任务待完成时
          // 判断有两个出片或调拨任务时并且出片id和未完成的出片任务id不一样时执行出片
          if (!writedstrIdOut.toString().equals(glass.getbarcode().toString())) {
            spianService.selectout2(glass.getbarcode().toString());
@@ -158,7 +163,7 @@
        // 判断当前是否有未执行的任务
        int outnum = spianMapper.SelectOutSliceshu();
        // 当没有任务执行并且出片车空闲时
        if (outnum == 0 && outstate == true) {
        if (outnum == 0 && outstate == true&&Plchome.isAllowQueue==true) {
          // 判断铝框出片队列表是否有待出片的玻璃
          String outglassid = spianMapper.SelectOutSlice();
          if (outglassid != null) {