From ddf7bfc1a172d3ad52f9ae0a728e91d405f2dd49 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 13 五月 2024 14:10:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java  |   13 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java              |   10 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java                                |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java                  |   19 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java         |  201 +-------
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java         |    9 
 /dev/null                                                                                                                                |  458 -------------------
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java                          |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java                                      |  301 +++++++++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json                                          |   88 +-
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java     |   69 --
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java                                             |   61 ++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java                  |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java           |    3 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java                  |   10 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java          |    4 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java                                               |   78 +--
 18 files changed, 517 insertions(+), 826 deletions(-)

diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
index 2ad66f4..e5f4389 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -1,62 +1,36 @@
 package com.mes.common;
 
 import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.mes.device.PlcParameterObject;
-import com.mes.tools.InitUtil;
 import com.mes.tools.S7control;
-
-
 
 /**
  * @Author : zhoush
  * @Date: 2024/4/9 15:13
  * @Description:
  */
-public class S7object extends Thread {
-    public S7control plccontrol; // PLC閫氳绫诲疄渚�
-    private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
-    private String ip = "192.168.10.1"; // plc ip鍦板潃
-    private int port = 102; // plc 绔彛鍙�
-
-
-    public PlcParameterObject PlcMesObject;
-    private static volatile S7object instance = null;
-
-    private S7object() {
-        if (plccontrol == null) {
-            plccontrol = new S7control(plcType, ip, port, 0, 0);
-
-            String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcLoadGlass.json").getPath();
-            //log.info(PLCAutoMes.class.getResource("").getPath());
-            PlcMesObject = InitUtil.initword(PlcLoadGlass);
-        }
-    }
-
-    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
-    public static S7object getinstance() {
-        if (instance == null) {
-            synchronized (S7object.class) {
-                if (instance == null) {
-                    instance = new S7object();
-                }
-            }
-        }
-        return instance;
-    }
-
-    @Override
-    public void run() {
-        while (this != null) {
-            try {
-                Thread.sleep(100);
-
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-
-            byte[] getplcvlues=   plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(),PlcMesObject.getPlcAddressLength());
-            PlcMesObject.setPlcParameterList(getplcvlues);
-
-        }
-    }
-}
+//public class S7object {
+//    public S7control plccontrol; // PLC閫氳绫诲疄渚�
+//    private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+//    private String ip = "192.168.10.1"; // plc ip鍦板潃
+//    private int port = 102; // plc 绔彛鍙�
+//
+//    private static volatile S7object instance = null;
+//
+//    private S7object() {
+//        if (plccontrol == null) {
+//            plccontrol = new S7control(plcType, ip, port, 0, 0);
+//        }
+//    }
+//
+//    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+//    public static S7object getinstance() {
+//        if (instance == null) {
+//            synchronized (S7object.class) {
+//                if (instance == null) {
+//                    instance = new S7object();
+//                }
+//            }
+//        }
+//        return instance;
+//    }
+//}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
deleted file mode 100644
index e3218e1..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.mes.common;
-
-import com.mes.device.PlcParameterObject;
-import com.mes.tools.InitUtil;
-import org.springframework.context.annotation.Configuration;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-//import static com.mes.tools.InitUtil.readAndUpdateWordValues;
-
-public class PLCAutoMes extends Thread {
-
-    // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
-    private Configuration config;
-    private static InitUtil initUtil;
-
-
-    // 鍗曚緥瀹炰緥
-    private static PLCAutoMes instance;
-    private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
-    private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
-    private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
-
-    private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
-    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
-
-    // 璋冪敤initword鏂规硶
-
-    //
-    // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
-    public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes);
-    public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
-    public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
-
-    // 绉佹湁鏋勯�犲嚱鏁�
-    public PLCAutoMes() throws IOException {
-
-        initUtil = new InitUtil();
-    }
-
-    // 鑾峰彇鍗曚緥瀹炰緥
-    public static synchronized PLCAutoMes getInstance() throws IOException {
-        if (instance == null) {
-            instance = new PLCAutoMes();
-        }
-        return instance;
-    }
-
-    @Override
-    public void run() {
-        while (this != null) {
-            try {
-                Thread.sleep(100);
-
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-
-            // System.out.println(jsonFilePath);
-
-            // readAndUpdateWordValues(PlcReadObject);
-            //readAndUpdateWordValues(PlcMesObject);
-
-            List<String> addresses = new ArrayList<>();
-            addresses.add("FeedID");
-            addresses.add("AddStart");
-
-            List<String> addresses2 = new ArrayList<>();
-            addresses2.add("FeedID");
-            addresses2.add("FeedCarStatus");
-
-            //   System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
-
-        }
-    }
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plcdownglass.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plcdownglass.java
deleted file mode 100644
index 9b1b935..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plcdownglass.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.mes.common;
-
-import cn.hutool.json.JSONObject;
-
-import com.mes.downstorage.service.DownStorageCageService;
-import com.mes.downworkstation.service.DownWorkstationService;
-
-
-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;
-
-@Component
-@Slf4j
-public class Plcdownglass {
-
-    public static final String RESULT_IN = "1";
-    public static final String RESULT_OUT = "2";
-    public static final String RESULT_IN_OUT = "3";
-
-    @Autowired
-    private DownStorageCageService downStorageCageService;
-    @Autowired
-    private DownWorkstationService downWorkstationService;
-
-
-   @Scheduled(fixedDelay = 300)
-    public void PlcdownglassTask() throws InterruptedException {
-        JSONObject jsonObject = new JSONObject();
-        try {
-            Thread.sleep(300);
-
-
-            //                String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
-//                String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + "";
-            String result = "3";
-            String number = "4";
-            // 杩涚墖璇锋眰
-            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()) {
-                    //涓嬬墖鏇存柊
-                    downWorkstationService.insertdownglassinfo();
-                    // 鎵ц杩涚墖鎿嶄綔
-                    downStorageCageService.processInto(number);
-                } else {
-                    // 濡傛灉 processOut() 杩斿洖 false锛屽彲浠ュ湪杩欓噷澶勭悊鍏朵粬閫昏緫
-                    log.info("鍑虹墖璇锋眰澶辫触锛屾棤娉曟墽琛岃繘鐗囨搷浣�");
-                }
-
-            }
-
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java
deleted file mode 100644
index 4969337..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.mes.common;
-
-import cn.hutool.json.JSONObject;
-
-import com.mes.downworkstation.service.DownWorkstationService;
-import com.mes.tools.WebSocketServer;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Supplier;
-
-@Component
-public class Plchome extends Thread {
-    private int i = 1;
-    private static final Logger log = LogManager.getLogger(Plchome.class);
-    @Autowired
-    private  DownWorkstationService downWorkstationService;
-
-   // private final Supplier<DownGlassLogic> plcServiceSupplier;
-
-//    public Plchome() {
-//        this.plcServiceSupplier = () -> WebSocketServer.applicationContext.getBean(DownGlassLogic.class);
-//    }
-
-
-    @Override
-    public void run() {
-        while (!Thread.currentThread().isInterrupted()) {
-            try {
-                i++;
-                Thread.sleep(1000);
-                JSONObject jsonObject = new JSONObject();
-                System.out.println(77);
-                downWorkstationService = WebSocketServer.applicationContext.getBean(DownWorkstationService.class);
-                List<Map<String, Object>>  yy= downWorkstationService.getTotalGlassDimensionsByWorkstation();
-                jsonObject.append("data", yy);
-                ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
-                if (sendwServer != null) {
-                    for (WebSocketServer webserver : sendwServer) {
-                        webserver.sendMessage(jsonObject.toString());
-                        log.info("鍑嗗鍚� WebSocket 鏈嶅姟鍣ㄥ彂閫佹秷鎭�: {}", jsonObject.toString());
-                    }
-                }
-
-
-            } catch (InterruptedException e) {
-                Thread.currentThread().interrupt();
-                e.printStackTrace();
-            }
-
-
-
-        }
-    }
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
deleted file mode 100644
index 429a6e0..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
+++ /dev/null
@@ -1,458 +0,0 @@
-package com.mes.common;
-
-import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
-import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
-import com.google.common.primitives.Bytes;
-
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
-
-public class S7control {
-
-    S7PLC s7PLC; // PLC閫氳绫诲疄渚�
-    private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
-    private String ip = "192.168.10.1"; // plc ip鍦板潃
-    private int port = 102; // plc 绔彛鍙�
-
-    private static volatile S7control instance = null;
-
-    private S7control() {
-        if (s7PLC == null)
-            s7PLC = new S7PLC(plcType, ip, port, 0, 0);
-    }
-
-    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
-    public static S7control getinstance() {
-        if (instance == null) {
-            synchronized (S7control.class) {
-                if (instance == null) {
-                    instance = new S7control();
-                }
-            }
-        }
-        return instance;
-    }
-
-    /**
-     * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
-     */
-    public void CloseS7client() {
-        if (s7PLC == null)
-            s7PLC.close();
-        s7PLC.checkConnected();
-    }
-
-    /**
-     * s7閫氳杩炴帴鐘舵��
-     */
-    public boolean CheckConnected() {
-        return s7PLC.checkConnected();
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
-     *
-     * @param address 鍦板潃
-     * @param data    word鐨勫��
-     */
-    public void WriteWord(String address, short data) {
-        if (s7PLC == null) {
-            return;
-        }
-        s7PLC.writeInt16(address, data);
-    }
-
-    /**
-     * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
-     *
-     * @param address 鍦板潃
-     * @param datas   word鐨勫��
-     */
-    public void WriteWord(String address, List<Short> datas) {
-        if (s7PLC == null)
-            return;
-        // s7PLC.write(address, data);
-        List<String> addresslist = GetAddressList(address, datas.size(), 16);
-        MultiAddressWrite addressWrite = new MultiAddressWrite();
-        for (int i = 0; i < datas.size(); i++) {
-            addressWrite.addInt16(addresslist.get(i), datas.get(i));
-        }
-        s7PLC.writeMultiData(addressWrite);
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
-     *
-     * @param address 鍦板潃
-     * @param datas   word鐨勫��
-     */
-
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
-     *
-     * @param address 鍦板潃
-     * @param data    Bit鐨勫��
-     */
-    public void WriteBit(String address, Boolean data) {
-        if (s7PLC == null)
-            return;
-        s7PLC.writeBoolean(address, data);
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜bit
-     *
-     * @param address 鍦板潃
-     * @param datas   bit鐨勫��
-     */
-    public void WriteBit(List<String> address, List<Boolean> datas) {
-        if (s7PLC == null)
-            return;
-        // s7PLC.write(address, data);
-
-        MultiAddressWrite addressWrite = new MultiAddressWrite();
-        for (int i = 0; i < address.size(); i++) {
-            addressWrite.addBoolean(address.get(i), datas.get(i));
-        }
-        s7PLC.writeMultiData(addressWrite);
-    }
-
-    /**
-     * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
-     *
-     * @param address 鍦板潃
-     * @param datas   word鐨勫��
-     */
-    public void WriteBit(String address, List<Boolean> datas) {
-        if (s7PLC == null)
-            return;
-        // s7PLC.write(address, data);
-        List<String> addresslist = GetAddressList(address, datas.size(), 1);
-        MultiAddressWrite addressWrite = new MultiAddressWrite();
-        for (int i = 0; i < datas.size(); i++) {
-            addressWrite.addBoolean(addresslist.get(i), datas.get(i));
-        }
-        s7PLC.writeMultiData(addressWrite);
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜byte
-     *
-     * @param address 鍦板潃
-     * @param datas   byte鐨勫��
-     */
-    public void WriteByte(String address, byte[] datas) {
-        if (s7PLC == null)
-            return;
-        // s7PLC.write(address, data); 
-        s7PLC.writeByte(address, datas);
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     *
-     * @param address 鍦板潃
-     * @return 缁撴灉
-     */
-    public List<Short> ReadWord(List<String> address) {
-        if (s7PLC == null)
-            return null;
-
-        try {
-            return s7PLC.readInt16(address);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            return null;
-        }
-    }
-
-
-    private int getIndexFromAddress(String address) {
-
-        // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
-        return 0;
-    }
-
-    private String getAddressFromIndex(int index) {
-
-        // 鏁存暟杞崲涓哄湴鍧�鏍煎紡鐨勫瓧绗︿覆
-        return "";
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     *
-     * @param address 鍦板潃
-     * @param count   杩炵画璇诲灏戜釜word
-     * @return 缁撴灉
-     */
-    public List<Short> ReadWord(String address, int count) {
-        if (s7PLC == null)
-            return null;
-
-        List<String> addresslist = GetAddressList(address, count, 16);
-        try {
-            return s7PLC.readInt16(addresslist);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-
-            return null;
-        }
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
-     *
-     * @param address 鍦板潃
-     * @param count   杩炵画璇诲灏戜釜byte
-     * @return 缁撴灉
-     */
-    public byte[] ReadByte(String address, int count) {
-        if (s7PLC == null)
-            return null;
-        // List<String> addresslist = GetAddressList(address, count, 16);
-
-        try {
-            return s7PLC.readByte(address, count);
-        } catch (Exception e) {
-            // 澶勭悊寮傚父
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            return null;
-        }
-
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鎸塨it浣� 0 flase 1 true 璇诲彇缁撴灉
-     *
-     * @param addresslist 鍦板潃闆�
-     * @return Boolean缁撴灉
-     */
-    public List<Boolean> ReadBits(List<String> addresslist) {
-        if (s7PLC == null)
-            return null;
-        return s7PLC.readBoolean(addresslist);
-    }
-
-    //璇诲彇涓嶈繛缁湴鍧�bit
-    public List<Boolean> readBits(List<String> addressList) {
-        if (s7PLC == null || addressList.isEmpty()) {
-            return null;
-        }
-
-        List<Boolean> values = new ArrayList<>();
-        for (String address : addressList) {
-            try {
-                boolean value = s7PLC.readBoolean(address);
-                values.add(value);
-            } catch (Exception e) {
-                // 澶勭悊寮傚父
-                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            }
-        }
-
-        return values;
-    }
-
-
-    //璇诲彇String
-    public List<String> readStrings(List<String> addressList) {
-        if (s7PLC == null) {
-            return null;
-        }
-        List<String> result = new ArrayList<>();
-        for (String address : addressList) {
-            try {
-                byte[] bytes = s7PLC.readByte(address, 14);
-                if (bytes != null) {
-                    String str = new String(bytes, StandardCharsets.UTF_8);
-                    result.add(str);
-                }
-            } catch (Exception e) {
-                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-                result.add(null);
-            }
-        }
-
-        return result;
-    }
-
-
-    public List<String> readStringsandword(List<String> addressList) {
-        if (s7PLC == null) {
-            return null;
-        }
-        List<String> result = new ArrayList<>();
-        for (String address : addressList) {
-            try {
-                if (address.contains("-")) {
-                    address = address.substring(0, address.indexOf("-"));
-
-                    byte[] bytes = s7PLC.readByte(address, 14);
-                    if (bytes != null) {
-                        String str = new String(bytes, StandardCharsets.UTF_8);
-                        result.add(str);
-                    }
-
-                } else {
-                    Short value = s7PLC.readInt16(address);
-                    result.add(value.toString());
-
-                }
-            } catch (Exception e) {
-                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-                result.add(null);
-            }
-        }
-
-        return result;
-    }
-
-
-    //涓嶈繛缁湴鍧�鍐欏叆Word
-    public void WriteWord(List<String> address, List<Short> datas) {
-        if (s7PLC == null)
-            return;
-
-        for (int i = 0; i < address.size(); i++) {
-            String addr = address.get(i);
-            short data = datas.get(i);
-
-            if (addr.contains("-")) {
-                outmesid(String.valueOf(data), addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
-            } else {
-                s7PLC.writeInt16(addr, data); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
-            }
-        }
-    }
-
-
-    //瀛楃涓插啓鍏�
-    public void outmesid(String data, String addr) {
-//        System.out.println("outmesid: " + data);
-        List<Byte> glassidlist = new ArrayList<>();
-        String[] parts = addr.split("-");
-        if (parts.length == 2) {
-            addr = parts[0]; // 鍙繚鐣� "-" 鍓嶉潰鐨勯儴鍒�
-        }
-        for (char iditem : data.toCharArray()) {
-            glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
-        }
-        byte[] bytes = Bytes.toArray(glassidlist);
-        S7control.getinstance().WriteByte(addr, bytes);
-    }
-
-    //璇诲彇涓嶈繛缁瓀ord
-    public List<Short> readWords(List<String> addresses) {
-        if (s7PLC == null) {
-            return null;
-        }
-
-        List<Short> data = new ArrayList<>();
-
-        for (String address : addresses) {
-            try {
-
-                // 鍗曚釜鍦板潃
-                Short value = s7PLC.readInt16(address);
-                data.add(value);
-            } catch (Exception e) {
-                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-
-            }
-
-        }
-        return data;
-    }
-
-    //璇诲彇鏃堕棿
-    public Long readtime(String address) {
-        if (s7PLC == null)
-            return null;
-        try {
-            return s7PLC.readTime(address);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            return null;
-        }
-    }
-
-
-    public void writetime(String address, long datas) {
-        if (s7PLC == null)
-            return;
-
-
-        s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
-    }
-
-
-    private int extractAddressNumber(String address) {
-        String numberStr = address.replaceAll("\\D+", ""); // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒�
-        return Integer.parseInt(numberStr);
-    }
-
-
-    /**
-     * 浠庢寚瀹氱殑鍦板潃寮�濮� 杩炵画鎸塨it浣嶈鍙�
-     *
-     * @param address 鍦板潃
-     * @param count   闀垮害
-     * @return Boolean缁撴灉
-     */
-    public List<Boolean> ReadBits(String address, int count) {
-        if (s7PLC == null)
-            return null;
-        List<String> addresslist = GetAddressList(address, count, 1);
-        try {
-            return s7PLC.readBoolean(addresslist);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            return null;
-        }
-
-    }
-
-    ;
-
-
-    public void writeString(String addr, String data) {
-        s7PLC.writeString(addr, data);
-    }
-
-
-    private List<String> GetAddressList(String address, int count, int addedbit) {
-        List<String> addresslist = new ArrayList<String>();
-
-        String[] stringdatas = address.trim().split("\\.");
-        if (stringdatas.length < 2 || !address.startsWith("DB"))
-            return null;
-        int dbwindex = 0;
-        int bitindex = 0;
-        if (stringdatas.length == 2) {
-            dbwindex = Integer.parseInt(stringdatas[1]);
-        } else if (stringdatas.length == 3) {
-            dbwindex = Integer.parseInt(stringdatas[1]);
-            bitindex = Integer.parseInt(stringdatas[2]);
-        } else
-            return null;
-
-        addresslist.add(address);
-        for (int i = 0; i < count - 1; i++) {
-
-            int bitcurrent = bitindex + addedbit;
-            if (bitcurrent > 7) {
-                dbwindex += bitcurrent / 8;
-                bitindex = 0;
-            } else
-                bitindex = bitcurrent;
-
-            String endstr = stringdatas.length == 3 ? "." + bitindex : "";
-            addresslist.add(stringdatas[0] + "." + dbwindex + endstr);
-        }
-        return addresslist;
-    }
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
new file mode 100644
index 0000000..7ec3d2e
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -0,0 +1,61 @@
+package com.mes.common;
+
+import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.mes.device.PlcParameterObject;
+import com.mes.tools.InitUtil;
+import com.mes.tools.S7control;
+
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 15:13
+ * @Description:
+ */
+public class S7object extends Thread {
+    public S7control plccontrol; // PLC閫氳绫诲疄渚�
+    private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
+    private String ip = "192.168.10.1"; // plc ip鍦板潃
+    private int port = 102; // plc 绔彛鍙�
+
+
+    public PlcParameterObject PlcMesObject;
+    private static volatile S7object instance = null;
+
+    private S7object() {
+        if (plccontrol == null) {
+            plccontrol = new S7control(plcType, ip, port, 0, 0);
+
+            String PlcCacheGlass=S7object.class.getResource("/JsonFile/PlcdownGlass.json").getPath();
+            //log.info(PLCAutoMes.class.getResource("").getPath());
+            PlcMesObject = InitUtil.initword(PlcCacheGlass);
+        }
+    }
+
+    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+    public static S7object getinstance() {
+        if (instance == null) {
+            synchronized (S7object.class) {
+                if (instance == null) {
+                    instance = new S7object();
+                }
+            }
+        }
+        return instance;
+    }
+
+    @Override
+    public void run() {
+        while (this != null) {
+            try {
+                Thread.sleep(100);
+
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+            byte[] getplcvlues=   plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(),PlcMesObject.getPlcAddressLength());
+            PlcMesObject.setPlcParameterList(getplcvlues);
+
+        }
+    }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
index 5903d00..13fbc8a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
@@ -5,6 +5,7 @@
 import lombok.EqualsAndHashCode;
 
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -75,4 +76,9 @@
      * 鐜荤拑id
      */
     private String glassId;
+
+    /**
+     * 鍒涘缓鏃堕棿
+     */
+    private Date CreateTime;
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
index f6d883e..02674b0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
@@ -26,7 +26,7 @@
      *
      * @return
      */
-    void updateTaskStateToZero(String id);
+    void updateTaskState(String id);
 
     /**
      * 鍒犻櫎浠诲姟
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index 2d163d1..5eb9031 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -11,6 +11,7 @@
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -33,9 +34,9 @@
     }
 
     @Override
-    public void updateTaskStateToZero(String id) {
+    public void updateTaskState(String id) {
         UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.set("task_stauts", 0).eq("id", id);
+        updateWrapper.set("task_stauts", 2).eq("id", id);
         baseMapper.update(new DownGlassTask(), updateWrapper);
     }
 
@@ -71,8 +72,8 @@
         // 濡傛灉涓婚敭鍊间笉瀛樺湪锛屽垯杩涜鎻掑叆鎿嶄綔
         DownGlassTask newDownGlassTask = new DownGlassTask();
         BeanUtils.copyProperties(downGlassTask, newDownGlassTask);
-        newDownGlassTask.setTaskStauts(0); // 榛樿浠诲姟鐘舵�佷负0
-
+        newDownGlassTask.setTaskStauts(1); // 榛樿浠诲姟鐘舵�佷负1
+        newDownGlassTask.setCreateTime(new Date());
         int rows = baseMapper.insert(newDownGlassTask);
         return rows > 0 ? rows : null;
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
index 1327452..f5388ed 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -1,11 +1,12 @@
 package com.mes.downstorage.service;
 
+import com.github.yulichang.base.MPJBaseService;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 
 import java.util.List;
 import java.util.Map;
 
-public interface DownStorageCageDetailsService {
+public interface DownStorageCageDetailsService extends MPJBaseService<DownStorageCageDetails> {
     /**
      * @return //娣诲姞鐞嗙墖绗煎唴淇℃伅
      */
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
index 7aea275..32d55a3 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -2,8 +2,10 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
+import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downstorage.entity.DownStorageCage;
 import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.glassinfo.entity.GlassInfo;
 
 import java.util.List;
 import java.util.Map;
@@ -18,25 +20,12 @@
  */
 public interface DownStorageCageService extends MPJBaseService<DownStorageCage> {
 
-
+    DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell, String taskType);
+    DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell, String taskType);
     //    List<Map<String, Object>> selectCacheLeisure();
 
 
-    /**
-     * @param Number
-     * @return 杩涚墖
-     */
-    boolean processInto(String Number);
 
-    /**
-
-     * @return 绌烘牸
-     */
-
-    /**
-     * @return 鍑虹墖
-     */
-    boolean processOut();
 
 
     /**
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index c10e337..c2d8f32 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -1,5 +1,6 @@
 package com.mes.downstorage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.query.MPJQueryWrapper;
 
 
@@ -12,6 +13,8 @@
 
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -26,7 +29,8 @@
     private DownStorageCageMapper downStorageCageMapper;
     @Autowired
     private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
-
+    @Autowired
+    private GlassInfoMapper glassInfoMapper;
     @Override
     public void addDownStorageCageDetails(DownStorageCageDetails details) {
         this.save(details);
@@ -74,6 +78,13 @@
 
 
 
+
+
+
+
+
+
+
 //    @Override
 //    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
 //        log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index d139f5f..cef8be4 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -2,8 +2,7 @@
 
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.mes.common.PLCAutoMes;
-import com.mes.common.S7control;
+
 import com.mes.device.PlcParameterObject;
 import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.service.DownGlassTaskService;
@@ -27,7 +26,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -36,7 +35,7 @@
 @Slf4j
 @Service
 public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
-    @Autowired(required=false)
+    @Autowired(required = false)
     private DownStorageCageMapper downStorageCageMapper;
 
     @Autowired
@@ -49,46 +48,23 @@
     @Autowired
     private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell,String taskType ) {
+    @Override
+    public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell, String taskType) {
         DownGlassTask downGlassTask = new DownGlassTask();
 
-        BeanUtils.copyProperties(glassInfo,downGlassTask);
+        BeanUtils.copyProperties(glassInfo, downGlassTask);
 
         downGlassTask.setStartCell(startCell);
-       downGlassTask.setTaskType(taskType);
-      downGlassTask.setEndCell(endCell);
+        downGlassTask.setTaskType(taskType);
+        downGlassTask.setEndCell(endCell);
         return downGlassTask;
     }
 
-
-    public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell,String taskType ) {
+    @Override
+    public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell, String taskType) {
         DownGlassTask downGlassTask = new DownGlassTask();
 
-        BeanUtils.copyProperties(glassInfo,downGlassTask);
+        BeanUtils.copyProperties(glassInfo, downGlassTask);
         downGlassTask.setStartCell(startCell);
         downGlassTask.setTaskType(taskType);
         downGlassTask.setEndCell(endCell);
@@ -96,134 +72,9 @@
     }
 
 
-    @Override
-    public boolean processInto(String Number) {
-
-        //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
-        GlassInfo GlassInfo = glassInfoService.selectGlassId(Number);
-     PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
-        //瀛樺湪姝ょ幓鐠冪紪鍙�
-        if (GlassInfo != null) {
-            //鍚屾壘鍒板悓娴佺▼鍗¢檮杩戠┖鏍�
-            List<DownStorageCageDetails> list = selectCacheEmpty();
-
-            if (list.size() > 0) {
-                //瀛樺湪绌烘牸
-                //1.鐢熸垚浠诲姟锛�  璧峰浣嶇疆0   缁撴潫浣嶇疆this.slot  浠诲姟绫诲瀷 1   锛堣繘鐗囦换鍔★級
-                //2.鍥炲 1杩涚墖
-                DownStorageCageDetails item = list.get(0);
-
-                //selectInfo.insertCacheTask(GlassInfo.getId() + "", "0", item.getSlot() + "", "1", GlassInfo.getWidth(), GlassInfo.getHeight(), GlassInfo.getFilmsid(), GlassInfo.getThickness(), GlassInfo.getFlowcardId());
-
-                DownGlassTask downGlassTask =   createDownGlassTask(GlassInfo,"0",item.getSlot()+"","1");
-
-                downGlassTaskService.insertCacheTask(downGlassTask);
-
-               //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
 
 
-                //瀹屾垚鍚庢彃鍏ュ皬鐗囨暟鎹埌缂撳瓨琛�
-                return true;
-            }
-
-        } else {
-            // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
-        }
-        //杩斿洖缁撴灉
-        return false;
-    }
-
-
-    /**
-     * 鐞嗙墖 鍑�
-     * @return
-     */
-    //
-    @Override
-    public boolean processOut() {
-        // 鏌ヨ浠诲姟
-
-
-       // PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
-
-        List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut(1, 5);
-        List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut(6, 10);
-        List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut(1, 10);
-
-
-
-        // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
-
-        if (!list3.isEmpty()) {
-            DownStorageCageDetails item3 = list3.get(0);
-            if (item3.getHeight() >= 1 && item3.getWidth() >= 1) {
-
-                String endcell = "13";
-                String SendEndcell = "1";
-
-
-
-                DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2");
-
-                downGlassTaskService.insertCacheTask(downGlassTask);
-           //  S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
-               // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
-                return true;
-            }
-        }
-
-
-        //濡傛灉鍚屾椂鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦
-        else if (!list2.isEmpty()&&!list3.isEmpty()) {
-
-            DownStorageCageDetails item3 = list2.get(0);
-            String endcell = "11";
-            String SendEndcell = "1";
-
-            DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2");
-            downGlassTaskService.insertCacheTask(downGlassTask);
-
-            //S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
-            //S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
-            return true;
-
-        }
-        // 鎸夌収澶у皬绗﹀悎鍓嶇鍑虹墖
-        else if (!list.isEmpty()) {
-            DownStorageCageDetails item = list.get(0);
-
-            // 鍑哄埌 G06
-
-
-            DownGlassTask downGlassTask =createDownGlassTask(item,"0","06","2");
-            downGlassTaskService.insertCacheTask(downGlassTask);
-           // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
-           // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
-            return true;
-
-            // 鎸夌収澶у皬绗﹀悎鍚庣鍑虹墖
-        } else if (!list2.isEmpty()) {
-            DownStorageCageDetails item2 = list2.get(0);
-
-            // 鍑哄埌 G11
-
-            DownGlassTask downGlassTask =createDownGlassTask(item2,"0","11","2");
-            downGlassTaskService.insertCacheTask(downGlassTask);
-
-           // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
-           // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
-            return true;
-
-
-        }
-
-
-
-        // 杩斿洖缁撴灉
-        return false;
-    }
-
-        //鎵惧埌绌烘牸瀛�
+    //鎵惧埌绌烘牸瀛�
     @Override
     public List<DownStorageCageDetails> selectCacheEmpty() {
         return baseMapper.selectJoinList(DownStorageCageDetails.class,
@@ -253,42 +104,44 @@
 
     /**
      * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆�
+     *
      * @param downStorageCage
      * @return
      */
     @Override
-    public boolean updateDownStorageCage(DownStorageCage downStorageCage){
-        DownStorageCage downItem=baseMapper.selectById(downStorageCage.getId());
+    public boolean updateDownStorageCage(DownStorageCage downStorageCage) {
+        DownStorageCage downItem = baseMapper.selectById(downStorageCage.getId());
         downItem.setEnableState(downStorageCage.getEnableState());
         baseMapper.updateById(downItem);
         return true;
     }
 
     /**
-     *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+     * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+     *
      * @param downStorageCageId
      * @param downStorageCageDetails
      * @return
      */
     @Override
-    public boolean updateDownStorageCageDetails(int downStorageCageId,DownStorageCageDetails downStorageCageDetails){
-        DownStorageCage downItem=baseMapper.selectById(downStorageCageId);
-        log.info("姝e父"+downItem);
-        if(downStorageCageDetails !=null){
-            DownStorageCageDetails edgDItem=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
+    public boolean updateDownStorageCageDetails(int downStorageCageId, DownStorageCageDetails downStorageCageDetails) {
+        DownStorageCage downItem = baseMapper.selectById(downStorageCageId);
+        log.info("姝e父" + downItem);
+        if (downStorageCageDetails != null) {
+            DownStorageCageDetails edgDItem = downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
             //娣诲姞
-            if(edgDItem!=null){
+            if (edgDItem != null) {
                 //鍙紶鏍煎瓙  锛氱Щ闄ょ幓鐠�
-                DownStorageCageDetails newresult=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
+                DownStorageCageDetails newresult = downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId());
                 newresult.setSlot(downItem.getSlot());
                 downStorageCageDetailsMapper.updateById(newresult);
             }
         }
 
-        if (downItem!=null){
+        if (downItem != null) {
             //绉婚櫎
-            DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId));
-            if (result!=null){
+            DownStorageCageDetails result = downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot, downStorageCageId));
+            if (result != null) {
                 result.setSlot(0);
                 downStorageCageDetailsMapper.updateById(result);
             }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
index 29e8dfc..15cbb9f 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
@@ -59,4 +59,14 @@
      * 鐜荤拑ID
      */
     private String glassId;
+
+    /**
+     * 宸ヤ綅id
+     */
+    private String workstationid;
+
+    /**
+     * 鏈哄櫒浜�
+     */
+    private String Robot;
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
index 7a1348b..5e8c697 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
@@ -55,11 +55,19 @@
      */
     int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId);
 
-    void insertdownglassinfo();
+
 
     /**
      * @return //
      * 宸ヤ綅鏄剧ず
      */
     List<Map<String, Object>> getTotalGlassDimensionsByWorkstation();
+
+
+    /**
+     * @param flowcardid
+     * 鏍规嵁娴佺▼鍗″彿鏌ヨ
+     * @return
+     */
+    DownWorkstation selectByFlowCardId(String flowcardid);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
index efb02ba..7b11958 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
@@ -18,12 +18,12 @@
     /**
      * @param downGlassInfo 鎻掑叆浠诲姟
      */
-    void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
+    void insertdownWorkstationtask(DownGlassInfo downGlassInfo,String workstationid);
 
     /**
      * @param downWorkstationTask 鏇存柊浠诲姟鐘舵��
      */
-    void updateTaskStateToZero(DownWorkstationTask downWorkstationTask);
+    void updateTaskState(DownWorkstationTask downWorkstationTask);
 
     /**
      * @return 鑾峰彇浠诲姟鐘舵�佷负1鐨勪俊鎭�
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index 668caf6..0746d83 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -148,6 +148,7 @@
 
 
 
+    @Override
     public DownWorkstation selectByFlowCardId(String flowcardid) {
         QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("flow_card_id", flowcardid);
@@ -167,74 +168,6 @@
     }
 
 
-    @Override
-    public void insertdownglassinfo() {
-
-
-        List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
-//
-
-
-        if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
-
-//
-
-            for (DownGlassTask downGlassInfo : taskdownGlassInf) {
-                // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
-                DownGlassInfo newdownGlassInfo = new DownGlassInfo();
-//                newdownGlassInfo.setId(downGlassInfo.getId());
-                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
-                Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
-                // 鍒濆鍖栭『搴忓瓧娈靛��
-                int sequence = maxSequence != null ? maxSequence + 1 : 1;
-//                newdownGlassInfo.setId(downGlassInfo.getId());
-                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
-                newdownGlassInfo.setGlassId(downGlassInfo.getGlassId());
-                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
-                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
-                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
-                // 璁剧疆椤哄簭瀛楁鍊�
-                newdownGlassInfo.setSequence(sequence);
-
-                // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
-                downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
-                //鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
-                downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
-                //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
-                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getGlassId());
-                //鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                downGlassTaskService.deleteTask(downGlassInfo.getGlassId());
-
-                sequence++; // 閫掑椤哄簭瀛楁鍊�
-
-
-            }
-        }
-
-
-        try {
-            //鏌ヨ涓嬬墖宸ヤ綅琛ㄤ腑鏋跺瓙鏄惁缁戝畾浜嗘祦绋嬪崱鍙� 宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
-            List<DownWorkstationTask> taskdownWorkstation = downWorkstationTaskService.getTaskState();
-            if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
-                //锛屽鏋滃凡缁忕粦瀹氬垯鏇存柊宸茶惤鏋舵暟閲�,骞朵笖鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                for (DownWorkstationTask downWorkstation : taskdownWorkstation) {
-                    //鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
-                    DownWorkstation downWorkstation1 = selectByFlowCardId(downWorkstation.getFlowCardId());
-                    updateracksnumber(downWorkstation.getFlowCardId(), downWorkstation1.getRacksnumber() + 1);
-                    //鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
-                    downWorkstationTaskService.updateTaskStateToZero(downWorkstation);
-                    //鍒犻櫎鏈烘浠诲姟琛�
-                    downWorkstationTaskService.deleteTask(downWorkstation);
-
-
-                }
-            }
-        } catch (Exception e) {
-            // 鎵撳嵃寮傚父淇℃伅
-            e.printStackTrace();
-            // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
-        }
-    }
 
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
index c54fa2b..813c149 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
@@ -27,7 +27,7 @@
 public class DownWorkstationTaskServiceImpl extends ServiceImpl<DownWorkstationTaskMapper, DownWorkstationTask> implements DownWorkstationTaskService {
 
 
-    public void insertdownWorkstationtask(DownGlassInfo downGlassInfo) {
+    public void insertdownWorkstationtask(DownGlassInfo downGlassInfo,String workstationid) {
         DownWorkstationTask entity = new DownWorkstationTask();
         // 鏌ヨ褰撳墠鏈�澶х殑 id 鍊�
         Long maxId = getMaxId();
@@ -38,6 +38,7 @@
         BeanUtils.copyProperties(downGlassInfo,entity);
         entity.setId(newId); // 璁剧疆鎵嬪姩閫掑鐨� id
         entity.setState(1);
+        entity.setWorkstationid(workstationid);
         baseMapper.insert(entity);
     }
 
@@ -66,10 +67,10 @@
     }
 
     @Override
-    public void updateTaskStateToZero(DownWorkstationTask downWorkstationTask) {
+    public void updateTaskState(DownWorkstationTask downWorkstationTask) {
         LambdaUpdateWrapper<DownWorkstationTask> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
 
-        lambdaUpdateWrapper.set(DownWorkstationTask::getState, 0)
+        lambdaUpdateWrapper.set(DownWorkstationTask::getState, 2)
                 .eq(DownWorkstationTask::getGlassId, downWorkstationTask.getGlassId());
 
         baseMapper.update(new DownWorkstationTask(), lambdaUpdateWrapper);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
new file mode 100644
index 0000000..82516cd
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
@@ -0,0 +1,301 @@
+package com.mes.job;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mes.common.S7object;
+import com.mes.common.config.Const;
+import com.mes.device.PlcParameterObject;
+import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
+import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.downstorage.entity.DownStorageCage;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downstorage.service.DownStorageCageService;
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.entity.DownWorkstationTask;
+import com.mes.downworkstation.service.DownWorkstationService;
+import com.mes.downworkstation.service.DownWorkstationTaskService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.service.DownGlassTaskService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/5/8 8:17
+ * @Description:
+ */
+@Component
+@Slf4j
+public class DownCacheGlassTask {
+
+
+    @Autowired
+    DownGlassTaskService downGlassTaskService;
+    @Autowired
+    GlassInfoService glassInfoService;
+    @Autowired
+    DownStorageCageDetailsService downStorageCageDetailsService;
+    @Autowired
+    DownStorageCageService downStorageCageService;
+    @Autowired
+    DownWorkstationService downWorkstationService;
+    @Autowired
+     DownGlassInfoService downGlassInfoService;
+
+
+
+
+    @Autowired
+    private DownWorkstationTaskService downWorkstationTaskService;
+
+//    @Value("${mes.threshold}")
+    private int threshold;
+
+   // @Scheduled(fixedDelay = 1000)
+    public void plcdownGlassTask() {
+   //   PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+//        String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
+//        String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue();
+//        String confirmationWrodValue = plcParameterObject.getPlcParameter("MES_confirmation_word").getValue();
+//        String outGlassstate = plcParameterObject.getPlcParameter("A09_glass_status").getValue();
+//        String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress();
+      // String G06RobotTaskRequestWord = plcParameterObject.getPlcParameter("G06RobotTaskRequestWord").getAddress();
+
+
+                String taskRequestTypeValue ="1";
+        String glassIdeValue ="NG24041101C002-2-6-1-6";
+        String confirmationWrodValue ="1";
+        String outGlassstate="1";
+        String confirmationWrodAddress="1";
+        String G11RobotTaskRequestWord ="1";
+        String G06RobotTaskRequestWord ="1";
+        String G13RobotTaskRequestWord ="1";
+
+                log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佷负锛歿}",
+                taskRequestTypeValue, glassIdeValue, confirmationWrodValue, outGlassstate);
+
+//        if ("0".equals(taskRequestTypeValue)) {
+//            if ("0".equals(confirmationWrodValue)) {
+//                log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屼笖纭瀛椾负0锛屼笉鎵ц浠诲姟");
+//                return;
+//            }
+//            log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢纭瀛楁敼涓�0");
+//            S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 0);
+//            return;
+//        }
+//        if (!"0".equals(confirmationWrodValue)) {
+//            log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓嶄负0锛屽皢纭瀛楁敼涓�0");
+//            S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 0);
+//            return;
+//        }
+
+        if ("1".equals(taskRequestTypeValue)) {
+            log.info("3銆佽繘鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
+            inTo(glassIdeValue, confirmationWrodAddress);
+        } else if ("2".equals(taskRequestTypeValue)) {
+
+            log.info("3銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛岃繘鐗囦换鍔�");
+            outTo( confirmationWrodAddress);
+
+        } else if ("3".equals(taskRequestTypeValue)) {
+            log.info("3銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
+            if (outTo( confirmationWrodAddress)) {
+
+
+                inTo(glassIdeValue, confirmationWrodAddress);
+
+
+            }
+        }
+
+        if (("1".equals(G11RobotTaskRequestWord) || "1".equals(G06RobotTaskRequestWord))  || "1".equals(G13RobotTaskRequestWord)) {
+            log.info("4銆佹湁鏈哄櫒浜轰笅鐗囪姹傦紝鎵ц涓嬬墖浠诲姟");
+            insertdownglassinfo();
+        }
+
+        //鑷姩缁戝畾鏋跺瓙锛屽鏋滃伐浣嶈〃娌℃湁缁戝畾鏋跺瓙锛岄粯璁ゅ皢绗煎瓙涓暟閲忔渶澶氱殑娴佺▼鍗″彿缁戝畾鏈哄櫒鎵�2鐨勭┖鏋跺瓙
+
+
+
+    }
+
+    /**
+     * 杩涚墖浠诲姟
+     * @param glassId
+     * @param confirmationWrodAddress
+     * @param
+     */
+    private void inTo(String glassId, String confirmationWrodAddress) {
+        log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅", glassId);
+        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+        if (glassInfo == null) {
+            log.info("2銆佹鐜荤拑缂栧彿涓嶅瓨鍦�");
+            return;
+        }
+        log.info("2銆佽幏鍙栧埌鐨勭幓鐠冧俊鎭负{}", glassInfo);
+        //娣诲姞杩涚墖浠诲姟  鏌ユ壘绌烘牸
+        List<DownStorageCageDetails> list = downStorageCageService.selectCacheEmpty();
+        if(list.size()>0){
+            DownStorageCageDetails item = list.get(0);
+
+
+
+        log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", list);
+        log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
+        DownStorageCageDetails details = new DownStorageCageDetails();
+        BeanUtils.copyProperties(glassInfo, details);
+        details.setState(1);
+        details.setGlassId(item.getGlassId());
+        details.setSlot(item.getSlot());
+        details.setDeviceId(item.getDeviceId());
+        downStorageCageDetailsService.save(details);
+        log.info("5銆佺幓鐠冧俊鎭凡瀛樺叆鐞嗙墖绗艰鎯呰〃锛岀幓鐠冧俊鎭负{}", details);
+
+            DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(glassInfo, "0", item.getSlot() + "", "1");
+        //娣诲姞杩涚墖浠诲姟
+
+        log.info("6銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃{}", downGlassTask);
+            downGlassTaskService.insertCacheTask(downGlassTask);
+        }
+        //S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 1);
+        log.info("7銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
+
+
+    }
+
+    /**
+     * 鍑虹墖浠诲姟
+     *
+     * @param confirmationWrodAddress
+     *
+     */
+    private Boolean outTo( String confirmationWrodAddress) {
+        log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勮澶噄d 鏌ヨ绗﹀悎鎸夌収澶у皬鍑虹墖,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
+        List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut(1,3);
+
+        List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut(4,6);
+
+        List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut(1, 6);
+        // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
+        if (!list3.isEmpty()) {
+            log.info("浜哄伐澶勭悊");
+            DownStorageCageDetails item3 = list3.get(0);
+            if (item3.getHeight() >= 2500 && item3.getWidth() >= 2660) {
+                String endcell = "7";
+
+
+                DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item3, "9", endcell, "2");
+                downGlassTaskService.insertCacheTask(downGlassTask);
+              // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
+
+              return true;
+            }
+        }
+        //濡傛灉鍚屾椂鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦
+        else if (!list2.isEmpty() && !list3.isEmpty()) {
+            log.info("鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦");
+            DownStorageCageDetails item3 = list2.get(0);
+
+            DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item3.getFlowCardId()));
+            String endcell = String.valueOf(downWorkstation.getWorkstationId());
+
+            DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item3, "9", endcell, "2");
+            downGlassTaskService.insertCacheTask(downGlassTask);
+
+         //S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
+
+           return true;
+
+        }
+        // 鎸夌収澶у皬绗﹀悎鍓嶇鍑虹墖
+        else if (!list.isEmpty()) {
+            log.info("鍓嶇鍑虹墖");
+            DownStorageCageDetails item = list.get(0);
+            DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item.getFlowCardId()));
+            String endcell = String.valueOf(downWorkstation.getWorkstationId());
+            // 鍑哄埌 G06
+            DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item, "9", endcell, "2");
+            downGlassTaskService.insertCacheTask(downGlassTask);
+           // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
+
+
+            return true;
+            // 鎸夌収澶у皬绗﹀悎鍚庣鍑虹墖
+        } else if (!list2.isEmpty()) {
+            log.info("鍚庣鍑虹墖");
+            DownStorageCageDetails item2 = list2.get(0);
+            DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item2.getFlowCardId()));
+            String endcell = String.valueOf(downWorkstation.getWorkstationId());
+            // 鍑哄埌 G11
+            DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item2, "9", endcell, "2");
+            downGlassTaskService.insertCacheTask(downGlassTask);
+          //  S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
+           return true;
+        }
+        // 杩斿洖缁撴灉
+        return false;
+    }
+
+
+//
+    public void insertdownglassinfo() {
+        try {
+        String G06RobotTaskReply ="1";
+        String G06Rack ="1";
+        String G11RobotTaskReply ="1";
+        String G11Rack ="1";
+        List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
+        if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
+
+            for (DownGlassTask downGlassInfo : taskdownGlassInf) {
+                // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
+                DownGlassInfo newdownGlassInfo = new DownGlassInfo();
+//                newdownGlassInfo.setId(downGlassInfo.getId());
+                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
+                Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
+                // 鍒濆鍖栭『搴忓瓧娈靛��
+                int sequence = maxSequence != null ? maxSequence + 1 : 1;
+//                newdownGlassInfo.setId(downGlassInfo.getId());
+                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
+                newdownGlassInfo.setGlassId(downGlassInfo.getGlassId());
+                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
+                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
+                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
+                // 璁剧疆椤哄簭瀛楁鍊�
+                newdownGlassInfo.setSequence(sequence);
+                // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
+
+                downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
+                log.info("鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃");
+                DownWorkstation downWorkstation1 = downWorkstationService.selectByFlowCardId(downGlassInfo.getFlowCardId());
+                downWorkstationService.updateracksnumber(downGlassInfo.getFlowCardId(), downWorkstation1.getRacksnumber() + 1);
+                log.info("鏇存柊钀芥灦鏁伴噺");
+
+                sequence++; // 閫掑椤哄簭瀛楁鍊�
+
+
+            }
+        }
+        } catch (Exception e) {
+            // 鎵撳嵃寮傚父淇℃伅
+            e.printStackTrace();
+            // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
+        }
+
+
+    }
+
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
index d44cf10..3880ffc 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
@@ -14,22 +14,22 @@
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G06RobotTaskRequestWord",
       "addressIndex": "4",
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G06ID",
       "addressIndex": "6",
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G11RobotTaskRequestWord",
       "addressIndex": "8",
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G011ID",
       "addressIndex": "10",
       "addressLenght": "2"
     },
@@ -69,12 +69,12 @@
       "addressLenght": "2"
     },
     {
-      "codeId": "鍑虹墖ID",
+      "codeId": "OutputID",
       "addressIndex": "26",
       "addressLenght": "2"
     },
     {
-      "codeId": "鍓嶇鍚庣涓嬬墖",
+      "codeId": "FrontOrRearLowerSlice",
       "addressIndex": "28",
       "addressLenght": "2"
     },
@@ -84,22 +84,22 @@
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G06RobotTaskReply",
       "addressIndex": "32",
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G06Rack",
       "addressIndex": "34",
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G11RobotTaskReply",
       "addressIndex": "36",
       "addressLenght": "2"
     },
     {
-      "codeId": "spare",
+      "codeId": "G11Rack",
       "addressIndex": "38",
       "addressLenght": "2"
     },
@@ -144,7 +144,7 @@
       "addressLenght": "2"
     },
     {
-      "codeId": "MES浠诲姟鐘舵��",
+      "codeId": "MESTaskState",
       "addressIndex": "56",
       "addressLenght": "2"
     },
@@ -154,37 +154,37 @@
       "addressLenght": "2"
     },
     {
-      "codeId": "鎶ヨ鐘舵��",
+      "codeId": "AlarmState",
       "addressIndex": "60",
       "addressLenght": "2"
     },
     {
-      "codeId": "鎶ヨ瀛�1",
+      "codeId": "Alarm1",
       "addressIndex": "62",
       "addressLenght": "2"
     },
     {
-      "codeId": "鎶ヨ瀛�2",
+      "codeId": "Alarm2",
       "addressIndex": "64",
       "addressLenght": "2"
     },
     {
-      "codeId": "鎶ヨ瀛�3",
+      "codeId": "Alarm3",
       "addressIndex": "66",
       "addressLenght": "2"
     },
     {
-      "codeId": "鎶ヨ瀛�4",
+      "codeId": "Alarm4",
       "addressIndex": "68",
       "addressLenght": "2"
     },
     {
-      "codeId": "鍐呭",
+      "codeId": "neirong",
       "addressIndex": "70",
       "addressLenght": "2"
     },
     {
-      "codeId": "璁惧鐘舵�佸瓧",
+      "codeId": "device",
       "addressIndex": "72",
       "addressLenght": "2"
     },
@@ -199,37 +199,37 @@
       "addressLenght": "2"
     },
     {
-      "codeId": "杈撳叆杈撳嚭1",
+      "codeId": "InOut1",
       "addressIndex": "78",
       "addressLenght": "2"
     },
     {
-      "codeId": "杈撳叆杈撳嚭2",
+      "codeId": "InOut2",
       "addressIndex": "80",
       "addressLenght": "2"
     },
     {
-      "codeId": "杈撳叆杈撳嚭3",
+      "codeId": "InOut3",
       "addressIndex": "82",
       "addressLenght": "2"
     },
     {
-      "codeId": "杈撳叆杈撳嚭4",
+      "codeId": "InOut4",
       "addressIndex": "84",
       "addressLenght": "2"
     },
     {
-      "codeId": "杈撳叆杈撳嚭5",
+      "codeId": "InOut5",
       "addressIndex": "86",
       "addressLenght": "2"
     },
     {
-      "codeId": "杈撳叆杈撳嚭6",
+      "codeId": "InOut6",
       "addressIndex": "88",
       "addressLenght": "2"
     },
     {
-      "codeId": "杈撳叆杈撳嚭7",
+      "codeId": "InOut7",
       "addressIndex": "90",
       "addressLenght": "2"
     },
@@ -259,97 +259,97 @@
       "addressLenght": "2"
     },
     {
-      "codeId": "G04鍔ㄤ綔鐘舵��",
+      "codeId": "G04ActionState",
       "addressIndex": "102",
       "addressLenght": "2"
     },
     {
-      "codeId": "G05鍔ㄤ綔鐘舵��",
+      "codeId": "G05ActionState",
       "addressIndex": "104",
       "addressLenght": "2"
     },
     {
-      "codeId": "G06鍔ㄤ綔鐘舵��",
+      "codeId": "G06ActionState",
       "addressIndex": "106",
       "addressLenght": "2"
     },
     {
-      "codeId": "G07鍔ㄤ綔鐘舵��",
+      "codeId": "G07ActionState",
       "addressIndex": "108",
       "addressLenght": "2"
     },
     {
-      "codeId": "G08鍔ㄤ綔鐘舵��",
+      "codeId": "G08ActionState",
       "addressIndex": "110",
       "addressLenght": "2"
     },
     {
-      "codeId": "G09鍔ㄤ綔鐘舵��",
+      "codeId": "G09ActionState",
       "addressIndex": "112",
       "addressLenght": "2"
     },
     {
-      "codeId": "G10鍔ㄤ綔鐘舵��",
+      "codeId": "G10ActionState",
       "addressIndex": "114",
       "addressLenght": "2"
     },
     {
-      "codeId": "G11鍔ㄤ綔鐘舵��",
+      "codeId": "G11ActionState",
       "addressIndex": "116",
       "addressLenght": "2"
     },
     {
-      "codeId": "G12鍔ㄤ綔鐘舵��",
+      "codeId": "G12ActionState",
       "addressIndex": "118",
       "addressLenght": "2"
     },
     {
-      "codeId": "G13鍔ㄤ綔鐘舵��",
+      "codeId": "G13ActionState",
       "addressIndex": "120",
       "addressLenght": "2"
     },
     {
-      "codeId": "G04ID",
+      "codeId": "G04IDS",
       "addressIndex": "122",
       "addressLenght": "2"
     },
     {
-      "codeId": "G05ID",
+      "codeId": "G05IDS",
       "addressIndex": "124",
       "addressLenght": "2"
     },
     {
-      "codeId": "G06ID",
+      "codeId": "G06IDS",
       "addressIndex": "126",
       "addressLenght": "2"
     },
     {
-      "codeId": "G07ID",
+      "codeId": "G07IDS",
       "addressIndex": "128",
       "addressLenght": "2"
     },
     {
-      "codeId": "G08ID",
+      "codeId": "G08IDS",
       "addressIndex": "130",
       "addressLenght": "2"
     },
     {
-      "codeId": "G09ID",
+      "codeId": "G09IDS",
       "addressIndex": "132",
       "addressLenght": "2"
     },
     {
-      "codeId": "G10ID",
+      "codeId": "G10IDS",
       "addressIndex": "134",
       "addressLenght": "2"
     },
     {
-      "codeId": "G11ID",
+      "codeId": "G11IDS",
       "addressIndex": "136",
       "addressLenght": "2"
     },
     {
-      "codeId": "G12ID",
+      "codeId": "G12IDS",
       "addressIndex": "138",
       "addressLenght": "2"
     },
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
index b46da5e..ed2c929 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -109,7 +109,7 @@
     @Test
     public void CacheEmpty() {
         log.info("娴嬭瘯鍑虹墖");
-        downStorageCageDetailsService.CacheOut(1,10);
+        downStorageCageDetailsService.CacheOut(1,2);
 
     }
 
@@ -133,7 +133,7 @@
     public void updateTaskStateToZero() {
         log.info("鏇存柊鐘舵��0");
 
-        downGlassTaskServiceImpl.updateTaskStateToZero("3");
+        downGlassTaskServiceImpl.updateTaskState("3");
     }
 
 

--
Gitblit v1.8.0