From 5d938403bcdb72346a963e831e41f812434ecca3 Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期一, 15 四月 2024 16:59:18 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java                |    7 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java                   |    8 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java          |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java                              |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java                |   26 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java                                               |   91 ++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java                      |    5 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java                                |   28 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java                       |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java                                      |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java              |    8 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java                 |   54 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java     |   23 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java                          |   58 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java                       |    5 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml                                                         |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java                                          |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java                        |   14 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java                  |   13 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java                            |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java                               |    5 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java                   |   15 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java        |  124 ++-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java    |    9 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java                              |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java             |   13 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java            |   12 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java                 |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml                                                                                    |   10 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java                      |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java            |    5 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java                                 |   41 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java      |   19 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java                              |   23 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java         |    3 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java                         |  245 +++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java                    |   58 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java         |  113 +++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java                                                |  470 +++++++++++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java                |    6 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java           |    5 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java                      |   16 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java                        |    3 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java             |   29 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java              |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java                         |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   18 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java                                    |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java                        |    5 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java             |   57 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java                          |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java                 |    9 
 /dev/null                                                                                                                                    |   21 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java                      |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java        |    1 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java         |   29 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java               |   16 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java                     |   63 ++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java                      |    1 
 59 files changed, 1,516 insertions(+), 326 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
