From 983e243fd1c090bb36b7ccd68065409da755d612 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期一, 09 十二月 2024 17:09:29 +0800
Subject: [PATCH] 钢化模块进炉前、已出炉算法更改

---
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue |  201 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 172 insertions(+), 29 deletions(-)

diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index ff7df0b..dc9cc06 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -97,6 +97,53 @@
 const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
 const handleMessage = (data) => {  
   // 杩涚倝涓彸
+  // if (data.intoGlass2 && data.intoGlass2.length > 0) {  
+  //   const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId));  
+  //   const existingRects = adjustedRects2.value.filter(rect => newGlassIds.has(rect.glassId));  
+  //   const newRects = data.intoGlass2[0].map(rect => {  
+  //     const scaleFactor =  810.89/5087;
+  //     const scaleFactorY =  430/2800;
+  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
+  // let newX = rect.yCoordinate; 
+  //     if (rect.width < rect.height) {
+  //       widtha = rect.height;
+  //       heighta = rect.width;
+  //     }else {
+  //       widtha = rect.width;
+  //       heighta = rect.height;
+  //     }
+  // if (rect.angle === 0) {  
+  //   adjustedWidth = widtha * scaleFactor;  
+  //   adjustedHeight = heighta * scaleFactorY;
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 6000 - (rect.yCoordinate + widtha); 
+  //   } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * scaleFactorY;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 6000 - (rect.yCoordinate + heighta);  
+  // }  
+  // return {  
+  //   ...rect, 
+  //   x: newX * scaleFactor,  
+  //   y: rect.xCoordinate * scaleFactorY,  
+  //   width: adjustedWidth,  
+  //   height: adjustedHeight,  
+  //   widtha: rect.width, 
+  //   heighta: rect.height,
+  // }
+  //   }); 
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
+  //   adjustedRects2.value = existingRects.map(oldRect => {  
+  //     const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+  //     if (newRect) {  
+  //       return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+  //     }  
+  //     return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  // }  
   if (data.intoGlass2 && data.intoGlass2.length > 0) {  
     // 鎻愬彇鏂扮殑鐭╁舰ID  
     const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId));  
@@ -151,6 +198,53 @@
     adjustedRects2.value = []
   }
   // 杩涚倝涓乏
