From 0b1c8a8ba2cd09c21d5c0babf0f46cc9e916b2af Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 21 二月 2025 15:14:02 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 UI-Project/src/views/Identify/identifwu.vue                                                                                                  |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskHistoryServiceImpl.java      |    2 
 UI-Project/src/assets/C1.png                                                                                                                 |    0 
 UI-Project/src/views/GlassStorage/rawfilmstorage.vue                                                                                         |   32 +
 UI-Project/src/views/Identify/identify.vue                                                                                                   |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml                           |    2 
 UI-Project/src/views/Caching/cachingbefore.vue                                                                                               |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |    7 
 UI-Project/src/views/hollow/hollowequipment.vue                                                                                              |  352 ++++++++++++++++-----
 UI-Project/src/views/Identify/identifwutwo.vue                                                                                               |    4 
 UI-Project/src/views/Caching/cachingun.vue                                                                                                   |    4 
 UI-Project/src/views/Returns/upreturns.vue                                                                                                   |  153 ++++----
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                                 |  158 ---------
 UI-Project/src/views/Returns/upreturns2.vue                                                                                                  |  120 +++----
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageDetailsServiceImpl.java      |    8 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java    |    4 
 UI-Project/src/assets/ypcc.png                                                                                                               |    0 
 UI-Project/src/views/hollow/hollowequipmenttwo.vue                                                                                           |   28 +
 UI-Project/src/assets/ypcaac.png                                                                                                             |    0 
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue                                                                                       |   12 
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowBigStorageCageDetailsController.java         |   12 
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowBigStorageCageDetailsService.java               |    8 
 22 files changed, 499 insertions(+), 417 deletions(-)

