From 62681d14e34466f4ed4eafaa2cef197c53e6fd82 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 26 二月 2025 14:07:05 +0800
Subject: [PATCH] 修改打印样式 修改报工界面查询条件 修改磨边获取出片线路条件 大理片非钢化出片添加宽度与数量限制

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml                            |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java                                        |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java               |    2 
 hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml                                                              |   12 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml                                                             |    2 
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                                                           |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml                                            |   33 +++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                                     |   16 +
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/FlowCardServiceImpl.java                                            |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java               |  116 +++++-------
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml                                                            |    2 
 UI-Project/src/views/UnLoadGlass/PrintFlow.vue                                                                                                 |   84 ++++----
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java                          |    8 
 UI-Project/config.js                                                                                                                           |    8 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/FlowCardService.java                                                     |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                                 |   29 ++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java                    |   22 +
 UI-Project/src/lang/en.js                                                                                                                      |    1 
 UI-Project/src/lang/zh.js                                                                                                                      |   21 ++
 UI-Project/src/views/ReportWork/reportWork.vue                                                                                                 |   14 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java   |   15 +
 UI-Project/src/utils/constants.js                                                                                                              |    6 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/FlowCardMapper.java                                                       |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml                                                       |    2 
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                                   |    6 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java                                          |    7 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java |   45 ++++
 UI-Project/src/router/index.js                                                                                                                 |   13 +
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue                                                                                         |   32 +-
 29 files changed, 327 insertions(+), 183 deletions(-)

diff --git a/UI-Project/config.js b/UI-Project/config.js
index 1c0bc92..7438481 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,11 +1,11 @@
 export default {
-    serverUrl: "10.153.19.150:88/api",
+    // serverUrl: "10.153.19.150:88/api",
     // serverUrl: "10.153.19.44:88/api",
-//  serverUrl: "192.168.1.199:88/api",
+ serverUrl: "192.168.1.199:88/api",
     // serverUrl: "127.0.0.1:88/api",
-    serverUrl2: "10.153.19.150:88"
+    // serverUrl2: "10.153.19.150:88"
     // serverUrl2: "10.153.19.44:88"
-    // serverUrl2: "192.168.1.199:88"
+    serverUrl2: "192.168.1.199:88"
     // serverUrl2: "127.0.0.1:88"
 
     //serverUrl:"res.abeim.cn"
diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index d0b19fe..cea6baf 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -128,6 +128,7 @@
           number:'Serial Number',
           taskstatus:'Task state',
           filmenter:'Waiting for input glass',
+          filmwait:'Waiting for start',
           infilm:'In progress',
           endtask:'End task',
           completetask:'Complete the task',
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index e1bae66..e1dd6fe 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -131,7 +131,8 @@
           number:'搴忓彿',
           taskstatus:'浠诲姟鐘舵��',
           filmenter:'绛夊緟杩涚墖',
-          infilm:'杩涜涓�',
+          filmwait:'绛夊緟鍚姩',
+          infilm:'杩涚墖涓�',
           endtask:'缁撴潫浠诲姟',
           completetask:'瀹屾垚浠诲姟',
           intoglassid:'杩涚墖鐜荤拑ID',
@@ -506,6 +507,24 @@
           loading :'姝e湪涓婄墖锛�',
       },
       reportmanage:{
+          scan:'鎵爜',
+          feeding:'姝e湪杩涘崸杞珛',
+          in:'鍦ㄥ崸杞珛',
+          car:'鍦ㄨ溅涓�',
+          cage:'鍦ㄧ瀛愰噷',
+          oneline:'涓�绾�',
+          twoline:'浜岀嚎',
+          id:'缂栧彿',
+          targetSlot:'鐩爣鏍煎瓙',
+          state:'浠诲姟鐘舵��',
+          width:'瀹�',
+          height:'楂�',
+          createTime:'鍒涘缓鏃堕棿',
+          totalCounts:'鎬荤墖鏁�',
+          totalAreas:'鎬婚潰绉�',
+          totalDamages:'鎬荤牬鎹�',
+          totalTakes:'鎬绘嬁璧�',
+
           productiontime :'鐢熶骇鏃堕棿',
           starttime :'寮�濮嬫椂闂�',
           endtime :'缁撴潫鏃堕棿',
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index ec0a24e..3de0a3e 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -311,6 +311,19 @@
       },
     ]
   },
