From 1eadcf2fe21a211ba361b3cdb86a79f34b4b0479 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期二, 14 五月 2024 14:48:02 +0800
Subject: [PATCH] 修改出片逻辑

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java        |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java |   71 +++++++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java                                     |  116 ++++++++----------
 UI-Project/src/views/UnLoadGlass/Landingindication.vue                                                                                  |   58 +++++++--
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java                               |    8 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.xlsx                                         |    0 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java       |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java          |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml                                               |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java                                              |   60 ++++-----
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java        |    6 +
 11 files changed, 215 insertions(+), 114 deletions(-)

diff --git a/UI-Project/src/views/UnLoadGlass/Landingindication.vue b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
index 72b46a9..d43f129 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindication.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -1,9 +1,8 @@
 <template>
   <div class="glass-rack">
-    <div >
+    <div>
       <svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
         <g stroke="null" id="Layer_1">
-          <!-- 浣跨敤 v-for 寰幆娓叉煋鏁版嵁 -->
           <g v-for="(rack, index) in racks" :key="index">
             <rect 
               :x="rack.x" 
@@ -33,19 +32,20 @@
 
 <script setup>
 import Swal from 'sweetalert2'
+import request from "@/utils/request";
 
-const racks = [
+// 鍒濆鍖栨暟鎹�
+let racks = [
   { x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
-  { x: 50, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 20, width: 10, fillColor: 'yellow', content: 'NG1234567' } },
   { x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 30, width: 20, fillColor: 'yellow', content: 'NG12345678' } },
-  { x: 280, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 35, width: 23, fillColor: 'yellow', content: 'NG123456910' } },
   { x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 30, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
 ];
 