diff --git a/UI-Project/src/assets/C1.png b/UI-Project/src/assets/C1.png
new file mode 100644
index 0000000..67f0e20
--- /dev/null
+++ b/UI-Project/src/assets/C1.png
Binary files differ
diff --git a/UI-Project/src/assets/ypcaac.png b/UI-Project/src/assets/ypcaac.png
new file mode 100644
index 0000000..fdca249
--- /dev/null
+++ b/UI-Project/src/assets/ypcaac.png
Binary files differ
diff --git a/UI-Project/src/assets/ypcc.png b/UI-Project/src/assets/ypcc.png
index fdca249..86fe120 100644
--- a/UI-Project/src/assets/ypcc.png
+++ b/UI-Project/src/assets/ypcc.png
Binary files differ
diff --git a/UI-Project/src/views/Caching/cachingbefore.vue b/UI-Project/src/views/Caching/cachingbefore.vue
index 3a69e5c..d12cadf 100644
--- a/UI-Project/src/views/Caching/cachingbefore.vue
+++ b/UI-Project/src/views/Caching/cachingbefore.vue
@@ -187,9 +187,7 @@
       } 
     ); 
     if (confirmResult === 'confirm') {
-      const response = await request.post("/cacheGlass/edgStorageCageDetails/removeEdgDetails",{
-        glassId: row.glassId
-      })
+      const response = await request.post("/cacheGlass/edgStorageCageDetails/removeEdgDetails?glassId="+encodeURIComponent(row.glassId))
     if (response.code === 200) {
      ElMessage.success(response.message);
       } else {
diff --git a/UI-Project/src/views/Caching/cachingun.vue b/UI-Project/src/views/Caching/cachingun.vue
index b83b1af..adf7426 100644
--- a/UI-Project/src/views/Caching/cachingun.vue
+++ b/UI-Project/src/views/Caching/cachingun.vue
@@ -186,9 +186,7 @@
       } 
     ); 
     if (confirmResult === 'confirm') {
-      const response = await request.post("/cacheGlass/edgStorageCageDetails/removeEdgDetails",{
-        glassId: row.glassId
-      })
+      const response = await request.post("/cacheGlass/edgStorageCageDetails/removeEdgDetails?glassId="+encodeURIComponent(row.glassId))
     if (response.code === 200) {
      ElMessage.success(response.message);
       } else {
diff --git a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
index 6a28e34..dff40a7 100644
--- a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
+++ b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -410,9 +410,9 @@
         </el-table>
       </div>
     </el-card>
-    <div class="awatch">
-      <img src="../../assets/ypcc.png" alt=""
-           style="width: 100%;height: 120%;margin-left: -10px;position: relative;margin-top: -20px;">
+    <div class="img-dlpl">
+    <div class="img-car1" :style="'z-index:999;top:20px;left:' + 330 + 'px;position:absolute;'">
+    </div>
     </div>
     <el-dialog v-model="dialogFormVisiblea" top="5vh" width="85%" >
     <el-table  ref="table" style="margin-top: 20px;height: 700px;"
@@ -636,4 +636,30 @@
   text-align: center;
   margin-top: -15px;
 }
+.img-dlpl{
+  margin-left: 330px;
+  margin-top: 10px;
+  background-image:url('../../assets/ypcc.png');
+  background-repeat: no-repeat;
+  background-attachment: local;
+  min-height: 700px;
+  width: 800px;
+  max-width: 100%;
+  background-size: 800px 700px;
+  overflow: hidden;
+  position:relative
+}
+.img-car1{
+  display: flex;
+  background-image:url('../../assets/C1.png');
+  position: absolute;
+  background-repeat: no-repeat;
+  background-attachment: local;
+  min-height: 200px;
+  width: 200px;
+  max-width: 100%;
+  background-size: 200px 70px;
+  overflow: hidden;
+  position:relative
+}
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Identify/identifwu.vue b/UI-Project/src/views/Identify/identifwu.vue
index d2ff3fd..455f8dc 100644
--- a/UI-Project/src/views/Identify/identifwu.vue
+++ b/UI-Project/src/views/Identify/identifwu.vue
@@ -141,7 +141,7 @@
           if (existingRect) {
             return {
               ...existingRect,
-              xAxisa: (6000 - (rect.xAxis + rect.width)) * scaleFactor * 1.1,
+              xAxisa: (6000 - (rect.xAxis + rect.edgWidth)) * scaleFactor * 1.1,
               yAxisa: rect.yAxis * scaleFactory * 1.1,
               width: rect.edgWidth * scaleFactor * 1.1,
               height: rect.edgHeight * scaleFactory * 1.1,
@@ -154,7 +154,7 @@
             // 濡傛灉涓嶅瓨鍦紝鍒欐坊鍔犳柊鐭╁舰锛岄粯璁� isActive 涓� false
             return {
               ...rect,
-              xAxisa: (6000 - (rect.xAxis + rect.width)) * scaleFactor * 1.1,
+              xAxisa: (6000 - (rect.xAxis + rect.edgWidth)) * scaleFactor * 1.1,
               yAxisa: rect.yAxis * scaleFactory * 1.1,
               width: rect.edgWidth * scaleFactor * 1.1,
               height: rect.edgHeight * scaleFactory * 1.1,
diff --git a/UI-Project/src/views/Identify/identifwutwo.vue b/UI-Project/src/views/Identify/identifwutwo.vue
index 2113dfc..bd7ce7b 100644
--- a/UI-Project/src/views/Identify/identifwutwo.vue
+++ b/UI-Project/src/views/Identify/identifwutwo.vue
@@ -59,7 +59,7 @@
           if (existingRect) {
             return {
               ...existingRect,
-              xAxisa: (6000 - (rect.xAxis + rect.width)) * scaleFactor * 1.1,
+              xAxisa: (6000 - (rect.xAxis + rect.edgWidth)) * scaleFactor * 1.1,
               yAxisa: rect.yAxis * scaleFactory * 1.1,
               width: rect.edgWidth * scaleFactor * 1.1,
               height: rect.edgHeight * scaleFactory * 1.1,
@@ -72,7 +72,7 @@
             // 濡傛灉涓嶅瓨鍦紝鍒欐坊鍔犳柊鐭╁舰锛岄粯璁� isActive 涓� false
             return {
               ...rect,
-              xAxisa: (6000 - (rect.xAxis + rect.width)) * scaleFactor * 1.1,
+              xAxisa: (6000 - (rect.xAxis + rect.edgWidth)) * scaleFactor * 1.1,
               yAxisa: rect.yAxis * scaleFactory * 1.1,
               width: rect.edgWidth * scaleFactor * 1.1,
               height: rect.edgHeight * scaleFactory * 1.1,
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index ed36711..461d622 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -159,7 +159,7 @@
       totalPages.value = response.data.totalPatternSequence;
       const scaleFactor =  1621.78/6000; 
       const scaleFactory =  750/3300; 
-      adjustedRects.value = rawRects.map(rect => ({  
+      adjustedRects.value = rawRects.map(rect => ({
         ...rect,
         xaxisa: (6000 -(rect.xaxis + rect.edgWidth)) * scaleFactor * 1.1,
         yaxisa: rect.yaxis * scaleFactory * 1.1,
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index bc22be8..344292b 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -896,8 +896,8 @@
       :style="{ position: 'absolute', 
        top: `${rect.y}px`, 
        left: `${rect.x}px`,
-        width: `${rect.widtha}px`, 
-        height: `${rect.heighta}px`,
+        width: `${rect.width}px`, 
+        height: `${rect.height}px`,
         backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor1(rect.state) }">
      <div  class="centered-text">
     <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
@@ -924,8 +924,8 @@
       :style="{ position: 'absolute', 
        top: `${rect.y}px`, 
        left: `${rect.x}px`, 
-       width: `${rect.widtha}px`, 
-       height: `${rect.heighta}px`,
+       width: `${rect.width}px`, 
+       height: `${rect.height}px`,
         backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor2(rect.state) }">
      <div  class="centered-text">
     <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
@@ -962,7 +962,7 @@
       @click="showDialoga(rect)"  
       class="rect"  
       :style="{ position: 'absolute',  top: `${rect.y}px`, left: `${rect.x}px`,
-       width: `${rect.widtha}px`, height: `${rect.heighta}px`,
+       width: `${rect.width}px`, height: `${rect.height}px`,
       backgroundColor: rect.isActive ? '#ADFF2F' : getRectColora(rect.state) }">
     <div  class="centered-text">
     <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
@@ -989,7 +989,7 @@
       @click="showDialogb(rect)"  
       class="rect"  
       :style="{ position: 'absolute',  top: `${rect.y}px`, left: `${rect.x}px`,
-       width: `${rect.widtha}px`, height: `${rect.heighta}px`,
+       width: `${rect.width}px`, height: `${rect.height}px`,
       backgroundColor: rect.isActive ? '#ADFF2F' : getRectColorb(rect.state) }">
        <!-- backgroundColor: rect.state === 4 ? '#911005' : '#f8e3c5' }"> -->
      <div  class="centered-text">
diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
index 817892c..6df2a38 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -17,6 +17,7 @@
 const blinda = ref(false)
 const blindb = ref(false)
 const dialoglea = ref(false)
+const ReportData = ref(true);
 const canSelectProjecta = ref(true);
 const canSelectProjectb = ref(true);
 const canSelectProjectc = ref(false);
@@ -27,24 +28,18 @@
 const tableDataa = ref<any[]>([]);
 const tableDatab = ref<any[]>([]);
 const tableData = ref([])
-const filteredData = computed(() => {
-  // applyFilters 鍑芥暟搴旇鍦ㄦ煇澶勫畾涔夛紝鐢ㄤ簬鏍规嵁褰撳墠绛涢�夋潯浠惰繃婊ゆ暟鎹�
-  return applyFilters(tableData, currentFilters);
-});
-// 褰撳墠绛涢�夋潯浠讹紝搴旇鏄竴涓搷搴斿紡鍙橀噺锛岀敤浜庡瓨鍌ㄧ敤鎴烽�夋嫨鐨勭瓫閫夊��
-const currentFilters = ref<{ state?: string }>({});
-const filterTag = (value: string, row: any) => {
-  return row.state === value
-};
-// 搴旂敤绛涢�夋潯浠剁殑鍑芥暟
-const applyFilters = (data: any[], filters: { state?: string }) => {
-  return data.filter(row => {
-    return (!filters.state || String(row.state) === filters.state);
-  });
-};
 const titleSelectJson = ref({
   engineerId: [],
 })
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest",{
+  state: null,
+  stationCell: 5
+}).then((response) => {
+          if (response.code == 200) {
+          } else {
+          ElMessage.warning(response.msg)
+          }
+          });
 const handlezhiban = () => {
   dialoglea.value = true;
   fetchFlowCardId();
@@ -103,10 +98,6 @@
 onBeforeUnmount(() => {
   closeWebSocket();
 });
-// 缁撴潫宸ョ▼
-const handledelete = (row) => {
-  blindb.value = true;
-};
 const requestData = {
   state: 100
 };
@@ -144,6 +135,7 @@
       filmRemove.value = '';
       markingMachineStatus.value = '#911005';
       cuttingMachineStatus.value = '#911005';
+      ReportData.value = false;
     } else {
       ElMessage.error(response.message);
     }
@@ -151,36 +143,7 @@
     console.error(error);
   }
 }
-// 缁撴潫宸ョ▼
-const deleteTask = async () => {
-  try {
-    let engineeringId = window.localStorage.getItem('engineeringIda')
-    if (engineeringId !== '') {
-      const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
-        engineerId: engineeringId,
-      })
-      if (response.code == 200) {
-        ElMessage.success(response.message);
-        tableDatad.value = response.data;
-        canSelectProjecta.value = true;
-        canSelectProjectb.value = true;
-        canSelectProjectc.value = false;
-        blindb.value = false;
-      } else {
-        ElMessage.error(response.message);
-    }
-  }
-    else  {
-      ElMessage({
-        type: 'info',
-        message: t('basicData.infonull'),
-      })
-    }
-}
-catch (error) {
-    console.error(error);
-  }
-}
+
 // 寮�濮嬩笂鐗�
 const handleon = async () => {
   let filmRemove = window.localStorage.getItem('filmRemove')
@@ -200,7 +163,8 @@
         canSelectProjectc.value = true;
         socket = initializeWebSocket(socketUrl, handleMessage);
         blind.value = false;
-      } else {
+        ReportData.value = true;
+    } else {
         ElMessage.error(response.message);
       }
     } catch (error) {
@@ -314,7 +278,7 @@
       } 
     );
     if (confirmResult === 'confirm') {
-     const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+     const response = await request.post('/loadGlass/engineering/engineering/identControls', {
        glassId: row.glassId,
        line: 5,
        status: 1,
@@ -344,7 +308,7 @@
       } 
     );
     if (confirmResult === 'confirm') {
-      const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+      const response = await request.post('/loadGlass/engineering/engineering/identControls', {
        glassId: row.glassId,
        line: 5,
        status: 1,
@@ -361,6 +325,7 @@
     console.error('鍙戠敓閿欒:', error);  
   }  
 }; 
+
 // 鏋跺瓙澶嶄綅
 const handleptask = async (workstationId: number) => {
       console.log(workstationId);
@@ -386,6 +351,40 @@
         if (response.code === 200) {
           ElMessage.success(response.message);
         } else {
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
+    }
+  } catch (error) {
+  }
+};
+// 缁撴潫宸ョ▼
+const deleteTask = async () => {
+      try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('searchOrder.pdeleteTask'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
+    let engineeringId = window.localStorage.getItem('engineeringIda')
+    if (engineeringId !== '') {
+      const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
+        engineerId: engineeringId,
+      })
+      if (response.code == 200) {
+        ElMessage.success(response.message);
+        canSelectProjecta.value = true;
+        canSelectProjectb.value = true;
+        canSelectProjectc.value = false;
+        blindb.value = true;
+        tableDatad.value = response.data;
+      } else {
           ElMessage.error(response.message);
         }
       } else {
@@ -437,8 +436,20 @@
     <el-button :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
     <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
     <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
-    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button>
+    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</el-button>
     <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
+    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
+               style="margin-top: 5px;margin-left: 20px;">
+      <el-option :label="$t('Mounting.all')" value="0"></el-option>
+      <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+      <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+    </el-select>
+    <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-top: 5px;margin-left: 20px;" >
+      <el-option :label="$t('Mounting.all')" value="null"></el-option>
+      <el-option :label="$t('Mounting.waiting')" value="0"></el-option>
+      <el-option :label="$t('Mounting.pass')" value="100"></el-option>
+    </el-select>
+    <el-button :disabled="!ReportData" type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</el-button>
     <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
         <el-table
@@ -452,34 +463,23 @@
           <el-table-column prop="height" :label="$t('Mounting.height')" align="center"/>
           <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center"/>
           <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
-          <el-table-column :label="$t('Mounting.projectnumber')" align="center">
-            <template #default="{ row }">
-              <span>{{ 1 }}</span>
-            </template>
-          </el-table-column>
-      <el-table-column
-      align="center"
-      prop="state"
-      :label="$t('Mounting.state')"
-      min-width="80"
-      :filters="[
-        { text: t('Mounting.pass'), value: 100 },
-        { text: t('Mounting.waiting'), value: 0 },
-      ]"
-      :filter-method="filterTag"
-      filter-placement="bottom-end"
-    >
-      <template #default="scope">
-        <el-tag
+          <el-table-column prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center"/>
+          <el-table-column
+              align="center"
+              :label="$t('Mounting.state')"
+            min-width="80"
+            prop="state"
+          >
+          <template #default="scope">
+            <el-tag
                 :type="scope.row.state === 100 ? 'success' : 'warning'"
                 @click="toggleEnableState(scope.row)"
-                disable-transitions
             >
               {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
             </el-tag>
-      </template>
-    </el-table-column>
-        </el-table>
+          </template>
+      </el-table-column>
+    </el-table>
       </div>
     </el-card>
     <div style="display: flex;">
@@ -534,7 +534,6 @@
         </el-table>
         <template #footer>
       <div id="dialog-footer">
-        <el-button type="danger" @click="deleteTask()">{{ $t('searchOrder.deleteTask') }}</el-button>
         <el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
       </div>
     </template>
diff --git a/UI-Project/src/views/Returns/upreturns2.vue b/UI-Project/src/views/Returns/upreturns2.vue
index b893360..b3b01d0 100644
--- a/UI-Project/src/views/Returns/upreturns2.vue
+++ b/UI-Project/src/views/Returns/upreturns2.vue
@@ -15,6 +15,7 @@
 const dialogFormVisible = ref(false)
 const blind = ref(false)
 const blinda = ref(false)
+const ReportData = ref(true);
 const blindb = ref(false)
 const dialoglea = ref(false)
 const canSelectProjecta = ref(true);
@@ -27,25 +28,18 @@
 const tableDataa = ref<any[]>([]);
 const tableDatab = ref<any[]>([]);
 const tableData = ref([])
-const filteredData = computed(() => {
-  // applyFilters 鍑芥暟搴旇鍦ㄦ煇澶勫畾涔夛紝鐢ㄤ簬鏍规嵁褰撳墠绛涢�夋潯浠惰繃婊ゆ暟鎹�
-  return applyFilters(tableData, currentFilters);
-});
-// 褰撳墠绛涢�夋潯浠讹紝搴旇鏄竴涓搷搴斿紡鍙橀噺锛岀敤浜庡瓨鍌ㄧ敤鎴烽�夋嫨鐨勭瓫閫夊��
-const currentFilters = ref<{ state?: string }>({});
-const filterTag = (value: string, row: any) => {
-  // return String(row.state) === value;
-  return row.state === value
-};
-// 搴旂敤绛涢�夋潯浠剁殑鍑芥暟
-const applyFilters = (data: any[], filters: { state?: string }) => {
-  return data.filter(row => {
-    return (!filters.state || String(row.state) === filters.state);
-  });
-};
 const titleSelectJson = ref({
   engineerId: [],
 })
+request.post("/loadGlass/up-patten-usage/setUpPattenRequest",{
+  state: null,
+  stationCell: 6
+}).then((response) => {
+          if (response.code == 200) {
+          } else {
+          ElMessage.warning(response.msg)
+          }
+          });
 const handlezhiban = () => {
   dialoglea.value = true;
   fetchFlowCardId();
@@ -175,6 +169,7 @@
       filmRemove.value = '';
       markingMachineStatus.value = '#911005';
       cuttingMachineStatus.value = '#911005';
+      ReportData.value = false;
     } else {
       ElMessage.error(response.message);
     }
@@ -184,35 +179,38 @@
 }
 // 缁撴潫宸ョ▼
 const deleteTask = async () => {
-  try {
+      try {
+    const confirmResult = await ElMessageBox.confirm(
+      t('searchOrder.pdeleteTask'),
+      t('workOrder.prompt'),
+      {
+        confirmButtonText: t('workOrder.yes'),
+        cancelButtonText: t('workOrder.cancel'),
+        type: 'warning',
+      }
+    );
+    if (confirmResult === 'confirm') {
     let engineeringId = window.localStorage.getItem('engineeringIda')
-    console.log(engineeringId);
     if (engineeringId !== '') {
       const response = await request.post('/loadGlass/engineering/engineering/deleteTask', {
         engineerId: engineeringId,
       })
       if (response.code == 200) {
         ElMessage.success(response.message);
-        tableDatad.value = response.data;
         canSelectProjecta.value = true;
         canSelectProjectb.value = true;
         canSelectProjectc.value = false;
-        blindb.value = false;
+        blindb.value = true;
+        tableDatad.value = response.data;
       } else {
-        ElMessage.error(response.message);
+          ElMessage.error(response.message);
+        }
+      } else {
+      }
     }
+  } catch (error) {
   }
-    else  {
-      ElMessage({
-        type: 'info',
-        message: t('basicData.infonull'),
-      })
-    }
-}
-catch (error) {
-    console.error(error);
-  }
-}
+};
 // 寮�濮嬩笂鐗�
 const handleon = async () => {
   let filmRemove = window.localStorage.getItem('filmRemove')
@@ -232,6 +230,7 @@
         canSelectProjectc.value = true;
         socket = initializeWebSocket(socketUrl, handleMessage);
         blind.value = false;
+        ReportData.value = true;
       } else {
         ElMessage.error(response.message);
       }
