From 7c7c8b1fb4dd63bbc25130b32d507aee5c130d90 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 24 九月 2024 16:37:27 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes

---
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java    |   27 +
 UI-Project/src/views/GlassStorage/rawfilmstorage.vue                                                                                         |  172 ++++++++++-----
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java                  |   11 
 UI-Project/src/lang/zh.js                                                                                                                    |    1 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/mapper/RawGlassStorageStationMapper.java            |    4 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java                                                 |    4 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java |   15 -
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/RawGlassStorageStationService.java          |   11 
 hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java                                  |   52 ++--
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java                                            |   46 +--
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java                                           |    2 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java                                        |   53 ++++
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java          |    8 
 /dev/null                                                                                                                                    |   56 -----
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java                                        |    5 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java    |   36 +--
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue                                                                                       |  128 ++++++++++-
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/impl/RawGlassStorageStationServiceImpl.java |   15 +
 18 files changed, 396 insertions(+), 250 deletions(-)

diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 0aec075..4f2483f 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -525,6 +525,7 @@
         startslot:'寮�濮嬪伐浣�',
         endslot:'鐩爣宸ヤ綅',
         slotid:'鏍煎瓙ID',
+        slot:'鏍煎瓙鍙�',
         width:'鍘熺墖瀹�',
         widtha:'鍘熺墖瀹斤細',
         inwidth:'璇疯緭鍏ュ師鐗囧',
diff --git a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
index f78f2ff..d34ea16 100644
--- a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
+++ b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -17,24 +17,50 @@
 const dialogFormVisiblea = ref(false)
 const dialogFormVisibleb = ref(false)
 const dialogFormVisiblec = ref(false)
-const timeRange = ref(["2022-01-01", "2025-01-01"])
+const timeRange = ref(["2022-01-01 00:00:00", "2025-01-01 00:00:00"])
 const selectValuesa = reactive([]);
-let webSocket: WebSocket | null = null;  
+  const patternWidth = ref('');
+  const patternHeight = ref('');
+  const patternThickness = ref('');
+  const filmsId = ref('');
+  const remainQuantity = ref('');
+  const slot = ref('');
+  let webSocket: WebSocket | null = null;  
 const value = ref('')
 const options = [
   {
-    value: t('film.warehousing1'),
+    value: 1,
     label: t('film.warehousing1'),
   },
   {
-    value: t('film.warehousing2'),
+    value: 2,
     label: t('film.warehousing2'),
   }
 ]
 const report = ref({
-  enableType: '',
-  enableState: '',
+  taskType: '',
+  taskState: '',
 });
+// const response = await request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest", {
+//     beginDate: timeRange.value[0],
+//     endDate: timeRange.value[1],
+//     taskState: stateList,
+//     taskType: celllist
+//   })
+//   if (response.code === 200) {
+//     // tableDataa.value = response.data;
+request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest",{
+      beginDate: "2022-01-01 00:00:00",
+      endDate: "2025-01-01 00:00:00",
+}).then((response) => {
+          if (response.code == 200) {
+            tableDataa.value = response.data
+            console.log(tableDataa.value);
+          } else {
+          ElMessage.warning(response.msg)
+        
+          }
+          });
 onMounted(() => {
     socket = initializeWebSocket(socketUrl, handleMessage);
 });
@@ -48,11 +74,9 @@
 const handleMessage = (data) => {
   if(data.tasks !=null){
   tableDataa.value = data.tasks[0]
-  console.log(data.tasks[0]);
-  
   }
-  if(data.rack !=null){
-  tableDatab.value = data.rack[0]
+  if(data.rawStationDetailsList !=null){
+  tableDatab.value = data.rawStationDetailsList[0]
   }
 };
   // 鍒犻櫎 
@@ -141,18 +165,45 @@
       stateList=[selectValuesa[1]];
     }
   }
-  const response = await request.post("/glassStorage/raw_glass_storage_task/selectRawglasstask", {
-    createTime: timeRange.value[0],
-    patternQuantity: timeRange.value[1],
-    enableType: stateList,
-    enableState: celllist
+  const response = await request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest", {
+    beginDate: timeRange.value[0],
+    endDate: timeRange.value[1],
+    taskState: stateList,
+    taskType: celllist
   })
   if (response.code === 200) {
-    tableDataa.value = response.data;
+    // tableDataa.value = response.data;
     ElMessage.success(response.message);
   } 
   else {
     ElMessage.error(response.message);
+  }
+};
+// 鍏ュ簱 
+const handleConfirma = async () => {
+  try {
+    const response = await request.post('/glassStorage/rawGlassStorageDetails/patternWarehousing', {
+      patternWidth: patternWidth.value,
+      patternHeight: patternHeight.value,
+      patternThickness: patternThickness.value,
+      filmsId: filmsId.value,
+      remainQuantity: remainQuantity.value,
+      slot: slot.value,
+    }); 
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      dialogFormVisibleb.value = false;
+      patternWidth.value = '';
+      patternHeight.value = '';
+      patternThickness.value = '';
+      filmsId.value = '';
+      remainQuantity.value = '';
+      slot.value = '';
+    } else {
+      ElMessage.error(response.message);
+    }
+  } catch (error) {
+    console.error(error);
   }
 };
 // 鏄惁绂佺敤
