From bb37f664476c01aefd93dd9b8856851f11d4d3cf Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 15 七月 2024 08:48:02 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java |   76 ++++++++++++++++++-------------------
 1 files changed, 37 insertions(+), 39 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index 06df117..686084b 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -30,10 +30,7 @@
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -164,10 +161,7 @@
                 if (CollectionUtils.isNotEmpty(list)) {
                     log.info("鏈夌┖鏋跺瓙,灏嗘祦绋嬪崱涓庢灦瀛愬ソ缁戝畾锛屾墽琛岃繘鐗囦换鍔� 缁撴潫");
                     //缁戝畾娴佺▼鍗�
-                    downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>()
-                            .set(DownWorkstation::getFlowCardId, glassInfo.getFlowCardId())
-                            .set(DownWorkstation::getLayer, glassInfo.getLayer())
-                            .eq(DownWorkstation::getWorkstationId, list.get(0).getWorkstationId()));
+                    downWorkstationService.updateFlowCardIdAndCount(glassInfo.getFlowCardId(), glassInfo.getLayer(), list.get(0).getWorkstationId());
                     checkFlag = Boolean.TRUE;
                 }
             }
@@ -182,27 +176,28 @@
                     endLoop:
                     for (DownGlassInfoDTO e : downGlassInfoDTOList) {
                         List<GlassInfo> glassInfoList = e.getGlassInfoList();
-                        for (GlassInfo item : glassInfoList) {
-                            if (item.getWidth() == glassInfo.getWidth() && item.getHeight() == glassInfo.getHeight()
-                                    && item.getThickness() == glassInfo.getThickness() && item.getFilmsid().equals(glassInfo.getFilmsid())) {
-                                //鐜荤拑鏄惁涓哄灞�
-                                checkFlag = multilayerCheck(item, Boolean.FALSE);
-                                if (checkFlag) {
-                                    //鐜荤拑鏇挎崲 浠呮浛鎹㈡祦绋嬪崱id鍙婂眰鏁�
-                                    String tempFlowCardId = item.getFlowCardId();
-                                    Integer tempLayer = item.getLayer();
-                                    String flowCardId = glassInfo.getFlowCardId();
-                                    Integer layer = glassInfo.getLayer();
-                                    log.info("鏇挎崲娴佺▼鍗′俊鎭�,褰撳墠鐜荤拑淇℃伅:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗},鏇挎崲鍚庣幓鐠冧俊鎭�:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗}",
-                                            item, glassInfo, flowCardId, layer, tempFlowCardId, tempLayer);
-                                    glassInfo.setFlowCardId(tempFlowCardId);
-                                    glassInfo.setLayer(tempLayer);
-                                    glassInfoService.updateById(glassInfo);
-                                    item.setFlowCardId(flowCardId);
-                                    item.setLayer(layer);
-                                    glassInfoService.updateById(item);
-                                    break endLoop;
-                                }
+                        Optional<GlassInfo> glassInfoTempOptional = glassInfoList.stream().filter(item -> item.getWidth() == glassInfo.getWidth() && item.getHeight() == glassInfo.getHeight()
+                                && item.getThickness() == glassInfo.getThickness() && item.getFilmsid().equals(glassInfo.getFilmsid()))
+                                .findFirst();
+                        if (glassInfoTempOptional.isPresent()) {
+                            GlassInfo item = glassInfoTempOptional.get();
+                            //鐜荤拑鏄惁涓哄灞�
+                            checkFlag = multilayerCheck(item, Boolean.FALSE);
+                            if (checkFlag) {
+                                //鐜荤拑鏇挎崲 浠呮浛鎹㈡祦绋嬪崱id鍙婂眰鏁�
+                                String tempFlowCardId = item.getFlowCardId();
+                                Integer tempLayer = item.getLayer();
+                                String flowCardId = glassInfo.getFlowCardId();
+                                Integer layer = glassInfo.getLayer();
+                                log.info("鏇挎崲娴佺▼鍗′俊鎭�,褰撳墠鐜荤拑淇℃伅:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗},鏇挎崲鍚庣幓鐠冧俊鎭�:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗}",
+                                        item, glassInfo, flowCardId, layer, tempFlowCardId, tempLayer);
+                                glassInfo.setFlowCardId(tempFlowCardId);
+                                glassInfo.setLayer(tempLayer);
+                                glassInfoService.updateById(glassInfo);
+                                item.setFlowCardId(flowCardId);
+                                item.setLayer(layer);
+                                glassInfoService.updateById(item);
+                                break endLoop;
                             }
                         }
                     }
@@ -215,11 +210,13 @@
         downStorageCageDetails.setState(Const.GLASS_STATE_IN);
         downStorageCageDetails.setSlot(nearestEmpty.getSlot());
         downStorageCageDetailsService.save(downStorageCageDetails);
-//        鐢熸垚杩涚墖浠诲姟
+
+        //        鐢熸垚杩涚墖浠诲姟
         initDownGlassTask(glassInfo, 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
     }
 
-    public Boolean outTo(String glassStatus06, String out08Glassstate, String glassStatus11, String glassStatus13, String glassId, String currentSlot) {
+    public Boolean outTo(String glassStatus06, String out08Glassstate, String glassStatus11, String
+            glassStatus13, String glassId, String currentSlot) {
         if ("2".equals(glassStatus06) && "2".equals(glassStatus11) && "2".equals(glassStatus13)) {
             log.info("G06銆丟11銆丟13鍒嗗埆涓簕},{}銆亄}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖", glassStatus06, glassStatus11, glassStatus13);
             return Boolean.FALSE;
@@ -287,7 +284,8 @@
         }
     }
 
-    private Boolean generateTaskByShelf(String glassStatus06, String glassStatus11, Boolean flag08, String glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails, String glassId) {
+    private Boolean generateTaskByShelf(String glassStatus06, String glassStatus11, Boolean flag08, String
+            glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails, String glassId) {
         //鑾峰彇2涓満姊拌噦鑼冨洿鍐呯殑鏋跺瓙缁戝畾鐨勬祦绋嬪崱淇℃伅
         List<Integer> workList = new ArrayList();
 
@@ -440,7 +438,8 @@
         }
     }
 
-    public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean isBind, DownStorageCageDetails cageDetails) {
+    public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean
+            isBind, DownStorageCageDetails cageDetails) {
         //鎸夌幓鐠僫d鑾峰彇鐜荤拑淇℃伅
         DownStorageCageDetails downStorageCageDetails = null;
         if (glassId.equals(cageDetails.getGlassId())) {
@@ -448,7 +447,7 @@
             taskType = 3;
         } else {
             downStorageCageDetails = downStorageCageDetailsService.getOne(new LambdaQueryWrapper<DownStorageCageDetails>()
-                    .eq(DownStorageCageDetails::getGlassId, glassId));
+                    .eq(DownStorageCageDetails::getGlassId, glassId).eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN));
         }
 
         Integer endCell = null;
@@ -458,9 +457,7 @@
                     .isNull(DownWorkstation::getFlowCardId).orderByDesc(DownWorkstation::getWorkstationId).last("limit 1"));
             if (null != emptyDownWorkstation) {
                 log.info("鑾峰彇鍒扮┖鏋跺瓙淇℃伅锛岀粦瀹氭祦绋嬪崱");
-                emptyDownWorkstation.setFlowCardId(downStorageCageDetails.getFlowCardId());
-                emptyDownWorkstation.setLayer(downStorageCageDetails.getLayer());
-                downWorkstationService.updateById(emptyDownWorkstation);
+                downWorkstationService.updateFlowCardIdAndCount(downStorageCageDetails.getFlowCardId(), downStorageCageDetails.getLayer(), emptyDownWorkstation.getWorkstationId());
                 endCell = emptyDownWorkstation.getWorkstationId();
             } else {
                 log.info("娌℃湁绌烘灦瀛愪俊鎭紝鏃犳硶缁戝畾娴佺▼鍗�");
@@ -482,7 +479,7 @@
         //鏇存柊钀芥灦鐜荤拑鏁伴噺
         if (endCell == 7) {
             downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId())
-                    .eq("layer", downStorageCageDetails.getLayer()).setSql("artificial_number = artificial_number +1"));
+                    .eq("layer", downStorageCageDetails.getLayer()).setSql("other_number = other_number +1"));
         } else {
             downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId())
                     .eq("layer", downStorageCageDetails.getLayer()).setSql("racks_number = racks_number +1"));
@@ -517,7 +514,8 @@
                 startCell, endCell, taskType);
     }
 
-    private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell, int taskType) {
+    private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell,
+                                     int taskType) {
         S7control s7control = S7object.getinstance().plccontrol;
         PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
         s7control.writeWord(plcMesObject.getPlcParameter("Glass_width").getAddress(), width);

--
Gitblit v1.8.0