@@ -347,7 +346,7 @@
       } 
     );
     if (confirmResult === 'confirm') {
-     const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+     const response = await request.post('/loadGlass/engineering/engineering/identControls', {
        glassId: row.glassId,
        line: 6,
        status: 1,
@@ -377,7 +376,7 @@
       } 
     );
     if (confirmResult === 'confirm') {
-      const response = await request.post('/loadGlass/engineering/engineering/insetDamage', {
+      const response = await request.post('/loadGlass/engineering/engineering/identControls', {
        glassId: row.glassId,
        line: 6,
        status: 1,
@@ -441,8 +440,20 @@
     <el-button :disabled="!canSelectProjecta" style="margin-top: 5px;margin-left: 15px;"  type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
     <el-button :disabled="!canSelectProjectb" style="margin-top: 5px;margin-left: 20px;" type="success" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
     <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
-    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handledelete">{{ $t('searchOrder.deleteTask') }}</el-button>
+    <el-button :disabled="!canSelectProjectc" style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="deleteTask">{{ $t('searchOrder.deleteTask') }}</el-button>
     <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
+    <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
+               style="margin-top: 5px;margin-left: 20px;">
+      <el-option :label="$t('Mounting.all')" value="0"></el-option>
+      <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+      <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+    </el-select>
+    <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-top: 5px;margin-left: 20px;" >
+      <el-option :label="$t('Mounting.all')" value="null"></el-option>
+      <el-option :label="$t('Mounting.waiting')" value="0"></el-option>
+      <el-option :label="$t('Mounting.pass')" value="100"></el-option>
+    </el-select>
+    <el-button :disabled="!ReportData" type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('Mounting.setparameters') }}</el-button>
     <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
         <el-table
@@ -456,33 +467,22 @@
           <el-table-column prop="height" :label="$t('Mounting.height')" align="center"/>
           <el-table-column prop="thickness" :label="$t('Mounting.thickness')" align="center"/>
           <el-table-column prop="filmsId" :label="$t('Mounting.loadinglinea')" align="center"/>
-          <el-table-column :label="$t('Mounting.projectnumber')" align="center">
-            <template #default="{ row }">
-              <span>{{ 1 }}</span>
-            </template>
-          </el-table-column>
+          <el-table-column prop="layoutSequence" :label="$t('Mounting.projectnumber')" align="center"/>
           <el-table-column
-      align="center"
-      prop="state"
-      :label="$t('Mounting.state')"
-      min-width="80"
-      :filters="[
-        { text: t('Mounting.pass'), value: 100 },
-        { text: t('Mounting.waiting'), value: 0 },
-      ]"
-      :filter-method="filterTag"
-      filter-placement="bottom-end"
-    >
-      <template #default="scope">
-        <el-tag
+              align="center"
+              :label="$t('Mounting.state')"
+            min-width="80"
+            prop="state"
+          >
+          <template #default="scope">
+            <el-tag
                 :type="scope.row.state === 100 ? 'success' : 'warning'"
                 @click="toggleEnableState(scope.row)"
-                disable-transitions
             >
               {{ scope.row.state === 100 ? $t('Mounting.pass') : $t('Mounting.waiting') }}
             </el-tag>
-      </template>
-    </el-table-column>
+          </template>
+      </el-table-column>
         </el-table>
       </div>
     </el-card>
@@ -542,14 +542,6 @@
         <el-button @click="blindb = false">{{ $t('large.close') }}</el-button>
       </div>
     </template>
-    <!-- <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary" @click="deleteTask">
-          {{ $t('basicData.confirm') }}
-        </el-button>
-        <el-button @click="blindb = false">{{ $t('basicData.cancel') }}</el-button>
-      </div>
-    </template> -->
   </el-dialog>
   <!-- 鍊肩彮淇℃伅 -->
     <el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index f07969e..69d3f6b 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -50,11 +50,6 @@
 const adjustedRectsa = ref([]);
 const adjustedRectsb = ref([]);
 const adjustedRectsc = ref([]);
-const adjustedRectsd = ref([]);
-const adjustedRectse = ref([]);
-const adjustedRectsf = ref([]);
-const adjustedRectsg = ref([]);
-const adjustedRectsh = ref([]);
 const currentRow = reactive({}); // 褰撳墠琛岀殑鏁版嵁 
 const currentPage2 = ref(1)
 const inputValuesa = reactive({});
@@ -73,11 +68,6 @@
 const cell2=ref(true);
 const cell3=ref(true);
 const cell4=ref(true);
-const cell5=ref(true);
-const cell6=ref(true);
-const cell7=ref(true);
-const cell8=ref(true);
-const cell9=ref(true);
 const canEdit = ref(true);
 const selectedRow = ref(null);
 const temperingtotal = ref(0);
@@ -1036,13 +1026,13 @@
     </div>
     </div>
     <div style="position: relative;">
-    <div v-show="cell1" style="width: 227px;height: 29px;position: relative;top:50px;left: 495px;">
+    <div v-show="cell1" style="width: 170px;height: 53px;position: relative;top:63px;left: 585px;">
       <div  
       v-for="(rect, index) in adjustedRects"  
       :key="rect"  
       :style="{
        position: 'absolute',
-       width: '227px',
+       width: '200px',
        left: '0px',
        top: index*rect.top+`px`,
        height: `${rect.height}px`,
@@ -1063,7 +1053,7 @@
       </div>
     </div>
     </div>
- <div v-show="cell2" style="width: 227px;height: 29px;position: relative;top:51px;left: 495px;">
+ <div v-show="cell2" style="width: 170px;height: 53px;position: relative;top:67px;left: 585px;">
   <div  
       v-for="(rect, index) in adjustedRectsa"  
       :key="rect.id"  
@@ -1090,7 +1080,7 @@
       </div>
     </div>
     </div>
-  <div v-show="cell3" style="width: 227px;height: 29px;position: absolute;top:110px;left: 495px;">
+  <div v-show="cell3" style="width: 170px;height: 53px;position: relative;top:72px;left: 585px;">
     <div  
       v-for="(rect, index) in adjustedRectsb"  
       :key="rect.id"  
@@ -1117,147 +1107,9 @@
       </div>
     </div>
     </div>
-  <div v-show="cell4" style="width: 227px;height: 29px;position: absolute;top:140px;left: 495px;">
+  <div v-show="cell4" style="width: 170px;height: 53px;position: relative;top:77px;left: 585px;">
     <div  
       v-for="(rect, index) in adjustedRectsc"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.bigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell5" style="width: 227px;height: 29px;position: absolute;top:170px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsd"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.bigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell6" style="width: 227px;height: 29px;position: absolute;top:241px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectse"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.bigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell7" style="width: 227px;height: 29px;position: absolute;top:271px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsf"  
-      :key="rect.id"  
-      :style="{
-       position: 'absolute',
-       width: '227px',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.bigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell8" style="width: 227px;height: 29px;position: absolute;top:301px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsg"  
-      :key="rect.id"  
-      :style="{
-        // display:'flex',
-       position: 'absolute',
-       width: '227px',
-      //  backgroundColor: 'red',
-       left: '0px',
-       top: index*rect.top+`px`,
-       height: `${rect.height}px`,
-       }"  
-    >
-    <div  
-      v-for="(rects, index) in rect.bigStorageCageDetails"  
-      :key="rects"  
-      :style="{
-        float:'left',
-       width: '18px',
-       height: `${rect.height}px`,
-       backgroundColor: '#911005',
-      // border:'1px solid black',
-       top: '0px',
-       marginRight: rects.gap/5000*227+'px'
-       }"  
-    >
-      </div>
-    </div>
-    </div>
-  <div v-show="cell9" style="width: 227px;height: 29px;position: absolute;top:332px;left: 495px;">
-    <div  
-      v-for="(rect, index) in adjustedRectsh"  
       :key="rect.id"  
       :style="{
        position: 'absolute',
diff --git a/UI-Project/src/views/hollow/hollowequipment.vue b/UI-Project/src/views/hollow/hollowequipment.vue
index eb0a183..623ff53 100644
--- a/UI-Project/src/views/hollow/hollowequipment.vue
+++ b/UI-Project/src/views/hollow/hollowequipment.vue
@@ -137,8 +137,8 @@
 <!-- 涓┖閰嶆柟娣诲姞 -->
 <el-dialog v-model="add" top="3vh" width="55%" :title="$t('hellow.hollowformula')" >
     <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
-     <el-form  size="mini" label-width="150px">
-      <el-form label-width="150px" label-position="right">
+     <el-form size="mini" label-width="150px">
+      <!-- <el-form label-width="150px" label-position="right"> -->
         <el-row style="margin-top: 10px;">
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
@@ -208,7 +208,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.casTwob')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.casTwob')" style="width: 16vw;">
             <el-select v-model="casTwo" clearable :placeholder="$t('hellow.casTwoa')" style="width: 220px">
               <el-option :label="$t('hellow.F')" value="0"></el-option>
               <el-option :label="$t('hellow.Y')" value="1"></el-option>
