From 7567163fa367e2045a165ec86ea1c4bc79cea4a6 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 16 十月 2024 10:08:59 +0800
Subject: [PATCH] 版本整合05

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java             |   41 ++++++++++---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java |   86 ++++++++++++++--------------
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml                        |    4 
 3 files changed, 76 insertions(+), 55 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 37bfe0d..37eb415 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -100,7 +100,7 @@
 
     public static String engineerId = "";
 
-    //@Scheduled(fixedDelay = 1000)
+    @Scheduled(fixedDelay = 1000)
     public void plcHomeEdgTask() {
         Date startDate = new Date();
         log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -113,6 +113,13 @@
         String out10Glassstate = plcParameterObject.getPlcParameter("A10_glass_status").getValue();
         String confirmationWrodAddress = plcParameterObject.getPlcParameter("MES_confirmation_word").getAddress();
         String currentSlot = plcParameterObject.getPlcParameter("Current_slot").getValue();
+
+//        taskRequestTypeValue = "3";
+//        out08Glassstate = "1";
+//        out10Glassstate = "1";
+//        currentSlot = "2";
+//        confirmationWrodValue = "0";
+//        glassIdeValue = "P24092706|15|5";
 
         log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛欰09:{}銆丄10:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
                 taskRequestTypeValue, glassIdeValue, confirmationWrodValue, out08Glassstate, out10Glassstate, currentSlot);
@@ -138,7 +145,7 @@
             //09绌洪棽 锛�1      10绌洪棽 锛�2        閮界┖闂诧細3    鍏朵粬0
             log.info("2銆佸嚭鐗囪姹傦紝涓旂‘璁ゅ瓧涓�0锛屾墽琛屽嚭鐗囦换鍔�");
             outTo(Integer.parseInt(out08Glassstate),
-                    Integer.parseInt(out10Glassstate), confirmationWrodAddress, "", 0);
+                    Integer.parseInt(out10Glassstate), confirmationWrodAddress, "", Integer.parseInt(currentSlot));
         } else if ("3".equals(taskRequestTypeValue)) {
             log.info("2銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
             //鍔犵瀛愰噷闈㈡槸鍚︽湁鐜荤拑锛屾湁鍏堝嚭锛屾棤鐜荤拑鍏堣繘
@@ -249,11 +256,14 @@
                 .eq(GlassInfo::getHeight, glassInfo.getHeight())
                 .eq(GlassInfo::getThickness, glassInfo.getThickness())
                 .eq(GlassInfo::getFilmsid, glassInfo.getFilmsid())
+                .eq(GlassInfo::getFlowCardId, glassInfo.getFlowCardId())
+                .ne(GlassInfo::getGlassId, glassInfo.getGlassId())
                 .eq(GlassInfo::getTotalLayer, glassInfo.getTotalLayer())
                 .eq(GlassInfo::getLayer, glassInfo.getLayer())
                 .eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
                 .notInSql(GlassInfo::getGlassId, "select distinct glass_id from edg_storage_cage_details " +
-                        "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight())
+                        "where engineer_id = '" + glassInfo.getEngineerId() + "' and width = " + glassInfo.getWidth() + " and height = " + glassInfo.getHeight()
+                        + " and state != 100")
                 .orderByAsc(GlassInfo::getTemperingLayoutId)
                 .orderBy(Boolean.TRUE, sequenceOrder, GlassInfo::getTemperingFeedSequence)
                 .last("Limit 1");
@@ -288,17 +298,28 @@
 //        鑾峰彇寰呭嚭绗肩殑鐜荤拑闇�瑕佹浛鎹㈢殑鐜荤拑淇℃伅
         EdgStorageCageDetails swapGlassDetailInfo = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
                 .eq(EdgStorageCageDetails::getGlassId, swapGlassId).eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
+
 //      鐜荤拑灏忕墖琛ㄤ腑鐜荤拑宸茬粡鏇挎崲锛屾洿鏂板崸鐞嗙鍐呯幇鏈夌殑鍑嗗鍑虹鐨勭幓鐠冧俊鎭紝
         if (null == swapGlassDetailInfo) {
+            GlassInfo glassInfoBase = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
+                    .eq(GlassInfo::getGlassId, swapGlassId));
             //闇�瑕佹浛鎹㈢殑鐜荤拑涓哄瓨杩涘崸鐞嗭紝浠呴渶鏇存柊褰撳墠闇�瑕佸嚭绗肩殑鐜荤拑淇℃伅鍗冲彲
             edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
-                    .eq(EdgStorageCageDetails::getGlassId, glassId).set(EdgStorageCageDetails::getGlassId, swapGlassId));
+                    .eq(EdgStorageCageDetails::getGlassId, glassId)
+                    .set(EdgStorageCageDetails::getTemperingLayoutId, glassInfoBase.getTemperingLayoutId())
+                    .set(EdgStorageCageDetails::getTemperingFeedSequence, glassInfoBase.getTemperingFeedSequence()));
         } else {
             //闇�瑕佹浛鎹㈢殑鐜荤拑閮藉湪鍗х悊鍐咃紝鎸夌収鐜荤拑id瀵硅皟鐜荤拑淇℃伅锛氬璋冪幓鐠僫d鍗冲彲
             edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
-                    .eq(EdgStorageCageDetails::getId, glassInfo.getId()).set(EdgStorageCageDetails::getGlassId, swapGlassId));
+                    .eq(EdgStorageCageDetails::getId, glassInfo.getId())
+                    .set(EdgStorageCageDetails::getTemperingLayoutId, swapGlassDetailInfo.getTemperingLayoutId())
+                    .set(EdgStorageCageDetails::getTemperingFeedSequence, swapGlassDetailInfo.getTemperingFeedSequence())
+            );
             edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
