From 34f862e50eda729da5ed06073fc127682d651495 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 25 十二月 2024 16:12:34 +0800
Subject: [PATCH] 钢化查询添加显示版图所占格子号,大理片笼高度限制

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/opccallback/BigStorageStartCallback.java                  |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml                           |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java                  |   22 +++++-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageMapper.java                   |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java        |    4 
 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 |   14 +++-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml                                  |   10 ++-
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                                                         |    4 +
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                                 |    1 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java                         |    6 ++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java                 |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                   |   71 ++++++++++++++---------
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/tools/service/impl/BigStorageBaseServiceImpl.java             |    2 
 15 files changed, 97 insertions(+), 49 deletions(-)

diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index c85f681..60ad416 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -114,6 +114,7 @@
           undesignate:'Undesignate',
           allnumber:'Total quantity',
           numbercages:'Number of cages',
+          numberslots:'Number of slots',
           missingquantity:'Missing quantity',
           breakquantity:'Breakage/Take Away quantity',
           ceng:'layer',
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index ca4d316..965fdaf 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -116,6 +116,7 @@
           undesignate:'鍙栨秷鎸囧畾',
           allnumber:'鎬绘暟閲�',
           numbercages:'绗煎瓙鍐呮暟閲�',
+          numberslots:'鎵�鍗犳牸瀛�',
           missingquantity:'缂哄皯鏁伴噺',
           breakquantity:'鐮存崯/鎷胯蛋鏁伴噺',
           ceng:'灞�',
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index ee625cc..57a3c87 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -1656,6 +1656,7 @@
           <el-table-column prop="tempering_layout_id" fixed align="center" :label="$t('searchOrder.layoutnumber')" min-width="120" />
           <el-table-column prop="count2" align="center" :label="$t('searchOrder.allnumber')" min-width="150" />
           <el-table-column prop="count1" align="center" :label="$t('searchOrder.numbercages')" min-width="150" />
+          <el-table-column prop="slots" align="center" :label="$t('searchOrder.numberslots')" min-width="150" />
           <el-table-column prop="count3" align="center" :label="$t('searchOrder.missingquantity')" min-width="150" />
           <el-table-column prop="count4" align="center" :label="$t('searchOrder.breakquantity')" min-width="150" />
           <el-table-column fixed="right" :label="$t('searchOrder.operate')" align="center" width="250">
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index a5b99a4..fe53008 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -6,6 +6,10 @@
 import request from "@/utils/request";
 import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
 import {host, WebSocketHost} from '@/utils/constants'
+import PrintFlow from "@/views/UnLoadGlass/PrintFlow.vue";
+import Landingindication from "./Landingindication.vue";
+import Landingindicationtwo from "./Landingindicationtwo.vue";
+import PrintLabel from "@/views/UnLoadGlass/PrintCustomLabelSemi1.vue";
 
 const router = useRouter()
 const {t} = useI18n()
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
index 5a79a88..503017b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCage.java
@@ -68,6 +68,12 @@
     @ApiModelProperty(value = "鍓╀綑瀹藉害", position = 8)
     private Integer remainWidth;
 
+    /**
+     * 鏍煎瓙楂樺害
+     */
+    @ApiModelProperty(value = "鏍煎瓙楂樺害", position = 9)
+    private Integer slotHeight;
+
     @ApiModelProperty(hidden = true)
     @TableField(exist = false)
     private List<BigStorageCageDetails> bigStorageCageDetails;
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 99d6bb8..f41e265 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
@@ -16,7 +16,7 @@
  */
 public interface BigStorageCageMapper extends MPJBaseMapper<BigStorageCage> {
 
-    List<Integer> queryFreeDeviceByUsed(@Param(value = "thickness") double thickness);
+    List<Integer> queryFreeDeviceByUsed(@Param(value = "thickness") double thickness, @Param(value = "slotHeight") double slotHeight);
 //
 //    List<Integer> queryFreeDeviceByNotUsed(@Param(value = "thickness") double thickness);
 }
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 14eb11a..f9e4893 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
@@ -32,7 +32,7 @@
 
     void updateStorageCageDisabled(int slot, int enableState);
 
-    List<Integer> queryFreeDeviceByUsed(double thickness);
+    List<Integer> queryFreeDeviceByUsed(double thickness,double slotHeight);
 
 //    List<Integer> queryFreeDeviceByNotUsed(double thickness);
 }
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 bccf36a..2200bae 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
@@ -125,7 +125,8 @@
         outWrapper.in(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING, Const.GLASS_STATE_SCHEDULE_ING);
         List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper);
         LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>();
-        outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS);
+        outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS)
+                .orderByAsc(BigStorageCageOutTask::getId);
         List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper);
 
         Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