@@ -221,7 +221,7 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.casThreeb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.casThreeb')" style="width: 16vw;">
             <el-select v-model="casThree" clearable :placeholder="$t('hellow.casThreea')" style="width: 220px">
               <el-option :label="$t('hellow.F')" value="0"></el-option>
               <el-option :label="$t('hellow.Y')" value="1"></el-option>
@@ -231,7 +231,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.casFourb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.casFourb')" style="width: 16vw;">
             <el-select v-model="casFour" clearable :placeholder="$t('hellow.casFoura')" style="width: 220px">
               <el-option :label="$t('hellow.F')" value="0"></el-option>
               <el-option :label="$t('hellow.Y')" value="1"></el-option>
@@ -251,7 +251,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.frameTwob')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.frameTwob')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.frameTwoa')" v-model="frameTwo" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -261,14 +261,14 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.frameThreeb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.frameThreeb')" style="width: 16vw;">
                 <el-input :placeholder="$t('hellow.frameThreea')" v-model="frameThree" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.frameFourb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.frameFourb')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.frameFoura')" v-model="frameFour" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -285,7 +285,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameHeightaTwo')" v-model="intervalFrameHeightTwo" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -295,14 +295,14 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 16vw;">
                 <el-input :placeholder="$t('hellow.intervalFrameHeightaThree')" v-model="intervalFrameHeightThree" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameHeightbFour')"  style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameHeightaFour')" v-model="intervalFrameHeightFour" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -319,7 +319,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameWidthaTwo')" v-model="intervalFrameWidthTwo" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -329,14 +329,14 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameWidthaThree')" v-model="intervalFrameWidthThree" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameWidthaFour')" v-model="intervalFrameWidthFour" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -356,7 +356,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 16vw;">
             <el-select v-model="intervalFrameTypeTwo" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypecTwo')">
         <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
         <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