+  /*----------- 鎶ヨ〃绠$悊 ----------------*/
+  {
+    path: 'reportManage',
+    name: 'reportManage',
+    component: () => import('../views/Reportmanage/reportmanage.vue'),
+    children: [
+      {
+        path: '/Reportmanage/reportmanage',
+        name: 'reportManage',
+        component: () => import('../views/Reportmanage/reportmanage.vue')
+      },
+    ]
+  },
 
         /*----------- 涓┖ ----------------*/
         {
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 557e105..31c4046 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,5 +1,5 @@
-//  export const WebSocketHost = "192.168.1.199";
-export const WebSocketHost = "10.153.19.150";
+ export const WebSocketHost = "192.168.1.199";
+// export const WebSocketHost = "10.153.19.150";
 // export const WebSocketHost = "10.153.19.44";
 // export const WebSocketHost = "127.0.0.1";
-export const host = "88";
\ No newline at end of file
+export const host = "88";
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 41e5537..dd073d0 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -85,8 +85,8 @@
     const existingRects = adjustedRects2.value.filter(rect => newGlassIds.has(rect.glassId));  
     // 璁$畻鏂扮殑鐭╁舰  
     const newRects = data.intoGlass2[0].map(rect => {  
-      const scaleFactor =  845/5000;
-      const scaleFactorY =  430/2750;
+      const scaleFactor =  800/5000;
+      const scaleFactorY =  407/2750;
         let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
         let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
@@ -137,8 +137,8 @@
     const newGlassIds = new Set(data.intoGlass1[0].map(rect => rect.glassId));
     const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId));
     const newRects = data.intoGlass1[0].map(rect => {
-      const scaleFactor =  845/5000;
-      const scaleFactorY =  430/2750;
+      const scaleFactor =  800/5000;
+      const scaleFactorY =  407/2750;
       // const scaleFactor =  600/5087;
       // const scaleFactorY =  200/2800;
       let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
@@ -191,8 +191,8 @@
     const newGlassIds = new Set(data.intoGlass3[0].map(rect => rect.glassId));
     const existingRects = adjustedRects3.value.filter(rect => newGlassIds.has(rect.glassId));
     const newRects = data.intoGlass3[0].map(rect => {
-      const scaleFactor =  845/5000;
-      const scaleFactorY =  430/2750;
+      const scaleFactor =  800/5000;
+      const scaleFactorY =  407/2750;
       let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
       let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
@@ -245,8 +245,8 @@
     const existingRects = adjustedRects4.value.filter(rect => newGlassIds.has(rect.glassId));  
     // 璁$畻鏂扮殑鐭╁舰  
     const newRects = data.intoGlass4[0].map(rect => { 
-      const scaleFactor =  845/5000;
-      const scaleFactorY =  430/2750;
+      const scaleFactor =  800/5000;
+      const scaleFactorY =  407/2750;
         let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
         let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
@@ -1279,11 +1279,11 @@
         <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 1000px;"
                  v-loading="loading">
                  
-   <div style="width: 845px;float: right;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
+   <div style="width: 800px;float: right;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
      <div v-if="adjustedRects3.length > 0">
        <!-- <div style="text-align: center;">鐐夊彿3锛歿{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
        <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects3[0].engineerId }}-{{ adjustedRects3[0].temperingLayoutId }} </div>
-    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
+    <el-scrollbar height="417px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
       <div  
       v-for="(rect, index) in adjustedRects3"
@@ -1306,11 +1306,11 @@
    </el-scrollbar>
    </div>
           </div>
-        <div style="width: 845px;float: left;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
+        <div style="width: 800px;float: left;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
     <div v-if="adjustedRects4.length > 0">
     <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects4[0].engineerId }}-{{ adjustedRects4[0].temperingLayoutId }} </div>
     <!-- <div style="text-align: center;">鐐夊彿4锛歿{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
-    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
+    <el-scrollbar height="417px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
       <div  
       v-for="(rect, index) in adjustedRects4"
@@ -1333,11 +1333,11 @@
    </el-scrollbar>
    </div>
         </div>
- <div style="width: 845px;float: right;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
+ <div style="width: 800px;float: right;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
    <div v-if="adjustedRects1.length > 0">
               <!-- <div style="text-align: center;">鐐夊彿1锛歿{ engineerIdDisplay }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
      <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects1[0].engineerId }}-{{ adjustedRects1[0].temperingLayoutId }} </div>
-    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
+    <el-scrollbar height="417px" style="background-color: #e9e9eb;">
     <div  style="position: relative;">  
       <div  
       v-for="(rect, index) in adjustedRects1"
@@ -1360,11 +1360,11 @@
    </el-scrollbar>
    </div>
     </div>
-     <div style="width: 845px;float: left;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
+     <div style="width: 800px;float: left;background-color: #f4f4f5;height: 430px;margin-top: 20px;">
     <div v-if="adjustedRects2.length > 0">
     <div style="text-align: center;"> {{ $t('processCard.temperinglayout') }}锛歿{ adjustedRects2[0].engineerId }}-{{ adjustedRects2[0].temperingLayoutId }} </div>
     <!-- <div style="text-align: center;">鐐夊彿2锛歿{ engineerIdDisplay2 }}-{{ adjustedRects[0].temperingLayoutId }}</div>   -->
-    <el-scrollbar height="430px" style="background-color: #e9e9eb;">
+    <el-scrollbar height="417px" style="background-color: #e9e9eb;">
     <div  style="position: relative;max-width: 1400px;">  
       <div  
       v-for="(rect, index) in adjustedRects2"
diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue
index 244f489..c4229d1 100644
--- a/UI-Project/src/views/ReportWork/reportWork.vue
+++ b/UI-Project/src/views/ReportWork/reportWork.vue
@@ -6,13 +6,13 @@
         value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
         :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
       <el-select v-model="report.type" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
-        <el-option :label="$t('reportmanage.all')" value="0"></el-option>
-        <el-option :label="$t('reportmanage.completed')" value="1"></el-option>
+        <!-- <el-option :label="$t('reportmanage.all')" value="0"></el-option> -->
+        <!-- <el-option :label="$t('reportmanage.completed')" value="1"></el-option> -->
         <el-option :label="$t('reportmanage.broke')" value="8"></el-option>
         <el-option :label="$t('reportmanage.takeout')" value="9"></el-option>
       </el-select>
       <el-select v-model="report.status" :placeholder="$t('reportmanage.cstate')" style="margin-left: 10px;">
-        <el-option :label="$t('reportmanage.all')" value="0"></el-option>
+        <!-- <el-option :label="$t('reportmanage.all')" value="0"></el-option> -->
         <el-option :label="$t('reportmanage.dreportwork')" value="1"></el-option>
         <!-- <el-option :label="$t('reportmanage.pendingwork')" value="2"></el-option> -->
         <el-option :label="$t('reportmanage.reportwork')" value="3"></el-option>
@@ -128,14 +128,14 @@
 import { useI18n } from 'vue-i18n'
 const { t } = useI18n()
 const report = ref({
-  type: '0',
-  status: '0',
+  type: '8',
+  status: '1',
   workingProcedure: '0',
 });
 const reportData = ref([])
 const endDate = new Date();
 const startDate = new Date();
-startDate.setDate(endDate.getDate() - 20);  // 鑾峰彇涓�涓槦鏈熷墠鐨勬椂闂�
+startDate.setDate(endDate.getDate() - 7);  // 鑾峰彇涓�涓槦鏈熷墠鐨勬椂闂�
 // 鏍煎紡鍖栦负 "YYYY-MM-DD" 鏍煎紡
 const formatDate = (date) => {
   const year = date.getFullYear();
@@ -165,7 +165,7 @@
 const selectReportData = async () => {
   const response = await request.post("/cacheVerticalGlass/damage/selectDamage", {
     startTime: timeRange.value[0],
-    endTime: timeRange.value[1],
+    endTime: timeRange.value[1]+" 23:59:59",
     type: report.value.type,
     status: report.value.status,
     workingProcedure: report.value.workingProcedure
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index a04268d..635d246 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -1087,9 +1087,9 @@
             <el-table-column prop="bigStorageCageFeedTask.taskState" align="center"
               :label="$t('searchOrder.taskstatus')" min-width="120">
               <template #default="scope">
-                <el-tag type="success">{{ scope.row.bigStorageCageFeedTask.taskState == 0 ? $t('searchOrder.filmenter')
-                  :
-                  $t('searchOrder.infilm') }}</el-tag>
+                <el-tag type="success">{{ scope.row.bigStorageCageFeedTask.taskState == 1 ? $t('searchOrder.filmenter')
+                  :scope.row.bigStorageCageFeedTask.taskState == 2?$t('searchOrder.filmwait')
+                  :$t('searchOrder.infilm') }}</el-tag>
               </template>
             </el-table-column>
             <el-table-column prop="bigStorageCageFeedTask.line" align="center" :label="$t('searchOrder.line')"
diff --git a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
index 1391726..51fd3e6 100644
--- a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
+++ b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
@@ -13,7 +13,11 @@
 import companyInfo from "@/lang/companyInfo";
 import QRCode from "qrcode";
 
-
+const currentTime = new Date();
+const formattedTime = currentTime.getFullYear()
+    + '-' + (currentTime.getMonth() + 1) + '-'
+    + currentTime.getDate() + ' ' + currentTime.getHours() + ':'
+    + currentTime.getMinutes();formattedTime
 const company = companyInfo()
 const printMerge = null
 let props = defineProps({
@@ -140,56 +144,53 @@
         <tr v-for="(itemFlow, index) in item.detail" :key="index">
           <td colspan="29">
             <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px  " /></div>
-            <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
+            <div id="bj" style="float: right;font-size: 28px">{{ props.printLayer }}</div>
             <div>{{ company.companyName }}</div>
             <div>鐢熶骇娴佺▼鍗�</div>
-            <div v-if="itemFlow.technologyNumberMerge != ''" style="text-align: right;font-weight: bolder">
-              {{ itemFlow.otherRemarks }}&nbsp;&nbsp;
+            <div  style="font-weight: bolder;display: flex;justify-content:space-between">
+            <div>
+              鏃堕棿锛歿{formattedTime}}
+              &nbsp;&nbsp;
+            </div>
+            <div>{{itemFlow.rack}}
               娴佺▼鍗″彿锛� {{
                 itemFlow.process_id
-              }}/{{ itemFlow.technologyNumberMerge }} 鍏� {{ flowCardCount }} 鏋�
+              }}/{{ props.printLayer }} 
             </div>
-            <div v-else style="text-align: right;font-weight: bolder">
-              {{ itemFlow.otherRemarks }}&nbsp;&nbsp;
-              娴佺▼鍗″彿锛� {{
-                itemFlow.process_id
-              }}/{{ itemFlow.technologyNumber }} 鍏� {{ flowCardCount }} 鏋�
-            </div>
+          </div>
           </td>
         </tr>
-        <tr v-for="(items, index) in item.detail" :key="index">
-          <td class="tdNowrap">瀹㈡埛鍚嶇О锛�</td>
-          <td colspan="2">{{ items.customer_name }}</td>
-          <td class="tdNowrap">椤圭洰鍚嶇О锛�</td>
-          <td colspan="2">{{ items.project }}</td>
-          <td class="tdNowrap">宸ヨ壓娴佺▼锛�</td>
-          <td colspan="22" style="width: 500px">{{ items.process }}</td>
-        </tr>
-        <tr v-for="(itemTr, index) in item.detail" :key="index">
-          <td class="tdNowrap">纾ㄨ竟绫诲瀷锛�</td>
-          <td colspan="2">{{ itemTr.edging_type }}</td>
-          <td class="tdNowrap">鍗曠墖鍚嶇О锛�</td>
-          <td colspan="2">{{ itemTr.glass_child }}</td>
-          <td class="tdNowrap">浜у搧鍚嶇О锛�</td>
-          <td colspan="22">{{ itemTr.product_name }}</td>
-        </tr>
+        <tr v-for="(items,index) in item.detail" :key="index">
+        <td class="tdNowrap" style="width: 75px">瀹㈡埛鍚嶇О锛�</td>
+        <td colspan="1" style="width: 150px;font-size: 17px">{{ items.customer_name }}</td>
+        <td class="tdNowrap" style="min-width: 75px">纾ㄨ竟绫诲瀷锛�</td>
+        <td colspan="1" style="min-width: 50px">{{ items.edging_type }}</td>
+        <td colspan="2" style="min-width: 150px" class="tdNowrap">宸ヨ壓娴佺▼锛�</td>
+        <td :colspan="item.processList.length*2"  style="width: 500px">{{ items.process }}</td>
+      </tr>
+      <tr v-for="(itemTr,index) in item.detail" :key="index">
+        <td class="tdNowrap">椤圭洰鍚嶇О锛�</td>
+        <td colspan="1" style="font-size: 17px">{{ itemTr.project }}</td>
+        <td class="tdNowrap">鍗曠墖鍚嶇О锛�</td>
+        <td colspan="1">{{ itemTr.glass_child }}</td>
+        <td colspan="2" class="tdNowrap">浜у搧鍚嶇О锛�</td>
+        <td :colspan="item.processList.length*2">{{ itemTr.product_name }}</td>
+      </tr>
         <tr>
           <td rowspan='2'>搴忓彿</td>
           <!-- <td rowspan='2'>缂栧彿</td> -->
-          <td rowspan="2">灏忕墖椤哄簭</td>
-          <td rowspan='2' style="width: 90px">瀹�*楂�</td>
+          <td rowspan='4' style="width: 90px">瀹�*楂�</td>
           <td rowspan='2'>鏁伴噺</td>
           <td rowspan='2'>钀芥灦</td>
           <td rowspan='2'>闈㈢Н</td>
-          <td rowspan='2'>鍛ㄩ暱</td>
-          <td rowspan='2'>鍗婂緞</td>
+          <!-- <td rowspan='2'>鍛ㄩ暱</td>
+          <td rowspan='2'>鍗婂緞</td> -->
           <td rowspan='2'>澶囨敞</td>
           <td v-for="(itemPr, index) in item.processList" :key="index" colspan="2">{{ itemPr.process }}</td>
         </tr>
         <tr>
           <template v-for=" n in item.processList.length">
-            <td>姝e搧</td>
-            <td>娆″搧</td>
+            <td colspan='2'>姝e搧</td>
           </template>
         </tr>
       </thead>
@@ -198,7 +199,7 @@
         <tr v-for="(itemDatile, index) in item.detailList" :key="index">
           <td>{{ itemDatile.order_number }}</td>
           <!-- <td>{{ itemDatile.s01Value }}</td> -->
-          <td>{{ itemDatile.technology_number }}</td>
+          <!-- <td>{{ itemDatile.technology_number }}</td> -->
           <td>{{ itemDatile.child_width }}</td>
           <td class="item" style="width: 5%;height: 100%;">
             {{ itemDatile.quantity }}
@@ -206,12 +207,11 @@
           </td>
           <td>{{ itemDatile.quantity1 }}</td>
           <td>{{ itemDatile.total_area }}</td>
-          <td>{{ itemDatile.perimeter }}</td>
-          <td>{{ itemDatile.bend_radius }}</td>
+          <!-- <td>{{ itemDatile.perimeter }}</td>
+          <td>{{ itemDatile.bend_radius }}</td> -->
           <td>{{ itemDatile.remarks }}</td>
           <template v-for=" n in item.processList.length">
-            <td></td>
-            <td></td>
+            <td colspan='2'></td>
           </template>
         </tr>
 
@@ -234,7 +234,7 @@
         </tr>
         <tr>
           <td>瀹屽伐绛惧悕</td>
-          <td colspan="2"></td>
+          <td colspan="1"></td>
           <td colspan="2"></td>
           <td colspan="2"></td>
           <td colspan="2"></td>
@@ -244,16 +244,12 @@
         </tr>
         <tr>
           <td>璐ㄦ绛惧悕</td>
+          <td colspan="1"></td>
           <td colspan="2"></td>
-          <td colspan="2">鐢熶骇绛惧悕</td>
           <td colspan="2"></td>
           <template v-for=" n in item.processList.length">
             <td colspan="2"></td>
           </template>
-        </tr>
-        <tr>
-          <td>鍘熺墖绠卞彿</td>
-          <td colspan="28"></td>
         </tr>
 
         <tr v-for="(qrCodeItem, index) in item.detail" :key="index">
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index f53e112..8dac55e 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -504,7 +504,7 @@
                 <el-button @click="open(scope.row)" v-if="scope.row.workstationId!=7" :disabled="scope.row.flowCardId == null">{{ $t('reportWork.processcard') }}</el-button>
                 <el-button @click="open1(scope.row)" v-if="scope.row.workstationId!=7" :disabled="(scope.row.flowCardId == null&&scope.row.workstationId!=7)">{{ $t('reportWork.printlabels') }}</el-button>
                 <el-button @click="handleBindRack3()" :disabled="(scope.row.totalQuantity ==0)" v-if="scope.row.workstationId==7">{{ $t('reportWork.clear') }}</el-button>
-                <el-button @click="open1(scope.row)"  :disabled="(scope.row.totalQuantity ==0)">{{ $t('reportWork.printlabels') }}</el-button>
+                <el-button @click="open1(scope.row)" v-if="scope.row.workstationId==7" :disabled="(scope.row.totalQuantity ==0&&scope.row.workstationId==7)">{{ $t('reportWork.printlabels') }}</el-button>
               </template>
  
             </el-table-column>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index b42a3c0..47c2999 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -60,6 +60,9 @@
     @Override
     public List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure) {
         LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>();
+        if (endTime != null && !endTime.isEmpty()) {
+            endTime = endTime + " 23:59:59";
+        }
         damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime);
         damageSelectWrapper.ne(Damage::getStatus, 7);
         if (type != 0) {
@@ -70,10 +73,6 @@
         }
         if (!"0".equals(workingProcedure)) {
             damageSelectWrapper.eq(Damage::getWorkingProcedure, workingProcedure);
-        }
-        List<Damage> damageList = baseMapper.selectList(damageSelectWrapper);
-        for (Damage damage : damageList) {
-            damage.setStatus(3);
         }
         return baseMapper.selectList(damageSelectWrapper);
     }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/FlowCardMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/FlowCardMapper.java
index 3d93313..2781a84 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/FlowCardMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/FlowCardMapper.java
@@ -23,5 +23,5 @@
 
     List<Map<String, Object>> selectFlowCard(@Param("processId") String processId, @Param("technologyNumber") Integer technologyNumber);
 
-    List<Map<String, Object>> selectLabel(@Param(value = "list") List<String> processId, @Param("technologyNumber") Integer technologyNumber);
+    List<Map<String, Object>> selectLabel(@Param(value = "list") List<String> processId, @Param("technologyNumber") List<Integer> technologyNumber);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/FlowCardService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/FlowCardService.java
index c9c091b..c64bc6d 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/FlowCardService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/FlowCardService.java
@@ -20,5 +20,5 @@
 
     List<Map<String, Object>> selectFlowCard(String processId, Integer technologyNumber);
 
-    List<Map<String, Object>> selectLabel(List<String> processId, Integer technologyNumber);
+    List<Map<String, Object>> selectLabel(List<String> processId, List<Integer> technologyNumber);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/FlowCardServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/FlowCardServiceImpl.java
index 918f832..0ca74cd 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/FlowCardServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/FlowCardServiceImpl.java
@@ -32,7 +32,7 @@
     }
 
     @Override
-    public List<Map<String, Object>> selectLabel(List<String> processId, Integer technologyNumber){
+    public List<Map<String, Object>> selectLabel(List<String> processId, List<Integer> technologyNumber){
         return baseMapper.selectLabel(processId, technologyNumber);
     }
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
index fc511ff..6a4e11d 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
@@ -78,7 +78,7 @@
                             from sd.order_glass_detail as ogd
                             where ogd.order_id = left (#{processId}
                                 , 10)
-                              and position (ogd.technology_number in #{technologyNumber})
+                              and position(ogd.technology_number in #{technologyNumber})
                             GROUP BY order_id, order_number) as ogdc
                            on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
                               ogdc.technology_number = ogd.technology_number
@@ -117,11 +117,15 @@
         left join sd.basic_glass_type bgt on bgt.type_id = pt.type_id
         where fc.process_id in (
         <foreach collection="processId" item="item" separator=",">
-            #{item}
+        #{item}
+    </foreach>
+        )
+        and fc.technology_number in (
+        <foreach collection="technologyNumber" item="items" separator=",">
+            #{items}
         </foreach>
         )
-        and fc.technology_number = #{technologyNumber}
-        group by od.order_number, od.width, od.height
+        group by fc.process_id, fc.technology_number, od.order_number, od.width, od.height
     </select>
 
 
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 a2f9d00..66c0e66 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
@@ -120,12 +120,12 @@
             out08Glassstate = "1";
         }
 
-//        taskRequestTypeValue = "3";
+//        taskRequestTypeValue = "2";
 //        out08Glassstate = "1";
 //        out10Glassstate = "1";
 //        currentSlot = "1";
 //        confirmationWrodValue = "0";
-//        glassIdeValue = "P25010108|44|1";
+//        glassIdeValue = "P25021704|75|12";
 
         log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛欰09:{}銆丄10:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
                 taskRequestTypeValue, glassIdeValue, confirmationWrodValue, out08Glassstate, out10Glassstate, currentSlot);
@@ -395,8 +395,19 @@
             endcell = queryLineByGlassInfo(a09EdgGlass, a10EdgGlass, glassInfo, out08Glassstate, out10Glassstate);
         } else {
             //鎸夌収鐘舵�佸垽鏂袱鏉$嚎璧伴偅鏉$嚎
-            endcell = computerLineByState(out08Glassstate, out10Glassstate);
-
+            GlassInfo glassInfos = glassInfoService.getOne(
+                    new LambdaQueryWrapper<GlassInfo>()
+                            .eq(GlassInfo::getGlassId, glassId)
+            );
+            if(glassInfos!=null){
+                if (Math.max(glassInfos.getWidth(), glassInfos.getHeight()) > Integer.parseInt(firstLength) && out08Glassstate == 1) {
+                    endcell = Const.A09_OUT_TARGET_POSITION;
+                } else {
+                    endcell = computerLineByState(out08Glassstate, out10Glassstate);
+                }
+            }else{
+                endcell = computerLineByState(out08Glassstate, out10Glassstate);
+            }
             if (out08Glassstate == 1 && out10Glassstate == 1) {
                 EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
                 EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
@@ -419,19 +430,21 @@
                     wrapper.last("order by count(t.glass_id) desc  limit 2");
                     List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
                     if (CollectionUtil.isEmpty(list)) {
+                        log.info("绗煎瓙鍐呮病鏈夋壘鍒板悎閫傜殑鐜荤拑");
                         MPJQueryWrapper<GlassInfo> queryWrapper = new MPJQueryWrapper<GlassInfo>()
                                 .selectAll(GlassInfo.class).eq("t.glass_id", glassId);
                         if (endcell == Const.A10_OUT_TARGET_POSITION) {
-                            queryWrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+                            queryWrapper.leftJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
                                     "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
                                     "on t.glass_id = t1.glass_id and (t1.first_length between " + minTwoFirstLength + " and " + firstLength
                                     + " and t1.second_length between " + minTwoSecondLength + " and " + secondLength + ") ");
                         } else {
-                            queryWrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+                            queryWrapper.leftJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
                                     "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
                                     "on t.glass_id = t1.glass_id and (t1.first_length >=" + minOneFirstLength + " and t1.second_length>=" + minOneSecondLength + ") ");
                         }
                         GlassInfo one = glassInfoService.getOne(queryWrapper);
+                        log.info("鎵惧埌鍚堥�傜殑鐜荤拑" + one);
                         if (one != null) {
                             EdgStorageCageDetails resultDetails = new EdgStorageCageDetails();
                             BeanUtils.copyProperties(one, resultDetails);
@@ -480,6 +493,10 @@
                 }
             }
         }