-                    .eq(EdgStorageCageDetails::getId, swapGlassDetailInfo.getId()).set(EdgStorageCageDetails::getGlassId, glassId));
+                    .eq(EdgStorageCageDetails::getId, swapGlassDetailInfo.getId())
+                    .set(EdgStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
+                    .set(EdgStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence())
+            );
         }
     }
 
@@ -433,7 +454,7 @@
                 }
             }
         }
-        return saveOutGlassMessage(glassInfo, endcell, confirmationWrodAddress, glassId, currentSlot);
+        return saveOutGlassMessageBySlot(glassInfo, endcell, confirmationWrodAddress, glassId, currentSlot);
     }
 
     /**
@@ -675,6 +696,7 @@
             log.info("4銆佹坊鍔犲嚭鐗囦换鍔★紝鐜荤拑id锛歿}锛屼换鍔$被鍨嬶細{}锛岃捣濮嬩綅缃細{}锛岀粨鏉熶綅缃細{}", glassInfo.getGlassId(),
                     2, glassInfo.getSlot(), endcell);
             if (glassInfo.getGlassId().equals(glassId)) {
+
                 log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
                 EdgStorageCageDetails details = new EdgStorageCageDetails();
                 BeanUtils.copyProperties(glassInfo, details);
@@ -734,7 +756,7 @@
                     BeanUtils.copyProperties(glassInfo, details);
                 } else {
                     GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
-                    BeanUtils.copyProperties(glassInfo, details);
+                    BeanUtils.copyProperties(one, details);
                 }
                 EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(currentSlot, Boolean.TRUE);
                 Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�");
@@ -746,7 +768,7 @@
                 log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
             } else {
                 log.info("5銆侀潪鐩撮�氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
-                if (endcell != currentSlot) {
+                if (!glassInfo.getSlot().equals(currentSlot)) {
                     EdgStorageCageDetails currentGlass = edgStorageCageDetailsService.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
                             .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
                             .eq(EdgStorageCageDetails::getSlot, currentSlot).eq(EdgStorageCageDetails::getWidth, glassInfo.getWidth())
@@ -754,7 +776,6 @@
                     );
                     if (null != currentGlass) {
                         glassInfo = currentGlass;
-                        endcell = currentSlot;
                     }
                 }
                 //鐜荤拑淇℃伅鏇挎崲
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index 276d6b9..c7d8792 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
 
 spring:
   profiles:
-    active: cz
+    active: dev
   application:
     name: cacheGlass
   liquibase:
@@ -17,7 +17,7 @@
   ratio: 10
   cache: # 鍗у紡鐞嗙墖鏈�澶у昂瀵�
     cacheWidth: 4000
-    cacheHeight:3000
+    cacheHeight: 3000
   max: # 绗簩鏉$嚎鐨勬渶澶у昂瀵镐俊鎭�
     firstLength: 3500
     secondLength: 2500
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 9937f03..c056e63 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
@@ -575,53 +575,53 @@
      * 纭瀛楁竻绌�
      */
 //    @Scheduled(fixedDelay = 300)
-//    public void confirmClear() {
-//        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
-//        String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
-//        String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
-//        String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
-//        String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
-//        String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
-//        String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
-//        String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
-//        String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
-//        if(!REQUEST_WORD.equals(d01ToMES)){
-//            S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
-//        }
-//        if(!REQUEST_WORD.equals(d04ToMES)){
-//            S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
-//        }
-//        if (!REQUEST_WORD.equals(d03ToMES)) {
-//            S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
-//        }
-//        if (!REQUEST_WORD.equals(d05ToMES)) {
-//            S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
-//        }
-//    }
+    public void confirmClear() {
+        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+        String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
+        String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
+        String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
+        String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
+        String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
+        String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
+        String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
+        String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
+        if(!REQUEST_WORD.equals(d01ToMES)){
+            S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
+        }
+        if(!REQUEST_WORD.equals(d04ToMES)){
+            S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
+        }
+        if (!REQUEST_WORD.equals(d03ToMES)) {
+            S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
+        }
+        if (!REQUEST_WORD.equals(d05ToMES)) {
+            S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
+        }
+    }
     /**
      * 杩涚墖鐘舵�佷慨鏀�
      */
 //    @Scheduled(fixedDelay = 300)
-//    public void feedStatusUpdate() {
-//        List<String> glassIds1=null;
-//        List<String> glassIds2=null;
-//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list(
-//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
-//                .eq(BigStorageCageFeedTask::getTaskState,1)
-//                .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION)
-//        );
-//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list(
-//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
-//                        .eq(BigStorageCageFeedTask::getTaskState,1)
-//                        .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION)
-//        );
-////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
-////
-////        }
-////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
-////
-////        }
-//    }
+    public void feedStatusUpdate() {
+        List<String> glassIds1=null;
+        List<String> glassIds2=null;
+        List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list(
+                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+                .eq(BigStorageCageFeedTask::getTaskState,1)
+                .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION)
+        );
+        List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list(
+                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+                        .eq(BigStorageCageFeedTask::getTaskState,1)
+                        .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION)
+        );
+//        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
+//
+//        }
+//        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
+//
+//        }
+    }
 
     /**
      * 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩

--
Gitblit v1.8.0