@@ -178,8 +229,8 @@
 const handleEdit = (row) => {
   dialogFormVisiblec.value = true;
 };
-function getStatusType1(enableType) {  
-switch (enableType) {  
+function getStatusType1(taskType) {  
+switch (taskType) {  
   case 1:  
     return 'info';  
   case 2:  
@@ -188,8 +239,8 @@
     return 'success';  
 }  
 }
-function getStatusText1(enableType) {  
-switch (enableType) {
+function getStatusText1(taskType) {  
+switch (taskType) {
   case 1:  
     return t('film.stocke');//鍏ュ簱
   case 2:  
@@ -198,8 +249,8 @@
   return t('film.dispatch');//璋冨害
 }  
 }
-function getStatusType2(enableState) {  
-switch (enableState) {  
+function getStatusType2(taskState) {  
+switch (taskState) {  
   case 1:  
     return 'info';  
   case 2:  
@@ -208,8 +259,8 @@
     return 'success';  
 }  
 }
-function getStatusText2(enableState) {  
-switch (enableState) {
+function getStatusText2(taskState) {  
+switch (taskState) {
   case 1:  
     return t('film.built');//鏂板缓
   case 2:  
@@ -227,8 +278,12 @@
   <div style="display: flex; flex-direction: row; align-items: center; margin-top: 20px;">  
     <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="dialogFormVisiblea = true">{{ $t('film.mes') }}</el-button>
   <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('film.warehousing') }}</el-button>
-    <el-date-picker style="margin-left: 10px;"  v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD"
-      :start-placeholder="$t('film.starttime')" :end-placeholder="$t('film.endtime')" :default-time="defaultTime" />
+    <el-date-picker style="margin-left: 10px;"  v-model="timeRange" type="datetimerange"
+        format="YYYY/MM/DD HH:mm:ss"  
+        value-format="YYYY-MM-DD HH:mm:ss"
+        :start-placeholder="$t('film.starttime')" 
+        :end-placeholder="$t('film.endtime')" 
+        :default-time="defaultTime" />
     <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;" >
       <el-option :label="$t('film.built')" value="1"></el-option>
       <el-option :label="$t('film.execution')" value="2"></el-option>
@@ -245,29 +300,29 @@
       <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
         <el-table height="300" ref="table"
         :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="enableId" align="center" :label="$t('film.enableid')"/>
+          <el-table-column prop="id" align="center" :label="$t('film.enableid')"/>
           <el-table-column prop="originateSlot" align="center" :label="$t('film.originateslot')"/>
           <el-table-column prop="endSlot" align="center" :label="$t('film.endslot')"/>
           <el-table-column prop="patternQuantity" align="center" :label="$t('film.patternquantity')"/>
           <el-table-column
           align="center"
           :label="$t('film.enabletype')"
-          prop="enableType"
+          prop="taskType"
         >
         <template #default="scope">  
-      <el-tag :type="getStatusType1(scope.row.enableType)">  
-        {{ getStatusText1(scope.row.enableType) }}
+      <el-tag :type="getStatusType1(scope.row.taskType)">  
+        {{ getStatusText1(scope.row.taskType) }}
       </el-tag>  
     </template> 
         </el-table-column>
         <el-table-column
           align="center"
-          :label="$t('film.enablestate')"
-          prop="enableState"
+          :label="$t('film.taskstatus')"
+          prop="taskState"
         >
         <template #default="scope">  
-      <el-tag :type="getStatusType2(scope.row.enableState)">  
-        {{ getStatusText2(scope.row.enableState) }}
+      <el-tag :type="getStatusType2(scope.row.taskState)">  
+        {{ getStatusText2(scope.row.taskState) }}
       </el-tag>  
     </template> 
         </el-table-column>
@@ -284,6 +339,7 @@
     <el-table  ref="table" style="margin-top: 20px;height: 700px;"
         :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
           <el-table-column prop="deviceId" fixed align="center" :label="$t('film.station')" min-width="80"/>
+          <el-table-column prop="slotId" fixed align="center" :label="$t('film.slot')" min-width="80"/>
           <el-table-column prop="patternWidth" align="center" :label="$t('film.width')"  min-width="80" />
           <el-table-column prop="patternHeight" align="center" :label="$t('film.height')" min-width="80" />
           <el-table-column prop="patternThickness" align="center" :label="$t('film.thickness')" min-width="80" />
@@ -313,16 +369,16 @@
         </el-table-column>
         </el-table>
 </el-dialog>
-<el-dialog v-model="dialogFormVisibleb" top="15vh" width="60%">
-  <div style="margin-top: 10px;margin-bottom: 10px;">
-      <el-form size="mini" label-width="150px">
-      <el-form label-width="70vm" label-position="right">
-        <el-row >
+<el-dialog v-model="dialogFormVisibleb" top="23vh" width="55%" :title="$t('basicData.addglass')" >
+    <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
+            <el-form  size="mini" label-width="150px">
+      <el-form label-width="100px" label-position="right">
+        <el-row style="margin-top: -15px;margin-bottom: -2px;">
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
           <el-form-item :label="$t('film.widtha')" :required="true" style="width: 17vw;">
-                <el-input :placeholder="$t('film.inwidth')" v-model="number" autocomplete="off" />
+                <el-input :placeholder="$t('film.inwidth')" v-model="patternWidth" autocomplete="off" />
               </el-form-item>
               </div></div>
           </el-col>
@@ -330,7 +386,7 @@
             <div id="dta" style="font-size: 15px;">
         <div>
           <el-form-item :label="$t('film.heighta')" :required="true" style="width: 17vw;">
-                <el-input :placeholder="$t('film.inheight')" v-model="number" autocomplete="off" />
+                <el-input :placeholder="$t('film.inheight')" v-model="patternHeight" autocomplete="off" />
               </el-form-item></div>
               </div>
           </el-col>
@@ -340,14 +396,14 @@
               <div id="dt" style="font-size: 15px;">
         <div>
           <el-form-item :label="$t('film.thicknessa')" :required="true" style="width: 17vw;">
-                <el-input :placeholder="$t('film.inthickness')" v-model="number" autocomplete="off" />
+                <el-input :placeholder="$t('film.inthickness')" v-model="patternThickness" 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('film.filmsa')" :required="true" style="width: 17vw;">
-                <el-input :placeholder="$t('film.infilms')" v-model="number" autocomplete="off" />
+                <el-input :placeholder="$t('film.infilms')" v-model="filmsId" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
         </el-row>
@@ -355,24 +411,26 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-              <el-form-item :label="$t('film.quantitya')" :required="true" style="width: 17vw;">
-                <el-input :placeholder="$t('film.inquantity')" v-model="number" autocomplete="off" />
+          <el-form-item :label="$t('film.quantitya')" :required="true" style="width: 17vw;">
+                <el-input :placeholder="$t('film.inquantity')" v-model="remainQuantity" 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('film.inwarehousing')" :required="true" style="width: 17vw">
-            <el-select :placeholder="$t('film.selectwarehousing')">
-      <el-option
-        v-for="item in options"
-        :key="item.value"
-        :label="item.label"
-        :value="item.value"
-      />
+            <el-select 
+            :placeholder="$t('film.selectwarehousing')"
+             style="width: 270px"  
+             v-model="slot">
+               <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              />
           </el-select>
-              </el-form-item></div>
-              </div>
+              </el-form-item></div></div>
           </el-col>
         </el-row>
         </el-form>
@@ -380,13 +438,13 @@
           </div>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="handleConfirm">
+        <el-button type="primary" @click="handleConfirma">
           {{ $t('basicData.confirm') }}
         </el-button>
         <el-button @click="dialogFormVisibleb = false">{{ $t('basicData.cancel') }}</el-button>
       </div>
     </template>
-</el-dialog>
+  </el-dialog>
 <el-dialog v-model="dialogFormVisiblec" top="21vh" width="40%">
     <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
       <el-form size="mini" label-width="100px">
@@ -399,7 +457,7 @@
     </div>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="handleConfirm">
+        <el-button type="primary" @click="handleConfirmb">
           {{ $t('reportWork.sure') }}
         </el-button>
         <el-button @click="dialogFormVisiblec = false">{{ $t('reportWork.cancel') }}</el-button>
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 3ed3f1f..705f206 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -152,13 +152,15 @@
     adjustedRects2.value = []
   }
   // 杩涚倝涓乏
-  if (data.intoGlass && data.intoGlass.length > 0) {  
-    const newGlassIds = new Set(data.intoGlass[0].map(rect => rect.glassId));  
-    const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId));  
-    const newRects = data.intoGlass[0].map(rect => {  
-      const scaleFactor =  810.89/5087; 
-      const scaleFactorY =  430/2800; 
-      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
+  if (data.intoGlass && data.intoGlass.length > 0) {
+    console.log(data.intoGlass);
+    
+    const newGlassIds = new Set(data.intoGlass[0].map(rect => rect.glassId));
+    const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId));
+    const newRects = data.intoGlass[0].map(rect => {
+      const scaleFactor =  810.89/5087;
+      const scaleFactorY =  430/2800;
+      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
       let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
         widtha = rect.height;
@@ -199,7 +201,7 @@
       return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝浣嗕繚鐣欏湪newGlassIds涓紝鍒欎繚鐣欏師鏍�  
     }).concat(newRects.filter(r => !existingRects.some(o => o.glassId === r.glassId)));  
   }  
-  else if (data.overGlass == null) {
+  else {
     adjustedRects1.value = []
   }
   if (data.waitingGlass && data.waitingGlass.length > 0) {  
@@ -325,7 +327,21 @@
       rect.state = 9;
     }
   });  
-}  
+} 
+function updateoutColorsc() {
+  adjustedRects1.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 9;
+    }
+  });  
+}
+function updateoutColorsd() {
+  adjustedRects2.value.forEach(rect => {  
+    if (rect.glassId === glassId) {  
+      rect.state = 9;
+    }
+  });  
+} 
 function updateonColorsa() {
   adjustedRectsa.value.forEach(rect => {  
     if (rect.glassId === glassId) {  
@@ -367,8 +383,28 @@
       rect.state = 8;
     }
   });  
-}  
-function getRectColora(state) {  
+}
+function getRectColor1(state) {
+  switch (state) {  
+    case 2:  
+      return 'lightblue';
+    case 8:
+      return '#911005';
+    case 9:
+      return '#4682B4';
+  }
+} 
+function getRectColor2(state) {
+  switch (state) {  
+    case 2:  
+      return 'lightblue';
+    case 8:
+      return '#911005';
+    case 9:
+      return '#4682B4';
+  }
+}
+function getRectColora(state) {
   switch (state) {  
     case 0:  
       return '#7AC5CD';
@@ -408,6 +444,11 @@
   } else if (currentRect.value.state !== 8) {
     canSelectProject1.value = true;
   }
+  if (currentRect.value.state == 9) {
+    cantakea.value = false;
+  } else if (currentRect.value.state !== 9) {
+    cantakea.value = true;
+  } 
 } 
 function showDialog2(rect) {
   const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId);  
