From a7c479daff0e44988f174f8c93fb41f30fdc48e1 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 17 三月 2025 16:53:19 +0800
Subject: [PATCH] 大屏添加历史任务按钮

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java |   46 ++++++++++++++++++++++++++--------------------
 1 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
index a292646..f469e7c 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -785,45 +785,52 @@
      */
     private <T extends HollowBigStorageCageBaseInfo> Boolean computeOutGlassInfo(List<T> list, String tableName, int targetSlot, int state, int taskType, int totalLayer, int isForce) {
         //浠诲姟鏁版嵁:鑾峰彇杞﹀瓙瀛樻斁鐜荤拑鏈�澶ф暟閲�,鐜荤拑闂撮殧
-        List<BigStorageCageTask> tempList = new ArrayList<>();
-        List<T> tempTList = new ArrayList<>();
+        List<T> templist = new ArrayList<>();
         //鎵撹溅鍓╀綑灏哄
         Integer remainWidth = carWidth;
         for (T e : list) {
-            if (tempList.size() >= outCarMaxSize || Math.max((int) e.getWidth(), (int) e.getHeight()) > remainWidth) {
+            if (templist.size() >= outCarMaxSize || Math.max((int) e.getWidth(), (int) e.getHeight()) > remainWidth) {
                 break;
             }
             //璁$畻褰撳墠鍑虹墖杞﹀墿灏哄
             remainWidth = remainWidth - Math.max((int) e.getWidth(), (int) e.getHeight()) - glassGap;
-            tempTList.add(e);
-            tempList.add(new BigStorageCageTask(e.getGlassId(), e.getSlot(), targetSlot,
-                    0));
+            templist.add(e);
         }
-        Assert.isFalse(CollectionUtil.isEmpty(tempList), "鏈幏鍙栧嚭鐗囨暟鎹紝缁撴潫鍑虹墖浠诲姟");
-        log.info("鑾峰彇鍑虹墖浠诲姟鏁版嵁{}鏉★紝鎵ц淇濆瓨", tempList.size());
-        List<BigStorageCageTask> bigStorageCageTaskList = tempList;
+        Assert.isFalse(CollectionUtil.isEmpty(templist), "鏈幏鍙栧嚭鐗囨暟鎹紝缁撴潫鍑虹墖浠诲姟");
+        log.info("鑾峰彇鍑虹墖浠诲姟鏁版嵁{}鏉★紝鎵ц淇濆瓨", templist.size());
+        List<T> baseInfoList = templist;
         if (1 != isForce) {
             if (taskType == Const.BIG_STORAGE_AFTER_OUT) {
-                if (tempList.size() <= totalLayer) {
-                    int tempSequence = list.get(0).getHollowSequence();
-                    List<BigStorageCageTask> resultList = new ArrayList<>();
-                    for (int i = 0; i < tempList.size(); i++) {
+                //鏍¢獙闃叉灏忎簬绛変簬鎬诲眰鏁扮幓鐠冪墖搴忎笉鍖归厤鐨勯棶棰橈紝璇ラ棶棰樺鍑虹幇鍦ㄥぇ鐗囩幓鐠冿紝3灞�
+                if (templist.size() <= totalLayer) {
+                    int tempSequence = templist.get(0).getHollowSequence();
+                    List<T> resultList = new ArrayList<>();
+                    for (int i = 0; i < templist.size(); i++) {
                         if (tempSequence == list.get(i).getHollowSequence()) {
-                            resultList.add(tempList.get(i));
+                            resultList.add(templist.get(i));
                         } else {
                             break;
                         }
                     }
-                    bigStorageCageTaskList = resultList;
+                    baseInfoList = resultList;
                 } else {
-                    int remainCount = tempList.size() % totalLayer;
-                    bigStorageCageTaskList = tempList.subList(0, tempList.size() - remainCount);
+                    //澶т簬鎬诲眰鏁板厛鍙杢otalLyaer鍊嶆暟鏁伴噺鐨勭幓鐠冿紝淇濊瘉澶ц溅涓婄殑鐜荤拑鎴愬浼�
+                    int remainCount = templist.size() % totalLayer;
+                    if (targetSlot == 930) {
+                        baseInfoList = templist.subList(0, totalLayer);
+                    } else {
+                        baseInfoList = templist.subList(0, templist.size() - remainCount);
+                    }
                 }
             }
         }
-        List<String> glassIds = bigStorageCageTaskList.stream().map(BigStorageCageTask::getGlassId).collect(Collectors.toList());
-        int glassCount = bigStorageCageTaskList.size();
+        List<String> glassIds = baseInfoList.stream().map(T::getGlassId).collect(Collectors.toList());
+        int glassCount = baseInfoList.size();
+        List<BigStorageCageTask> bigStorageCageTaskList = new ArrayList<>();
         //鐢熸垚鍑虹墖浠诲姟鏉℃暟涓嶈冻6琛ュ叏
+        for (T t : baseInfoList) {
+            bigStorageCageTaskList.add(new BigStorageCageTask(t.getGlassId(), t.getSlot(), targetSlot, 0));
+        }
         while (bigStorageCageTaskList.size() < 6) {
             bigStorageCageTaskList.add(new BigStorageCageTask("", 0, 0, 0));
         }
@@ -838,7 +845,6 @@
             return history;
         }).collect(Collectors.toList());
         hollowBigStorageCageHistoryTaskService.saveBatch(historyList);
-
         log.info("灏嗗嚭鐗囩幓鐠儃}鐜荤拑鐘舵�佹敼涓哄嚭鐗囦腑", glassIds);
         hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
                 .set(HollowBigStorageCageDetails::getState, state)

--
Gitblit v1.8.0