+// 璁$畻鍏冪礌浣嶇疆鐨勫嚱鏁�
 const calculateItemXPosition = (rack, item, index) => {
-  if (index === 0 || index === 1) {
+  if (index === 0) {
     return rack.x;
-  } else if (index === 2 || index === 3) {
+  } else if (index === 1) {
     return rack.x + rack.width - item.width;
   } else {
     return rack.x + (rack.width - item.width) / 2;
@@ -53,21 +53,51 @@
 };
 
 const calculateItemYPosition = (rack, item, index) => {
-  if (index === 0 || index === 1) {
+  if (index === 0) {
     return rack.y + (rack.height - item.height) / 2;
-  } else if (index === 2 || index === 3) {
+  } else if (index === 1) {
     return rack.y + (rack.height - item.height) / 2;
   } else {
     return rack.y + rack.height - item.height;
   }
 };
 
+// 鑾峰彇鏁版嵁骞舵洿鏂� racks 鏁扮粍
+const fetchFlowCardId = async () => {
+  try {
+    const response = await request.get('unLoadGlass/downWorkStation/getwo');
+    if (response.code === 200) {
+      response.data.forEach((itemData, index) => {
+        if (index < racks.length) {
+          const rack = racks[index];
+          const newItem = {
+            content: itemData.item.content,
+            fillColor: itemData.item.fillColor,
+            width: itemData.item.width / 10000,
+            height: itemData.item.height / 10000
+          };
+          // 鏇存柊 racks 鏁扮粍
+          Vue.set(racks, index, { ...rack, item: newItem });
+        }
+      });
+    } else {
+      ElMessage.error(response.msg);
+    }
+  } catch (error) {
+    console.error(error);
+  }
+};
+
+// 鑾峰彇鏁版嵁骞舵洿鏂� racks 鏁扮粍
+fetchFlowCardId();
+
+// 鏄剧ず鑷畾涔夎鎶�
 const showCustomAlert = (content) => {
-  var str="鏋跺彿   :      111\n" +
+  var str = "鏋跺彿   :      111\n" +
     "闀�     :      111\n" +
     "瀹�     :      111\n" +
-    "鍘�     :      111\n"+
-    "鐜荤拑ID :      111\n"+
+    "鍘�     :      111\n" +
+    "鐜荤拑ID :      111\n" +
     "鑶滅郴   :      111\n";
 
   Swal.fire({
@@ -79,11 +109,11 @@
   });
 };
 
+// 鏄剧ず鍏冪礌淇℃伅
 const showRectInfo = (rectInfo) => {
   const content = rectInfo.item.content;
   showCustomAlert(content);
 };
-
 </script>
 
 <style scoped>
@@ -106,4 +136,4 @@
   padding: 10px;
   font-size: 14px;
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
index e5f4389..9ed7dba 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -3,34 +3,32 @@
 import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
 import com.mes.tools.S7control;
 
-/**
- * @Author : zhoush
- * @Date: 2024/4/9 15:13
- * @Description:
- */
-//public class S7object {
-//    public S7control plccontrol; // PLC閫氳绫诲疄渚�
-//    private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
-//    private String ip = "192.168.10.1"; // plc ip鍦板潃
-//    private int port = 102; // plc 绔彛鍙�
-//
-//    private static volatile S7object instance = null;
-//
-//    private S7object() {
-//        if (plccontrol == null) {
-//            plccontrol = new S7control(plcType, ip, port, 0, 0);
-//        }
-//    }
-//
-//    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
-//    public static S7object getinstance() {
-//        if (instance == null) {
-//            synchronized (S7object.class) {
-//                if (instance == null) {
-//                    instance = new S7object();
-//                }
-//            }
-//        }
-//        return instance;
-//    }
-//}
+
+
+
+public class S7object {
+    public S7control plccontrol; // PLC閫氳绫诲疄渚�
+    private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+    private String ip = "192.168.10.1"; // plc ip鍦板潃
+    private int port = 102; // plc 绔彛鍙�
+
+    private static volatile S7object instance = null;
+
+    private S7object() {
+        if (plccontrol == null) {
+            plccontrol = new S7control(plcType, ip, port, 0, 0);
+        }
+    }
+
+    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
+    public static S7object getinstance() {
+        if (instance == null) {
+            synchronized (S7object.class) {
+                if (instance == null) {
+                    instance = new S7object();
+                }
+            }
+        }
+        return instance;
+    }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index 5eb9031..df1f641 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -29,7 +29,7 @@
     @Override
     public List<DownGlassTask> getUnloadingTaskState() {
         QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("task_stauts", 1);
+        queryWrapper.eq("task_stauts", 0);
         return baseMapper.selectList(queryWrapper);
     }
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
index f5388ed..173056a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -48,8 +48,8 @@
     List<DownStorageCageDetails> CacheOut(int start, int end);
 
     /**
-     * @return 鏌ヨ绌烘牸瀛�
+     * @return 鍑虹墖
      */
-   // List<DownStorageCageDetails> selectCacheEmpty2();
 
+    List<DownStorageCageDetails> CacheOut1(int start, int end);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index c2d8f32..211dc88 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -1,6 +1,8 @@
 package com.mes.downstorage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.query.MPJQueryWrapper;
 
 
@@ -13,14 +15,20 @@
 
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.mapper.DownWorkstationMapper;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
+
 @Slf4j
 @Service
 public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
@@ -31,6 +39,8 @@
     private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
     @Autowired
     private GlassInfoMapper glassInfoMapper;
+    @Autowired
+    private DownWorkstationMapper downWorkstationMapper;
     @Override
     public void addDownStorageCageDetails(DownStorageCageDetails details) {
         this.save(details);
@@ -63,6 +73,7 @@
 
         );
     }
+
 
 
 
@@ -172,9 +183,69 @@
 
 
 
+    @Override
+    public List<DownStorageCageDetails> CacheOut1(int start,int end) {
 
 
 
+        List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(null);
+        // Step 5: 鍒ゆ柇 down_storage_cage_details 缁撴灉鏁伴噺鏄惁涓�9锛屽鏋滄槸锛屽垯鎵ц鍙﹀涓�涓煡璇�
+        if (cageDetails.size() == 9) {
+       log.info("婊′簡鐨勬椂鍊欙紝鎸夌収绗煎唴鐗堝浘id 鐗堝浘鐗囧簭鍑�");
+            List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
+
+
+            List<String> flowCardIds = new ArrayList<>();
+            for (DownWorkstation workstation : workstationList) {
+                flowCardIds.add(workstation.getFlowCardId());
+            }
+            LambdaQueryWrapper<DownStorageCageDetails> anotherQueryWrapper = Wrappers.lambdaQuery();
+
+            anotherQueryWrapper.orderByAsc(DownStorageCageDetails::getTemperingLayoutId);
+            anotherQueryWrapper.orderByDesc(DownStorageCageDetails::getTemperingFeedSequence);
+            anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId,flowCardIds);
+            anotherQueryWrapper.last("LIMIT 1");
+            return downStorageCageDetailsMapper.selectList(anotherQueryWrapper);
+        }else
+        {
+
+        // Step 1: 鏌ヨ DownWorkstation 琛ㄨ幏鍙栧搴� workstation_id 鐨� flow_card_id
+        List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
+
+
+        List<String> flowCardIds = new ArrayList<>();
+        for (DownWorkstation workstation : workstationList) {
+            flowCardIds.add(workstation.getFlowCardId());
+        }
+
+        LambdaQueryWrapper<GlassInfo> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.select(GlassInfo::getFlowCardId,
+                GlassInfo::getGlassId,
+                GlassInfo::getTemperingLayoutId,
+                GlassInfo::getTemperingFeedSequence)
+                .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
+                .orderByAsc(GlassInfo::getTemperingLayoutId)
+                .orderByDesc(GlassInfo::getTemperingFeedSequence)
+                .last("LIMIT 1");
+
+        // 鏌ヨ GlassInfo 琛�
+        List<GlassInfo> glassInfos = glassInfoMapper.selectList(queryWrapper);
+
+        // Step 3: 鏋勯�犳煡璇� down_storage_cage_details 琛ㄧ殑鏉′欢
+        List<String> glassIds = glassInfos.stream().map(GlassInfo::getGlassId).collect(Collectors.toList());
+        LambdaQueryWrapper<DownStorageCageDetails> cageDetailsQueryWrapper = Wrappers.lambdaQuery();
+        cageDetailsQueryWrapper.in(DownStorageCageDetails::getGlassId, glassIds);
+        cageDetailsQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
+
+            log.info("鎸夌収娴佺▼鍗$殑鐗堝浘id 鐗堝浘鐗囧簭鍑�");
+        // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
+        return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
+        }
+
+
+    }
+
+
 
 
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index cef8be4..e580072 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,5 +1,7 @@
 package com.mes.downstorage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 
@@ -89,6 +91,10 @@
     }
 
 
+
+
+
+
     @Override
     public List<Map<String, Object>> selectDownStorageCages() {
         return baseMapper.selectJoinMaps(JoinWrappers.lambda(DownStorageCage.class)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
index 6b0b547..0daec61 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -37,7 +37,7 @@
     @GetMapping("/getone")
     public ResponseEntity<?> getOneDownWorkstations() {
         try {
-            List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1,5);
+            List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1,6);
             // 鏋勫缓绗﹀悎棰勬湡鏍煎紡鐨勫搷搴旀暟鎹�
             Map<String, Object> responseData = new HashMap<>();
             responseData.put("code", 200);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
index 82516cd..8ff0df5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
@@ -74,7 +74,7 @@
       // String G06RobotTaskRequestWord = plcParameterObject.getPlcParameter("G06RobotTaskRequestWord").getAddress();
 
 
-                String taskRequestTypeValue ="1";
+                String taskRequestTypeValue ="3";
         String glassIdeValue ="NG24041101C002-2-6-1-6";
         String confirmationWrodValue ="1";
         String outGlassstate="1";
@@ -111,9 +111,7 @@
 
         } else if ("3".equals(taskRequestTypeValue)) {
             log.info("3銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
-            if (outTo( confirmationWrodAddress)) {
-
-
+            if (outTo(confirmationWrodAddress)) {
                 inTo(glassIdeValue, confirmationWrodAddress);
 
 
@@ -157,7 +155,7 @@
         DownStorageCageDetails details = new DownStorageCageDetails();
         BeanUtils.copyProperties(glassInfo, details);
         details.setState(1);
-        details.setGlassId(item.getGlassId());
+        details.setGlassId(glassInfo.getGlassId());
         details.setSlot(item.getSlot());
         details.setDeviceId(item.getDeviceId());
         downStorageCageDetailsService.save(details);
@@ -165,7 +163,6 @@
 
             DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(glassInfo, "0", item.getSlot() + "", "1");
         //娣诲姞杩涚墖浠诲姟
-
         log.info("6銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃{}", downGlassTask);
             downGlassTaskService.insertCacheTask(downGlassTask);
         }
@@ -182,17 +179,18 @@
      *
      */
     private Boolean outTo( String confirmationWrodAddress) {
-        log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勮澶噄d 鏌ヨ绗﹀悎鎸夌収澶у皬鍑虹墖,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
-        List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut(1,3);
+        log.info("鍗曠墖鎯呭喌鏍规嵁浼犲叆鐨勬枡鏋跺彿 鏌ヨ绗﹀悎鎸夌収鐗堝浘id鍜岀墖搴忓嚭鐗�,骞朵笖浼樺厛鍑烘弧鏋剁殑灏忕墖");
+        List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut1(1,3);
 
-        List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut(4,6);
+        List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut1(4,6);
 
-        List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut(1, 6);
+        List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut1(1,6);
         // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
         if (!list3.isEmpty()) {
-            log.info("浜哄伐澶勭悊");
+
             DownStorageCageDetails item3 = list3.get(0);
             if (item3.getHeight() >= 2500 && item3.getWidth() >= 2660) {
+                log.info("浜哄伐澶勭悊");
                 String endcell = "7";
 
 
@@ -202,48 +200,49 @@
 
               return true;
             }
+            else if (!list2.isEmpty() && !list3.isEmpty()) {
+                log.info("鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦");
+                DownStorageCageDetails item4 = list2.get(0);
+
+                DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item4.getFlowCardId()));
+                String endcell = String.valueOf(downWorkstation.getWorkstationId());
+
+                DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item4, "9", endcell, "2");
+                downGlassTaskService.insertCacheTask(downGlassTask);
+
+                //S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
+
+                return true;
+
+            }
+            // 鎸夌収鐗堝浘id鍜岀墖搴忕鍚堝墠绔嚭鐗�
+            else if (!list.isEmpty()) {
+                log.info("鍓嶇鍑虹墖");
+                DownStorageCageDetails item = list.get(0);
+                DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item.getFlowCardId()));
+                String endcell = String.valueOf(downWorkstation.getWorkstationId());
+                // 鍑哄埌 G06
+                DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item, "9", endcell, "2");
+                downGlassTaskService.insertCacheTask(downGlassTask);
+                // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
+
+
+                return true;
+                // 鎸夌収鐗堝浘id鍜岀墖搴忕鍚堝悗绔嚭鐗�
+            } else if (!list2.isEmpty()) {
+                log.info("鍚庣鍑虹墖");
+                DownStorageCageDetails item2 = list2.get(0);
+                DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item2.getFlowCardId()));
+                String endcell = String.valueOf(downWorkstation.getWorkstationId());
+                // 鍑哄埌 G11
+                DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item2, "9", endcell, "2");
+                downGlassTaskService.insertCacheTask(downGlassTask);
+                //  S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
+                return true;
+            }
         }
         //濡傛灉鍚屾椂鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦
