From 164cb74e2c471321caf9c4870de846cf08ca5f6c Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 23 十二月 2024 15:36:08 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml                          |    2 
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                                 |   25 ++++++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml                           |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java          |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java                  |    8 +
 UI-Project/src/lang/en.js                                                                                                                    |    1 
 UI-Project/src/lang/zh.js                                                                                                                    |    1 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |   68 ++++++++++++++++-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                   |   94 -----------------------
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java    |    6 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml                                  |    2 
 11 files changed, 111 insertions(+), 100 deletions(-)

diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index 0e3c60f..c85f681 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -232,6 +232,7 @@
           // cancel:'鍙栨秷',
           temperingtotal:'Number of tempering furnaces锛�',
           glasstotal:'Total number of glasses锛�',
+          scheduletime:'Time of schedule锛�'
       },
       workOrder:{
           glassID:'Glass ID',
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 48fa55d..ca4d316 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -236,6 +236,7 @@
           cancel:'鍙栨秷',
           temperingtotal:'閽㈠寲鐐夋暟锛�',
           glasstotal:'鐜荤拑鎬绘暟锛�',
+          scheduletime:'璋冨害鏃堕棿锛�'
       },
       workOrder:{
           glassID:'鐜荤拑ID',
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 4ed4765..ee625cc 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -80,6 +80,7 @@
 const selectedRow = ref(null); // 瀛樺偍閫変腑鐨勮鏁版嵁  
 const temperingtotal = ref(0);
 const glasstotal = ref(0);
+const scheduletime = ref(0);
 const fulltotals = ref(0);
 const temperingengineerId=ref('');
     // 褰撳墠椤电爜鍜屾瘡椤垫樉绀虹殑鏉℃暟
@@ -645,6 +646,7 @@
 const handleganghua = () => {
   dialogFormVisiblec.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
   fetchFlow(); 
+  scheduleTime();
 };
 // 閽㈠寲鏌ヨ
  
@@ -675,6 +677,22 @@
   } 
 }
  