@@ -288,6 +289,7 @@
                 .eq(BigStorageCageDetails::getEngineerId, glassInfo.getEngineerId())
                 .eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
                 .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
+                .lt(BigStorageCage::getSlotHeight, Math.min(glassInfo.getWidth(), glassInfo.getHeight()))
                 .in(BigStorageCageDetails::getGlassId, glassIds)
                 .last("limit 1");
         if (glassInfo.getTemperingLayoutId() == 0) {
@@ -309,9 +311,10 @@
         bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                 .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
                 .eq(BigStorageCage::getRemainWidth, slotWidth)
+                .lt(BigStorageCage::getSlotHeight, Math.min(glassInfo.getWidth(), glassInfo.getHeight()))
 //                .notInSql(BigStorageCage::getSlot, "select distinct slot from big_storage_cage_details where state = 0")
                 .inSql(BigStorageCage::getDeviceId,
-                        "select distinct device_id from big_storage_cage_details where engineer_id = '" + glassInfo.getEngineerId() + "' and tempering_layout_id = " + glassInfo.getTemperingLayoutId())
+                        "select distinct device_id from big_storage_cage_details where state!=101 and engineer_id = '" + glassInfo.getEngineerId() + "' and tempering_layout_id = " + glassInfo.getTemperingLayoutId())
                 .last("limit 1"));
         if (null != bigStorageCage) {
             log.info("鏍规嵁鐗堝浘id鎵惧埌绗煎瓙鍐呯殑鐩爣鏍煎瓙锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassInfo.getGlassId());
@@ -323,8 +326,8 @@
         }
 
         //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 鍥犱负瀛愭煡璇㈡帓搴忓涓籹ql鏃犲奖鍝嶏紝鎵�浠ュ厛鎵ц瀛愭煡璇㈣幏鍙栭『搴忥紝鐒跺悗涓�娆″幓鏌ヨ
-        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness());
-        List<Integer> deviceUseds = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness());
+        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(),Math.min(glassInfo.getWidth(),glassInfo.getHeight()));
+        List<Integer> deviceUseds = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness(),Math.min(glassInfo.getWidth(),glassInfo.getHeight()));
         List<BigStorageCageDetails> engineerCount1 = baseMapper.selectList(
                 new LambdaQueryWrapper<BigStorageCageDetails>()
                         .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
@@ -366,6 +369,7 @@
         if (CollectionUtils.isEmpty(deviceUsedList)) {
             deviceUsedList = deviceUseds;
         }
+
         for (Integer item : deviceUsedList) {
             bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                     .eq(BigStorageCage::getRemainWidth, slotWidth)
@@ -524,7 +528,7 @@
         }
         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;
+        long time = (startSlotCount * 20 + endSlotCount * 20) / 60;
         return time;
     }
 }
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 b9d05d0..0bd6692 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
@@ -289,8 +289,8 @@
     }
 
     @Override
-    public List<Integer> queryFreeDeviceByUsed(double thickness) {
-        return baseMapper.queryFreeDeviceByUsed(thickness);
+    public List<Integer> queryFreeDeviceByUsed(double thickness, double slotHeight) {
+        return baseMapper.queryFreeDeviceByUsed(thickness, slotHeight);
     }
 
 //    @Override
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 ce6fdcb..b5328a8 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
@@ -403,33 +403,38 @@
                                         .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) {
-                                        bigStorageCageOutTaskService.save(new BigStorageCageOutTask(bigStorageCageDetails.getGlassId(), bigStorageCageDetails.getSlot(), maxSlot,
-                                                bigStorageCageDetails.getWidth() * 10, bigStorageCageDetails.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
+                        List<BigStorageCageDetails> overSizeGlass = bigStorageCageDetailsList.stream().filter(
+                                t -> Math.min(t.getWidth(), t.getHeight()) > 2500
+                        ).collect(Collectors.toList());
+                        if(CollectionUtils.isEmpty(overSizeGlass)){
+                            //褰撲竴鏍肩幓鐠冮兘鍒伴綈鏃�
+                            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) {
+                                            bigStorageCageOutTaskService.save(new BigStorageCageOutTask(bigStorageCageDetails.getGlassId(), bigStorageCageDetails.getSlot(), maxSlot,
+                                                    bigStorageCageDetails.getWidth() * 10, bigStorageCageDetails.getHeight() * 10, 1, serialNumber++, Const.BIG_STORAGE_OUT_NEW, new Date()));
 
-                                        bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>().set(BigStorageCageDetails::getState, Const.GLASS_STATE_SCHEDULE_ING)
-                                                .set(BigStorageCageBaseInfo::getSlot, maxSlot).eq(BigStorageCageDetails::getGlassId, bigStorageCageDetails.getGlassId())
-                                                .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
-                                        //涓ゆ鏇存柊绗煎瓙鐨勫墿浣欏昂瀵革細绗竴娆¢槻姝㈡湁鐜荤拑缁х画杩涜皟搴﹀悗鐨勭瀛愶紝绗簩娆℃洿鏂帮細璁$畻鏍煎瓙鐨勫疄闄呭昂瀵�
-                                        // 浠呮洿鏂拌皟搴﹀悗鐨勬牸瀛愪俊鎭細璧峰鏍煎瓙瀹屾垚鍚庢洿鏂帮細闃叉璋冨害鍑虹墖杩囩▼涓湁鏂扮幓鐠冭繘鍏ワ紝
+                                            bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>().set(BigStorageCageDetails::getState, Const.GLASS_STATE_SCHEDULE_ING)
+                                                    .set(BigStorageCageBaseInfo::getSlot, maxSlot).eq(BigStorageCageDetails::getGlassId, bigStorageCageDetails.getGlassId())
+                                                    .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
+                                            //涓ゆ鏇存柊绗煎瓙鐨勫墿浣欏昂瀵革細绗竴娆¢槻姝㈡湁鐜荤拑缁х画杩涜皟搴﹀悗鐨勭瀛愶紝绗簩娆℃洿鏂帮細璁$畻鏍煎瓙鐨勫疄闄呭昂瀵�
+                                            // 浠呮洿鏂拌皟搴﹀悗鐨勬牸瀛愪俊鎭細璧峰鏍煎瓙瀹屾垚鍚庢洿鏂帮細闃叉璋冨害鍑虹墖杩囩▼涓湁鏂扮幓鐠冭繘鍏ワ紝
+                                        }
                                     }
+                                    break loop;
                                 }
-                                break loop;
                             }
                         }
                     }