-        else if (!list2.isEmpty() && !list3.isEmpty()) {
-            log.info("鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦");
-            DownStorageCageDetails item3 = list2.get(0);
 
-            DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item3.getFlowCardId()));
-            String endcell = String.valueOf(downWorkstation.getWorkstationId());
-
-            DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item3, "9", endcell, "2");
-            downGlassTaskService.insertCacheTask(downGlassTask);
-
-         //S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
-
-           return true;
-
-        }
-        // 鎸夌収澶у皬绗﹀悎鍓嶇鍑虹墖
-        else if (!list.isEmpty()) {
-            log.info("鍓嶇鍑虹墖");
-            DownStorageCageDetails item = list.get(0);
-            DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item.getFlowCardId()));
-            String endcell = String.valueOf(downWorkstation.getWorkstationId());
-            // 鍑哄埌 G06
-            DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item, "9", endcell, "2");
-            downGlassTaskService.insertCacheTask(downGlassTask);
-           // S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
-
-
-            return true;
-            // 鎸夌収澶у皬绗﹀悎鍚庣鍑虹墖
-        } else if (!list2.isEmpty()) {
-            log.info("鍚庣鍑虹墖");
-            DownStorageCageDetails item2 = list2.get(0);
-            DownWorkstation downWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getFlowCardId, item2.getFlowCardId()));
-            String endcell = String.valueOf(downWorkstation.getWorkstationId());
-            // 鍑哄埌 G11
-            DownGlassTask downGlassTask = downStorageCageService.createDownGlassTask(item2, "9", endcell, "2");
-            downGlassTaskService.insertCacheTask(downGlassTask);
-          //  S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 2);
-           return true;
-        }
         // 杩斿洖缁撴灉
         return false;
     }