+        if (endcell == Const.A09_OUT_TARGET_POSITION && Math.min(glassInfo.getWidth(), glassInfo.getHeight()) < Integer.parseInt(minOneFirstLength)) {
+            log.info("灏哄涓嶇鍚堟渶澶х嚎鏈�灏忓昂瀵竰}", glassInfo);
+            return Boolean.FALSE;
+        }
         return saveOutGlassMessageBySlot(glassInfo, endcell, confirmationWrodAddress, glassId, currentSlot);
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml
index fe37e51..543d9ca 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application-prod.yml
@@ -22,7 +22,7 @@
   cloud:
     nacos:
       discovery:
-        server-addr: 10.153.19.150:8848
+        server-addr: 10.153.19.150:8840
   application:
     name: cacheGlass
   redis:
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index 54b8ece..b6e1639 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -29,7 +29,7 @@
   min:
     one: #绗竴鏉$(杈圭嚎鐨勬渶灏忓昂瀵镐俊鎭�
       firstLength: 500
-      secondLength: 400
+      secondLength: 500
     two: #绗簩鏉$(杈圭嚎鐨勬渶灏忓昂瀵镐俊鎭�
       firstLength: 400
       secondLength: 400
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index c4bd971..ddd2c77 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -108,6 +108,13 @@
                 .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
                 .isNotNull(BigStorageCageFeedTask::getTargetSlot);
         List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper);