@@ -370,7 +370,7 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameTypedThree')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 16vw;">
             <el-select v-model="intervalFrameTypeThree" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypecThree')">
         <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
         <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
@@ -380,7 +380,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameTypedFour')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 16vw;">
             <el-select v-model="intervalFrameTypeFour" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypecFour')">
         <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
         <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
@@ -399,7 +399,7 @@
               </el-form-item></div></div>
           </el-col>
         </el-row>
-        </el-form>
+        <!-- </el-form> -->
             </el-form>
           </div>
     <template #footer>
@@ -485,7 +485,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.casTwob')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.casTwob')" style="width: 16vw;">
             <el-select v-model="casTwo" clearable :placeholder="$t('hellow.casTwoa')" style="width: 220px">
               <el-option :label="$t('hellow.F')" value="0"></el-option>
               <el-option :label="$t('hellow.Y')" value="1"></el-option>
@@ -498,7 +498,7 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.casThreeb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.casThreeb')" style="width: 16vw;">
             <el-select v-model="casThree" clearable :placeholder="$t('hellow.casThreea')" style="width: 220px">
               <el-option :label="$t('hellow.F')" value="0"></el-option>
               <el-option :label="$t('hellow.Y')" value="1"></el-option>
@@ -508,7 +508,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.casFourb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.casFourb')" style="width: 16vw;">
             <el-select v-model="casFour" clearable :placeholder="$t('hellow.casFoura')" style="width: 220px">
               <el-option :label="$t('hellow.F')" value="0"></el-option>
               <el-option :label="$t('hellow.Y')" value="1"></el-option>
@@ -528,7 +528,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.frameTwob')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.frameTwob')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.frameTwoa')" v-model="frameTwo" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -538,14 +538,14 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.frameThreeb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.frameThreeb')" style="width: 16vw;">
                 <el-input :placeholder="$t('hellow.frameThreea')" v-model="frameThree" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.frameFourb')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.frameFourb')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.frameFoura')" v-model="frameFour" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -562,7 +562,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameHeightbTwo')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameHeightaTwo')" v-model="intervalFrameHeightTwo" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -572,14 +572,14 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameHeightbThree')" style="width: 16vw;">
                 <el-input :placeholder="$t('hellow.intervalFrameHeightaThree')" v-model="intervalFrameHeightThree" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameHeightbFour')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameHeightaFour')" v-model="intervalFrameHeightFour" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -596,7 +596,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameWidthbTwo')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameWidthaTwo')" v-model="intervalFrameWidthTwo" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -606,14 +606,14 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameWidthbThree')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameWidthaThree')" v-model="intervalFrameWidthThree" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameWidthbFour')" style="width: 16vw;">
             <el-input :placeholder="$t('hellow.intervalFrameWidthaFour')" v-model="intervalFrameWidthFour" autocomplete="off" />
               </el-form-item>
             </div></div>
@@ -633,7 +633,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameTypedTwo')" style="width: 16vw;">
             <el-select v-model="intervalFrameTypeTwo" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypecTwo')">
         <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
         <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
@@ -647,7 +647,7 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameTypedThree')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameTypedThree')" style="width: 16vw;">
             <el-select v-model="intervalFrameTypeThree" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypecThree')">
         <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
         <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
@@ -657,7 +657,7 @@
           <el-col :span="9">
             <div id="dta" style="font-size: 15px;">
         <div>
-          <el-form-item :label="$t('hellow.intervalFrameTypedFour')" :required="true" style="width: 16vw;">
+          <el-form-item :label="$t('hellow.intervalFrameTypedFour')" style="width: 16vw;">
             <el-select v-model="intervalFrameTypeFour" clearable  style="width: 220px" :placeholder="$t('hellow.intervalFrameTypecFour')">
         <el-option :label="$t('hellow.intervalFrameTypeb')" value="1"></el-option>
         <el-option :label="$t('hellow.intervalFrameTypea')" value="5"></el-option>