@@ -971,7 +976,7 @@
         damageService.deleteByGlassId(glassId);
         Damage damage = new Damage();
         damage.setGlassId(glassId);
-        damage.setWorkingProcedure("閽㈠寲");
+        damage.setWorkingProcedure("纾ㄨ竟");
         damage.setLine(line);
         damage.setType(1);
         damage.setRemark("杩涘ぇ鐞嗙墖");
@@ -1329,9 +1334,21 @@
         if (sitToUpRemainWidth.getGlassCount() == 0) {
             return Boolean.FALSE;
         }
+        List<Integer> lineList = bigStorageCageFeedTaskService.querySitToUpGlass();
+        if (CollectionUtils.isNotEmpty(lineList)) {
+            Integer lineFirst = lineList.get(0);
+            if (line == lineFirst) {
+                return Boolean.TRUE;
+            } else {
+                return Boolean.FALSE;
+            }
+        } else {
+            return Boolean.FALSE;
+        }
+
         //鑾峰彇鐜荤拑淇℃伅
-        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
-        return sitToUpRemainWidth.getWidth() < Math.max(glassInfo.getWidth(), glassInfo.getHeight());
+//        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+//        return sitToUpRemainWidth.getWidth() < Math.max(glassInfo.getWidth(), glassInfo.getHeight());
     }
 
     public String queryAndChangeGlass(String glassId) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/opccallback/BigStorageStartCallback.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/opccallback/BigStorageStartCallback.java
index af7729d..43b602d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/opccallback/BigStorageStartCallback.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/opccallback/BigStorageStartCallback.java
@@ -801,7 +801,7 @@
         }
 
         //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 鍥犱负瀛愭煡璇㈡帓搴忓涓籹ql鏃犲奖鍝嶏紝鎵�浠ュ厛鎵ц瀛愭煡璇㈣幏鍙栭『搴忥紝鐒跺悗涓�娆″幓鏌ヨ
-        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness);
+        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness,5000);
         for (Integer item : deviceUsedList) {
             bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                     .eq(BigStorageCage::getRemainWidth, slotWidth)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/tools/service/impl/BigStorageBaseServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/tools/service/impl/BigStorageBaseServiceImpl.java
index b7e267c..5d39219 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/tools/service/impl/BigStorageBaseServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/tools/service/impl/BigStorageBaseServiceImpl.java
@@ -639,7 +639,7 @@
         }
 
         //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 鍥犱负瀛愭煡璇㈡帓搴忓涓籹ql鏃犲奖鍝嶏紝鎵�浠ュ厛鎵ц瀛愭煡璇㈣幏鍙栭『搴忥紝鐒跺悗涓�娆″幓鏌ヨ