+
+        List<String> glassIds = bigStorageCageDetailsList.stream().map(BigStorageCageDetails::getGlassId).collect(Collectors.toList());
+        List<BigStorageCageFeedTask> feedTasks = bigStorageCageFeedTaskList.stream()
+                .filter(task -> !glassIds.contains(task.getGlassId()))
+                .collect(Collectors.toList());
+
+
         Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
                 .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
         Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator();
@@ -116,6 +123,14 @@
             BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
             bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
         }
+        for (BigStorageCageFeedTask bigStorageCageFeedTask : feedTasks
+        ) {
+            BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
+            bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+            bigStorageCageDetailsList.add(bigStorageCageDetails);
+        }
+        bigStorageCageDetailsList.sort(Comparator
+                .comparing((BigStorageCageDetails detail) -> detail.getBigStorageCageFeedTask().getId()));
         return bigStorageCageDetailsList;
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java
index 3870d11..c69669b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java
@@ -1,13 +1,16 @@
 package com.mes.bigstoragetask.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
 import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
+import com.mes.damage.entity.Damage;
 import com.mes.utils.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import liquibase.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -29,13 +32,53 @@
     @Autowired
     private BigStorageCageFeedTaskService bigStorageCageFeedTaskService;
 
-    @ApiOperation("鐞嗙墖绗艰鎯呭垹闄�")
+    @ApiOperation("杩涚墖浠诲姟鍒犻櫎")
     @PostMapping("/updateBigStorageCageFeedTask")
     public Result deleteBigStorageCageDetails(@RequestBody BigStorageCageFeedTask bigStorageCageFeedTask) {
         bigStorageCageFeedTaskService.updateById(bigStorageCageFeedTask);
         return Result.build(200, "淇敼鎴愬姛", 1);
     }
 