@@ -252,37 +251,26 @@
 //
     public void insertdownglassinfo() {
         try {
-        String G06RobotTaskReply ="1";
-        String G06Rack ="1";
-        String G11RobotTaskReply ="1";
-        String G11Rack ="1";
+
         List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
         if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
 
             for (DownGlassTask downGlassInfo : taskdownGlassInf) {
                 // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
                 DownGlassInfo newdownGlassInfo = new DownGlassInfo();
-//                newdownGlassInfo.setId(downGlassInfo.getId());
-                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
+
                 Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
                 // 鍒濆鍖栭『搴忓瓧娈靛��
                 int sequence = maxSequence != null ? maxSequence + 1 : 1;
-//                newdownGlassInfo.setId(downGlassInfo.getId());
-                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
-                newdownGlassInfo.setGlassId(downGlassInfo.getGlassId());
-                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
-                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
-                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
+                BeanUtils.copyProperties(downGlassInfo, newdownGlassInfo);
                 // 璁剧疆椤哄簭瀛楁鍊�
                 newdownGlassInfo.setSequence(sequence);
                 // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
-
                 downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
                 log.info("鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃");
                 DownWorkstation downWorkstation1 = downWorkstationService.selectByFlowCardId(downGlassInfo.getFlowCardId());
                 downWorkstationService.updateracksnumber(downGlassInfo.getFlowCardId(), downWorkstation1.getRacksnumber() + 1);
                 log.info("鏇存柊钀芥灦鏁伴噺");
-
                 sequence++; // 閫掑椤哄簭瀛楁鍊�
 
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.xlsx b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.xlsx
new file mode 100644
index 0000000..dd72649
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.xlsx
Binary files differ
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml
index 2e6a12c..113ecb3 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application-prod.yml
@@ -5,7 +5,7 @@
       strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
       datasource:
         hangzhoumes:
-          url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
+          url: jdbc:mysql://127.0.0.1:3306/hangzhoumes?serverTimezone=GMT%2b8
           username: root
           password: beibo.123/
           driver-class-name: com.mysql.cj.jdbc.Driver
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
index ed2c929..440b651 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -112,6 +112,14 @@
         downStorageCageDetailsService.CacheOut(1,2);
 
     }
+    @Test
+    public void CacheEmpty1() {
+        log.info("娴嬭瘯鍑虹墖");
+        downStorageCageDetailsServiceImpl.CacheOut1(1,6);
+
+    }
+
+
 
 
     @Test

--
Gitblit v1.8.0