wang
2024-05-09 93e36c526fe445c14d5fb19f3653f8a8e55e3a6c
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plcdownglass.java
@@ -2,24 +2,21 @@
import cn.hutool.json.JSONObject;
import com.mes.device.PlcParameterObject;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
import com.mes.downstorage.service.DownStorageCageService;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.function.Supplier;
@Component
@Slf4j
public class Plcdownglass extends Thread {
public class Plcdownglass {
    public static final String RESULT_IN = "1";
    public static final String RESULT_OUT = "2";
@@ -28,54 +25,41 @@
    @Autowired
    private DownStorageCageService downStorageCageService;
    @Autowired
  private DownWorkstationService downWorkstationService;
//     private final Supplier<DownWorkstationService> plcServiceSupplier;
//
//    public Plcdownglass() {
//        this.plcServiceSupplier = () -> WebSocketServer.applicationContext.getBean(DownWorkstationService.class);
//    }
    private DownWorkstationService downWorkstationService;
    @Scheduled(fixedDelay = 300)
    public void PlcdownglassTask() throws InterruptedException {
        JSONObject jsonObject = new JSONObject();
        try {
            Thread.sleep(300);
    @Override
    public void run() {
        while (this != null) {
            JSONObject jsonObject = new JSONObject();
            try {
                Thread.sleep(100);
                downWorkstationService = WebSocketServer.applicationContext.getBean(DownWorkstationService.class);
                downStorageCageService = WebSocketServer.applicationContext.getBean(DownStorageCageService.class);
                //                String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
            //                String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
//                String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + "";
                String result ="1";
                String number ="1";
                // 进片请求
                if (RESULT_IN.equals(result)) {
            String result = "2";
            String number = "1";
            // 进片请求
            if (RESULT_IN.equals(result)) {
                downStorageCageService.processInto(number);
            }
            // 出片请求
            else if (RESULT_OUT.equals(result)) {
                downStorageCageService.processOut();
            }
            // 进出片请求
            else if (RESULT_IN_OUT.equals(result)) {
                // 先出后进
                if (!downStorageCageService.processOut()) {
                    downStorageCageService.processInto(number);
                }
                // 出片请求
                else if (RESULT_OUT.equals(result)) {
                    downStorageCageService.processOut();
                }
                // 进出片请求
                else if (RESULT_IN_OUT.equals(result)) {
                    // 先出后进
                    if (!downStorageCageService.processOut()) {
                        downStorageCageService.processInto(number);
                    }
                }
                downWorkstationService.insertdownglassinfo();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
            //下片更新
            downWorkstationService.insertdownglassinfo();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}