@@ -422,6 +463,11 @@
     canSelectProject2.value = false;
   } else if (currentRect.value.state !== 8) {
     canSelectProject2.value = true;
+  }
+  if (currentRect.value.state == 9) {
+    cantakea.value = false;
+  } else if (currentRect.value.state !== 9) {
+    cantakea.value = true;
   }
 } 
 function showDialoga(rect) {
@@ -613,6 +659,52 @@
     console.error(error);
   }
 }
+// 杩涚倝涓汉宸ユ嬁璧�
+const takeoutc = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 9,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blind1.value = false;
+      updateoutColorsc();
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+// 杩涚倝zhong浜哄伐鎷胯蛋
+const takeoutd = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    line: 4001,
+    status: 9,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success('鎴愬姛锛�');
+      blind2.value = false;
+      updateoutColorsd();
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
 // 宸插嚭鐐夌牬鎹�
 const handleDamageb = async () => {
   try  {
@@ -711,8 +803,7 @@
        left: `${rect.xcoordinate}px`,
         width: `${rect.width}px`, 
         height: `${rect.height}px`,
-        backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }"
-    >
+        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor1(rect.state) }">
      <div  class="centered-text">
     <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
     <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
@@ -739,8 +830,7 @@
        left: `${rect.xcoordinate}px`, 
        width: `${rect.width}px`, 
        height: `${rect.height}px`,