@@ -904,42 +904,34 @@
                 :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
         <el-table-column prop="formulaName" fixed align="center" :label="$t('hellow.formulaNamep')" min-width="120"/>
         <el-table-column prop="filmRemove" align="center" :label="$t('Mounting.removalmethodp')"/>
-        <el-table-column prop="casOne" align="center" :label="$t('hellow.casOne')">
-          <template #default="scope">  
-          <el-tag  
-            :type="scope.row.casOne === 1 ? 'success' : 'danger'"  
-          >  
-          {{ scope.row.casOne === 1 ? $t('hellow.Y') : $t('hellow.F') }}
-          </el-tag>  
-        </template> 
-        </el-table-column>
-        <el-table-column prop="casTwo" align="center" :label="$t('hellow.casTwo')">
-          <template #default="scope">  
-          <el-tag  
-            :type="scope.row.casTwo === 1 ? 'success' : 'danger'"  
-          >  
-          {{ scope.row.casTwo === 1 ? $t('hellow.Y') : $t('hellow.F') }}
-          </el-tag>  
-        </template> 
-        </el-table-column>
-        <el-table-column prop="casThree" align="center" :label="$t('hellow.casThree')">
-          <template #default="scope">  
-          <el-tag  
-            :type="scope.row.casThree === 1 ? 'success' : 'danger'"  
-          >  
-          {{ scope.row.casThree === 1 ? $t('hellow.Y') : $t('hellow.F') }}
-          </el-tag>  
-        </template> 
-        </el-table-column>
-        <el-table-column prop="casFour" align="center" :label="$t('hellow.casFour')">
-          <template #default="scope">  
-          <el-tag  
-            :type="scope.row.casFour === 1 ? 'success' : 'danger'"  
-          >  
-          {{ scope.row.casFour === 1 ? $t('hellow.Y') : $t('hellow.F') }}
-          </el-tag>  
-        </template> 
-        </el-table-column>
+        <el-table-column prop="casOne" align="center" :label="$t('hellow.casOne')" min-width="110">
+      <template #default="scope">
+        <el-tag :type="getcasOnea(scope.row.casOne)">
+          {{ getStatuscasOnea(scope.row.casOne) }}
+        </el-tag>
+      </template>
+    </el-table-column>
+    <el-table-column prop="casTwo" align="center" :label="$t('hellow.casTwo')" min-width="110">
+      <template #default="scope">
+        <el-tag :type="getcasOneb(scope.row.casTwo)">
+          {{ getStatuscasOneb(scope.row.casTwo) }}
+        </el-tag>
+      </template>
+    </el-table-column>
+    <el-table-column prop="casThree" align="center" :label="$t('hellow.casThree')" min-width="110">
+      <template #default="scope">
+        <el-tag :type="getcasOnec(scope.row.casThree)">
+          {{ getStatuscasOnec(scope.row.casThree) }}
+        </el-tag>
+      </template>
+    </el-table-column>
+    <el-table-column prop="casFour" align="center" :label="$t('hellow.casFour')" min-width="110">
+      <template #default="scope">
+        <el-tag :type="getcasOned(scope.row.casFour)">
+          {{ getStatuscasOned(scope.row.casFour) }}
+        </el-tag>
+      </template>
+    </el-table-column>
         <el-table-column prop="frameOne" align="center" :label="$t('hellow.frameOne')"/>
         <el-table-column prop="frameTwo" align="center" :label="$t('hellow.frameTwo')"/>
         <el-table-column prop="frameThree" align="center" :label="$t('hellow.frameThree')"/>
@@ -948,31 +940,38 @@
         <el-table-column prop="intervalFrameHeightTwo" align="center" :label="$t('hellow.intervalFrameHeightTwo')" min-width="110"/>
         <el-table-column prop="intervalFrameHeightThree" align="center" :label="$t('hellow.intervalFrameHeightThree')" min-width="110"/>
         <el-table-column prop="intervalFrameHeightFour" align="center" :label="$t('hellow.intervalFrameHeightFour')" min-width="110"/>
-        <el-table-column prop="intervalFrameTypeOne" align="center" :label="$t('hellow.intervalFrameTypeOne')" min-width="110">
+        <!-- <el-table-column prop="intervalFrameTypeOne" align="center" :label="$t('hellow.intervalFrameTypeOne')" min-width="110">
           <template #default="scope">  
-         <el-tag :type="getStatusType(scope.row.intervalFrameTypeOne)">  
-          {{ getStatusText(scope.row.intervalFrameTypeOne) }}  
+         <el-tag :type="getStatusTypea(scope.row.intervalFrameTypeOne)">  
+          {{ getStatusTexta(scope.row.intervalFrameTypeOne) }}  
         </el-tag>  
       </template>
-        </el-table-column>
+        </el-table-column> -->
+        <el-table-column prop="intervalFrameTypeOne" align="center" :label="$t('hellow.intervalFrameTypeOne')" min-width="110">
+      <template #default="scope">
+        <el-tag :type="getStatusTypea(scope.row.intervalFrameTypeOne)">
+          {{ getStatusTexta(scope.row.intervalFrameTypeOne) }}
+        </el-tag>
+      </template>
+    </el-table-column>
         <el-table-column prop="intervalFrameTypeTwo" align="center" :label="$t('hellow.intervalFrameTypeTwo')" min-width="110">
           <template #default="scope">  
-         <el-tag :type="getStatusType(scope.row.intervalFrameTypeTwo)">  
-          {{ getStatusText(scope.row.intervalFrameTypeTwo) }}  
+         <el-tag :type="getStatusTypeb(scope.row.intervalFrameTypeTwo)">  
+          {{ getStatusTextb(scope.row.intervalFrameTypeTwo) }}  
         </el-tag>  
       </template>
         </el-table-column>
         <el-table-column prop="intervalFrameTypeThree" align="center" :label="$t('hellow.intervalFrameTypeThree')" min-width="110">
           <template #default="scope">  
-         <el-tag :type="getStatusType(scope.row.intervalFrameTypeThree)">  
-          {{ getStatusText(scope.row.intervalFrameTypeThree) }}  
+         <el-tag :type="getStatusTypec(scope.row.intervalFrameTypeThree)">  
+          {{ getStatusTextc(scope.row.intervalFrameTypeThree) }}  
         </el-tag>  
       </template>
         </el-table-column>
         <el-table-column prop="intervalFrameTypeFour" align="center" :label="$t('hellow.intervalFrameTypeFour')" min-width="110">
           <template #default="scope">  
-         <el-tag :type="getStatusType(scope.row.intervalFrameTypeFour)">  
-          {{ getStatusText(scope.row.intervalFrameTypeFour) }}  
+         <el-tag :type="getStatusTyped(scope.row.intervalFrameTypeFour)">  
+          {{ getStatusTextd(scope.row.intervalFrameTypeFour) }}  
         </el-tag>  
       </template>
         </el-table-column>
@@ -1058,7 +1057,7 @@
 const dialogFormVisibled = ref(false)
 const dialogFormVisiblee = ref(false)
 const add = ref(false)