+    @ApiOperation("杩涚墖浠诲姟鎶ヨ〃")
+    @PostMapping("/selectBigStorageCageFeedTask")
+    public Result selectBigStorageCageFeedTask(@RequestBody BigStorageCageFeedTask bigStorageCageFeedTask,
+                                               @RequestParam(required = false) String startTime,
+                                               @RequestParam(required = false) String endTime) {
+        if (endTime != null && !endTime.isEmpty()) {
+            endTime = endTime + " 23:59:59";
+        }
+        LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<>();
+        if (bigStorageCageFeedTask.getTargetSlot() != null) {
+            wrapper.eq(BigStorageCageFeedTask::getTargetSlot, bigStorageCageFeedTask.getTargetSlot());
+        }
+        if (bigStorageCageFeedTask.getWidth() != null) {
+            wrapper.eq(BigStorageCageFeedTask::getWidth, bigStorageCageFeedTask.getWidth());
+        }
+        if (bigStorageCageFeedTask.getHeight() != null) {
+            wrapper.eq(BigStorageCageFeedTask::getHeight, bigStorageCageFeedTask.getHeight());
+        }
+        if (bigStorageCageFeedTask.getLine() != 0) {
+            wrapper.eq(BigStorageCageFeedTask::getLine, bigStorageCageFeedTask.getLine());
+        }
+        if (bigStorageCageFeedTask.getTaskState() != -1) {
+            wrapper.eq(BigStorageCageFeedTask::getTaskState, bigStorageCageFeedTask.getTaskState());
+        }
+        if (bigStorageCageFeedTask.getTaskType() != 0) {
+            wrapper.eq(BigStorageCageFeedTask::getTaskType, bigStorageCageFeedTask.getTaskType());
+        }
+        if (startTime != null && !startTime.isEmpty()) {
+            wrapper.ge(BigStorageCageFeedTask::getCreateTime, startTime);
+        }
+        if (endTime != null && !endTime.isEmpty()) {
+            wrapper.le(BigStorageCageFeedTask::getCreateTime, endTime);
+        }
+        wrapper.orderByDesc(BigStorageCageFeedTask::getId);
+        wrapper.and(item -> item.eq(BigStorageCageFeedTask::getDeleted, 0)
+                .or()
+                .eq(BigStorageCageFeedTask::getDeleted, 1));
+        wrapper.between(BigStorageCageFeedTask::getCreateTime, startTime, endTime);
+        return Result.build(200, "鏌ヨ鎴愬姛", bigStorageCageFeedTaskService.list(wrapper));
+    }
 
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
index e783646..e6da506 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
@@ -43,7 +43,7 @@
      * 鐩爣浣嶇疆
      */
     @ApiModelProperty(value = "鐩爣浣嶇疆", position = 4)