-       backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 8 ? '#911005' : 'lightblue' }"
-       >
+        backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor2(rect.state) }">
      <div  class="centered-text">
     <div style="font-size: 15px;font-weight: bold;">{{ rect.glassId }}</div>  
     <div style="font-size: 15px;font-weight: bold;">{{ rect.flowCardId }}</div>  
@@ -842,11 +932,19 @@
         <el-button :disabled="!canSelectProject1" type="warning" plain :icon="Delete" @click="handleDamage1"  style="width: 150px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
+        <el-button :disabled="!cantakea" type="danger" plain @click="takeoutc"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          <el-icon class="el-icon--right"><Upload /></el-icon>
+          {{ $t('order.takeaway') }}
+        </el-button>
   </el-dialog>  
 <el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2">
         <el-button :disabled="!canSelectProject2" type="warning" plain :icon="Delete" @click="handleDamage2"  style="width: 150px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
+        <el-button :disabled="!cantakea" type="danger" plain @click="takeoutd"  style="width: 150px;margin-left: 10px;margin-top: 10px;">
+          <el-icon class="el-icon--right"><Upload /></el-icon>
+          {{ $t('order.takeaway') }}
+        </el-button>
   </el-dialog>  
   <!-- 杩涚倝鍓� -->
 <el-dialog v-model="blinda" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClosea">
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
index c21084c..0bd7fff 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -27,7 +27,7 @@
 @ResponseBody
 public class DamageController {
 
-    @Autowired
+    @Autowired(required=true)
     private DamageService damageService;
     @ApiOperation("鎶ュ伐鏁版嵁鏌ヨ")
     @PostMapping("/selectDamage")
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index d8ddacb..0113b67 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -18,8 +18,12 @@
  */
 public interface DamageService extends MPJBaseService<Damage> {
 
+    List<Damage> selectDamage(String startTime, String endTime, int type, String workingProcedure);
+
     List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
 
+//    List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
+
     void submitDamage(List<Damage> damageList);
 
     Boolean submitReport(Damage damage);
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 522fe22..82f96cd 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
@@ -53,6 +53,11 @@
     @Resource
     WorkAssignmentMapper workAssignmentMapper;
 
+    @Override
+    public List<Damage> selectDamage(String startTime, String endTime, int type, String workingProcedure) {
+        return null;
+    }
+
     /**
      * 鏌ヨ鎶ュ伐淇℃伅
      */
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java
new file mode 100644
index 0000000..bf5b012
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/RawGlassPushMessage.java
@@ -0,0 +1,53 @@
+package com.mes.job;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.json.JSONObject;
+import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
+import com.mes.rawglassstation.service.RawGlassStorageStationService;
+import com.mes.rawglasstask.entity.RawGlassStorageTask;
+import com.mes.rawglasstask.service.RawGlassStorageTaskService;
+import com.mes.tools.WebSocketServer;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author wangfei
+ */
+@Slf4j
+@Component
+public class RawGlassPushMessage {
+
+  @Resource private RawGlassStorageStationService rawGlassStorageStationService;
+
+  @Resource private RawGlassStorageTaskService rawGlassStorageTaskService;
+
+  @Scheduled(fixedDelay = 2000)
+  public void sendRawGlassMessage() {
+    log.info("鍙戦�佷换鍔′俊鎭拰鏋跺瓙淇℃伅");
+    JSONObject jsonObject = new JSONObject();
+    List<RawGlassStorageDetails> rawStationDetailsList =
+        rawGlassStorageStationService.listRawGlassDetails();
+    List<RawGlassStorageTask> tasks = rawGlassStorageTaskService.listRawGlassTask();
+    jsonObject.append("rawStationDetailsList", rawStationDetailsList);
+    jsonObject.append("tasks", tasks);
+    log.info("鑾峰彇鍒扮殑宸ヤ綅璇︽儏鍙婁换鍔′俊鎭负锛歿}", jsonObject);
+
+    List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("rawGlass");
+    if (CollectionUtil.isNotEmpty(sendwServer)) {
+      if (sendwServer.get(0).session.isOpen()) {
+        log.info("宸插彂閫�");
+        sendwServer.get(0).sendMessage(String.valueOf(jsonObject));
+      }
+    }
+  }
+
+  /** todo:鍏ュ簱浠诲姟锛氬悐瑁呬綅鏈夌幓鐠冿紝鍏堝幓宸ヤ綅琛ㄦ煡璇㈢┖鏍煎瓙锛岀敓鎴愬叆搴撲换鍔′粠鍚婅浣嶅埌鐩爣鏍煎瓙 */
+
+  /** todo:鍑哄簱浠诲姟锛�1銆佺偣鍑哄簱锛岀珛椹敓鎴愬嚭鐗囦换鍔� 2銆佺偣鍑哄簱淇敼宸ヤ綅璇︽儏鍐呯殑鐘舵�佷负寰呭嚭搴擄紝瀹氭椂浠诲姟鎵弿鐢熸垚鍑哄簱浠诲姟 */
+
+  /** todo:鍘熺墖璋冨害锛�1銆佹煡璇㈠伐绋嬪師鐗囪〃锛屾寜鐓ч『搴忓皢鍘熺墖鏀惧叆涓婄墖1鍙蜂綅锛屽悗缁師鐗囨斁涓婄墖2鍙蜂綅锛屽嚭鐜板昂瀵告浛鎹紝鍒ゆ柇鍘熶笂鐗囦綅鏄惁鏈夌幓鐠冿紝鏈� 鍏堝嚭鍚庤繘锛屾棤 鐩存帴杩涚墖 */
+}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/push.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/push.java
deleted file mode 100644
index d3970d5..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/push.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package com.mes.job;
-
-import cn.hutool.json.JSONObject;
-import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
-import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
-import com.mes.rawglassstation.entity.RawGlassStorageStation;
-import com.mes.rawglassstation.service.RawGlassStorageStationService;
-import com.mes.rawglasstask.entity.RawGlassStorageTask;
-import com.mes.rawglasstask.service.RawGlassStorageTaskService;
-import com.mes.tools.WebSocketServer;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Slf4j
-@Component
-public class push {
-
-    @Autowired
-    private RawGlassStorageDetailsService rawGlassStorageDetailsService;
-    @Autowired
-    private RawGlassStorageStationService rawGlassStorageStationService;
-
-    @Autowired
-    private RawGlassStorageTaskService rawGlassStorageTaskService;
-
-
-    @Scheduled(fixedDelay = 2000)
-    public void sendDownWorkstations() {
-        log.info("鍙戦�佷换鍔′俊鎭拰鏋跺瓙淇℃伅");
-        JSONObject jsonObject = new JSONObject();
-        List<RawGlassStorageDetails> rack =  rawGlassStorageDetailsService.list();
-        List<RawGlassStorageStation> state =  rawGlassStorageStationService.list();
-        //List<RawGlassStorageTask> tasks =  rawGlassStorageTaskService.list();
-        List<RawGlassStorageTask> tasks =  rawGlassStorageTaskService.findAll();
-        jsonObject.append("rack",rack);
-        jsonObject.append("state",state);
-        jsonObject.append("tasks",tasks);
-        log.info(jsonObject.toString());
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("rawGlass");
-        if (sendwServer != null) {
-            for (WebSocketServer webserver : sendwServer) {
-                if (webserver != null&&webserver.session.isOpen()) {
-                    log.info("宸插彂閫�");
-                    webserver.sendMessage(String.valueOf(jsonObject));
-                }
-            }
-        }
-    }
-
-
-}
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 7eb1bdc..869686d 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
@@ -1,18 +1,18 @@
 package com.mes.rawglassdetails.controller;
 
-
 import com.mes.rawglassdetails.entity.request.RawGlassRequest;
 import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
 import com.mes.utils.Result;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
+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;
 
 /**
- * <p>
  * 鍓嶇鎺у埗鍣�
- * </p>
  *
  * @author wf
  * @since 2024-09-10
@@ -21,27 +21,13 @@
 @RequestMapping("/rawGlassStorageDetails")
 public class RawGlassStorageDetailsController {
 
-    @Autowired
-    private RawGlassStorageDetailsService rawGlassStorageDetailsService;
-    @ApiOperation("宸ヤ綅鐘舵��")
-    @PostMapping("/updateEnableState")
-    @ResponseBody
-    public Result<Boolean> updateStatus(@RequestBody Integer enableState) {
-        boolean result = rawGlassStorageDetailsService.updateRawGlassStorageDetails(String.valueOf(enableState));
-        if (enableState == 1) {
-            return Result.build(1, "鍚敤", result);
-        } else {
-            return Result.build(0, "绂佺敤", result);
-        }
-    }
+  @Autowired private RawGlassStorageDetailsService rawGlassStorageDetailsService;
 
-    @ApiOperation("鍘熺墖鍏ュ簱")
-    @PostMapping("/patternWarehousing")
-    public Result<String> patternWarehousing(@Validated @RequestBody RawGlassRequest request) {
+  @ApiOperation("鍘熺墖鍏ュ簱")
+  @PostMapping("/patternWarehousing")
+  public Result<String> patternWarehousing(@Validated @RequestBody RawGlassRequest request) {
 
-        return Result.build(200, "鍏ュ簱宸插畬鎴愶紝绛夊緟浠诲姟鎵ц", rawGlassStorageDetailsService.patternWarehousing(request));
-
-    }
-
+    return Result.build(
+        200, "鍏ュ簱宸插畬鎴愶紝绛夊緟浠诲姟鎵ц", rawGlassStorageDetailsService.patternWarehousing(request));
+  }
 }
-
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
index 57237c0..c84cc4a 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/RawGlassStorageDetailsService.java
@@ -14,13 +14,6 @@
 
     List<RawGlassStorageDetails> selectDetails();
 
-    /**
-     * 瑕佸ぇ鍐欒繖涓�
-     *
-     * @param films_id
-     * @return
-     */
-    boolean updateRawGlassStorageDetails(String films_id);
 
     /**
      * 鍒犻櫎琛�  鍏堝湪杩欓噷鍒�  鐒跺悗鐐归偅涓浉鍏抽棶棰�
@@ -44,4 +37,5 @@
      * @return
      */
     String patternWarehousing(RawGlassRequest request);
+
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
index a71cc7f..13bab9a 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/service/impl/RawGlassStorageDetailsServiceImpl.java
@@ -1,7 +1,6 @@
 package com.mes.rawglassdetails.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.common.config.Const;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
@@ -21,18 +20,8 @@
 @Service
 @Slf4j
 public class RawGlassStorageDetailsServiceImpl extends ServiceImpl<RawGlassStorageDetailsMapper, RawGlassStorageDetails> implements RawGlassStorageDetailsService {
-
-    @Override
-    public boolean updateRawGlassStorageDetails(String films_id) {
-        UpdateWrapper<RawGlassStorageDetails> wrapper = new UpdateWrapper<>();  //杩欎釜绫诲瀷瀹氫箟閿欎簡锛屼笉搴旇鏄痶asking
-        wrapper.set("films_id", "1005")
-                .eq("films_id", films_id);
-
-        return update(wrapper);//杩欎釜鏂规硶榛樿杩斿洖鐨勫氨鏄痓ool绫诲瀷 鎵�鏈夊彲浠ョ洿鎺eturn杩欎釜鏂规硶锛宱k浜嗭紝浣犳甯稿垱寤烘柟娉曞幓涓婁竴灞傚垱
-    }
-
-    @Override
-    public boolean deleteRawGlassStorageDetails(String device_id) {
+  @Override
+  public boolean deleteRawGlassStorageDetails(String device_id) {
         QueryWrapper<RawGlassStorageDetails> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("device_id", device_id);
         return remove(queryWrapper);//remove鎵嶆槸鍒犻櫎锛宒elete寰楃敤鍙﹀鐨勪緷璧栵紝榛樿鏂规硶鏄痳emove杩斿洖bool
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
index 1b6dc42..9c60f56 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/controller/RawGlassStorageStationController.java
@@ -1,21 +1,34 @@
 package com.mes.rawglassstation.controller;
 
+import com.mes.rawglassstation.service.RawGlassStorageStationService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
 
 /**
- * <p>
- *  鍓嶇鎺у埗鍣�
- * </p>
+ * 鍓嶇鎺у埗鍣�
  *
  * @author wf
  * @since 2024-09-10
  */
 @RestController
-@RequestMapping("/raw-glass-storage-station")
+@RequestMapping("/rawGlassStorageStation")
 public class RawGlassStorageStationController {
 
+  @Resource RawGlassStorageStationService rawGlassStorageStationService;
+
+  @ApiOperation("宸ヤ綅鐘舵��")
+  @PostMapping("/updateSlotState")
+  @ResponseBody
+  public Result<Boolean> updateSlotState(@RequestBody Integer enableState, Integer slot) {
+    boolean result = rawGlassStorageStationService.updateSlotState(slot, enableState);
+    if (enableState == 1) {
+      return Result.build(1, "鍚敤", result);
+    } else {
+      return Result.build(0, "绂佺敤", result);
+    }
+  }
 }
 
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
index ba221fc..8f1db02 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/entity/RawGlassStorageStation.java
@@ -2,15 +2,12 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.io.Serializable;
+
 /**
- * <p>
- * 
- * </p>
- *
  * @author wf
  * @since 2024-09-10
  */
@@ -20,8 +17,8 @@
 
     private static final long serialVersionUID = 1L;
 
-      @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
+  @TableId(value = "id", type = IdType.AUTO)
+  private Long id;
 
     /**
      * 璁惧id
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/mapper/RawGlassStorageStationMapper.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/mapper/RawGlassStorageStationMapper.java
index 86c0b45..7195a73 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/mapper/RawGlassStorageStationMapper.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/mapper/RawGlassStorageStationMapper.java
@@ -1,8 +1,8 @@
 package com.mes.rawglassstation.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassstation.entity.RawGlassStorageStation;
-import com.mes.rawglasstask.entity.RawGlassStorageTask;
 
 import java.util.List;
 
@@ -16,5 +16,5 @@
  */
 public interface RawGlassStorageStationMapper extends BaseMapper<RawGlassStorageStation> {
 
-    List<RawGlassStorageTask> listRawGlassDetails();
+  List<RawGlassStorageDetails> listRawGlassDetails();
 }
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/RawGlassStorageStationService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/RawGlassStorageStationService.java
index ed790f1..91c2bf7 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/RawGlassStorageStationService.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/RawGlassStorageStationService.java
@@ -1,8 +1,8 @@
 package com.mes.rawglassstation.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassstation.entity.RawGlassStorageStation;
-import com.mes.rawglasstask.entity.RawGlassStorageTask;
 
 import java.util.List;
 
@@ -19,5 +19,12 @@
 
     boolean insertRawGlassStorageStation(RawGlassStorageStation rw);
 
-    List<RawGlassStorageTask> listRawGlassDetails();
+  /**
+   * 鑾峰彇宸ヤ綅鍙婂搴旂殑鍘熺墖淇℃伅
+   *
+   * @return
+   */
+  List<RawGlassStorageDetails> listRawGlassDetails();
+
+  boolean updateSlotState(Integer slot, Integer enableState);
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/impl/RawGlassStorageStationServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/impl/RawGlassStorageStationServiceImpl.java
index b976035..9d2b255 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/impl/RawGlassStorageStationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassstation/service/impl/RawGlassStorageStationServiceImpl.java
@@ -1,12 +1,13 @@
 package com.mes.rawglassstation.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassstation.entity.RawGlassStorageStation;
 import com.mes.rawglassstation.mapper.RawGlassStorageStationMapper;
 import com.mes.rawglassstation.service.RawGlassStorageStationService;
-import com.mes.rawglasstask.entity.RawGlassStorageTask;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -43,10 +44,16 @@
         return this.save(rw);
     }
 
-    @Override
-    public List<RawGlassStorageTask> listRawGlassDetails() {
+  @Override
+  public List<RawGlassStorageDetails> listRawGlassDetails() {
         return baseMapper.listRawGlassDetails();
     }
 
-
+  @Override
+  public boolean updateSlotState(Integer slot, Integer enableState) {
+    return update(
+        new LambdaUpdateWrapper<RawGlassStorageStation>()
+            .set(RawGlassStorageStation::getEnableState, enableState)
+            .eq(RawGlassStorageStation::getSlot, slot));
+  }
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java
index dd22447..5905cdc 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java
@@ -75,36 +75,36 @@
     /**
      * 娴嬭瘯
      */
-    @Test
-    public void testWebSocket() {
-        List<RawGlassStorageTask> list=rawGlassStorageTaskService.findAll();
-        log.info("杩斿洖鍐呭锛歿}",list);
-    }
+//    @Test
+//    public void testWebSocket() {
+//        List<RawGlassStorageTask> list=rawGlassStorageTaskService.findAll();
+//        log.info("杩斿洖鍐呭锛歿}",list);
+//    }
 
     /**
      * 娴嬭瘯淇敼WebSocket  鍙傛暟
      */
-    @Test
-    public void testWebSocketArgument() {
-        RawGlassTaskRequest request=new RawGlassTaskRequest();
-        //璁剧疆鍙傛暟锛�
-        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
-        Date startDate=null;
-        Date endDate=null;
-        try {
-            startDate= df.parse("2022-01-01");
-            endDate= df.parse("2025-01-01");
-        }catch (ParseException e){
-            e.printStackTrace();
-
-        request.setCreateTime(startDate);//
-        request.setPatternQuantity(endDate);
-        request.setEnableState(new ArrayList<Integer>());
-        request.setEnableType(new ArrayList<Integer>());
-        String list=rawGlassStorageTaskService.setRawGlassTaskRequest(request);
-        log.info("杩斿洖鍐呭锛歿}",list);
-    }
-    }
+//    @Test
+//    public void testWebSocketArgument() {
+//        RawGlassTaskRequest request=new RawGlassTaskRequest();
+//        //璁剧疆鍙傛暟锛�
+//        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+//        Date startDate=null;
+//        Date endDate=null;
+//        try {
+//            startDate= df.parse("2022-01-01");
+//            endDate= df.parse("2025-01-01");
+//        }catch (ParseException e){
+//            e.printStackTrace();
+//
+//        request.setCreateTime(startDate);//
+//        request.setPatternQuantity(endDate);
+//        request.setEnableState(new ArrayList<Integer>());
+//        request.setEnableType(new ArrayList<Integer>());
+//        String list=rawGlassStorageTaskService.setRawGlassTaskRequest(request);
+//        log.info("杩斿洖鍐呭锛歿}",list);
+//    }
+//    }
 
 
 
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
index 86343e1..089ecd4 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
@@ -70,39 +70,29 @@
         //灏嗙‘璁ゅ瓧缃负0
         plcControl.writeWord(plcParameterObject.getPlcParameter("confirmationWord").getAddress(), 0);
         //鍙兘鏈夊嚑鐐夌幓鐠冨悓鏃跺湪閽紝闇�瑕佽幏鍙栭挗鍖栧皬鐗囪〃涓殑鏁版嵁淇℃伅鐘舵�佷负2锛堟棆杞彴鐜荤拑宸查�佸嚭鏈挗鍖栵紝姝e湪閽㈠寲锛�
-        List<TemperingGlassInfo> temperingGlassInfoList = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
-                .eq(TemperingGlassInfo::getState, Const.TEMPERING_START));
+        List<TemperingGlassInfo> temperingGlassInfoList = temporaryGlassInfoService.list(
+                new LambdaQueryWrapper<TemperingGlassInfo>()
+                        .inSql(TemperingGlassInfo::getTemperingLayoutId, "select distinct tempering_layout_id from tempering_glass_info where state=1")
+                        .lt(TemperingGlassInfo::getState, Const.TEMPERING_START)
+        );
         if (CollectionUtils.isEmpty(temperingGlassInfoList)) {
             log.info("褰撳墠绯荤粺娌℃湁闇�瑕侀挗鍖栫殑鐜荤拑淇℃伅");
             return;
         }
-        TemperingGlassInfo maxGlassInfo = temperingGlassInfoList.stream().max(Comparator.comparingLong(TemperingGlassInfo::getId)).get();
+        TemperingGlassInfo minGlassInfo = temperingGlassInfoList.stream().min(Comparator.comparingLong(TemperingGlassInfo::getState)).get();
+        if (minGlassInfo.getState() < Const.TEMPERING_DROP) {
+            log.info("褰撳墠鐐夌幓鐠冩湭鍒伴綈锛岀◢鍚庡湪鎵ц");
+            return;
+        }
         //鎷垮埌宸ョ▼id鍙婄倝鍙�
-//        List<EngineerTemperingDTO> engineerTemperingList = temperingGlassInfoList.stream().map(e -> {
-//            EngineerTemperingDTO engineerTemperingDTO = new EngineerTemperingDTO();
-//            BeanUtils.copyProperties(e, engineerTemperingDTO);
-//            return engineerTemperingDTO;
-//        }).distinct().collect(Collectors.toList());
-        //灏嗘鍦ㄩ挗鍖栫殑鐐夊彿杩囨护鎺夛紝浠呰幏鍙栧緟閽㈠寲鐨勭幓鐠�
-//        List<TemperingRecord> temperingRecords = temperingRecordService.list(new LambdaQueryWrapper<TemperingRecord>().and(i -> i.isNull(TemperingRecord::getCoolEnergy).or().eq(TemperingRecord::getCoolEnergy, "")));
-//        List<EngineerTemperingDTO> temperingList = new ArrayList<>();
-//        if (CollectionUtils.isNotEmpty(temperingRecords)) {
-//            temperingList = temperingRecords.stream().map(e -> {
-//                EngineerTemperingDTO engineerTemperingDTO = new EngineerTemperingDTO();
-//                BeanUtils.copyProperties(e, engineerTemperingDTO);
-//                return engineerTemperingDTO;
-//            }).collect(Collectors.toList());
-//        }
-//        engineerTemperingList.removeAll(temperingList);
-//        if (CollectionUtils.isEmpty(engineerTemperingList)) {
-//            log.info("娌℃湁寰呴挗鍖栫殑浠诲姟锛岀粨鏉�");
-//            return;
-//        }
-//        if (engineerTemperingList.size() > 1) {
-//            log.info("瀛樺湪澶氱倝寰呴挗鍖栫殑浠诲姟锛岃妫�鏌ョ幇鍦烘槸鍚︽湁寮傚父鏁版嵁鏈鐞�");
-//            return;
-//        }
-//        EngineerTemperingDTO temperingDTO = engineerTemperingList.get(0);
+        TemperingGlassInfo maxGlassInfo = temperingGlassInfoList.stream().max(Comparator.comparingLong(TemperingGlassInfo::getId)).get();
+        //灏嗘鍦ㄩ挗鍖栫殑鐐夊彿杩囨护鎺夛紝浠呰幏鍙栧緟閽㈠寲鐨勭幓鐠�:鍒ゆ柇寰呴挗鐨勭幓鐠冩槸鍚﹀凡鍙戦�佸鎺ユ暟鎹�
+        List<TemperingRecord> temperingRecordList = temperingRecordService.list(new LambdaQueryWrapper<TemperingRecord>().eq(TemperingRecord::getEngineerId, maxGlassInfo.getEngineerId())
+                .eq(TemperingRecord::getTemperingLayoutId, maxGlassInfo.getTemperingLayoutId()));
+        if (CollectionUtils.isNotEmpty(temperingRecordList)) {
+            log.info("娌℃湁寰呴挗鍖栫殑浠诲姟锛岀粨鏉�");
+            return;
+        }
         //鑾峰彇寰呴挗鍖栫殑鎵�鏈夌幓鐠冧俊鎭�
         List<TemperingGlassInfo> temperingGlassList = temperingGlassInfoList.stream()
                 .filter(e -> e.getEngineerId().equals(maxGlassInfo.getEngineerId())

--
Gitblit v1.8.0