-        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness);
+        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(thickness,5000);
         for (Integer item : deviceUsedList) {
             bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                     .eq(BigStorageCage::getRemainWidth, slotWidth)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 86a2a85..3f92c98 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -96,8 +96,8 @@
     </update>
 
     <select id="selectTemperingGlassCount" resultType="java.util.Map">
-        select a.engineer_id,a.tempering_layout_id,count2,count1,count2-count1 as count3,count(c.glass_id) as count4 from
-            (select engineer_id,tempering_layout_id,count(*) as count1 from big_storage_cage_details where state=100 and tempering_layout_id!=0 group by engineer_id,tempering_layout_id) as a
+        select a.engineer_id,a.tempering_layout_id,count2,count1,count2-count1 as count3,count(c.glass_id) as count4,slots from
+            (select engineer_id,tempering_layout_id,count(*) as count1,group_concat(distinct slot order by tempering_feed_sequence) as slots from big_storage_cage_details where state=100 and tempering_layout_id!=0 group by engineer_id,tempering_layout_id) as a
                 left join
             (select engineer_id,tempering_layout_id,count(*) as count2 from glass_info group by engineer_id,tempering_layout_id) as b
             on a.engineer_id=b.engineer_id and a.tempering_layout_id=b.tempering_layout_id
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
index 6a7afe3..1eb8de0 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageMapper.xml
@@ -4,16 +4,18 @@
 
 
     <select id="queryFreeDeviceByUsed" resultType="java.lang.Integer">
-        SELECT T.DEVICE_ID
+        SELECT
+            T.DEVICE_ID
         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} AND T.REMAIN_WIDTH = 5000
+        WHERE T.MAX_THICKNESS >= #{thickness} AND T.SLOT_HEIGHT &gt; #{slotHeight}
           AND T.ENABLE_STATE = 1
         GROUP BY T.DEVICE_ID
+        HAVING COUNT(DISTINCT T.SLOT) - COUNT(DISTINCT T1.SLOT) > 0
         ORDER BY min(T.MAX_THICKNESS),
-                 COUNT(DISTINCT T1.ENGINEER_ID), COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID),
-                 COUNT(DISTINCT T1.SLOT)
+                 TRUNCATE(COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID)/9,0), COUNT(DISTINCT T1.TEMPERING_LAYOUT_ID)%9 DESC,
+								 FIELD(T.device_id, 5, 4, 3, 2, 1), T.device_id
     </select>
 
     <!--    <select id="queryFreeDeviceByNotUsed" resultType="java.lang.Integer">-->
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 4aba751..fc44563 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -47,6 +47,7 @@
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author : zhoush
@@ -219,7 +220,7 @@
 
     @Test
     public void testttt() {
-        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(6);
+        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(6, 1);
         List<Integer> deviceUseds = deviceUsedList;
         List<BigStorageCageDetails> engineerCount1 = bigStorageCageDetailsService.list(
                 new LambdaQueryWrapper<BigStorageCageDetails>()
@@ -267,6 +268,7 @@
 
     @Resource
     TemperingGlassInfoService temperingGlassInfoService;
+
     @Test
     public void computeOutMoreGlassInfo() {
         List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.selectJoinList(TemperingGlassInfo.class, new MPJLambdaWrapper<TemperingGlassInfo>()
@@ -275,15 +277,25 @@
                 .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
                 .isNull(BigStorageCageOutTask::getGlassId)
                 .orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
-        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList,true,1);
+        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList, true, 1);
     }
 
     @Test
     public void ca111() {
 //        GlassInfo glassInfo=glassInfoService.getOne(
 //                new LambdaQueryWrapper<GlassInfo>()
-//                .eq(GlassInfo::getGlassId,"P24120801|1|2")
+//                .eq(GlassInfo::getGlassId,"P24121602|1|10")
 //        );
+//        bigStorageCageDetailsService.queryTargetSlotByTempering(glassInfo);
+        List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsService.list(
+                new LambdaQueryWrapper<BigStorageCageDetails>()
+                        .eq(BigStorageCageDetails::getState, 100)
+                        .in(BigStorageCageDetails::getGlassId, "P24122201|1|1", "P24122201|2|3")
+        );
+        List<BigStorageCageDetails> overSizeGlass = bigStorageCageDetailsList.stream().filter(
+                t -> Math.min(t.getWidth(), t.getHeight()) > 2500
+        ).collect(Collectors.toList());
+        log.info("sadfd" + overSizeGlass);
 //        bigStorageCageDetailsService.queryTargetSlotByTempering(glassInfo);
 //        List<String> glassIdsCar=new ArrayList<>();
 //        glassIdsCar.add("P24120801|4|3");
@@ -302,8 +314,8 @@
 //        plcStorageCageTask.computeSlot("P24121401|1|6");
 //        plcStorageCageTask.computeSlot("P24121401|1|4");
 
-        List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
-        log.info("sd"+temperingOccupySlotList);
+//        List<TemperingLayoutDTO> temperingOccupySlotList = bigStorageCageDetailsService.queryTemperingOccupySlot();
+//        log.info("sd"+temperingOccupySlotList);
     }
 
     @Test

--
Gitblit v1.8.0