-    private int targetSlot;
+    private Integer targetSlot;
 
     /**
      * 鐜荤拑绫诲瀷
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 ab99e02..add6e87 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
@@ -1295,11 +1295,21 @@
                     maxX = e.getXCoordinate();
                     slot = e.getSlot();
                     bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION,
-                            e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1, new Date()));
+                            e.getWidth() * 10, e.getHeight() * 10, trainNumber, serialNumber++, 1, new Date()));
                 }
             } else {
-                bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.ARTIFICIAL_OUT_TARGET_POSITION,
-                        e.getWidth() * 10, e.getHeight(), trainNumber, serialNumber++, 1, new Date()));
+                if(serialNumber <= outCarMaxSize && remainWidth > maxLength){
+                    remainWidth = remainWidth - maxLength - glassGap;
+                    bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.ARTIFICIAL_OUT_TARGET_POSITION,
+                            e.getWidth() * 10, e.getHeight() * 10, trainNumber, serialNumber++, 1, new Date()));
+                }else{
+                    remainWidth = carWidth - maxLength - glassGap;
+                    trainNumber = trainNumber + 1;
+                    serialNumber = 1;
+                    bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.ARTIFICIAL_OUT_TARGET_POSITION,
+                            e.getWidth() * 10, e.getHeight() * 10, trainNumber, serialNumber++, 1, new Date()));
+                }
+
             }
         }
         if (isTask == 2) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
index a256384..fff644b 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -18,7 +18,7 @@
                    and deleted = 0
                    and (target_slot = 0 or target_slot is null)
                  group by line
-                 HAVING  DATEDIFF(SECOND, max(create_time), GETDATE()) + 45 > 40 or SUM(case task_state when 2 then 1 else 0 end)>1
+                 HAVING  DATEDIFF(SECOND, max(create_time), GETDATE()) > 40 or SUM(case task_state when 2 then 1 else 0 end)>1
              ) t
         where t.total_count = t.real_count
         order by real_count desc,line desc
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index 9e74c8d..207054d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -263,7 +263,8 @@
 
     @Test
     public void ca11() {
-        plcStorageCageTask.queryAndChangeGlass("P24110503|17|4");
+        bigStorageCageDetailsService.selectFeedTask();
+//        plcStorageCageTask.queryAndChangeGlass("P24110503|17|4");
     }
 
     @Resource
@@ -271,13 +272,18 @@
 
     @Test
     public void computeOutMoreGlassInfo() {
-        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.selectJoinList(TemperingGlassInfo.class, new MPJLambdaWrapper<TemperingGlassInfo>()
-                .selectAll(TemperingGlassInfo.class)
-                .leftJoin(BigStorageCageOutTask.class, BigStorageCageOutTask::getGlassId, TemperingGlassInfo::getGlassId)
-                .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
-                .isNull(BigStorageCageOutTask::getGlassId)
-                .orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
-        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList, true, 1);
+//        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.selectJoinList(TemperingGlassInfo.class, new MPJLambdaWrapper<TemperingGlassInfo>()
+//                .selectAll(TemperingGlassInfo.class)
+//                .leftJoin(BigStorageCageOutTask.class, BigStorageCageOutTask::getGlassId, TemperingGlassInfo::getGlassId)
+//                .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
+//                .isNull(BigStorageCageOutTask::getGlassId)
+//                .orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
+//        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList, true, 1);
+        List<BigStorageCageDetails> artificialList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
+                .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL)
+                .orderByAsc(BigStorageCageDetails::getSlot)
+                .orderByDesc(BigStorageCageDetails::getId));
+        plcStorageCageTask.computeOutMoreGlassInfo(artificialList, Boolean.FALSE, 1);
     }
 
     @Test
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
index 665b31a..4e84dfb 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
@@ -2,7 +2,7 @@
   port: 8083
 spring:
   profiles:
-    active: cz
+    active: dev
   application:
     name: loadGlass
   liquibase:
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
index d143b3b..896100e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -52,4 +52,12 @@
      */
     List<Map<String, Object>> downGlassLabelPrint(@Param("processId") String processId, @Param("technologyNumber") Integer technologyNumber, @Param(value = "glassIds") List<String> glassIds);
 