-const adda = ref(false)
+const adda = ref(false) 
 const currentPage2 = ref(1)
 const currentRow = reactive({});
 const formattedProcessType = ref([]);
@@ -1086,11 +1085,9 @@
 const currentPageKey = computed(() => `93${currentPage.value - 1}`);
 const handlePageChange1 = (newPage) => {
   currentPage.value = newPage;
-  console.log(currentPage.value);
 };
 const handlePageChange2 = (newPage) => {
   currentPage2.value = newPage;
-  console.log(currentPage2.value);
   fetchFlowBind(currentRow.projectNumber, currentRow.layer, currentPage2.value);
 };
 const handleMessage = (data) => {
@@ -1149,6 +1146,7 @@
 }
 // 澶勭悊缂栬緫鎸夐挳鐐瑰嚮  
 function handleEdit(row) {  
+  window.localStorage.setItem('id', row.id)
     formulaName.value = row.formulaName;
     filmRemove.value = removalMethodMap[row.filmRemove];
     bottomRemove.value = row.bottomRemove;
@@ -1216,21 +1214,165 @@
   mulan.value = true;
   fetchmulan();
 };
-
-function getStatusType(intervalFrameType) {  
-  switch (intervalFrameType) {  
-    case 1:
+function getcasOnea(casOne) {  
+  switch (casOne) {  
+    case "1":
       return 'success';  
-    case 5: 
+    case "0": 
       return 'warning';  
+    default:
+      return 'info'; 
   }  
 }  
-function getStatusText(intervalFrameType) {
-  switch (intervalFrameType) {
-    case 1:  
+function getStatuscasOnea(casOne) {
+  switch (casOne) {
+    case "1":  
+      return t('hellow.Y');
+    case "0":  
+      return t('hellow.F'); 
+    default:
+      return '';
+  }  
+}
+function getcasOneb(casOne) {  
+  switch (casOne) {  
+    case "1":
+      return 'success';  
+    case "0": 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatuscasOneb(casOne) {
+  switch (casOne) {
+    case "1":  
+      return t('hellow.Y');
+    case "0":  
+      return t('hellow.F'); 
+    default:
+      return '';
+  }  
+}
+function getcasOnec(casOne) {  
+  switch (casOne) {  
+    case "1":
+      return 'success';  
+    case "0": 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatuscasOnec(casOne) {
+  switch (casOne) {
+    case "1":  
+      return t('hellow.Y');
+    case "0":  
+      return t('hellow.F'); 
+    default:
+      return '';
+  }  
+}
+
+function getcasOned(casOne) {  
+  switch (casOne) {  
+    case "1":
+      return 'success';  
+    case "0": 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatuscasOned(casOne) {
+  switch (casOne) {
+    case "1":  
+      return t('hellow.Y');
+    case "0":  
+      return t('hellow.F'); 
+    default:
+      return '';
+  }  
+}
+function getStatusTypea(intervalFrameTypeOne) {  
+  switch (intervalFrameTypeOne) {  
+    case "1":
+      return 'success';  
+    case "5": 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatusTexta(intervalFrameTypeOne) {
+  switch (intervalFrameTypeOne) {
+    case "1":  
       return t('hellow.intervalFrameTypeb');
-    case 5:  
+    case "5":  
       return t('hellow.intervalFrameTypea'); 
+    default:
+      return '';
+  }  
+}
+function getStatusTypeb(intervalFrameTypeTwo) {  
+  switch (intervalFrameTypeTwo) {  
+    case "1":
+      return 'success';  
+    case "5": 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatusTextb(intervalFrameTypeTwo) {
+  switch (intervalFrameTypeTwo) {
+    case "1":  
+      return t('hellow.intervalFrameTypeb');
+    case "5":  
+      return t('hellow.intervalFrameTypea'); 
+    default:
+      return '';
+  }  
+}
+function getStatusTypec(intervalFrameTypeThree) {  
+  switch (intervalFrameTypeThree) { 
+    case "1":
+      return 'success';  
+    case "5": 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatusTextc(intervalFrameTypeThree) {
+  switch (intervalFrameTypeThree) {
+    case "1":  
+      return t('hellow.intervalFrameTypeb');
+    case "5":  
+      return t('hellow.intervalFrameTypea'); 
+    default:
+      return '';
+  }  
+}
+function getStatusTyped(intervalFrameTypeFour) {  
+  switch (intervalFrameTypeFour) {  
+    case "1":
+      return 'success';  
+    case "5": 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatusTextd(intervalFrameTypeFour) {
+  switch (intervalFrameTypeFour) {
+    case "1":  
+      return t('hellow.intervalFrameTypeb');
+    case "5":  
+      return t('hellow.intervalFrameTypea'); 
+    default:
+      return '';
   }  
 }
 // 棰勮
@@ -1318,9 +1460,31 @@
     formulaNameid.value = { id: null };
   }
 };
+// 楠岃瘉鍑芥暟
+function validateForm() {
+  const errors = [];
+  if (!formulaName.value) errors.push('蹇呭~锛�');
+  if (filmRemove.value === null) errors.push('蹇呭~锛�');
+  if (!bottomRemove.value) errors.push('蹇呭~锛�');
+  if (!topRemove.value) errors.push('蹇呭~锛�');
+  if (!leftRemove.value) errors.push('蹇呭~锛�');
+  if (!rightRemove.value) errors.push('蹇呭~锛�');
+  if (casOne.value === null) errors.push('蹇呭~锛�');
+  if (!frameOne.value) errors.push('蹇呭~锛�');
+  if (!intervalFrameHeightOne.value) errors.push('蹇呭~锛�');
+  if (!intervalFrameWidthOne.value) errors.push('蹇呭~锛�');
+  if (intervalFrameTypeOne.value === null) errors.push('蹇呭~锛�');
+  if (!sealInsert.value) errors.push('蹇呭~锛�');
+  if (errors.length > 0) {
+    ElMessage.error(errors.join(''));
+    return false;
+  }
+  return true;
+}
 // 涓┖閰嶆柟娣诲姞
 const handleConfirm = async () => {
   try {
+    if (!validateForm()) return;  
     const response = await request.post('/hollowGlass/hollowFormulaDetails/saveFormulaDetails',{
       formulaName: formulaName.value,
       filmRemove: filmRemove.value,
@@ -1352,7 +1516,7 @@
     });
     if (response.code == 200) {
       ElMessage.success(response.message);
-      tableDatax.value = response.data;
+      // tableDatax.value = response.data;
       fetchmulan()
       add.value = false
       formulaName.value = '';
@@ -1403,9 +1567,11 @@
   [t('hellow.intervalFrameTypea')]: 5,
 }
 // 涓┖閰嶆柟淇敼
-const handledit = async () => {
+ const handledit = async() => {  
+  let id = window.localStorage.getItem('id')
   try {
     const response = await request.post('/hollowGlass/hollowFormulaDetails/updateFormulaDetails',{
+      id: id,
       formulaName: formulaName.value,
       filmRemove: removalMethodMapa[filmRemove.value],
       bottomRemove: bottomRemove.value,
diff --git a/UI-Project/src/views/hollow/hollowequipmenttwo.vue b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
index 71df887..ce5fce1 100644
--- a/UI-Project/src/views/hollow/hollowequipmenttwo.vue
+++ b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -494,7 +494,13 @@
       <el-table ref="table" style="margin-top: 20px;height: 400px;"
                 :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
         <el-table-column prop="formulaName" fixed align="center" :label="$t('hellow.formulaNamep')"/>
-        <el-table-column prop="filmRemove" fixed align="center" :label="$t('Mounting.removalmethodp')"/>
+        <el-table-column prop="filmRemove" align="center" :label="$t('Mounting.removalmethodp')" min-width="110">
+      <template #default="scope">
+        <el-tag :type="getcasOnea(scope.row.filmRemove)">
+          {{ getStatuscasOnea(scope.row.filmRemove) }}
+        </el-tag>
+      </template>
+    </el-table-column>
         <el-table-column prop="topRemove" align="center" :label="$t('hellow.topRemovep')"> </el-table-column>
         <el-table-column prop="bottomRemove" align="center" :label="$t('hellow.bottomRemovep')"> </el-table-column>
         <el-table-column prop="leftRemove" align="center" :label="$t('hellow.leftRemovep')"> </el-table-column>
@@ -612,6 +618,26 @@
     closeWebSocket(socket);
   }
 });
+function getcasOnea(filmRemove) {  
+  switch (filmRemove) {  
+    case 1:
+      return 'success';  
+    case 0: 
+      return 'warning';  
+    default:
+      return 'info'; 
+  }  
+}  
+function getStatuscasOnea(filmRemove) {
+  switch (filmRemove) {
+    case 1:  
+      return t('Mounting.removal');
+    case 0:  
+      return t('Mounting.noremoval'); 
+    default:
+      return '';
+  }  
+}
 // 寮�濮嬩换鍔� 
 const handleBinda = (row) => {
   blinda.value = true;
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskHistoryServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskHistoryServiceImpl.java
index 55a23a7..002cd05 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskHistoryServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskHistoryServiceImpl.java
@@ -25,7 +25,7 @@
         LambdaQueryWrapper<EdgStorageDeviceTaskHistory> wrapper = new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
                 .eq(EdgStorageDeviceTaskHistory::getDeviceId, request.getDeviceId())
                 .eq(StringUtils.checkValNotNull(request.getTaskState()), EdgStorageDeviceTaskHistory::getTaskState, request.getTaskState())
-                .eq(StringUtils.checkValNotNull(request.getTaskType()), EdgStorageDeviceTaskHistory::getTaskState, request.getTaskType())
+                .eq(StringUtils.checkValNotNull(request.getTaskType()), EdgStorageDeviceTaskHistory::getTaskType, request.getTaskType())
                 .between(StringUtils.checkValNotNull(request.getStartTime()), EdgStorageDeviceTaskHistory::getCreateTime, request.getStartTime(),
                         request.getEndTime()).orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 20");
         if (StringUtils.isNotBlank(request.getGlassId())) {
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 12f6eef..7ace44e 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
@@ -6,6 +6,7 @@
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.google.common.collect.Lists;
 import com.mes.base.entity.vo.BigStorageVO;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
@@ -480,7 +481,11 @@
                     .orderByAsc(BigStorageCageDetails::getTemperingFeedSequence)
             );
             if (CollectionUtils.isNotEmpty(temperingGlassInfos)) {
-                temperingGlassInfoService.saveBatch(temperingGlassInfos);
+                //閬垮厤澶ч噺鏁版嵁鎻掑叆瀵艰嚧sqlserver鏁版嵁搴撳紓甯革紝鍒嗘壒娆℃瘡璋冨瓨鍌ㄤ緷娆�
+                List<List<TemperingGlassInfo>> temperingGlassInfoLists = Lists.partition(temperingGlassInfos, 50);
+                for (List<TemperingGlassInfo> item : temperingGlassInfoLists) {
+                    temperingGlassInfoService.saveBatch(item);
+                }
                 return true;
             }
         }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index aa85103..4ac5082 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -184,7 +184,7 @@
         )
         select *
         from result
-        order by engineer_id
+        order by engineer_id,tempering_layout_id
     </select>
 
     <select id="queryIsAllNeedDispatchVirtualSlot" resultMap="virtualSlotSequenceDTO">
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
index 18e1cf0..8e56d61 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java
@@ -45,13 +45,13 @@
   }
   @ApiOperation("鍒犻櫎鍘熺墖")
   @PostMapping("/deleteWarehousing")
-  public Result<Object> deleteWarehousing(@RequestBody Long slotId) {
+  public Result<Object> deleteWarehousing(Long slotId) {
     return Result.success(rawGlassStorageDetailsService.deleteWarehousing(slotId));
   }
 
   @ApiOperation("鍘熺墖鍑哄簱")
   @PostMapping("/outWarehousing")
-  public Result<Object> outWarehousing(@RequestBody Long slotId) {
+  public Result<Object> outWarehousing(Long slotId) {
     return Result.success(rawGlassStorageDetailsService.outWarehousing(slotId));
   }
 
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowBigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowBigStorageCageDetailsController.java
index 5742e75..e52515e 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowBigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowBigStorageCageDetailsController.java
@@ -8,10 +8,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -50,5 +47,12 @@
         return Result.build(200, "鐮存崯/鎷胯蛋鎴愬姛", null);
     }
 
+    @ApiOperation("涓┖鐞嗙墖绗兼牸瀛愮鐢�/鍚敤")
+    @GetMapping("/updateHollowStorageCageDisabled")
+    public Result updateHollowStorageCageDisabled(int slot, int enableState) {
+        hollowBigStorageCageDetailsService.updateHollowStorageCageDisabled(slot, enableState);
+        return Result.build(200, "鍚敤/绂佺敤鎴愬姛", 1);
+    }
+
 }
 
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowBigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowBigStorageCageDetailsService.java
index a36efd5..2b94b2c 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowBigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/HollowBigStorageCageDetailsService.java
@@ -55,5 +55,13 @@
      * @return
      */
     List<HollowBigStorageCageDetails> queryPairGlassList(String flowCardId, Integer totalLayer, Integer totalPairQuantity,Integer isOut);
+
+    /**
+     * 鏇存柊鐞嗙墖绗兼牸瀛愮姸鎬�
+     * @param slot
+     * @param enableState
+     * @return
+     */
+    Boolean updateHollowStorageCageDisabled(int slot, int enableState);
 }
 
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageDetailsServiceImpl.java
index 9b2c93b..926e547 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageDetailsServiceImpl.java
@@ -7,6 +7,7 @@
 import com.mes.common.config.Const;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.hollow.entity.HollowBigStorageCage;
 import com.mes.hollow.entity.HollowBigStorageCageDetails;
 import com.mes.hollow.entity.HollowGlassRelationInfo;
 import com.mes.hollow.entity.dto.*;
@@ -129,6 +130,13 @@
         return baseMapper.queryPairGlassList(flowCardId, totalLayer, totalPairQuantity, isOut);
     }
 
+    @Override
+    public Boolean updateHollowStorageCageDisabled(int slot, int enableState) {
+        return hollowBigStorageCageService.update(new LambdaUpdateWrapper<HollowBigStorageCage>()
+                .set(HollowBigStorageCage::getEnableState, enableState)
+                .eq(HollowBigStorageCage::getSlot, slot));
+    }
+
     private List<HollowBigStorageAndDetailsDTO> hollowBigStorageCageDetailsChild(String glassId, Integer deviceId, Integer slot, int state) {
         //灏嗗搴旀牸瀛愬彿鐨勭幓鐠僫d缃负101
         this.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()

--
Gitblit v1.8.0