index b559502..bd96580 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/CacheVerticalClassModuleApplication.java
@@ -18,7 +18,6 @@
 @EnableDiscoveryClient
 @MapperScan(basePackages = "com.mes.*.mapper")
 public class CacheVerticalClassModuleApplication {
-
     public static void main(String[] args) {
         try {
             SpringApplication.run(CacheVerticalClassModuleApplication.class, args);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
index bac48b0..a5a676d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
@@ -35,13 +35,12 @@
     @ApiOperation("鐞嗙墖绗间俊鎭�")
     @GetMapping("/bigStorageCage")
     public List<BigStorageCage> querybigStorageCageDetail() {
-//        return bigStorageCageService.list();
         return bigStorageCageService.querybigStorageCageDetail();
     }
 
     @ApiOperation("鎵嬪姩瀹屾垚浠诲姟")
-    @GetMapping("/FinishTask")
-    public void FinishTask(int type, int id) {
+    @GetMapping("/finishTask")
+    public void finishTask(int type, int id) {
         //    bigStorageCageDetailsService.FinishTask();
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index 8af10bc..4ba8dde 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -29,16 +29,11 @@
     private BigStorageCageDetailsService bigStorageCageDetailsService;
 
     @ApiOperation("鐞嗙墖绗艰鎯�")
-    @GetMapping("/BigStorageCageDetails")
-    public List<BigStorageCageDetails> BigStorageCageDetails() {
+    @GetMapping("/bigStorageCageDetails")
+    public List<BigStorageCageDetails> bigStorageCageDetails() {
         return bigStorageCageDetailsService.list();
     }
 
-    @ApiOperation("灏忚溅瀹炴椂浣嶇疆")
-    @GetMapping("/CarPosition")
-    public List<Integer> CarPosition() {
-        return bigStorageCageDetailsService.getCarposition();
-    }
 
 }
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
index a27e26f..d5e380f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -7,7 +7,7 @@
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
@@ -15,7 +15,4 @@
  */
 public interface BigStorageCageDetailsMapper extends BaseMapper<BigStorageCageDetails> {
 
-    BigStorageCageDetails SelectTemperingFeedSlot(@Param("bigStorageCageDetails") BigStorageCageDetails bigStorageCageDetails);
-
-    BigStorageCageDetails SelectEmptyFeedSlot();
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
index 220ccab..67f4cad 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java
@@ -3,14 +3,14 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
 import org.apache.ibatis.annotations.Update;
 
 import java.util.List;
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
@@ -18,15 +18,4 @@
  */
 public interface BigStorageCageMapper extends BaseMapper<BigStorageCage> {
 
-
-    BigStorageCageDetails SelectEmptyFeedSlot();
-
-    @Update("update big_storage_cage set remain_width = #{width} where slot=#{slot}")
-    public void UpdateRemainWidth(int slot,int width);
-
-    BigStorageCageDetails SelectTemperingFeedSlot(GlassInfo glassInfo);
-
-    BigStorageCageDetails SelectOtherFeedSlot();
-
-    List<String> selectTemperingId();
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
index 4d4527c..ef46c59 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -2,9 +2,6 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
-import com.mes.bigstorage.mapper.BigStorageCageMapper;
-
-import java.util.List;
 
 /**
  * <p>
@@ -16,7 +13,4 @@
  */
 public interface BigStorageCageDetailsService extends IService<BigStorageCageDetails> {
 
-    public boolean getTemperingGlass();
-
-    List<Integer> getCarposition();
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
index a9bb2b5..d8bb16e 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -3,7 +3,8 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
 
 import java.util.List;
 
@@ -19,7 +20,11 @@
 
     void updateRemainWidth(int Slot);
 
-    BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails);
+    BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails);
+
+    boolean outGlass();
 
     List<BigStorageCage> querybigStorageCageDetail();
+
+
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index c1adf50..42739ac 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -8,11 +8,12 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -20,20 +21,17 @@
  */
 @Service
 public class BigStorageCageDetailsServiceImpl extends ServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService {
-    @Autowired
+    @Resource
     private BigStorageCageMapper bigStorageCageMapper;
+
     @Override
-    public boolean getTemperingGlass(){
+    public boolean getTemperingGlass() {
         //鑾峰彇绗煎瓙鍐呮墍鏈夌増鍥惧彿
-        List<String> temperingIdList=bigStorageCageMapper.selectTemperingId();
-        for (String temperingId:temperingIdList
-             ) {
+        List<String> temperingIdList = bigStorageCageMapper.selectTemperingId();
+        for (String temperingId : temperingIdList
+        ) {
 
         }
         return true;
-    }
-    @Override
-    public List<Integer> getCarposition(){
-        return null;
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index c2b5cff..032b285 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -1,13 +1,18 @@
 package com.mes.bigstorage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
 import com.mes.bigstorage.mapper.BigStorageCageMapper;
 import com.mes.bigstorage.service.BigStorageCageService;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
 import lombok.extern.slf4j.Slf4j;
+import com.mes.glassinfo.entity.GlassInfo;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -15,6 +20,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+
 
 /**
  * <p>
@@ -27,7 +33,6 @@
 @Service
 @Slf4j
 public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService {
-
     @Resource
     private BigStorageCageMapper bigStorageCageMapper;
 
@@ -35,39 +40,105 @@
     private BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
 
     @Override
-    public BigStorageCageDetails FeedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
+    public BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
 
+        //1銆佹煡璇㈢悊鐗囩鍐呯幓鐠冪墖搴忕瓑浜庡綋鍓嶇幓鐠冪墖搴�-1鐨勭幓鐠�
+        LambdaQueryWrapper<BigStorageCageDetails> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
+                .eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1);
 
-        //鑾峰彇鍚岄挗鍖栫増鍥緄d鍙繘鐗囩殑鏍煎瓙
-        BigStorageCageDetails layoutSlotInfo = bigStorageCageMapper.SelectTemperingFeedSlot(glassInfo);
-        //鏈夌鍚堟潯浠剁殑鏍煎瓙鏃�
-        if (layoutSlotInfo != null) {
-            //灏嗙幓鐠冧俊鎭~鍏ョ悊鐗囩璇︽儏琛�
+        BigStorageCageDetails layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(wrapper);
+        BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
+        bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
+
+        //2銆佹湁绗﹀悎鏉′欢鐨勬牸瀛愭椿鐗囧簭涓�1鏃�
+        if (layoutSlotInfo.getSlot() != null) {
             bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
         } else {
             //鑾峰彇涓嶅埌鏃讹細
+//            LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
+//            BigStorageCageDetailslambdaQueryWrapper
+//                    .select(BigStorageCageDetails::getTemperingLayoutId)
+//                    .groupBy(BigStorageCageDetails::getTemperingLayoutId);
+//            List<Map<String, Object>> temperingLayoutIdList= bigStorageCageDetailsMapper.selectMaps(BigStorageCageDetailslambdaQueryWrapper);
+//            for (Map<String, Object> map : temperingLayoutIdList) {
+//                for (Map.Entry<String, Object> entry : map.entrySet()) {
+//                    String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-'));
+//                    String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
+//                    if(suffix.equals(entry.getValue())){
+//
+//                    }
+//                }
+//            }
+
 
             //鑾峰彇鍙繘鐗囨牸瀛愪俊鎭�
-            BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.SelectEmptyFeedSlot();
-            if (EmptySlotInfo != null) {
-                bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
-            } else {
-                //鑾峰彇鍏朵粬绗兼牸瀛�-
-                BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.SelectOtherFeedSlot();
-                bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot());
-            }
+//            BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.selectEmptyFeedSlot();
+//            if (EmptySlotInfo != null) {
+//                bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
+//            } else {
+//                //鑾峰彇鍏朵粬绗兼牸瀛�-
+//                BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.selectOtherFeedSlot();
+//                bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot());
+//            }
             //灏嗙幓鐠冧俊鎭斁鍏ヨ鏍煎瓙
 
         }
-
-        updateRemainWidth(bigStorageCageDetails.getSlot());
+        if (bigStorageCageDetails.getSlot() != null) {
+            bigStorageCageDetailsMapper.insert(bigStorageCageDetails);
+            updateRemainWidth(bigStorageCageDetails.getSlot());
+        }
         return bigStorageCageDetails;
+    }
+
+    @Override
+    public boolean outGlass() {
+//        // 1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�
+//        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.SelectTemperingGlassInfo();
+//        //娌℃湁鍙嚭鐨勭幓鐠冩椂
+//        if (temperingGlassInfoList != null) {
+//            //鏌ヨ鏄惁鏈夊皬鐗囧叏閮ㄥ埌榻愮殑閽㈠寲鐗堝浘
+//        } else {
+//            //缁х画褰撳墠閽㈠寲鐗堝浘鐨勪换鍔�
+//        }
+        LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
+        bigStorageCageDetailslambdaQueryWrapper
+                .select(BigStorageCageDetails::getTemperingLayoutId)
+                .groupBy(BigStorageCageDetails::getTemperingLayoutId);
+        List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(bigStorageCageDetailslambdaQueryWrapper);
+        for (Map<String, Object> map : temperingLayoutIdList) {
+            for (Map.Entry<String, Object> entry : map.entrySet()) {
+                String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-'));
+                String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
+                if (suffix.equals(entry.getValue())) {
+
+                }
+            }
+        }
+        return true;
+    }
+
+    //淇敼鏍煎瓙鍓╀綑瀹藉害
+    @Override
+    public void updateRemainWidth(int slot) {
+        //鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅
+        Integer width = 5000;
+        List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(slot));
+        for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
+        ) {
+            width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
+        }
+        //淇敼鏍煎瓙鍓╀綑瀹藉害
+        BigStorageCage bigStorageCage = new BigStorageCage();
+        bigStorageCage.setRemainWidth(width);
+        UpdateWrapper<BigStorageCage> bigStorageCageWrapper = new UpdateWrapper<>();
+        bigStorageCageWrapper.eq("remain_width", width);
+        bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper);
     }
 
     @Override
     public List<BigStorageCage> querybigStorageCageDetail() {
         //1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭�
-//        List<BigStorageCage> bigStorageCages = bigStorageCageMapper.querybigStorageCageDetail(null);
         List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(null);
         log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
         //2鑾峰彇鐞嗙墖绗兼墍鏈変俊鎭�
@@ -78,21 +149,6 @@
             bigStorageCage.setBigStorageCageDetails(bigStorageCageDetails);
         }
         return bigStorageCages;
-
-    }
-
-    //淇敼鏍煎瓙鍓╀綑瀹藉害
-    @Override
-    public void updateRemainWidth(int Slot) {
-        //鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅
-        int width = 5000;
-        List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(Slot));
-        for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
-        ) {
-            width -= Integer.parseInt(bigStorageCageDetails.getWidth().toString()) + bigStorageCageDetails.getGap();
-        }
-        //淇敼鏍煎瓙鍓╀綑瀹藉害
-        bigStorageCageMapper.UpdateRemainWidth(Slot, width);
     }
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
index 203bcb8..113a8af 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
@@ -5,8 +5,8 @@
 import com.mes.bigstorage.service.BigStorageCageService;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
-import com.mes.uppattenusage.entity.GlassInfo;
-import com.mes.uppattenusage.service.GlassInfoService;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 
 import java.util.List;
@@ -21,48 +21,37 @@
     private TemperingGlassInfoService temperingGlassInfoService;
     @Autowired
     private GlassInfoService glassInfoService;
+
     @Override
     public void run() {
         while (this != null) {
             try {
-
                 Thread.sleep(500);
-                String plcFeedReq ="0";
-                String plcFeedGlassid ="111";
+                String plcFeedReq = "0";
+                String plcFeedGlassid = "111";
                 //Plc杩涚墖璇锋眰鏃�
-                if("1".equals(plcFeedReq)){
-                    BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
+                if ("1".equals(plcFeedReq)) {
+                    BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
                     //浼犲叆鐜荤拑id
-                    GlassInfo glassInfo=glassInfoService.getById(plcFeedGlassid);
+                    GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid);
 
-                    BigStorageCageDetails SlotInfo=bigStorageCageService.FeedGlass(glassInfo,bigStorageCageDetails);
-                    if(SlotInfo!=null){
+                    BigStorageCageDetails SlotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails);
+                    if (SlotInfo != null) {
                         //plc浠诲姟鍙戦�佸瓧
                     }
                 }
 
                 //鍑虹墖璇锋眰
-                String plcOutReq ="0";
-                boolean result=false;
-                if("1".equals(plcOutReq)){
+                String plcOutReq = "0";
+                boolean result = false;
+                if ("1".equals(plcOutReq)) {
                     //鑾峰彇閽㈠寲灏忕墖琛ㄦ湭鍑虹淇℃伅
-                    List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.SelectTemperingGlassInfo();
-                    //娌℃湁鍙嚭鐨勭幓鐠冩椂
-                    if(temperingGlassInfoList!=null){
-                        //鏌ヨ鏄惁鏈夊皬鐗囧叏閮ㄥ埌榻愮殑閽㈠寲鐗堝浘
-                        result = bigStorageCageDetailsService.getTemperingGlass();
-                    }else{
-                        //缁х画褰撳墠閽㈠寲鐗堝浘鐨勪换鍔�
 
-                        temperingGlassInfoService.addOutTask(temperingGlassInfoList);
-                        result=true;
-                    }
-                    if(result==true){
+
+                    if (result == true) {
                         //plc浠诲姟鍙戦�佸瓧
                     }
                 }
-
-
 
 
             } catch (Exception e) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
similarity index 87%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
index fe7ec7c..1eaae48 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.controller;
+package com.mes.glassinfo.controller;
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
similarity index 97%
copy from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
copy to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index 3c6eb37..28effe7 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -1,11 +1,10 @@
-package com.mes.uppattenusage.entity;
+package com.mes.glassinfo.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-
-import java.io.Serializable;
 
 /**
  * <p>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
similarity index 71%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
index 6acb270..f2595d8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.mapper;
+package com.mes.glassinfo.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
 
 /**
  * <p>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
similarity index 70%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
index 8e380d7..981b2b7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.service;
+package com.mes.glassinfo.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
 
 /**
  * <p>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
similarity index 62%
rename from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
rename to hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 7bab2ad..a30866a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -1,9 +1,9 @@
-package com.mes.uppattenusage.service.impl;
+package com.mes.glassinfo.service.impl;
 
-import com.mes.uppattenusage.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.uppattenusage.mapper.GlassInfoMapper;
-import com.mes.uppattenusage.service.GlassInfoService;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.glassinfo.service.GlassInfoService;
 import org.springframework.stereotype.Service;
 
 /**
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
index 1a737e4..709c05d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -7,7 +7,7 @@
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
@@ -15,5 +15,6 @@
  */
 public interface TemperingGlassInfoService extends IService<TemperingGlassInfo> {
     public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList);
+
     public List<TemperingGlassInfo> SelectTemperingGlassInfo();
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
deleted file mode 100644
index 948b3a4..0000000
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
+++ /dev/null
@@ -1,130 +0,0 @@
-package com.mes.uppattenusage.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class GlassInfo implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 鐜荤拑淇℃伅琛╥d
-     */
-      @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    /**
-     * 娴佺▼鍗�
-     */
-    private String flowcardId;
-
-    /**
-     * 娴佺▼鍗$幓鐠冪被鍨�
-     */
-    private Integer glassType;
-
-    /**
-     * 瀹�
-     */
-    private Double width;
-
-    /**
-     * 楂�
-     */
-    private Double height;
-
-    /**
-     * 鍘氬害
-     */
-    private Double thickness;
-
-    /**
-     * 鑶滅郴
-     */
-    private Integer filmsid;
-
-    /**
-     * 纾ㄥ墠瀹�
-     */
-    private Double edgWidth;
-
-    /**
-     * 纾ㄥ墠楂�
-     */
-    private Double edgHeight;
-
-    /**
-     * 鏄惁閰嶇墖
-     */
-    private Integer ismultiple;
-
-    /**
-     * 閰嶇墖鏈�澶у
-     */
-    private Double maxWidth;
-
-    /**
-     * 閰嶇墖鏈�澶ч珮
-     */
-    private Double maxHeight;
-
-    /**
-     * 閽㈠寲鏄惁鎺ュ彈妯斁
-     */
-    private Integer ishorizontal;
-
-    /**
-     * 鍘熺墖椤哄簭
-     */
-    private Integer patternSequence;
-
-    /**
-     * 閽㈠寲鐗堝浘id
-     */
-    private Integer temperingLayoutId;
-
-    /**
-     * 閽㈠寲鐗堝浘鐗囧簭
-     */
-    private Integer temperingFeedSequence;
-
-    /**
-     * x鍧愭爣
-     */
-    private Integer xCoordinate;
-
-    /**
-     * y鍧愭爣
-     */
-    private Integer yCoordinate;
-
-    /**
-     * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
-     */
-    private Integer angle;
-
-    /**
-     * 宸ョ▼鍙�
-     */
-    private Integer engineerId;
-
-    /**
-     * 鐢熶骇瑙勫垯id
-     */
-    private Integer ruleId;
-
-
-}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
similarity index 87%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
index 49e6d15..a988198 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.controller;
+package com.mes.glassinfo.controller;
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
similarity index 95%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
index 8cb7a31..bde85bb 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.entity;
+package com.mes.glassinfo.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
similarity index 70%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
index fda84e4..6e7b58b 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.mapper;
+package com.mes.glassinfo.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.glassinfo.entity.UpPattenUsage;
 
 /**
  * <p>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
similarity index 70%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
index 55fb773..56f3fa2 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
@@ -1,7 +1,7 @@
-package com.mes.uppattenusage.service;
+package com.mes.glassinfo.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.glassinfo.entity.UpPattenUsage;
 
 /**
  * <p>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
similarity index 61%
rename from hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
index 008b424..fade915 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
@@ -1,9 +1,9 @@
-package com.mes.uppattenusage.service.impl;
+package com.mes.glassinfo.service.impl;
 
-import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.glassinfo.entity.UpPattenUsage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
-import com.mes.uppattenusage.service.UpPattenUsageService;
+import com.mes.glassinfo.mapper.UpPattenUsageMapper;
+import com.mes.glassinfo.service.UpPattenUsageService;
 import org.springframework.stereotype.Service;
 
 /**
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
index d3327cf..2bafe07 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
@@ -23,6 +23,16 @@
             <version>2.8.9</version>
             <scope>compile</scope>
         </dependency>
+
+
+
+
+        <dependency>
+            <groupId>com.github.yulichang</groupId>
+            <artifactId>mybatis-plus-join</artifactId>
+            <version>1.2.4</version>
+        </dependency>
+
     </dependencies>
 
     <properties>
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
index b909d67..47dc741 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
@@ -9,7 +9,7 @@
 
 /**
  * @Author : zhoush
- * @Date: 2024/4/7 14:36
+ * @Date: 2024/4/7 14:36RRRR
  * @Description:
  */
 @SpringBootApplication
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
new file mode 100644
index 0000000..a21fed9
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
@@ -0,0 +1,91 @@
+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 PlcParameter = PLCAutomaticParameterSettingReview2.class
+//            .getResource("/JsonFile/PlcParameter.json").getPath();
+//    private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
+//            .getPath();
+//    private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.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);
+//      readAndUpdateWordValues(PlcframeObject);
+            // readAndUpdateWordValues(PlcframeObject);
+
+            // readAndUpdateWordValues(plcStateObject);
+          //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
+            // System.out.println(index);
+          //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
+            // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
+            List<String> addresses = new ArrayList<>();
+            addresses.add("FeedID");
+            addresses.add("AddStart");
+            // System.out.println(addresses);
+            // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
+            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/S7control.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
new file mode 100644
index 0000000..26d30b5
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
@@ -0,0 +1,470 @@
+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/downglassinfo/controller/DownGlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
index b678660..22e6105 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
@@ -1,30 +1,22 @@
 package com.mes.downglassinfo.controller;
 
-
 import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.service.DownGlassInfoService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
 
-/**
- * <p>
- * 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@Api(tags = "涓嬫枡淇℃伅")
 @RestController
 @RequestMapping("/downGlassInfo")
 public class DownGlassInfoController {
 
+    @Autowired
+    private DownGlassInfoService downGlassInfoService;
 
+
+
+
+
+    // Other endpoints can be added for CRUD operations
 }
-
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
index b96214d..5919edf 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
@@ -1,16 +1,9 @@
 package com.mes.downglassinfo.controller;
 
 
-import com.mes.downworkstation.entity.DownWorkstation;
-import com.mes.downworkstation.service.DownWorkstationService;
-import com.mes.uppattenusage.service.GlassInfoService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
index cbabf74..b871250 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
@@ -51,7 +51,7 @@
     private Double thickness;
 
 
-    private int Filmsid;
+    private String Filmsid;
 
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
index ede1a18..7fd31e5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -2,7 +2,10 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.downglassinfo.entity.DownGlassInfo;
+import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -10,12 +13,11 @@
 @Repository
 public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
 
-    // 鏌ヨ涓嬬墖浠诲姟琛ㄤ腑鐘舵�佷负1鐨勪笅鐗囦俊鎭�
-    List<DownGlassInfo> selectunloadingtaskstate();
+//   @Select("SELECT MAX(sequence) FROM down_glass_info WHERE flow_card_id = #{flowCardId} LIMIT 1")
+//   Integer getMaxSequenceByFlowCardId(@Param("flowCardId") String flowCardId);
+////
+// @Delete("delete  from down_glass_task where flow_card_id = #{flowCardId}")
+//  void deletetask(@Param("flowCardId") String flowCardId);
 
-    void updateTaskStateToZero(@Param("flowCardId") String flowCardId);
 
-    Integer getMaxSequenceByFlowCardId(@Param("flowCardId") String flowCardId);
-
-    void deletetask(@Param("flowCardId") String flowCardId);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
index 159421b..7fdfb20 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
@@ -1,7 +1,11 @@
 package com.mes.downglassinfo.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +17,5 @@
  */
 public interface DownGlassTaskMapper extends BaseMapper<DownGlassTask> {
 
+
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
index 656f504..e3368d3 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
@@ -2,18 +2,16 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downglassinfo.entity.DownGlassInfo;
-import org.springframework.beans.factory.annotation.Autowired;
 
-/**
- * <p>
- *  鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
 public interface DownGlassInfoService extends IService<DownGlassInfo> {
 
 
 
+
+    Integer getMaxSequenceByFlowCardId(String flowCardId);
+    void insertDownGlassInfo(DownGlassInfo downGlassInfo);
+
+
+
+
 }
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 db99ff9..cfa1764 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
@@ -3,6 +3,8 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downglassinfo.entity.DownGlassTask;
 
+import java.util.List;
+
 /**
  * <p>
  *  鏈嶅姟绫�
@@ -13,4 +15,11 @@
  */
 public interface DownGlassTaskService extends IService<DownGlassTask> {
 
+    List<DownGlassTask> getUnloadingTaskState();
+
+    void updateTaskStateToZero(String flowCardId);
+    void deleteTask(String flowCardId);
+
+    DownGlassTask  selectLastOutCacheInfo(String endCell);
+    Integer insertCacheTask(int id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index a141494..3c7b2d0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -1,22 +1,33 @@
 package com.mes.downglassinfo.service.impl;
-
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
 import com.mes.downglassinfo.service.DownGlassInfoService;
 import org.springframework.stereotype.Service;
 
-/**
- * <p>
- *  鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
 @Service
 public class DownGlassInfoServiceImpl extends ServiceImpl<DownGlassInfoMapper, DownGlassInfo> implements DownGlassInfoService {
 
+    // 鏍规嵁娴佺▼鍗″彿鏌ヨ鏈�澶у簭鍙�
+    @Override
+    public Integer getMaxSequenceByFlowCardId(String flowCardId) {
+        QueryWrapper<DownGlassInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("flow_card_id", flowCardId);
+        queryWrapper.select("MAX(sequence)"); // 閫夋嫨鏈�澶у簭鍙�
+        DownGlassInfo downGlassInfo = baseMapper.selectOne(queryWrapper);
+        if (downGlassInfo != null) {
+            return downGlassInfo.getSequence(); // 杩斿洖鏈�澶у簭鍙�
+        }
+        return 0; // 濡傛灉娌℃湁鎵惧埌璁板綍锛岃繑鍥�0鎴栬�呭叾浠栭�傚綋鐨勫��
+    }
+    @Override
+    public void insertDownGlassInfo(DownGlassInfo downGlassInfo) {
+        baseMapper.insert(downGlassInfo);
+    }
+
+
+
 
 
 }
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 1fb724b..9087138 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
@@ -1,11 +1,17 @@
 package com.mes.downglassinfo.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.mapper.DownGlassTaskMapper;
 import com.mes.downglassinfo.service.DownGlassTaskService;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 /**
  * <p>
@@ -18,4 +24,55 @@
 @Service
 public class DownGlassTaskServiceImpl extends ServiceImpl<DownGlassTaskMapper, DownGlassTask> implements DownGlassTaskService {
 
+
+
+    @Override
+    public List<DownGlassTask> getUnloadingTaskState() {
+        QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("task_stauts", 1);
+        return baseMapper.selectList(queryWrapper);
+    }
+
+    @Override
+    public void updateTaskStateToZero(String flowCardId) {
+        UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("task_stauts", 0).eq("flow_card_id", flowCardId);
+        baseMapper.update(null, updateWrapper);
+    }
+    @Override
+    public void deleteTask(String flowCardId) {
+        LambdaQueryWrapper<DownGlassTask> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DownGlassTask::getFlowCardId, flowCardId);
+
+        baseMapper.delete(queryWrapper);
+    }
+    @Override
+    public DownGlassTask selectLastOutCacheInfo(String endCell) {
+        QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("task_type", "2")
+                .eq("task_status", "2")
+                .eq("end_cell", endCell)
+                .last("LIMIT 1");
+
+        return baseMapper.selectOne(queryWrapper);
+    }
+    @Override
+    public Integer insertCacheTask(int id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId) {
+        DownGlassTask glassInfo = new DownGlassTask();
+        glassInfo.setId(id);
+        glassInfo.setStartCell(start);
+        glassInfo.setEndCell(end);
+        glassInfo.setTaskType(type);
+        glassInfo.setWidth(width);
+        glassInfo.setHeight(height);
+        glassInfo.setFilmsid(filmsId);
+        glassInfo.setThickness(thickness);
+        glassInfo.setFlowCardId(flowCardId);
+        glassInfo.setTaskStauts(0); // 榛樿浠诲姟鐘舵�佷负0
+
+        int rows = baseMapper.insert(glassInfo);
+        return rows > 0 ? rows : null;
+    }
+
+
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
index bf31d83..f78f833 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
@@ -1,21 +1,22 @@
 package com.mes.downstorage.controller;
 
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.service.DownStorageCageDetailsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
 @RestController
-@RequestMapping("/downStorageCageDetails")
+@RequestMapping("/down-storage-cage-details")
 public class DownStorageCageDetailsController {
 
-}
+    @Autowired
+    private DownStorageCageDetailsService downStorageCageDetailsService;
 
+    @PostMapping("/add")
+    public String addDownStorageCageDetails(@RequestBody DownStorageCageDetails details) {
+        downStorageCageDetailsService.addDownStorageCageDetails(details);
+        return "Details added successfully";
+    }
+
+    // Other CRUD operations can be defined here
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
index a24f392..8bd7830 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
@@ -81,6 +81,11 @@
      */
     private Integer temperingFeedSequence;
 
+
+    /**
+     * 鑶滅郴id
+     */
+    private int filmsid;
     /**
      * 鐘舵��
      */
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
index e8c5d15..1875824 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
@@ -1,7 +1,12 @@
 package com.mes.downstorage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.glassinfo.entity.GlassInfo;
+import org.apache.ibatis.annotations.*;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +16,55 @@
  * @author zhoush
  * @since 2024-03-27
  */
+@Mapper
 public interface DownStorageCageDetailsMapper extends BaseMapper<DownStorageCageDetails> {
+//
+//    @Select("select * from `glass_info` where id=#{id}")
+//    GlassInfo SelectGlassId(String id);
+    // 鏌ヨ绗煎瓙鍐呯┖闂�
+    @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is null order by escd.slot")
+    List<DownStorageCageDetails> SelectCacheLeisure();
+
+    // 鏌ヨ绗煎瓙鍐呭嚭鐗囦换鍔�
+    @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot WHERE escd.slot IS NOT NULL order by escd.tempering_layout_id,escd.tempering_feed_sequence")
+    List<DownStorageCageDetails> SelectCacheOut();
+
+    // 鏌ヨ绗煎瓙鍐呬俊鎭�
+    @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
+    List<DownStorageCageDetails> SelectCachInfo();
+
+    // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+    @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id=#{tempering_layout_id} and escd.tempering_feed_sequence<#{tempering_feed_sequence} and esc.remain_width-#{width}>0 order by escd.tempering_feed_sequence")
+    List<DownStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,
+                                                        double width);
+
+    // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+    @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id<#{tempering_layout_id} and esc.remain_width-#{width}>0 order by escd.tempering_layout_id desc,escd.tempering_feed_sequence")
+    List<DownStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, double width);
+
+//    // 鏌ヨ鍏ㄩ儴浠诲姟
+//    @Select("select * from down_glass_task")
+//    List<DownGlassTask> SelectCacheInfoAll();
+//
+//    // 鏌ヨ杩涚墖浠诲姟
+//    @Select("select * from down_glass_task where task_type='1' and task_stauts='0'")
+//    List<DownGlassTask> SelectInputCacheInfo();
+//
+//    // 鏌ヨ鍑虹墖浠诲姟
+//    @Select("select * from down_glass_task where task_type='2' and task_stauts='0'")
+//    List<DownGlassTask> SelectOutCacheInfo();
+
+    // 鏌ヨ  A06  鎴� A11 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
+    @Select("select * from down_glass_task where task_type='2' and task_stauts='2' and end_cell=#{EndCell} limit 1")
+    GlassInfo SelectLastOutCacheInfo(String EndCell);
+
+    // 淇敼绗煎瓙鍐呬俊鎭�
+//    @Update("update")
+//    Integer UpdateCache(@Param("id") Integer id, @Param("order_id") String order_id);
+
+    // 娣诲姞涓嬬墖浠诲姟
+    @Insert("INSERT into down_glass_task VALUES(#{id},#{start},#{end},#{type},0,)")
+    Integer insertCacheTask(String id, String start, String end, String type,double width,double height,Integer filmsId,double thickness,String flowCardId);
+
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
new file mode 100644
index 0000000..4a5ab13
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
@@ -0,0 +1,245 @@
+package com.mes.downstorage.service;
+
+import com.mes.common.PLCAutoMes;
+import com.mes.common.S7control;
+import com.mes.device.PlcParameterObject;
+
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
+import com.mes.downworkstation.mapper.DownWorkstationMapper;
+import com.mes.tools.WebSocketServer;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Data
+@Service
+public class DownGlassCacheLogic {
+    @Autowired
+    private DownStorageCageDetailsMapper selectInfo;
+    private GlassInfoService GlassInfoService;
+    private DownStorageCageDetailsService downStorageCageDetailsService;
+
+    /**
+     * @param Number
+     *    //璇嗗埆閫昏緫    涓嶄氦浜�
+     */
+
+    public void identify(String Number){
+        //鏌ヨ浠诲姟
+        PlcParameterObject plcmes= PLCAutoMes.PlcMesObject;
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+        String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+"";
+        boolean isexist=isExist(Number);
+        if (isexist) {
+            //瀛樺湪閫昏緫    1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
+            //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+        }else {
+            //涓嶅瓨鍦ㄩ�昏緫  1.鍥炲PLC涓嶅瓨鍦�
+            //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
+        }
+    }
+    //涓嬬墖鍓嶇悊鐗�
+    public static final String RESULT_IN = "1";
+    public static final String RESULT_OUT = "2";
+    public static final String RESULT_IN_OUT = "3";
+
+    public void process() {
+        String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
+        String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + "";
+
+        // 杩涚墖璇锋眰
+        if (RESULT_IN.equals(result)) {
+            processInto(number);
+        }
+        // 鍑虹墖璇锋眰
+        else if (RESULT_OUT.equals(result)) {
+            processOut();
+        }
+        // 杩涘嚭鐗囪姹�
+        else if (RESULT_IN_OUT.equals(result)) {
+            // 鍏堝嚭鍚庤繘
+            if (!processOut()) {
+                processInto(number);
+            }
+        }
+    }
+
+
+    /**
+     * @param Number
+     * @return
+     *   //涓嬬墖鍓嶇悊鐗� 杩�
+     */
+
+    public boolean processInto(String Number){
+        GlassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
+        //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        //瀛樺湪姝ょ幓鐠冪紪鍙�
+        if(GlassInfo!=null){
+            //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
+            List<DownStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getTemperingFeedSequence(),GlassInfo.getWidth());
+            //绌烘爡鏍煎彿
+            if (list.size()==0) {
+                list=selectInfo.SelectCacheLeisure();
+            }
+            //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
+            if(list.size()==0){
+                list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getWidth());
+            }
+            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());
+                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+                return true;
+            }
+            
+        }else{
+            // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
+        }
+        //杩斿洖缁撴灉
+        return false;
+    }
+    //鐞嗙墖 鍑�
+    public boolean processOut(){
+        //鏌ヨ浠诲姟
+        String G06=S7control.getinstance().ReadWord("DB14.56", 1).get(0)+"";
+        String G11=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
+        String G13=S7control.getinstance().ReadWord("DB14.58", 1).get(0)+"";
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        List<DownStorageCageDetails> list=selectInfo.SelectCacheOut();
+        //鍏朵粬鎯呭喌鏉′欢 濡傦細鍚庣画璁惧鏁呴殰绂佹鐞嗙墖鍑虹墖 绛�
+        boolean isOut=true;
+        if (list.size()>0&&isOut) {
+            DownStorageCageDetails item=list.get(0);
+           //
+            if(G06=="0"&&G11=="1"){
+                //鍑哄埌  G06
+
+                selectInfo.insertCacheTask(item.getGlassId()+"","0","06","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }else if(G06=="1"&&G11=="0"){
+                //鍑哄埌  G11
+
+                selectInfo.insertCacheTask(item.getGlassId()+"","0","11","2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2");
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }else if(G06=="0"&&G11=="0"){
+                //閮藉厑璁�    G04/G05  涓婁竴鐗囨槸鍚﹀拰姝ょ墖鐜荤拑灏哄灏哄鐩稿悓
+                String endcell="06";
+                String SendEndcell="1";
+                boolean If_=false;
+                GlassInfo glassInfo06= selectInfo.SelectLastOutCacheInfo("06");
+                GlassInfo glassInfo11= selectInfo.SelectLastOutCacheInfo("11");
+                GlassInfo glassInfo13= selectInfo.SelectLastOutCacheInfo("13");
+                if(glassInfo06!=null&& glassInfo11.getWidth().equals(item.getWidth()) && glassInfo06.getHeight().equals(item.getHeight())){
+                    endcell="11";
+                    SendEndcell="2";
+                }else if(item.getHeight()>=3440&&item.getWidth()>=1440){
+                    //鍏朵粬鏉′欢浜哄伐澶勭悊
+
+                }
+
+                selectInfo.insertCacheTask(item.getGlassId()+"","0",endcell,"2",item.getWidth(),item.getHeight(),item.getFilmsid(),item.getThickness(),item.getFlowCardId());
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }
+        }
+        //杩斿洖缁撴灉
+        return false;
+    }
+//鏌ヨ鏄惁缁戝畾鏋跺瓙
+//    public boolean selectFlowCardId(String FlowCardId){
+//
+//    }
+
+    /**
+     * @param Number
+     *  //纾ㄨ竟   涓嶄氦浜�  鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+     */
+
+    public void processMb(String Number){
+          //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        if(GlassInfo!=null){
+            //鍙戦�佷换鍔�   ID   闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");  
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");   
+        }
+        //杩斿洖缁撴灉
+    }
+
+
+    /**
+     * @param Number
+     * @return
+     * 鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+     */
+    public boolean selectMessageId(String Number){
+        //鏌ヨ鏄惁瀛樺湪
+
+        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+        if(GlassInfo==null){
+            //杩斿洖 涓嶅瓨鍦�
+            return false;
+
+        }
+        //杩斿洖 瀛樺湪
+        return true;
+    }
+
+    /**
+     * @param Number
+     * @return
+     *   鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+     */
+
+    public boolean deleteMessageId(String Number){
+        //鏌ヨ鏄惁瀛樺湪
+        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+        if(GlassInfo==null){
+            //杩斿洖 涓嶅瓨鍦�
+            return false;
+        }
+        //杩斿洖 瀛樺湪
+        return true;
+    }
+
+
+
+    /**
+     * @param Number
+     * @return
+     *   //鏄惁瀛樺湪姝ょ紪鍙风幓鐠�
+     */
+    public boolean isExist(String Number){
+        //鏌ヨ鏄惁瀛樺湪
+        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
+        if(GlassInfo==null){
+            //杩斿洖 涓嶅瓨鍦�
+            return false;
+        }
+        //杩斿洖 瀛樺湪
+        return true;
+    }
+    
+}
+
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 1dfaec9..a5c57bc 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,16 +1,12 @@
 package com.mes.downstorage.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 
-/**
- * <p>
- *  鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-public interface DownStorageCageDetailsService extends IService<DownStorageCageDetails> {
+public interface DownStorageCageDetailsService {
+
+    void addDownStorageCageDetails(DownStorageCageDetails details);
+
+
+
 
 }
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 588071f..87595f5 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
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downstorage.entity.DownStorageCage;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  鏈嶅姟绫�
@@ -12,5 +15,5 @@
  * @since 2024-03-27
  */
 public interface DownStorageCageService extends IService<DownStorageCage> {
-
+    public List<Map> gettask();
 }
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 b28c67a..cb8604a 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,20 +1,21 @@
 package com.mes.downstorage.service.impl;
 
-import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
 import org.springframework.stereotype.Service;
 
-/**
- * <p>
- *  鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
 @Service
 public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
 
+    @Override
+    public void addDownStorageCageDetails(DownStorageCageDetails details) {
+        this.save(details);
+    }
+
+
+
+
+    // Other business methods can be implemented here
 }
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 1ace668..618c2b1 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
@@ -4,7 +4,11 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -16,5 +20,12 @@
  */
 @Service
 public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
-
+    @Autowired
+    private DownStorageCageMapper downStorageCageMapper;
+    @Override
+    public List<Map> gettask(){
+        downStorageCageMapper.selectList(null);
+//        downStorageCageMapper.selectJoin();
+        return null;
+    };
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
index 1483cac..9ff8dbc 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -3,7 +3,7 @@
 
 import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.service.DownWorkstationService;
-import com.mes.uppattenusage.service.GlassInfoService;
+import com.mes.glassinfo.service.GlassInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -34,7 +34,7 @@
     @GetMapping("/getone")
     public ResponseEntity<?> getOneDownWorkstations() {
         try {
-            List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations();
+            List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1,5);
             // 鏋勫缓绗﹀悎棰勬湡鏍煎紡鐨勫搷搴旀暟鎹�
             Map<String, Object> responseData = new HashMap<>();
             responseData.put("code", 200);
@@ -54,13 +54,13 @@
 
     @GetMapping("/gettwo")
     public List<DownWorkstation> gettwoDownWorkstations() {
-        return downWorkstationService.gettwoDownWorkstations();
+        return downWorkstationService.getoneDownWorkstations(6,10);
     }
     @GetMapping("/getflowCardId")
     public ResponseEntity<Map<String, Object>> getflowCardId() {
         Map<String, Object> responseData = new HashMap<>();
         try {
-            List<Map<String, Object>> data = downWorkstationService.getflowCardId();
+            List<Map<String, Object>> data = glassInfoService.getFlowCardId();
             responseData.put("code", 200);
             responseData.put("msg", "鎴愬姛");
             responseData.put("data", data);
@@ -75,7 +75,7 @@
 
 
 
-
+//缁戝畾鏋跺瓙
     @PostMapping("/updateFlowCardId")
     public ResponseEntity<Map<String, Object>> updateFlowCardId(@RequestBody Map<String, Object> requestData) {
         // 浠� requestData 涓幏鍙栦紶鍏ョ殑 flowCardId
@@ -86,7 +86,7 @@
         int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId);
 
         // 鏇存柊 down_workstation 琛ㄤ腑鐨勬�绘暟閲�
-        glassInfoService.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
+        downWorkstationService.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
 
         // 鏋勫缓鍝嶅簲鏁版嵁
         Map<String, Object> responseData = new HashMap<>();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
index 713d8db..9e83179 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
@@ -1,6 +1,5 @@
 package com.mes.downworkstation.controller;
 
-
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
index 802dd59..ad9296c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
@@ -52,6 +52,8 @@
     private Integer workState;
 
 
+    private Integer total_quantity;
+
     private Integer Racksnumber;
 
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
index c862190..bcfd442 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downworkstation.entity.DownWorkstation;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
@@ -22,62 +23,59 @@
 @Mapper
 @Repository
 @InterceptorIgnore(tenantLine = "true")
-@DS("salve_1") // 鎸囧畾浣跨敤 hangzhoumes 鏁版嵁婧�
+// 鎸囧畾浣跨敤 hangzhoumes 鏁版嵁婧�
 public interface DownWorkstationMapper extends BaseMapper<DownWorkstation> {
 
 
 //鏌ヨ宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
     @Select("SELECT dwt.flow_card_id,dw.id,dw.racks_number FROM down_workstation_task dwt JOIN down_workstation dw ON dwt.flow_card_id = dw.flow_card_id WHERE dwt.state = 1 LIMIT 1")
     List<DownWorkstation> selectdownWorkstationstate();
+
+
+    @Select("SELECT flow_card_id,filmsid,width,height,thickness FROM down_glass_task WHERE task_stauts = 1;")
+    List<DownGlassTask> selectunloadingtaskstate();
     //鏇存柊钀芥灦鏁伴噺
-    @Update("UPDATE down_workstation SET racks_number = #{racksNumber} " +
-            "WHERE flow_card_id = #{flowCardId}")
-    void  update_racks_number(@Param("flowCardId") String flowCardId,
-                              @Param("racksNumber") Integer racksNumber);
+//    @Update("UPDATE down_workstation SET racks_number = #{racksNumber} " +
+//            "WHERE flow_card_id = #{flowCardId}")
+//    void  update_racks_number(@Param("flowCardId") String flowCardId,
+//                              @Param("racksNumber") Integer racksNumber);
 
     //鎻掑叆鏈烘浠诲姟琛�
-    @Insert("INSERT INTO down_workstation_task (flow_card_id, width, height, thickness, filmsid,state) " +
-            "VALUES (#{flowCardId}, #{width}, #{height}, #{thickness}, #{filmsid},1)")
-    void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
+//    @Insert("INSERT INTO down_workstation_task (flow_card_id, width, height, thickness, filmsid,state) " +
+//            "VALUES (#{flowCardId}, #{width}, #{height}, #{thickness}, #{filmsid},1)")
+//    void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
 
     //鏍规嵁宸ヤ綅id鏇存柊瀹炰綋绫绘帴鏀剁殑鏁版嵁
-    @Update("UPDATE down_workstation SET width = #{width}, height = #{height}, flow_card_id = #{flowCardId} WHERE workstation_id = #{workstationId}")
-    void updateFlowCardId(DownWorkstation downWorkstation);
+//    @Update("UPDATE down_workstation SET width = #{width}, height = #{height}, flow_card_id = #{flowCardId} WHERE workstation_id = #{workstationId}")
+//    void updateFlowCardId(DownWorkstation downWorkstation);
 
 
 
-    //婊℃灦鎷夎蛋锛屾竻绌轰俊鎭�
-    @Update("UPDATE down_workstation SET width = null, height = null, flow_card_id = null WHERE workstation_id = #{workstationId}")
-    void clearFlowCardId(DownWorkstation downWorkstation);
 
 
 
-    @Update("UPDATE down_workstation_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
-    void update_task_state_to_zero(@Param("flowCardId") String flowCardId);
+//    @Update("UPDATE down_workstation_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
+//    void update_task_state_to_zero(@Param("flowCardId") String flowCardId);
 
 
-    @Select(" SELECT * FROM down_workstation WHERE workstation_id >= 1 AND workstation_id <= 5")
-    List<DownWorkstation> getoneDownWorkstations();
-
-
-    @Select(" SELECT * FROM down_workstation WHERE workstation_id >= 6 AND workstation_id <= 10")
-    List<DownWorkstation> gettwoDownWorkstations();
+//    @Select("SELECT * FROM down_workstation WHERE workstation_id BETWEEN #{startId} AND #{endId}")
+//    List<DownWorkstation> getDownWorkstationsInRange(@Param("startId") int startId, @Param("endId") int endId);
 
 
 
-    @Select("SELECT DISTINCT  flowcard_id from glass_info")
-    @ResultType(Map.class)
-    List<Map<String, Object>> getflowCardId();
+//    @Select("SELECT DISTINCT  flowcard_id from glass_info")
+//    @ResultType(Map.class)
+//    List<Map<String, Object>> getflowCardId();
 
-    @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = 0, racks_number = 0 WHERE workstation_id = #{workstationId}")
-    void clearFlowCardInfoByWorkstationId(@Param("workstationId") int workstationId);
+//    @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = 0, racks_number = 0 WHERE workstation_id = #{workstationId}")
+//    void clearFlowCardInfoByWorkstationId(@Param("workstationId") int workstationId);
 
     // 鑾峰彇鎬绘暟閲�
-    @Select("SELECT total_quantity FROM down_workstation WHERE workstation_id = #{workstationId}")
-    int getTotalQuantity(@Param("workstationId") int workstationId);
+//    @Select("SELECT total_quantity FROM down_workstation WHERE workstation_id = #{workstationId}")
+//    int getTotalQuantity(@Param("workstationId") int workstationId);
 
     // 鑾峰彇钀芥灦鏁伴噺
-    @Select("SELECT racks_number FROM down_workstation WHERE workstation_id = #{workstationId}")
-    int getRacksNumber(@Param("workstationId") int workstationId);
+//    @Select("SELECT racks_number FROM down_workstation WHERE workstation_id = #{workstationId}")
+//    int getRacksNumber(@Param("workstationId") int workstationId);
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
index 076b258..1183e63 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
@@ -1,7 +1,10 @@
 package com.mes.downworkstation.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.entity.DownWorkstationTask;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +16,7 @@
  */
 public interface DownWorkstationTaskMapper extends BaseMapper<DownWorkstationTask> {
 
+    List<DownWorkstationTask> selectList();
+
+    DownWorkstation selectdownWorkstationstate();
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
index 309ac2f..045f2d8 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
@@ -1,12 +1,14 @@
 package com.mes.downworkstation.service;
 
-import com.mes.device.PLCAutoMes;
-import com.mes.device.PlcParameterObject;
+import com.mes.common.PLCAutoMes;
 import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
+import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.downglassinfo.service.DownGlassTaskService;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.device.PlcParameterObject;
+import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
 import com.mes.downworkstation.mapper.DownWorkstationMapper;
 import com.mes.tools.WebSocketServer;
 import lombok.Data;
@@ -23,7 +25,10 @@
     private DownWorkstation downWorkstation;
     private DownGlassInfoMapper downGlassInfoMapper;
     private DownGlassInfoService downGlassInfoService;
+    private DownGlassTaskService downGlassTaskService;
     private DownWorkstationMapper downWorkstationMapper;
+    private DownWorkstationService downWorkstationService;
+    private DownWorkstationTaskService downWorkstationTaskService;
     PlcParameterObject plcread = PLCAutoMes.PlcReadObject;
     /**
      * // 鏈烘鎵�1PLC璇锋眰瀛�
@@ -59,22 +64,26 @@
     public void insertdownglassinfo() {
 
 
-        downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
+      downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
+        downWorkstationService = WebSocketServer.applicationContext.getBean(DownWorkstationService.class);
+        downWorkstationTaskService = WebSocketServer.applicationContext.getBean(DownWorkstationTaskService.class);
         downGlassInfoService = WebSocketServer.applicationContext.getBean(DownGlassInfoService.class);
-        downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
-        List<DownGlassInfo> taskdownGlassInf = downGlassInfoMapper.selectunloadingtaskstate();
+      downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
+        downGlassTaskService = WebSocketServer.applicationContext.getBean(DownGlassTaskService.class);
+        List<DownGlassTask> taskdownGlassInf = downWorkstationMapper.selectunloadingtaskstate();
 //
+
+
         if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
 
 //
 
-
-            for (DownGlassInfo downGlassInfo : taskdownGlassInf) {
+            for (DownGlassTask downGlassInfo : taskdownGlassInf) {
                 // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
                 DownGlassInfo newdownGlassInfo = new DownGlassInfo();
 
                 newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
-                Integer maxSequence = downGlassInfoMapper.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
+                Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
                 // 鍒濆鍖栭『搴忓瓧娈靛��
                 int sequence = maxSequence != null ? maxSequence + 1 : 1;
 
@@ -86,11 +95,12 @@
                 newdownGlassInfo.setSequence(sequence);
 
                 // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
-                downGlassInfoMapper.insert(newdownGlassInfo);
+                downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
                 //鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
-                downWorkstationMapper.insertdownWorkstationtask(newdownGlassInfo);
+
+                downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
                 //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
-                downGlassInfoMapper.updateTaskStateToZero(downGlassInfo.getFlowCardId());
+                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getFlowCardId());
 
                 sequence++; // 閫掑椤哄簭瀛楁鍊�
 
@@ -115,12 +125,12 @@
                 for (DownWorkstation downWorkstation : taskdownWorkstation) {
 
                     //鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
-                    downWorkstationMapper.update_racks_number(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
+                    downWorkstationService.updateracksnumber(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
 
                     //鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
-                    downWorkstationMapper.update_task_state_to_zero(downWorkstation.getFlowCardId());
+                    downWorkstationTaskService.updateTaskStateToZero(downWorkstation.getFlowCardId());
                     //鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                    downGlassInfoMapper.deletetask(downWorkstation.getFlowCardId());
+                    downGlassTaskService.deleteTask(downWorkstation.getFlowCardId());
 
                 }
             }
@@ -134,23 +144,19 @@
     }
 
 
-    /**
-     * @param downWorkstation // 缁戝畾娴佺▼鍗″彿鏋跺瓙
-     */
 
-    public void bindingshelf(DownWorkstation downWorkstation) {
-        downWorkstationMapper.updateFlowCardId(downWorkstation);
-    }
+
+
 
 
     /**
      * @param downWorkstation // 婊℃灦鎷夎蛋 娓呴櫎娴佺▼鍗′俊鎭�
      */
 
-    public void clearFlowCardId(DownWorkstation downWorkstation) {
-
-        downWorkstationMapper.clearFlowCardId(downWorkstation);
-    }
+//    public void clearFlowCardId(DownWorkstation downWorkstation) {
+//
+//        downWorkstationMapper.clearFlowCardId(downWorkstation);
+//    }
 
 
-}
+}
\ No newline at end of file
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 e26331f..04f8dc2 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
@@ -16,15 +16,18 @@
  */
 public interface DownWorkstationService extends IService<DownWorkstation> {
 
-    List<DownWorkstation> getoneDownWorkstations();
-
-    List<DownWorkstation> gettwoDownWorkstations();
-
-    List<Map<String, Object>> getflowCardId();
+    List<DownWorkstation> getoneDownWorkstations(int startId, int endId);
 
     int getTotalQuantity(int workstationId);
 
     int getRacksNumber(int workstationId);
 
     void clearFlowCardId(int workstationId);
+
+    void updateracksnumber( String flowCardId, int racksnumber);
+
+
+    int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId);
+
+
 }
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 a60ce62..3ba5fe1 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
@@ -1,6 +1,7 @@
 package com.mes.downworkstation.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downworkstation.entity.DownWorkstationTask;
 
 /**
@@ -12,5 +13,6 @@
  * @since 2024-04-07
  */
 public interface DownWorkstationTaskService extends IService<DownWorkstationTask> {
-
+     void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
+     void updateTaskStateToZero(String flowCardId);
 }
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 865c54c..6e07df0 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
@@ -1,11 +1,17 @@
 package com.mes.downworkstation.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.entity.DownWorkstationTask;
 import com.mes.downworkstation.mapper.DownWorkstationMapper;
+import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
 import com.mes.downworkstation.service.DownWorkstationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -15,36 +21,107 @@
 
     @Autowired
     private DownWorkstationMapper downWorkstationMapper;
+    private DownWorkstationTaskMapper downWorkstationTaskMapper;
 
-    @Override
-    public List<DownWorkstation> getoneDownWorkstations() {
-        return downWorkstationMapper.getoneDownWorkstations();
-    }
 
-    @Override
-    public List<DownWorkstation> gettwoDownWorkstations() {
-        return downWorkstationMapper.gettwoDownWorkstations();
-    }
 
-    @Override
-    public List<Map<String, Object>> getflowCardId() {
-        return downWorkstationMapper.getflowCardId();
-    }
-
+//    @Override
+//    public List<DownWorkstation> gettwoDownWorkstations() {
+//        return downWorkstationMapper.getDownWorkstationsInRange(6,10);
+//    }
+//鑾峰彇鎬绘暟閲�
     @Override
     public int getTotalQuantity(int workstationId) {
-        Integer totalQuantity = downWorkstationMapper.getTotalQuantity(workstationId);
-        return totalQuantity != null ? totalQuantity : 0;
+        QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("total_quantity")
+                .eq("workstation_id", workstationId);
+
+        DownWorkstation result = baseMapper.selectOne(queryWrapper);
+        return result != null ? result.getTotal_quantity() : 0;
     }
 
+//    @Override
+//    public int getTotalQuantity(int workstationId) {
+//        Integer totalQuantity = downWorkstationMapper.getTotalQuantity(workstationId);
+//        return totalQuantity != null ? totalQuantity : 0;
+//    }
+
+//    @Override
+//    public int getRacksNumber(int workstationId) {
+//        Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
+//        return racksNumber != null ? racksNumber : 0;
+//    }
+    //鏍规嵁鏉′欢鑾峰彇钀芥灦鏁伴噺
     @Override
     public int getRacksNumber(int workstationId) {
-        Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
-        return racksNumber != null ? racksNumber : 0;
+        QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("racks_number")
+                .eq("workstation_id", workstationId);
+
+        DownWorkstation result = baseMapper.selectOne(queryWrapper);
+        return result != null ? result.getRacksnumber() : 0;
+    }
+//鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
+    @Override
+    public List<DownWorkstation> getoneDownWorkstations(int startId, int endId) {
+        QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
+        queryWrapper.between("workstation_id", startId, endId);
+
+        return baseMapper.selectList(queryWrapper);
+    }
+
+
+//
+
+
+    @Override
+    public void updateracksnumber(String flowCardId, int racksNumber) {
+        UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("racks_number",racksNumber).eq("flow_card_id", flowCardId);
+        baseMapper.update(null, updateWrapper);
+    }
+
+
+
+    @Override
+    public int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+        UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("total_quantity", glassInfoCount)
+                .set("flow_card_id", flowCardId)
+                .eq("workstation_id", workstationId);
+
+        return baseMapper.update(null, updateWrapper);
     }
 
     @Override
     public void clearFlowCardId(int workstationId) {
-        downWorkstationMapper.clearFlowCardInfoByWorkstationId(workstationId);
+        UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("flow_card_id", null)
+                .set("total_quantity", 0)
+                .set("racks_number", 0)
+                .eq("workstation_id", workstationId);
+
+        baseMapper.update(null, updateWrapper);
     }
+
+
+
+
+
+
+
+
+
+    @Transactional
+    public void crossDatabaseQuery() {
+        // 浠� MySQL 鏁版嵁搴撲腑鏌ヨ鏁版嵁锛屽彧杩斿洖涓�鏉$鍚堟潯浠剁殑鏁版嵁
+        DownWorkstation downWorkstation = downWorkstationTaskMapper.selectdownWorkstationstate();
+
+        // 浠� SQL Server 鏁版嵁搴撲腑鏌ヨ鏁版嵁
+        List<DownWorkstationTask> downWorkstationTasks = downWorkstationTaskMapper.selectList();
+
+
+
+    }
+
 }
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 5814861..1b35075 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
@@ -1,6 +1,8 @@
 package com.mes.downworkstation.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downworkstation.entity.DownWorkstationTask;
 import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
 import com.mes.downworkstation.service.DownWorkstationTaskService;
@@ -17,4 +19,25 @@
 @Service
 public class DownWorkstationTaskServiceImpl extends ServiceImpl<DownWorkstationTaskMapper, DownWorkstationTask> implements DownWorkstationTaskService {
 
+
+
+    public void insertdownWorkstationtask(DownGlassInfo downGlassInfo) {
+        DownWorkstationTask entity = new DownWorkstationTask();
+        entity.setFlowCardId(downGlassInfo.getFlowCardId());
+        entity.setWidth(downGlassInfo.getWidth());
+        entity.setHeight(downGlassInfo.getHeight());
+        entity.setThickness(downGlassInfo.getThickness());
+        entity.setFilmsid(downGlassInfo.getFilmsid());
+        entity.setState(1);
+
+        baseMapper.insert(entity);
+    }
+
+    @Override
+    public void updateTaskStateToZero(String flowCardId) {
+        UpdateWrapper<DownWorkstationTask> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.set("state", 0).eq("flow_card_id", flowCardId);
+
+        baseMapper.update(null, updateWrapper);
+    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
similarity index 87%
copy from hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
copy to hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
index fe7ec7c..c8b2e3b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
@@ -1,8 +1,7 @@
-package com.mes.uppattenusage.controller;
+package com.mes.glassinfo.controller;
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 /**
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
similarity index 97%
rename from hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
rename to hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index 3c6eb37..6ab4929 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -1,4 +1,4 @@
-package com.mes.uppattenusage.entity;
+package com.mes.glassinfo.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
new file mode 100644
index 0000000..a8efa7c
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -0,0 +1,28 @@
+package com.mes.glassinfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.glassinfo.entity.GlassInfo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import org.mapstruct.Mapper;
+
+/**
+ * <p>
+ *  Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Mapper
+public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
+
+
+//    @Select("SELECT COUNT(*) FROM glass_info WHERE flowcard_id = #{flowCardId}")
+//    int getGlassInfoCountByFlowCardId(@Param("flowCardId") String flowCardId);
+
+//    @Update("UPDATE down_workstation SET  total_quantity = #{glassInfoCount},flow_card_id=#{flowCardId} WHERE workstation_id = #{workstationId}")
+//    int updateFlowCardIdAndCount(@Param("flowCardId") String flowCardId, @Param("glassInfoCount") int glassInfoCount,@Param("workstationId")int workstationId);
+
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
new file mode 100644
index 0000000..672b60f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -0,0 +1,23 @@
+package com.mes.glassinfo.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.glassinfo.entity.GlassInfo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+public interface GlassInfoService extends IService<GlassInfo> {
+
+    int getGlassInfoCountByFlowCardId(String flowCardId);
+
+    List<Map<String, Object>> getFlowCardId();
+    GlassInfo selectGlassId(String id);
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
new file mode 100644
index 0000000..fcf4605
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -0,0 +1,63 @@
+package com.mes.uppattenusage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.glassinfo.service.GlassInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-03-27
+ */
+@Service
+public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
+
+    private GlassInfoMapper glassInfoMapper;
+
+    @Autowired
+    public GlassInfoServiceImpl(GlassInfoMapper glassInfoMapper) {
+        this.glassInfoMapper = glassInfoMapper;
+    }
+
+    @Override
+    public int getGlassInfoCountByFlowCardId(String flowCardId) {
+        QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("flowcard_id", flowCardId);
+
+        return baseMapper.selectCount(queryWrapper);
+    }
+    @Override
+    public List<Map<String, Object>> getFlowCardId() {
+        return baseMapper.selectMaps(new QueryWrapper<GlassInfo>().select("DISTINCT flowcard_id"));
+    }
+    @Override
+    public GlassInfo selectGlassId(String id) {
+        QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", id);
+
+        return baseMapper.selectOne(queryWrapper);
+    }
+
+
+
+//    public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
+//        int rowsAffected = glassInfoMapper.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
+//        if (rowsAffected > 0) {
+//            System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忔垚鍔�");
+//        } else {
+//            System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忓け璐�");
+//        }
+//    }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
deleted file mode 100644
index 66adb58..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/controller/GlassInfoController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mes.uppattenusage.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@RestController
-@RequestMapping("/glassInfo")
-public class GlassInfoController {
-
-}
-
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
deleted file mode 100644
index f47d7bc..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/mapper/GlassInfoMapper.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mes.uppattenusage.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.uppattenusage.entity.GlassInfo;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
-
-import java.util.List;
-
-/**
- * <p>
- *  Mapper 鎺ュ彛
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-public interface GlassInfoMapper extends BaseMapper<GlassInfo> {
-
-
-    @Select("SELECT COUNT(*) FROM glass_info WHERE flowcard_id = #{flowCardId}")
-    int getGlassInfoCountByFlowCardId(@Param("flowCardId") String flowCardId);
-
-    @Update("UPDATE down_workstation SET  total_quantity = #{glassInfoCount},flow_card_id=#{flowCardId} WHERE workstation_id = #{workstationId}")
-    int updateFlowCardIdAndCount(@Param("flowCardId") String flowCardId, @Param("glassInfoCount") int glassInfoCount,@Param("workstationId")int workstationId);
-
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
deleted file mode 100644
index 57215a7..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/GlassInfoService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.uppattenusage.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.mes.uppattenusage.entity.GlassInfo;
-
-/**
- * <p>
- *  鏈嶅姟绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-public interface GlassInfoService extends IService<GlassInfo> {
-
-    int getGlassInfoCountByFlowCardId(String flowCardId);
-
-    void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId);
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
deleted file mode 100644
index 5c1a9b6..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/GlassInfoServiceImpl.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.mes.uppattenusage.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.uppattenusage.entity.GlassInfo;
-import com.mes.uppattenusage.mapper.GlassInfoMapper;
-import com.mes.uppattenusage.service.GlassInfoService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@Service
-public class GlassInfoServiceImpl extends ServiceImpl<GlassInfoMapper, GlassInfo> implements GlassInfoService {
-
-    private GlassInfoMapper glassInfoMapper;
-
-    @Autowired
-    public GlassInfoServiceImpl(GlassInfoMapper glassInfoMapper) {
-        this.glassInfoMapper = glassInfoMapper;
-    }
-
-    @Override
-    public int getGlassInfoCountByFlowCardId(String flowCardId) {
-        return glassInfoMapper.getGlassInfoCountByFlowCardId(flowCardId);
-    }
-
-    @Override
-    public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
-        int rowsAffected = glassInfoMapper.updateFlowCardIdAndCount(flowCardId, glassInfoCount, workstationId);
-        if (rowsAffected > 0) {
-            System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忔垚鍔�");
-        } else {
-            System.out.println("鏇存柊鏋跺瓙涓婃祦绋嬪崱 ID 鍜屾暟閲忓け璐�");
-        }
-    }
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index d7bee72..91f65a2 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -12,6 +12,12 @@
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
+
+#          sqlserver:
+#            url: jdbc:sqlserver://localhost:1433;databaseName=hangzhoumes
+#            username: sa
+#            password: beibo.123/
+#            driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
   cloud:
     nacos:
       discovery:
@@ -24,7 +30,8 @@
     port: 6379
     password: 123456
 mybatis-plus:
-  mapper-locations: classpath*:mapper/*.xml
+
+    mapper-locations: classpath*:mapper/sqlserver/*.xml
 
   #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
   # 璁剧疆 MyBatis 鏃ュ織绾у埆涓� ERROR
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
deleted file mode 100644
index 59e29ae..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mes.downglassinfo.mapper.DownGlassInfoMapper">
-
-    <select id="selectunloadingtaskstate" resultType="com.mes.downglassinfo.entity.DownGlassInfo">
-        SELECT flow_card_id, filmsid, width, height, thickness FROM down_glass_task WHERE task_stauts = 1
-    </select>
-
-    <update id="updateTaskStateToZero">
-        UPDATE down_glass_task SET task_stauts = 0 WHERE flow_card_id = #{flowCardId}
-    </update>
-
-    <select id="getMaxSequenceByFlowCardId" resultType="java.lang.Integer">
-        SELECT MAX(sequence) FROM down_glass_info WHERE flow_card_id = #{flowCardId}
-    </select>
-
-    <delete id="deletetask">
-        DELETE FROM down_glass_task WHERE flow_card_id = #{flowCardId}
-    </delete>
-
-</mapper>

--
Gitblit v1.8.0