+    /**
+     * 鑾峰彇鎵撳嵃淇℃伅
+     *
+     * @param processId,technologyNumber
+     * @return
+     */
+    List<Map<String, Object>> downGlassLabelPrintScan(@Param("processId") String processId, @Param("technologyNumber") Integer technologyNumber, @Param(value = "glassIds") List<String> glassIds);
+
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index bacf1e0..2e07bbc 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -241,11 +241,25 @@
             List<String> glassIds = downGlassTasks.stream().map(DownGlassTask::getGlassId).collect(Collectors.toList());
             resultList = baseMapper.downGlassLabelPrint(null, null, glassIds);
         } else {
-            resultList = baseMapper.downGlassLabelPrint(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer(), null);
+            if (downGlassInfo.getGlassId() != null) {
+                List<String> glassIds = new ArrayList<>();
+                glassIds.add(downGlassInfo.getGlassId());
+//                resultList = baseMapper.downGlassLabelPrint(null, null, glassIds);
+                resultList = baseMapper.downGlassLabelPrintScan(null, null, glassIds);
+            } else {
+                if (downGlassInfo.getLayer() == 0) {
+                    downGlassInfo.setLayer(null);
+                }
+                resultList = baseMapper.downGlassLabelPrint(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer(), null);
+            }
         }
         if (CollectionUtils.isNotEmpty(resultList)) {
             List<String> flowCardIds = resultList.stream()
                     .map(map -> (String) map.get("flow_card_id"))
+                    .distinct()
+                    .collect(Collectors.toList());
+            List<Integer> layers = resultList.stream()
+                    .map(map -> (Integer) map.get("layer"))
                     .distinct()
                     .collect(Collectors.toList());
             log.info("MES钀芥灦鏁版嵁:{}", resultList);
@@ -253,9 +267,9 @@
             List<Map<String, Object>> labelInfo;
             if (downGlassInfo.getFlowCardId() != null) {
                 flowCardIds.add(downGlassInfo.getFlowCardId());
-                labelInfo = flowCardService.selectLabel(flowCardIds, 1);
+                labelInfo = flowCardService.selectLabel(flowCardIds, layers);
             } else {
-                labelInfo = flowCardService.selectLabel(flowCardIds, 1);
+                labelInfo = flowCardService.selectLabel(flowCardIds, layers);
             }
             log.info("鏍囩鏁版嵁:{}", labelInfo);
 
@@ -267,73 +281,37 @@
                     int orderNumber = (int) row1.get("orderNumber");
                     int technologyNumber = (int) row1.get("technologyNumber");
                     String processId = (String) row1.get("process_id");
-//                    if (downGlassInfo.getLayer() != 0) {
-                        if (orderNumber == glass_type  && processId.equals(flowCardId)) {
+                    if (orderNumber == glass_type && processId.equals(flowCardId) && technologyNumber == layer) {
+                        String order_id = (String) row1.get("order_id");
+                        String project = (String) row1.get("project");
+                        Long customer_id = (Long) row1.get("customer_id");
+                        BigDecimal width = (BigDecimal) row1.get("width");
+                        BigDecimal height = (BigDecimal) row1.get("height");
+                        Long quantity = (Long) row1.get("quantity");
+                        String glass_child = (String) row1.get("glass_child");
+                        String process = (String) row1.get("process");
+                        String customer_name = (String) row1.get("customer_name");
+                        String processing_note = (String) row1.get("processing_note");
+                        String other_colunmns = (String) row1.get("other_colunmns");
+                        String building_number = (String) row1.get("building_number");
+                        String bend_radius = (String) row1.get("bend_radius");
 
-                            String order_id = (String) row1.get("order_id");
-                            String project = (String) row1.get("project");
-                            Long customer_id = (Long) row1.get("customer_id");
-                            BigDecimal width = (BigDecimal) row1.get("width");
-                            BigDecimal height = (BigDecimal) row1.get("height");
-                            Long quantity = (Long) row1.get("quantity");
-                            String glass_child = (String) row1.get("glass_child");
-                            String process = (String) row1.get("process");
-                            String customer_name = (String) row1.get("customer_name");
-                            String processing_note = (String) row1.get("processing_note");
-                            String other_colunmns = (String) row1.get("other_colunmns");
-                            String building_number = (String) row1.get("building_number");
-                            String bend_radius = (String) row1.get("bend_radius");
-
-                            row.put("orderNumber", orderNumber);
-                            row.put("technology_number", technologyNumber);
-                            row.put("order_id", order_id);
-                            row.put("project", project);
-                            row.put("customer_id", customer_id);
-                            row.put("width", width);
-                            row.put("height", height);
-                            row.put("quantity", quantity);
-                            row.put("glass_child", glass_child);
-                            row.put("process", process);
-                            row.put("customer_name", customer_name);
-                            row.put("processing_note", processing_note);
-                            row.put("other_colunmns", other_colunmns);
-                            row.put("building_number", building_number);
-                            row.put("bend_radius", bend_radius);
-                        }
-//                    } else {
-//                        if (orderNumber == glass_type) {
-//
-//                            String order_id = (String) row1.get("order_id");
-//                            String project = (String) row1.get("project");
-//                            Long customer_id = (Long) row1.get("customer_id");
-//                            BigDecimal width = (BigDecimal) row1.get("width");
-//                            BigDecimal height = (BigDecimal) row1.get("height");
-//                            Long quantity = (Long) row1.get("quantity");
-//                            String glass_child = (String) row1.get("glass_child");
-//                            String process = (String) row1.get("process");
-//                            String customer_name = (String) row1.get("customer_name");
-//                            String processing_note = (String) row1.get("processing_note");
-//                            String other_colunmns = (String) row1.get("other_colunmns");
-//                            String building_number = (String) row1.get("building_number");
-//                            String bend_radius = (String) row1.get("bend_radius");
-//
-//                            row.put("orderNumber", orderNumber);
-//                            row.put("technology_number", technologyNumber);
-//                            row.put("order_id", order_id);
-//                            row.put("project", project);
-//                            row.put("customer_id", customer_id);
-//                            row.put("width", width);
-//                            row.put("height", height);
-//                            row.put("quantity", quantity);
-//                            row.put("glass_child", glass_child);
-//                            row.put("process", process);
-//                            row.put("customer_name", customer_name);
-//                            row.put("processing_note", processing_note);
-//                            row.put("other_colunmns", other_colunmns);
-//                            row.put("building_number", building_number);
-//                            row.put("bend_radius", bend_radius);
-//                        }
-//                    }
+                        row.put("orderNumber", orderNumber);
+                        row.put("technology_number", technologyNumber);
+                        row.put("order_id", order_id);
+                        row.put("project", project);
+                        row.put("customer_id", customer_id);
+                        row.put("width", width);
+                        row.put("height", height);
+                        row.put("quantity", quantity);
+                        row.put("glass_child", glass_child);
+                        row.put("process", process);
+                        row.put("customer_name", customer_name);
+                        row.put("processing_note", processing_note);
+                        row.put("other_colunmns", other_colunmns);
+                        row.put("building_number", building_number);
+                        row.put("bend_radius", bend_radius);
+                    }
                 }
             }
         }
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 4c922ad..3764161 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
@@ -692,6 +692,10 @@
         GlassInfo glassInfo = new GlassInfo();
         BeanUtils.copyProperties(downStorageCageDetails, glassInfo);
         //鍒犻櫎鐞嗙墖绗艰〃鎷胯蛋/鐮存崯鏁版嵁鏁版嵁