+  // if (data.intoGlass && data.intoGlass.length > 0) {  
+  //   const newGlassIds = new Set(data.intoGlass[0].map(rect => rect.glassId));  
+  //   const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId));  
+  //   const newRects = data.intoGlass[0].map(rect => {  
+  //     const scaleFactor =  810.89/5087;
+  //     const scaleFactorY =  430/2800;
+  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
+  // let newX = rect.yCoordinate; 
+  //     if (rect.width < rect.height) {
+  //       widtha = rect.height;
+  //       heighta = rect.width;
+  //     }else {
+  //       widtha = rect.width;
+  //       heighta = rect.height;
+  //     }
+  // if (rect.angle === 0) {  
+  //   adjustedWidth = widtha * scaleFactor;  
+  //   adjustedHeight = heighta * scaleFactorY;
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 6000 - (rect.yCoordinate + widtha); 
+  //   } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * scaleFactorY;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   newX = 6000 - (rect.yCoordinate + heighta);  
+  // }  
+  // return {  
+  //   ...rect, 
+  //   x: newX * scaleFactor,  
+  //   y: rect.xCoordinate * scaleFactorY,  
+  //   width: adjustedWidth,  
+  //   height: adjustedHeight,  
+  //   widtha: rect.width, 
+  //   heighta: rect.height,
+  // }
+  //   }); 
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
+  //   adjustedRects1.value = existingRects.map(oldRect => {  
+  //     const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+  //     if (newRect) {  
+  //       return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+  //     }  
+  //     return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  // }  
   if (data.intoGlass && data.intoGlass.length > 0) {
     console.log(data.intoGlass);
     
@@ -203,12 +297,13 @@
   else {
     adjustedRects1.value = []
   }
+  // 杩涚倝鍓�
   if (data.waitingGlass && data.waitingGlass.length > 0) {  
     const newGlassIds = new Set(data.waitingGlass[0].map(rect => rect.glassId));  
     const existingRects = adjustedRectsa.value.filter(rect => newGlassIds.has(rect.glassId));  
     const newRects = data.waitingGlass[0].map(rect => {  
-      const scaleFactor =  1390/6200; 
-      const scaleFactorY =  750/2800; 
+      const scaleFactor =  1621.78/6000; 
+      const scaleFactorY =  700/2800; 
       let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
   let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
@@ -253,16 +348,14 @@
   else if (data.waitingGlass == null) {
     adjustedRectsa.value = []
   }
+  // 宸插嚭鐐�
   if (data.outGlass && data.outGlass.length > 0) {  
-    // 鎻愬彇鏂扮殑鐭╁舰ID  
     const newGlassIds = new Set(data.outGlass[0].map(rect => rect.glassId));  
-    // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�  
     const existingRects = adjustedRectsb.value.filter(rect => newGlassIds.has(rect.glassId));  
-    // 璁$畻鏂扮殑鐭╁舰  
     const newRects = data.outGlass[0].map(rect => {  
-      const scaleFactor =  1390/6000; 
-      const scaleFactory =  750/2800; 
-      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
+      const scaleFactor =  1621.78/6000; 
+      const scaleFactorY =  700/2800; 
+      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
   let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
         widtha = rect.height;
@@ -273,30 +366,27 @@
       }
   if (rect.angle === 0) {  
     adjustedWidth = widtha * scaleFactor;  
-    adjustedHeight = heighta * scaleFactory;  
+    adjustedHeight = heighta * scaleFactorY;
     // adjustedWidtha = widtha;  
     // adjustedHeighta = heighta;  
-    // newX = 5190 - (rect.yCoordinate + widtha); 
-    newY = 2800 - (rect.xCoordinate + heighta); 
-  } else {  
+    newX = 6000 - (rect.yCoordinate + widtha); 
+    } else {  
     adjustedWidth = heighta * scaleFactor;  
-    adjustedHeight = widtha * scaleFactory;  
-    // adjustedWidtha = heighta;  
-    // adjustedHeighta = widtha;  
-    // newX = 5190 - (rect.yCoordinate + heighta);  
-    newY = 2800 - (rect.xCoordinate + widtha); 
+    adjustedHeight = widtha * scaleFactorY;  
+    // adjustedWidtha = widtha;  
+    // adjustedHeighta = heighta;  
+    newX = 6000 - (rect.yCoordinate + heighta);  
   }  
   return {  
-        ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
-        x: newX * scaleFactor,
-        y: newY * scaleFactory,
-        width: adjustedWidth,  
-        height: adjustedHeight,  
-        widtha: rect.width, 
-        heighta: rect.height,
+    ...rect, 
+    x: newX * scaleFactor,  
+    y: rect.xCoordinate * scaleFactorY,  
+    width: adjustedWidth,  
+    height: adjustedHeight,  
+    widtha: rect.width, 
+    heighta: rect.height,
   }
-    });   
-  
+    }); 
     // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
     adjustedRectsb.value = existingRects.map(oldRect => {  
       const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
@@ -305,7 +395,60 @@
       }  
       return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
     }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
-  }  
+  }
+  // if (data.outGlass && data.outGlass.length > 0) {  
+  //   // 鎻愬彇鏂扮殑鐭╁舰ID  
+  //   const newGlassIds = new Set(data.outGlass[0].map(rect => rect.glassId));  
+  //   // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�  
+  //   const existingRects = adjustedRectsb.value.filter(rect => newGlassIds.has(rect.glassId));  
+  //   // 璁$畻鏂扮殑鐭╁舰  
+  //   const newRects = data.outGlass[0].map(rect => {  
+  //     const scaleFactor =  1390/6000; 
+  //     const scaleFactory =  750/2800; 
+  //     let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
+  // let newX = rect.yCoordinate; 
+  //     if (rect.width < rect.height) {
+  //       widtha = rect.height;
+  //       heighta = rect.width;
+  //     }else {
+  //       widtha = rect.width;
+  //       heighta = rect.height;
+  //     }
+  // if (rect.angle === 0) {  
+  //   adjustedWidth = widtha * scaleFactor;  
+  //   adjustedHeight = heighta * scaleFactory;  
+  //   // adjustedWidtha = widtha;  
+  //   // adjustedHeighta = heighta;  
+  //   // newX = 5190 - (rect.yCoordinate + widtha); 
+  //   newY = 2800 - (rect.xCoordinate + heighta); 
+  // } else {  
+  //   adjustedWidth = heighta * scaleFactor;  
+  //   adjustedHeight = widtha * scaleFactory;  
+  //   // adjustedWidtha = heighta;  
+  //   // adjustedHeighta = widtha;  
+  //   // newX = 5190 - (rect.yCoordinate + heighta);  
+  //   newY = 2800 - (rect.xCoordinate + widtha); 
+  // }  
+  // return {  
+  //       ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
+  //       x: newX * scaleFactor,
+  //       y: newY * scaleFactory,
+  //       width: adjustedWidth,  
+  //       height: adjustedHeight,  
+  //       widtha: rect.width, 
+  //       heighta: rect.height,
+  // }
+  //   });   
+  
+  //   // 鍚堝苟鏂版棫鐭╁舰锛屽苟淇濈暀 isActive 鐘舵��  
+  //   adjustedRectsb.value = existingRects.map(oldRect => {  
+  //     const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+  //     if (newRect) {  
+  //       return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+  //     }  
+  //     return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
+  //   }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
+  // }  
   else if (data.outGlass == null) {
     adjustedRectsb.value = []
   }
@@ -867,7 +1010,7 @@
     <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplaya }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
       <el-scrollbar height="750px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
-      <div  
+      <div
       v-for="(rect, index) in adjustedRectsa"  
       :key="index"  
       @click="showDialoga(rect)"  
@@ -893,7 +1036,7 @@
     <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRectsb[0].engineerId }}-{{ adjustedRectsb[0].temperingLayoutId }} </div>
     <!-- <div style="text-align: center;">鐐夊彿锛歿{ engineerIdDisplayb }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
       <el-scrollbar height="750px" style="background-color: #e9e9eb;">
-    <div  style="position: relative;max-width: 1400px;">  
+    <div  style="position: relative;max-width: 1400px;">
       <div  
       v-for="(rect, index) in adjustedRectsb"  
       :key="index"  

--
Gitblit v1.8.0