+const scheduleTime = async () => {
+  try  {
+    const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/scheduleTime')
+    if (response.code == 200) {
+      scheduletime.value = response.data
+      
+ 
+    } else {
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
  
 const fetchFlow = async () => {
   try  {
@@ -1589,6 +1607,13 @@
   <div style="margin-bottom: 20px">
       <el-form>
         <el-row style="margin-top: -15px;margin-bottom: -2px;">
+          <el-col :span="5">
+            <div id="dta" style="font-size: 15px;">
+          <el-form-item :label="$t('searchOrder.scheduletime')" style="width: 14vw">
+                {{ scheduletime }}
+              </el-form-item>
+              </div>
+          </el-col>
           <el-col :span="4">
               <div id="dt" style="font-size: 15px;">
               <el-form-item :label="$t('searchOrder.temperingtotal')"  style="width: 14vw">
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 bd2e2de..f614e56 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
@@ -154,5 +154,11 @@
         return Result.build(200, "淇敼鎴愬姛", 1);
     }
 
+    @ApiOperation("璋冨害鏃堕棿鏌ヨ")
+    @PostMapping("/scheduleTime")
+    public Result scheduleTime() {
+        return Result.build(200, "淇敼鎴愬姛", bigStorageCageDetailsService.scheduleTime());
+    }
+
 }
 
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 8daa7b7..d2ecedd 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
@@ -78,4 +78,6 @@
     String temperingSwitch(Boolean flag);
 
     void appointEngineerId(String engineerId);
+
+    long scheduleTime();
 }
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 deb1045..bccf36a 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
@@ -2,10 +2,12 @@
 
 import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.mes.base.entity.BigStorageCageBaseInfo;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.entity.BigStorageDTO;
@@ -19,6 +21,7 @@
 import com.mes.bigstoragetask.entity.UpdateBigStorageCageDTO;
 import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
 import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
+import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
 import com.mes.common.config.Const;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
@@ -36,10 +39,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -78,6 +78,10 @@
     private DamageService damageService;
     @Resource
     private RedisUtil redisUtil;
+    @Resource
+    private BigStorageCageOutTaskService bigStorageCageOutTaskService;
+    @Resource
+    private BigStorageCageDetailsService bigStorageCageDetailsService;
 
     @Value("${mes.minCount}")
     private int minCount;
@@ -467,4 +471,60 @@
     public void appointEngineerId(String engineerId) {
         redisUtil.setCacheObject("temperingengineerId", engineerId);
     }
+
+    @Override
+    public long scheduleTime() {
+        //鎵ц鍐呴儴璋冨害浠诲姟
+        List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
+        List<BigStorageCageOutTask> bigStorageCageOutTasks = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(temperingOccupySlotList)) {
+            for (TemperingLayoutDTO temperingOccupySlot : temperingOccupySlotList) {
+                List<GlassInfo> glassInfos = glassInfoService.list(
+                        new LambdaQueryWrapper<GlassInfo>()
+                                .eq(GlassInfo::getEngineerId, temperingOccupySlot.getEngineerId())
+                                .eq(GlassInfo::getTemperingLayoutId, temperingOccupySlot.getTemperingLayoutId())
+                                .notInSql(GlassInfo::getGlassId, "select glass_id from damage where type=8 and engineer_id='"
+                                        + temperingOccupySlot.getEngineerId() + "' and tempering_layout_id = '" + temperingOccupySlot.getTemperingLayoutId() + "'")
+                                .orderBy(Boolean.TRUE, sequenceOrder, GlassInfo::getTemperingFeedSequence)
+                );
+                Map<Integer, List<GlassInfo>> listMap = glassInfos.stream().collect(Collectors.groupingBy(item -> item.getTargetSlot()));
+                for (Map.Entry<Integer, List<GlassInfo>> entry : listMap.entrySet()) {
+                    List<GlassInfo> valueList = entry.getValue();
+                    List<String> glassIds = valueList.stream().map(GlassInfo::getGlassId).collect(Collectors.toList());
+                    List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsService.list(
+                            new LambdaQueryWrapper<BigStorageCageDetails>()
+                                    .in(BigStorageCageDetails::getGlassId, glassIds)
+                                    .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+                                    .orderBy(Boolean.TRUE, sequenceOrder, BigStorageCageDetails::getTemperingFeedSequence)
+                    );
+                    //褰撲竴鏍肩幓鐠冮兘鍒伴綈鏃�
+                    if (bigStorageCageDetailsList.size() == valueList.size()) {
+                        long distinctSlotCount = bigStorageCageDetailsList.stream()
+                                .map(BigStorageCageDetails::getSlot)
+                                .distinct()
+                                .count();
+                        //褰撶幓鐠冧笉鍦ㄥ悓涓�鏍兼椂
+                        if (distinctSlotCount > 1) {
+                            BigStorageCageDetails maxSequenceDetail = bigStorageCageDetailsList.stream()
+                                    .max(Comparator.comparingInt(BigStorageCageDetails::getTemperingFeedSequence))
+                                    .orElse(null);  // 濡傛灉娌℃湁鍏冪礌锛岃繑鍥� null
+                            int maxSlot = maxSequenceDetail.getSlot();
+                            int serialNumber = 1;
+                            for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
+                            ) {
+                                if (bigStorageCageDetails.getSlot() != maxSlot) {
+                                    bigStorageCageOutTasks.add(new BigStorageCageOutTask(bigStorageCageDetails.getGlassId(), bigStorageCageDetails.getSlot(), maxSlot,
+                                            bigStorageCageDetails.getWidth() * 10, bigStorageCageDetails.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        long startSlotCount = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getStartSlot).distinct().count();
+        long endSlotCount = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getEndSlot).distinct().count();
+        long time = (startSlotCount * 10 + endSlotCount * 20) / 60;
+        return time;
+    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 78840f9..ce6fdcb 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -427,102 +427,12 @@
                                                 .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
                                         //涓ゆ鏇存柊绗煎瓙鐨勫墿浣欏昂瀵革細绗竴娆¢槻姝㈡湁鐜荤拑缁х画杩涜皟搴﹀悗鐨勭瀛愶紝绗簩娆℃洿鏂帮細璁$畻鏍煎瓙鐨勫疄闄呭昂瀵�
                                         // 浠呮洿鏂拌皟搴﹀悗鐨勬牸瀛愪俊鎭細璧峰鏍煎瓙瀹屾垚鍚庢洿鏂帮細闃叉璋冨害鍑虹墖杩囩▼涓湁鏂扮幓鐠冭繘鍏ワ紝
-//                                        List<Integer> updateSlots = new ArrayList<>();
-//                                        updateSlots.add(bigStorageCageDetails.getSlot());
-//                                        updateSlotRemainBySlots(updateSlots);
                                     }
                                 }
                                 break loop;
                             }
                         }
                     }
-//                    List<GlassInfo> glassInfoList = glassInfoService.list(
-//                            new LambdaQueryWrapper<GlassInfo>()
-//                                    .eq(GlassInfo::getTemperingLayoutId, temperingOccupySlot.getTemperingLayoutId())
-//                                    .eq(GlassInfo::getEngineerId, temperingOccupySlot.getEngineerId())
-//                                    .notInSql(GlassInfo::getGlassId, "select glass_id from damage where type=8 and engineer_id='"
-//                                            + temperingOccupySlot.getEngineerId() + "' and tempering_layout_id = '" + temperingOccupySlot.getTemperingLayoutId() + "'")
-//                    );
-//                    List<BigStorageCageDetails> glassInfoLists = new ArrayList<>();
-//                    glassInfoList.forEach(glassInfo -> {
-//                        BigStorageCageDetails details = new BigStorageCageDetails();
-//                        BeanUtils.copyProperties(glassInfo, details);
-//                        details.setSlot(1);
-//                        glassInfoLists.add(details);
-//                    });
-//                    List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsService.list(
-//                            new LambdaQueryWrapper<BigStorageCageDetails>()
-//                                    .eq(BigStorageCageDetails::getEngineerId, temperingOccupySlot.getEngineerId())
-//                                    .eq(BigStorageCageDetails::getTemperingLayoutId, temperingOccupySlot.getTemperingLayoutId())
-//                                    .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
-//                                    .orderBy(Boolean.TRUE, sequenceOrder, BigStorageCageDetails::getTemperingFeedSequence)
-//                    );
-////                    if (glassInfoLists.size() == bigStorageCageDetailsList.size()) {
-//                    computeOutMoreGlassInfo(glassInfoLists, Boolean.TRUE, 2);
-//                    computeOutMoreGlassInfo(bigStorageCageDetailsList, Boolean.TRUE, 3);
-//                    int allTrainNumber = allTask.stream()
-//                            .map(BigStorageCageOutTask::getTrainNumber)
-//                            .collect(Collectors.toSet())
-//                            .size();
-//                    int allTrainSlot = allTask.stream()
-//                            .map(BigStorageCageOutTask::getStartSlot)
-//                            .collect(Collectors.toSet())
-//                            .size();
-//                    int notallTrainNumber = notAllTask.stream()
-//                            .map(BigStorageCageOutTask::getTrainNumber)
-//                            .collect(Collectors.toSet())
-//                            .size();
-//                    int notallTrainSlot = notAllTask.stream()
-//                            .map(BigStorageCageOutTask::getStartSlot)
-//                            .collect(Collectors.toSet())
-//                            .size();
-////                        if (allTrainNumber < notallTrainNumber || (allTrainNumber == notallTrainNumber && allTrainSlot < notallTrainSlot)) {
-//                    List<SlotSequenceDTO> slotSequenceList = bigStorageCageDetailsService.queryGlassMaxAndMin(temperingOccupySlot.getEngineerId(), temperingOccupySlot.getTemperingLayoutId());
-//                    for (int i = 0; i < slotSequenceList.size() - 1; i++) {
-//                        SlotSequenceDTO first = slotSequenceList.get(i);
-//                        SlotSequenceDTO second = slotSequenceList.get(i + 1);
-//                        int slotWidth = first.getRemainWidth() - glassGap;
-//                        List<BigStorageCageDetails> list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
-//                                .eq(BigStorageCageDetails::getSlot, second.getSlot()).eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
-//                                .orderBy(Boolean.TRUE, !sequenceOrder, BigStorageCageDetails::getTemperingFeedSequence));
-//                        if (CollectionUtils.isNotEmpty(list)) {
-//                            List<BigStorageCageOutTask> outTasks = new ArrayList<>();
-//                            int serialNumber = 1;
-//                            for (BigStorageCageDetails item : list) {
-//                                int maxlength = (int) Math.max(item.getWidth(), item.getHeight());
-//                                if (slotWidth > maxlength) {
-//                                    slotWidth = slotWidth - maxlength - glassGap;
-//                                    outTasks.add(new BigStorageCageOutTask(item.getGlassId(), second.getSlot(), first.getSlot(),
-//                                            item.getWidth() * 10, item.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
-//                                } else {
-//                                    outTasks.add(new BigStorageCageOutTask(item.getGlassId(), second.getSlot(), second.getSlot(),
-//                                            item.getWidth() * 10, item.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
-//                                }
-//                            }
-//                            List<String> glassList = outTasks.stream()
-//                                    .filter(item -> !item.getStartSlot().equals(item.getEndSlot()))
-//                                    .map(BigStorageCageOutTask::getGlassId)
-//                                    .collect(Collectors.toList());
-//                            if (glassList.size() > 0) {
-//                                //鏂板璋冨害浠诲姟
-//                                bigStorageCageOutTaskService.saveBatch(outTasks);
-//                                //鏇存柊鐞嗙墖绗艰鎯呰〃璋冨害鐨勫悗鐨勭幓鐠冧綅缃俊鎭細鐢熸垚浠诲姟鍚庡厛灏嗙幓鐠冩牸瀛愪綅缃繘琛岃皟鏁达紝鐜荤拑鐘舵�佹敼涓鸿皟搴︿腑锛屾柊澧炶皟搴﹀畬鎴愪换鍔★紝澶勭悊璋冨害瀹屾垚鍚庣幓鐠冪姸鎬佹敼涓�100.
-////                                    List<String> glassList = list.stream().map(BigStorageCageDetails::getGlassId).collect(Collectors.toList());
-//
-//                                bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>().set(BigStorageCageDetails::getState, Const.GLASS_STATE_SCHEDULE_ING)
-//                                        .set(BigStorageCageBaseInfo::getSlot, first.getSlot()).in(BigStorageCageDetails::getGlassId, glassList)
-//                                        .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
-//
-//                                //涓ゆ鏇存柊绗煎瓙鐨勫墿浣欏昂瀵革細绗竴娆¢槻姝㈡湁鐜荤拑缁х画杩涜皟搴﹀悗鐨勭瀛愶紝绗簩娆℃洿鏂帮細璁$畻鏍煎瓙鐨勫疄闄呭昂瀵�
-//                                // 浠呮洿鏂拌皟搴﹀悗鐨勬牸瀛愪俊鎭細璧峰鏍煎瓙瀹屾垚鍚庢洿鏂帮細闃叉璋冨害鍑虹墖杩囩▼涓湁鏂扮幓鐠冭繘鍏ワ紝
-//                                updateSlotRemainBySlots(Arrays.asList(second.getSlot()));
-//                                break loop;
-//                            }
-//
-//                        }
-//                    }
-//                        }
-//                    }
                 }
 //            //鍚憄lc鍐欏叆纭瀛�
 //            int returnData = 0;
@@ -894,8 +804,8 @@
      * 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩
      */
     public Boolean judgeGlassTypeStatus(String glassId, Integer line, String mesAddress) {
-        //棰勬帓鏍煎瓙
-        computeSlot(glassId);
+//        棰勬帓鏍煎瓙
+//        computeSlot(glassId);
         //鍒ゆ柇姝ょ幓鐠冩槸鍦ㄧ鍐呮垨宸茬敓鎴愯繘鐗囦换鍔�
         BigStorageCageFeedTask bigStorageCageFeedTask = bigStorageCageFeedTaskService.getOne(
                 new LambdaQueryWrapper<BigStorageCageFeedTask>()
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 8865de3..86a2a85 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -52,7 +52,7 @@
                TEMPERING_LAYOUT_ID,
                COUNT(DISTINCT SLOT) as SLOT_COUNT
         FROM BIG_STORAGE_CAGE_DETAILS
-        WHERE STATE = 100 AND TEMPERING_LAYOUT_ID!=0
+        WHERE STATE = 100 AND TEMPERING_LAYOUT_ID!=0 AND THICKNESS &lt; 8
         GROUP BY ENGINEER_ID,
                  TEMPERING_LAYOUT_ID
         HAVING SLOT_COUNT &gt;= #{count}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
index 67975ee..a256384 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -18,7 +18,7 @@
                    and deleted = 0
                    and (target_slot = 0 or target_slot is null)
                  group by line
-                 HAVING  DATEDIFF(SECOND, max(create_time), GETDATE()) + 45>20 or SUM(case task_state when 2 then 1 else 0 end)>1
+                 HAVING  DATEDIFF(SECOND, max(create_time), GETDATE()) + 45 > 40 or SUM(case task_state when 2 then 1 else 0 end)>1
              ) t
         where t.total_count = t.real_count
         order by real_count desc,line desc
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
index 288ac50..6a7afe3 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
@@ -8,7 +8,7 @@
         FROM BIG_STORAGE_CAGE T
                  LEFT JOIN (SELECT * FROM BIG_STORAGE_CAGE_DETAILS WHERE STATE NOT IN (101, 8, 9)) T1
                            ON T.SLOT = T1.SLOT
-        WHERE T.MAX_THICKNESS >= #{thickness}
+        WHERE T.MAX_THICKNESS >= #{thickness} AND T.REMAIN_WIDTH = 5000
           AND T.ENABLE_STATE = 1
         GROUP BY T.DEVICE_ID
         ORDER BY min(T.MAX_THICKNESS),
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index 46719e4..4aba751 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -11,6 +11,7 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.entity.dto.TemperingLayoutDTO;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
 import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
@@ -297,7 +298,12 @@
 //            plcStorageCageTask.computeTargetByLineCar(bigStorageCageFeedTasks.get(0).getLine(), glassIdsCar);
 //        }
 //        plcStorageCageTask.queryAndChangeGlass("P24111102|1|6");
-        bigStorageCageDetailsService.selectFeedTask();
+//        bigStorageCageDetailsService.selectFeedTask();
+//        plcStorageCageTask.computeSlot("P24121401|1|6");
+//        plcStorageCageTask.computeSlot("P24121401|1|4");
+
+        List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
+        log.info("sd"+temperingOccupySlotList);
     }
 
     @Test

--
Gitblit v1.8.0