+        GlassInfo glassInfo1 = glassInfoService.getOne(
+                new LambdaUpdateWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassInfo.getGlassId())
+        );
+        glassInfo.setLayer(glassInfo1.getLayer());
         damageService.deleteByGlassId(glassInfo.getGlassId());
         return initDownGlassTask(glassInfo, downStorageCageDetails.getSlot(), endCell, taskType);
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
index 7f054a8..c6f3db9 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
@@ -193,7 +193,38 @@
             </foreach>
 
         </if>
-        group by a.flow_card_id, a.layer, a.width, a.height, a.filmsid, a.thickness, a.glass_type, a.id
+        group by a.glass_id, a.flow_card_id, a.layer, a.width, a.height, a.filmsid, a.thickness, a.glass_type
+        order by a.id
+    </select>
+
+    <select id="downGlassLabelPrintScan" resultType="java.util.Map">
+        select a.flow_card_id,
+        a.layer,
+        a.width,
+        a.height,
+        a.filmsid,
+        a.thickness,
+        a.glass_type,
+        COUNT(*) AS quantity,
+        a.tempering_layout_id,
+        a.tempering_feed_sequence
+        from  glass_info a
+        where
+        1=1
+        <if test="processId != null">
+            and a.flow_card_id = #{processId}
+        </if>
+        <if test="technologyNumber != null">
+            and a.layer = #{technologyNumber}
+        </if>
+        <if test="glassIds != null and !glassIds.isEmpty()">
+            and a.glass_id in
+            <foreach collection="glassIds" item="item" open="(" close=")" separator=",">
+                #{item}  <!-- 杩欓噷 MyBatis 浼氳嚜鍔ㄥ鐞嗗瓧绗︿覆 -->
+            </foreach>
+
+        </if>
+        group by a.glass_id, a.flow_card_id, a.layer, a.width, a.height, a.filmsid, a.thickness, a.glass_type
         order by a.id
     </select>
 

--
Gitblit v1.8.0