From ce47d94ceb8b3d8e7a85d429ce59e6af77b9c794 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 07 十一月 2024 13:36:02 +0800
Subject: [PATCH] 修改卧式理片逻辑,大理片进片逻辑

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java |   41 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 40 insertions(+), 1 deletions(-)

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 b80f6d4..f2ea464 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
@@ -116,6 +116,11 @@
         String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
         String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
 
+
+//        d04Id="P24110503|17|4";
+//        d04ToMES="1";
+//        d01ToMES="1";
+
         log.info("1銆佽幏鍙杁01Id鎵弿ID涓猴細{}锛岃姹傚瓧涓簕};鑾峰彇d04Id鎵弿ID涓猴細{}锛岃姹傚瓧涓簕};", d01Id, d01ToMES, d04Id, d04ToMES);
         if (StringUtils.isBlank(d01ToMES) && StringUtils.isBlank(d04ToMES)) {
             log.info("涓ゆ潯绾挎湭鏀跺埌杩涚墖浠诲姟锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�");
@@ -168,6 +173,7 @@
     public void plcToHomeEdgFreeCarTask() {
         Date startDate = new Date();
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+
         PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
         String mesD03Address = plcMesObject.getPlcParameter("MESToD03").getValue();
         String mesD05Address = plcMesObject.getPlcParameter("MESToD05").getValue();
@@ -295,6 +301,7 @@
             computeTargetByLine(outLine);
         }
         Date endDate = new Date();
+
         log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
     }
 
@@ -738,7 +745,7 @@
         BigStorageCageDetails bigStorageCageDetails = bigStorageCageDetailsService.getOne(
                 new LambdaQueryWrapper<BigStorageCageDetails>()
                         .eq(BigStorageCageDetails::getGlassId, glassId)
-                        .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
         );
         if (bigStorageCageFeedTask != null || bigStorageCageDetails != null) {
             log.info("姝ょ幓鐠冨瓨浠诲姟鎴栧凡鍦ㄧ鍐�");
@@ -919,6 +926,8 @@
         Map<String, GlassInfo> glassInfoMap = glassInfos.stream()
                 .collect(Collectors.toMap(GlassInfo::getGlassId, p -> p));
         for (BigStorageCageFeedTask e : taskList) {
+            //鏇挎崲鐜荤拑id
+            queryAndChangeGlass(e.getGlassId());
             GlassInfo info = glassInfoMap.get(e.getGlassId());
             if (info == null) {
                 continue;
@@ -1160,4 +1169,34 @@
         return sitToUpRemainWidth.getWidth() < Math.max(glassInfo.getWidth(), glassInfo.getHeight());
     }
 
+    public String queryAndChangeGlass(String glassId) {
+        GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+        Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�");        //鎸夌収鐜荤拑灏哄
+        LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>()
+                .eq(GlassInfo::getWidth, glassInfo.getWidth())
+                .eq(GlassInfo::getHeight, glassInfo.getHeight())
+                .eq(GlassInfo::getThickness, glassInfo.getThickness())
+                .eq(GlassInfo::getFilmsid, glassInfo.getFilmsid())
+                .eq(GlassInfo::getFlowCardId, glassInfo.getFlowCardId())
+                .eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer())
+                .eq(GlassInfo::getLayer, glassInfo.getLayer())
+                .eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
+                .notInSql(GlassInfo::getGlassId, "select distinct glass_id from big_storage_cage_details " +
+                        "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight())
+                .orderByAsc(GlassInfo::getTemperingLayoutId)
+                .orderBy(Boolean.TRUE, sequenceOrder, GlassInfo::getTemperingFeedSequence)
+                .last("Limit 1");
+        GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper);
+        if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) {
+            String swapGlassId = swapGlassInfo.getGlassId();
+            log.info("灏嗙幓鐠儃}鍜岀幓鐠儃}锛屼俊鎭簰鎹�,杩涚幓鐠� {}", glassInfo, swapGlassInfo, swapGlassInfo);
+            swapGlassInfo.setGlassId(glassId);
+            glassInfo.setGlassId(swapGlassId);
+            glassInfoService.updateById(swapGlassInfo);
+            glassInfoService.updateById(glassInfo);
+            return swapGlassId;
+        }
+        return "";
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0