From d1f7ca24bfba95331f81f0b7a0d48739e6850262 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 20 九月 2024 15:49:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 UI-Project/src/views/GlassStorage/rawfilmstorage.vue                                                                                           |  101 +---
 UI-Project/src/views/Identify/identify.vue                                                                                                     |   31 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java                                        |   10 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml                                                        |    2 
 hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml                                                              |   79 ++-
 hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java                                    |   47 ++
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                                                           |   62 ++-
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/RawGlassStorageTaskService.java                  |   22 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java                                                        |    3 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java       |    6 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglassdetails/controller/RawGlassStorageDetailsController.java      |   12 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java         |    8 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java               |  172 +++++---
 UI-Project/src/views/UnLoadGlass/PrintFlow.vue                                                                                                 |   19 
 UI-Project/config.js                                                                                                                           |    8 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/push.java                                                         |    4 
 UI-Project/src/views/StockBasicData/stockBasicData.vue                                                                                         |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                                 |   43 ++
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/request/RawGlassTaskRequest.java                  |   39 ++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java                    |   42 +
 UI-Project/src/lang/zh.js                                                                                                                      |   62 +++
 UI-Project/src/views/ReportWork/reportWork.vue                                                                                                 |   32 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java   |    2 
 UI-Project/src/utils/constants.js                                                                                                              |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml                                                    |    6 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java                                                   |   10 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java                                                                  |   10 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java                                                      |    6 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java                                             |    4 
 /dev/null                                                                                                                                      |   47 --
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java                                          |  147 +++++++
 UI-Project/src/router/index.js                                                                                                                 |   13 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassRawGlassStorageTaskServiceImpl.java |   56 ++
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/controller/RawGlassStorageTaskController.java            |    8 
 34 files changed, 779 insertions(+), 340 deletions(-)

diff --git a/UI-Project/config.js b/UI-Project/config.js
index 8801d0c..9a4f798 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,10 +1,10 @@
 export default {
-//  serverUrl: "10.153.19.150:88/api",
+ serverUrl: "10.153.19.150:88/api",
 //  serverUrl: "192.168.1.199:88/api",
- serverUrl: "127.0.0.1:88/api",
-  // serverUrl2: "10.153.19.150:88"
+//  serverUrl: "127.0.0.1:88/api",
+  serverUrl2: "10.153.19.150:88"
   // serverUrl2: "192.168.1.199:88"
-    serverUrl2: "127.0.0.1:88"
+    // serverUrl2: "127.0.0.1:88"
 
   //serverUrl:"res.abeim.cn"
 }
\ No newline at end of file
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 8b3595d..0aec075 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -509,5 +509,65 @@
         presponsibleequipment :'璇烽�夋嫨璐d换璁惧',
         remark :'澶囨敞',
         premark :'璇疯緭鍏ュ娉�',
-    }
+    },
+    film:{
+        mes:'鍘熺墖浠撳偍璇︽儏',
+        warehousing:'鍏ュ簱',
+        operate: '鎿嶄綔',
+        exit:'缂栬緫',
+        delete:'鍒犻櫎',
+        outbound:'鍑哄簱',
+        deviceid:'璁惧ID',
+        slot:'鏍呮牸鍙�',
+        enablestatea:'鍚敤鏍囪',
+        disable:'绂佺敤',
+        start:'鍚敤',
+        startslot:'寮�濮嬪伐浣�',
+        endslot:'鐩爣宸ヤ綅',
+        slotid:'鏍煎瓙ID',
+        width:'鍘熺墖瀹�',
+        widtha:'鍘熺墖瀹斤細',
+        inwidth:'璇疯緭鍏ュ師鐗囧',
+        height:'鍘熺墖楂�',
+        inheight:'璇疯緭鍏ュ師鐗囬珮',
+        heighta:'鍘熺墖楂橈細',
+        thickness:'鍘熺墖鍘氬害',
+        inthickness:'璇疯緭鍏ュ師鐗囧帤搴�',
+        thicknessa:'鍘熺墖鍘氬害锛�',
+        films:'鑶滅郴',
+        infilms:'璇疯緭鍏ヨ啘绯�',
+        filmsa:'鑶滅郴锛�',
+        createtime:'鍒涘缓鏃堕棿',
+        remainquantity:'鍓╀綑鏁伴噺',
+        thickremainquantity:'鍘熺墖鍓╀綑鏁伴噺锛堝紶锛夛細',
+        inquantity:'璇疯緭鍏ユ暟閲�',
+        quantitya:'鏁伴噺锛�',
+        enableid:'浠诲姟ID',
+        originateslot:'璧峰鏍煎瓙',
+        endslot:'鐩爣鏍煎瓙',
+        patternquantity:'鍘熺墖鏁伴噺',
+        enabletype:'浠诲姟绫诲瀷',
+        enablestate:'宸ヤ綅鐘舵��',
+        finish:'宸插畬鎴�',
+        unfinish:'鏈畬鎴�',
+        dedelete:'鏄惁鍒犻櫎璇ユ潯鍐呭锛�',
+        dedisable:'鏄惁绂佺敤璇ユ潯鍐呭锛�',
+        deoutbound:'鏄惁鍑哄簱璇ユ潯鍐呭锛�',
+        selectwarehousing:'璇烽�夋嫨鍚婅浣�',
+        inwarehousing:'鍚婅浣嶏細',
+        warehousing1:'鍚婅浣�1',
+        warehousing2:'鍚婅浣�2',
+        starttime :'寮�濮嬫椂闂�',
+        endtime :'缁撴潫鏃堕棿',
+        taskstatus :'浠诲姟鐘舵��',
+        built :'鏂板缓',
+        execution :'鎵ц涓�',
+        finish :'瀹屾垚',
+        tasktype :'浠诲姟绫诲瀷',
+        stocke :'鍏ュ簱',
+        outbound :'鍑哄簱',
+        dispatch :'璋冨害',
+        inquire :'鏌ヨ',
+        station :'宸ヤ綅',
+    },
 }
\ No newline at end of file
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index d790e4b..f492054 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -186,19 +186,24 @@
             }
           ]
         },
-
-        {
+         /*----------- 浠撳偍涓績 ----------------*/
+         {
           path: 'GlassStorage',
           name: 'GlassStorage',
-          component: () => import('../views/GlassStorage/MaterialRackManagement.vue'),
+          component: () => import('../views/GlassStorage/GlassStorage.vue'),
           children:[
             {
               path: '/GlassStorage/MaterialRackManagement',
               name: 'MaterialRackManagement',
               component: () => import('../views/GlassStorage/MaterialRackManagement.vue')
+            },
+            {
+              path: '/GlassStorage/rawfilmstorage',
+              name: 'rawfilmstorage',
+              component: () => import('../views/GlassStorage/rawfilmstorage.vue')
             }
           ]
-         },
+        },
 
          /*----------- 鍙鍖栫郴缁� ----------------*/
          {
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 69000bc..b551cfb 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,4 +1,4 @@
 //  export const WebSocketHost = "192.168.1.199";
-// export const WebSocketHost = "10.153.19.150";
-export const WebSocketHost = "127.0.0.1";
+export const WebSocketHost = "10.153.19.150";
+// export const WebSocketHost = "127.0.0.1";
 export const host = "88";
\ No newline at end of file
diff --git a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
index bfdf487..f78f2ff 100644
--- a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
+++ b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -18,6 +18,7 @@
 const dialogFormVisibleb = ref(false)
 const dialogFormVisiblec = ref(false)
 const timeRange = ref(["2022-01-01", "2025-01-01"])
+const selectValuesa = reactive([]);
 let webSocket: WebSocket | null = null;  
 const value = ref('')
 const options = [
@@ -35,62 +36,25 @@
   enableState: '',
 });
 onMounted(() => {
-    connectWebSocket();  
-    // socket = initializeWebSocket(socketUrl, handleMessage);
+    socket = initializeWebSocket(socketUrl, handleMessage);
 });
-onUnmounted(() => {  
-  if (webSocket) {  
-    webSocket.close();  
-  }  
-});
-  // onUnmounted(() => {
-  //   if (socket) {
-  //   closeWebSocket(socket);
-  //   }
-  //   });
+  onUnmounted(() => {
+    if (socket) {
+    closeWebSocket(socket);
+    }
+    });
 let socket = null;
-const connectWebSocket = () => {  
-  if (!webSocket) {  
-    const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
-    webSocket = new WebSocket(socketUrl);  
-    webSocket.onmessage = (event) => {  
-      const data = JSON.parse(event.data);
-       if(data.tasks !=null){
-        tableDataa.value = data.tasks[0]
-        console.log(data.tasks[0]);
-        
-        }
-        if(data.rack !=null){
-        tableDatab.value = data.rack[0]
-        }
-    //   const data = JSON.parse(event.data);  
-    //   const scaleFactor =  1621.78/6000; 
-    //   const scaleFactory =  750/3300; 
-    //   if (data.currentCutTerritory && data.currentCutTerritory.length > 0) {
-    //   const newRects = data.currentCutTerritory[0].map(rect => {  
-    //     const existingRect = adjustedRects.value.find(r => r.glass_id === rect.glass_id);  
-        
-    
-    //   });
-    //   adjustedRects.value = newRects;  
-    //  } 
-    };  
-  }
-};  
-// const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
-// const handleMessage = (data) => {
-//   // if(data.tasks!=null){
-//   // tableData.splice(0, tableData.length, ...data.prioritylist[0]);
-//   // }
-//   if(data.tasks !=null){
-//   tableDataa.value = data.tasks[0]
-//   console.log(data.tasks[0]);
+const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`;
+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.rack !=null){
+  tableDatab.value = data.rack[0]
+  }
+};
   // 鍒犻櫎 
  const opena = async(row) => {  
   try {
@@ -165,21 +129,29 @@
 }; 
 // 鏌ヨ鏁版嵁
 const selectReportData = async () => {
+  let celllist=[]
+  let stateList=[]
+  if(selectValuesa[0]!=null&&selectValuesa[0]!='undefined'){
+    if(selectValuesa[0]!=""){
+      celllist=[selectValuesa[0]];
+    }
+  }
+  if(selectValuesa[1]!=null&&selectValuesa[1]!='undefined'){
+    if(selectValuesa[1]!=""){
+      stateList=[selectValuesa[1]];
+    }
+  }
   const response = await request.post("/glassStorage/raw_glass_storage_task/selectRawglasstask", {
     createTime: timeRange.value[0],
     patternQuantity: timeRange.value[1],
-    enableType: report.value.enableType,
-    enableState: report.value.enableState
+    enableType: stateList,
+    enableState: celllist
   })
   if (response.code === 200) {
     tableDataa.value = response.data;
     ElMessage.success(response.message);
-    if (webSocket) {  
-        webSocket.close();  
-        webSocket = null;
-      }  
-  } else {
-    connectWebSocket();
+  } 
+  else {
     ElMessage.error(response.message);
   }
 };
@@ -199,8 +171,7 @@
     } else {  
       ElMessage.error(response.message);  
     }  
-  } catch (error) {  
-    // 澶勭悊璇锋眰閿欒  
+  } catch (error) {
     ElMessage.error(t('basicData.glassnull'));   
   }  
 }; 
@@ -258,12 +229,12 @@
   <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-select v-model="report.enableType" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;" >
+    <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>
       <el-option :label="$t('film.finish')" value="3"></el-option>
     </el-select>
-    <el-select v-model="report.enableState" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px;" >
+    <el-select v-model="selectValuesa[1]" clearable :placeholder="$t('film.tasktype')" style="margin-left: 10px;" >
       <el-option :label="$t('film.stocke')" value="1"></el-option>
       <el-option :label="$t('film.outbound')" value="2"></el-option>
       <el-option :label="$t('film.dispatch')" value="3"></el-option>
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 8d2760c..68220a4 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -35,10 +35,10 @@
    </div>
   </el-scrollbar>
   <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
-        <el-button :disabled="currentGlassRect?.glass_state === 8" type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)"  style="width: 140px;margin-left: 10px;">
+        <el-button :disabled="currentGlassRect?.glass_state === 8 || currentGlassRect?.glass_state === 9" type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)"  style="width: 140px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
-        <el-button :disabled="currentGlassRect?.glass_state === 9" type="danger" plain @click="handleManualTake(currentGlassId)" style="width: 140px;margin-top: 10px;">
+        <el-button :disabled="currentGlassRect?.glass_state === 9 || currentGlassRect?.glass_state === 8" type="danger" plain @click="handleManualTake(currentGlassId)" style="width: 140px;margin-top: 10px;">
           <el-icon class="el-icon--right"><Upload /></el-icon>
           {{ $t('order.takeaway') }}</el-button>
   </el-dialog> 
@@ -66,7 +66,7 @@
 let webSocket: WebSocket | null = null;  
 const totalPages = ref(0);
 const pageSize = ref(1);
-const currentPage = ref(1);
+const currentPage = ref('');
 const disabled = false;
 const size = 'small';
 const rawData = ref([]);
@@ -74,7 +74,7 @@
 //   blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
 // };
 // 鏄剧ず瀵硅瘽妗嗗苟璁剧疆褰撳墠 glass_id  
-const currentGlassRect = computed(() => {  
+const currentGlassRect = computed(() => {
   return adjustedRects.value.find(rect => rect.glass_id === currentGlassId.value);  
 }); 
 function showDialog(glassId: number) {
@@ -93,9 +93,6 @@
 // 鐮存崯
 const handleDamage = async () => {
   try  {
-    // var url="/cacheGlass/taskCache/identControls?identId="+currentGlassId.value+'&controlsId='+201;
-    //   console.log(url);
-    //   const response = await request.post(url)
   const response = await request.post('/cacheGlass/taskCache/identControls', {
     glassId: currentGlassId.value,
     state: 8,
@@ -107,7 +104,8 @@
       // window.location.reload() 
       blind.value = false;
       updateRectStatus(currentGlassId.value, 8); 
-  } else {
+      findEngineering()
+    } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
     }
@@ -135,6 +133,7 @@
       // window.location.reload() 
       blind.value = false;
       updateRectStatus(currentGlassId.value, 9); 
+      findEngineering()
   } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -145,7 +144,7 @@
     console.error(error);
   }
 }
-const handleBlur = async () => {  
+const handleBlur = async () => {
   if (inputValue.value) {  
     var url="/cacheGlass/taskCache/cutTerritory?current="+inputValue.value;
     const response = await request.post(url)
@@ -170,14 +169,26 @@
         webSocket.close();  
         webSocket = null;
       }  
-       currentPage.value = 1;  
+       currentPage.value = 1;
     }  
   } else{
     connectWebSocket();
   } 
 }; 
+const findEngineering = async () => {
+  if (inputValue.value) {  
+    var url="/cacheGlass/taskCache/cutTerritory?current="+inputValue.value;
+    const response = await request.post(url)
+    if (response.code === 200) {
+      rawData.value = response.data;
+    }  
+  } else{
+  } 
+}; 
+
 const handleCurrentChange = (val: number) => {  
   currentPage.value = val;
+  // window.localStorage.setItem('pagenumber', currentPage.value).
   const page = currentPage.value - 1
       const scaleFactor =  1621.78/6000; 
       const scaleFactory =  750/3300; 
diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue
index 7b6a6e9..c50a0cb 100644
--- a/UI-Project/src/views/ReportWork/reportWork.vue
+++ b/UI-Project/src/views/ReportWork/reportWork.vue
@@ -178,13 +178,13 @@
     ElMessage.error(response.message);
   }
 
-  const responses = await request.post("/cacheVerticalGlass/damage/insertDamage", {
-    glassId:"P24060403|3|6",
-    line:"2001",
-    workingProcedure:"鍐峰姞宸�",
-    remark:"",
-    status:"2"
-  })
+  // const responses = await request.post("/cacheVerticalGlass/damage/insertDamage", {
+  //   glassId:"P24081502|1|1",
+  //   line:"1001",
+  //   workingProcedure:"鍒囧壊",
+  //   remark:"",
+  //   status:"0"
+  // })
 };
 // 鎶ュ伐
 const handleConfirm = async () => {
@@ -225,23 +225,23 @@
 };
 fetchTableData();  
 let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
-const handleMessage = (data) => {
+// const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`;
+// const handleMessage = (data) => {
   // adjustedRects.value = data.device[0].map(rect => ({  
   //       ...rect, 
   //       completed: rect.completedQuantity,
   //       breakage: rect.breakageQuantity,
   //       thisProcess: rect.thisProcess,
   //     })); 
-};
+// };
 // let socket;
 onMounted(() => {
-  socket = new WebSocket(socketUrl);
-  socket.onmessage = (event) => {
-    const data = JSON.parse(event.data);
+  // socket = new WebSocket(socketUrl);
+  // socket.onmessage = (event) => {
+  //   const data = JSON.parse(event.data);
 
-    // updateCharts();
-  };
+  //   // updateCharts();
+  // };
   // };  
 });
 onUnmounted(() => {
@@ -249,7 +249,7 @@
 });
 onMounted(() => {
   fetchTableData();
-  socket = initializeWebSocket(socketUrl, handleMessage);
+  // socket = initializeWebSocket(socketUrl, handleMessage);
 });
   onUnmounted(() => {
     if (socket) {
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
index 2e08076..3c0ee64 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -133,7 +133,7 @@
   }  
 };   
 let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/edgTasks`;
 // 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
 const handleMessage = (data) => {
   // 鏇存柊 tableData 鐨勬暟鎹�
diff --git a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
index fa5a0e8..ff1c579 100644
--- a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
+++ b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
@@ -51,8 +51,12 @@
     let totalQuantity1 = 0;
     //闈㈢Н
     let totalArea = 0;
+    //钀芥灦闈㈢Н
+    let totalArea1 = 0;
     //閲嶉噺
     let totalWeight = 0;
+    //钀芥灦閲嶉噺
+    let totalWeight1 = 0;
     // 瀵规瘡涓泦鍚堜腑鐨� detailList 杩涜璁$畻
     produceList.value[i].detailList.forEach(collection => {
       totalQuantity += collection.quantity * 1;
@@ -60,15 +64,22 @@
       //姣忎釜搴忓彿闈㈢Н
       collection.total_area = parseFloat((collection.width * collection.height * collection.quantity / 1000000).toFixed(2))
       totalArea += collection.total_area * 1;
+
+      collection.total_area1 = parseFloat((collection.width * collection.height * collection.quantity1 / 1000000).toFixed(2))
+      totalArea1 += collection.total_area1 * 1;
+
       totalWeight += collection.width * collection.height * collection.quantity / 1000000 * collection.separation * 2.5 * 1;
+      totalWeight1 += collection.width * collection.height * collection.quantity1 / 1000000 * collection.separation * 2.5 * 1;
       //姣忎釜搴忓彿鍛ㄩ暱
       collection.perimeter = parseFloat(((collection.width * 2 + collection.height * 2) * collection.quantity / 1000).toFixed(3))
     });
     // 杈撳嚭姣忎釜闆嗗悎涓殑鎬绘暟閲�
     produceList.value[i].detail[0].quantity = totalQuantity
-    produceList.value[i].detail[0].quantity1 = totalQuantity
+    produceList.value[i].detail[0].quantity1 = totalQuantity1
     produceList.value[i].detail[0].gross_area = totalArea
+    produceList.value[i].detail[0].gross_area1 = totalArea1
     produceList.value[i].detail[0].weight = totalWeight
+    produceList.value[i].detail[0].weight1 = totalWeight1
   }
 }
 
@@ -242,12 +253,16 @@
         <td v-for="(itemsum,index) in item.detail" :key="index" colspan="29">
           鏁伴噺锛�
           <label>{{ itemsum.quantity }}</label>
-          钀藉姞鏁伴噺锛�
+          钀芥灦鏁伴噺锛�
           <label>{{ itemsum.quantity1 }}</label>
           闈㈢Н锛�
           <label>{{ parseFloat(itemsum.gross_area.toFixed(2)) }}</label>
+          钀芥灦闈㈢Н锛�
+          <label>{{ parseFloat(itemsum.gross_area1.toFixed(2)) }}</label>
           閲嶉噺锛�
           <label>{{ parseFloat(itemsum.weight.toFixed(2)) }}</label>
+          钀芥灦閲嶉噺锛�
+          <label>{{ parseFloat(itemsum.weight1.toFixed(2)) }}</label>
         </td>
       </tr>
       <tr v-for="(itemtextarea,index) in item.detail" :key="index">
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index e469c90..5a918af 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -214,10 +214,26 @@
     autoPrint.value = data.autoPrint[0];
   }
   if (data.takeGlass != null) {
+      
     takeGlass.value = data.takeGlass[0];
+      // takeGlass.value 鏄竴涓┖瀵硅薄
+      let width = takeGlass.value.width;
+      let height = takeGlass.value.height;
+      if (width < height) {
+        takeGlass.value.width = height;
+        takeGlass.value.height = width;
+      }
+
+
   }
   if (data.scanGlass != null) {
     scanGlass.value = data.scanGlass[0];
+    let width = scanGlass.value.width;
+    let height = scanGlass.value.height;
+    if (width < height) {
+      scanGlass.value.width = height;
+      scanGlass.value.height = width;
+    }
   }
 
   //鑷姩鎵撳嵃
@@ -493,8 +509,8 @@
           </el-date-picker>
 
           <el-button type="primary" style="margin-left: 10px;" @click="selectDownGlassData()">{{
-        $t('reportmanage.inquire')
-      }}
+            $t('reportmanage.inquire')
+          }}
           </el-button>
           <el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="downGlass"
             :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
@@ -512,34 +528,36 @@
         </el-dialog>
         <el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" :title="$t('浜哄伐涓嬬墖淇℃伅')">
           <div style="display:flex;justify-content: space-around;">
-            <el-card style="display: flex; justify-content: center; align-items: center; width:800px; height: 800px;position: relative;">
+            <el-card
+              style="display: flex; justify-content: center; align-items: center; width:800px; height: 800px;position: relative;">
               <div
-                :style="{  width: takeGlass.width + 'px', height: takeGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (takeGlass.width > takeGlass.height ? takeGlass.width : takeGlass.height) + ')' }">
-                
+                :style="{ width: takeGlass.width + 'px', height: takeGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (takeGlass.width > takeGlass.height ? takeGlass.width : takeGlass.height) + ')' }">
+
               </div>
-              <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
-                  <div>浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅</div>
-                  <div>{{ takeGlass.flowCardId }}</div>
-                  <div>{{ takeGlass.layer }}</div>
-                  <div>{{ takeGlass.glassId }}</div>
-                  <div>{{ takeGlass.width }}</div>
-                  <div>{{ takeGlass.height }}</div>
-                </div>
+              <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:170px;">
+                <div>浜哄伐涓嬬墖褰撳墠鐜荤拑淇℃伅</div>
+                <div>{{ takeGlass.flowCardId }}</div>
+                <div>{{ takeGlass.layer }}</div>
+                <div>{{ takeGlass.glassId }}</div>
+                <div>{{ takeGlass.width }}</div>
+                <div>{{ takeGlass.height }}</div>
+              </div>
             </el-card>
-            <el-card style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
+            <el-card
+              style="display: flex; justify-content: center; align-items: center; width: 800px; height: 800px;position: relative;">
               <div
                 :style="{ width: scanGlass.width + 'px', height: scanGlass.height + 'px', backgroundColor: '#e1f3d8', transform: 'scale(' + 800 / (scanGlass.width > scanGlass.height ? scanGlass.width : scanGlass.height) + ')' }">
-                
+
               </div>
               <div style="font-size: 50px; text-align: center;position: absolute;top:0px;left:200px;">
-                  <div>鎵爜鏋綋鍓嶇幓鐠冧俊鎭�</div>
-                  <div>{{ scanGlass.flowCardId }}</div>
-                  <div>{{ scanGlass.layer }}</div>
-                  <div>{{ scanGlass.glassId }}</div>
-                  <div>{{ scanGlass.width }}</div>
-                  <div>{{ scanGlass.height }}</div>
+                <div>鎵爜鏋綋鍓嶇幓鐠冧俊鎭�</div>
+                <div>{{ scanGlass.flowCardId }}</div>
+                <div>{{ scanGlass.layer }}</div>
+                <div>{{ scanGlass.glassId }}</div>
+                <div>{{ scanGlass.width }}</div>
+                <div>{{ scanGlass.height }}</div>
 
-                </div>
+              </div>
             </el-card>
           </div>
         </el-dialog>
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 295e4fd..5b5dcb7 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
@@ -1,7 +1,6 @@
 package com.mes.damage.controller;
 
 
-import cn.hutool.core.date.DateTime;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.entity.DamagePrint;
 import com.mes.damage.service.DamageService;
@@ -11,7 +10,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -39,7 +37,7 @@
         int type =Integer.parseInt(map.get("type").toString());
         int status =Integer.parseInt(map.get("status").toString());
         String workingProcedure =map.get("workingProcedure").toString();
-        return Result.build(200,"鏌ヨ鎴愬姛",damageService.selectDamage(startTime,endTime,type,status,workingProcedure));
+        return Result.build(200,"鏌ヨ鎴愬姛",damageService.selectDamage(startTime,endTime,type, workingProcedure));
     }
 
     @ApiOperation("鎶ュ伐")
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 db1b3b5..cfa07e3 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
@@ -1,12 +1,12 @@
 package com.mes.damage.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.entity.DamagePrint;
+import com.mes.pp.entity.ReportingWork;
+import com.mes.pp.entity.ReportingWorkDetail;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
@@ -18,9 +18,11 @@
  */
 public interface DamageService extends MPJBaseService<Damage> {
 
-    List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
+    List<Damage> selectDamage(String startTime, String endTime, int type, String workingProcedure);
 
     void submitDamage(List<Damage> damageList);
+
+    void submitReport(Damage damage);
 
     /**
      * 鍗曚釜鐮存崯
@@ -41,4 +43,6 @@
     List<DamagePrint> selectDamagePrintDetails(Damage damage);
 
     void deleteByGlassId(String glassId);
+
+    void sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails);
 }
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 b37edb4..22b38e1 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
@@ -1,8 +1,9 @@
 package com.mes.damage.service.impl;
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
 import com.mes.common.config.Const;
@@ -12,17 +13,23 @@
 import com.mes.damage.service.DamageService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.pp.entity.ReportingWork;
+import com.mes.pp.entity.ReportingWorkDetail;
 import com.mes.work_assignment.entity.WorkAssignment;
 import com.mes.work_assignment.mapper.WorkAssignmentMapper;
 import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import java.sql.Timestamp;
 import java.time.LocalDateTime;
-import java.util.Collections;
-import java.util.HashMap;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -42,8 +49,6 @@
     GlassInfoMapper glassInfoMapper;
     @Resource
     WorkAssignmentMapper workAssignmentMapper;
-    @Autowired
-    private DamageMapper damageMapper;
 
     /**
      * 鏌ヨ鎶ュ伐淇℃伅
@@ -76,22 +81,74 @@
     public void submitDamage(List<Damage> damageList) {
         Map<String, List<Damage>> firstMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":"
                 + e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName()));
-
         for (Map.Entry<String, List<Damage>> entry : firstMap.entrySet()) {
+            ReportingWork reportingWork = new ReportingWork();
+            List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
             String key = entry.getKey();
             List<Damage> damages = entry.getValue();
+            for (Damage damage:damages
+                 ) {
+                reportingWork.setOrderId(damage.getProcessId().substring(0, 10));
+                reportingWork.setProductionId(damage.getProcessId().substring(0,11));
+                reportingWork.setProcessId(damage.getProcessId()+"/"+damage.getTechnologyNumber());
+                reportingWork.setDeviceName(damage.getDeviceName());
+                reportingWork.setThisProcess(damage.getWorkingProcedure());
+                reportingWork.setThisCompletedQuantity(1);
+                reportingWork.setThisWornQuantity(0);
+                reportingWork.setClasses("鏃╃彮");
+                reportingWork.setReportingWorkTime(LocalDateTime.now());
+                reportingWork.setTeamsGroupsName(damage.getTeamsGroupsName());
+                reportingWork.setCreator("auto");
+                System.out.println("Key: " + key);
+            }
 
-            System.out.println("Key: " + key);
 
             Map<String, List<Damage>> secondMap = damageList.stream().collect(Collectors.groupingBy(e -> e.getProcessId() + ":"
                     + e.getWorkingProcedure() + ":" + e.getDeviceName() + ":" + e.getTeamsGroupsName()));
 
             for (Map.Entry<String, List<Damage>> entrys : secondMap.entrySet()) {
+                List<Damage> damagesdetail = entrys.getValue();
 
+
+                for (Damage damage:damagesdetail
+                     ) {
+                    ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
+                    reportingWorkDetail.setTechnologyNumber(damage.getTechnologyNumber());
+                    reportingWorkDetail.setOrderNumber(damage.getOrderNumber());
+                    reportingWorkDetail.setCompletedQuantity(1);
+                    reportingWorkDetail.setBreakageQuantity(0);
+                    reportingWorkDetails.add(reportingWorkDetail);
+
+                }
             }
+            sendToERP(reportingWork,reportingWorkDetails);
         }
+    }
 
+    @Override
+    public void submitReport(Damage damage) {
+        ReportingWork reportingWork = new ReportingWork();
+        reportingWork.setOrderId(damage.getProcessId().substring(0, 10));
+        reportingWork.setProductionId(damage.getProcessId().substring(0,11));
+        reportingWork.setProcessId(damage.getProcessId()+"/"+damage.getTechnologyNumber());
+        reportingWork.setDeviceName(damage.getDeviceName());
+        reportingWork.setThisProcess(damage.getWorkingProcedure());
+//        reportingWork.setNextProcess("纾ㄨ竟");
+        reportingWork.setThisCompletedQuantity(1);
+        reportingWork.setThisWornQuantity(0);
+        reportingWork.setClasses("鏃╃彮");
+        reportingWork.setReportingWorkTime(LocalDateTime.now());
+        reportingWork.setTeamsGroupsName(damage.getTeamsGroupsName());
+        reportingWork.setCreator("auto");
 
+        List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
+        ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
+        reportingWorkDetail.setTechnologyNumber(damage.getTechnologyNumber());
+        reportingWorkDetail.setOrderNumber(damage.getOrderNumber());
+        reportingWorkDetail.setCompletedQuantity(1);
+        reportingWorkDetail.setBreakageQuantity(0);
+        reportingWorkDetails.add(reportingWorkDetail);
+        sendToERP(reportingWork,reportingWorkDetails);
     }
 
     /**
@@ -117,6 +174,13 @@
         damage.setOrderNumber(glassInfo.getGlassType());
         damage.setTechnologyNumber(glassInfo.getLayer());
         damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now()));
+        if (damage.getType() == null) {
+            damage.setType(1);
+        }
+        if (damage.getType() == 1) {
+            damage.setStatus(2);
+            submitReport(damage);
+        }
         baseMapper.insert(damage);
     }
 
@@ -161,7 +225,7 @@
         if (damage.getEngineerId() != null) {
             listDamage.eq("t.engineer_id", damage.getEngineerId());
         }
-        return damageMapper.selectJoinList(DamagePrint.class, listDamage);
+        return baseMapper.selectJoinList(DamagePrint.class, listDamage);
     }
 
     /**
@@ -169,7 +233,7 @@
      */
     @Override
     public List<DamagePrint> selectDamagePrintDetails(Damage damage) {
-        List<DamagePrint> listDamage = damageMapper.selectJoinList(DamagePrint.class, new MPJQueryWrapper<Damage>()
+        List<DamagePrint> listDamage = baseMapper.selectJoinList(DamagePrint.class, new MPJQueryWrapper<Damage>()
                 .select("b.flow_card_id,b.layer,t.engineer_id,b.tempering_layout_id,b.tempering_feed_sequence,t.glass_id,b.width,b.height,b.thickness")
                 .leftJoin("glass_info as b  on t.glass_id=b.glass_id")
                 .eq("t.working_procedure", damage.getWorkingProcedure())
@@ -187,4 +251,65 @@
                         .in(Damage::getType, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
         );
     }
+
+    @Override
+    public void sendToERP(ReportingWork reportingWork, List<ReportingWorkDetail> reportingWorkDetails){
+        try {
+            // 鐩爣绯荤粺鐨凙PI URL
+            String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn";
+            URL obj = new URL(url);
+            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+
+            // 璁剧疆璇锋眰鏂规硶鍜岃姹傚ご
+            con.setRequestMethod("POST");
+            con.setRequestProperty("Content-Type", "application/json; utf-8");
+            con.setRequestProperty("Accept", "application/json");
+            con.setDoOutput(true);
+
+            // 鍒涘缓 JSON 瀵硅薄
+            JSONObject result = new JSONObject();
+
+            ObjectMapper objectMapper = new ObjectMapper();
+
+            // 灏� ReportingWork 杞崲涓� JSONObject
+            JSONObject reportingWorkJson = new JSONObject(objectMapper.writeValueAsString(reportingWork));
+            reportingWorkJson.put("reportingWorkTime", reportingWork.getReportingWorkTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
+            // 灏� ReportingWorkDetail 鍒楄〃杞崲涓� JSONArray
+            JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails));
+
+            // 灏� JSON 瀵硅薄鍜屾暟缁勬坊鍔犲埌缁撴灉瀵硅薄涓�
+            result.put("title", reportingWorkJson);
+            result.put("detail", detailsJsonArray);
+            result.put("type", 0);
+            result.put("userId", "admin");
+            result.put("userName", "admin");
+            result.put("qualityInsStatus", 0);
+
+            // 灏� result 瀵硅薄杞崲涓哄瓧绗︿覆
+            String jsonInputString = result.toString();
+            System.out.println("jsonInputString : " + result);
+            // 鍙戦�佽姹�
+            try (OutputStream os = con.getOutputStream()) {
+                byte[] input = jsonInputString.getBytes("utf-8");
+                os.write(input, 0, input.length);
+            }
+
+            // 鑾峰彇鍝嶅簲鐮�
+            int responseCode = con.getResponseCode();
+            System.out.println("Response Code : " + responseCode);
+
+            // 鑾峰彇鍝嶅簲鍐呭
+            try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) {
+                StringBuilder response = new StringBuilder();
+                String inputLine;
+                while ((inputLine = in.readLine()) != null) {
+                    response.append(inputLine);
+                }
+                System.out.println("Response Body: " + response.toString());
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
index d0f7876..561b27a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/ReportingWork.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -165,6 +167,7 @@
     /**
      * 寤虹珛鏃堕棿
      */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
 
     /**
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
index a323a39..ff76c67 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -25,13 +25,13 @@
         gc.setOutputDir("D:\\Documents\\hangzhoumesParent5\\");
 
         gc.setServiceName("%sService");	//鍘绘帀Service鎺ュ彛鐨勯瀛楁瘝I
-        gc.setAuthor("wu");
+        gc.setAuthor("wf");
         gc.setOpen(false);
         mpg.setGlobalConfig(gc);
 
         // 3銆佹暟鎹簮閰嶇疆
         DataSourceConfig dsc = new DataSourceConfig();
-        dsc.setUrl("jdbc:mysql://localhost:3306/pp?serverTimezone=GMT%2b8");
+        dsc.setUrl("jdbc:mysql://10.153.19.150:3306/yiwumes?serverTimezone=GMT%2b8");
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("beibo.123/");
@@ -41,7 +41,7 @@
         // 4銆佸寘閰嶇疆
         PackageConfig pc = new PackageConfig();
         pc.setParent("com.mes");
-        pc.setModuleName("flow_card"); //妯″潡鍚�
+        pc.setModuleName("raw_glass_storage_station"); //妯″潡鍚�
         pc.setController("controller");
         pc.setService("service");
         pc.setMapper("mapper");
@@ -50,7 +50,9 @@
         // 5銆佺瓥鐣ラ厤缃�
         StrategyConfig strategy = new StrategyConfig();
 
-        strategy.setInclude("flow_card");
+//        strategy.setInclude("raw_glass_storage_details");
+//        strategy.setInclude("raw_glass_storage_station");
+        strategy.setInclude("raw_glass_storage_station");
 
         strategy.setNaming(NamingStrategy.underline_to_camel);//鏁版嵁搴撹〃鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
index 1af4682..40292ce 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/FlowCardMapper.xml
@@ -5,27 +5,39 @@
 
     <select id="selectFlowCard" resultType="java.util.Map">
         select fc.order_number,
-               concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
-               od.quantity,
-               round(ogd.total_area, 2)                                     as total_area,
-               od.perimeter,
-               od.bend_radius,
-               concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,''))                       as remarks,
-               od.other_columns,
-               round(ogd.child_width)                                       as width,
-               round(ogd.child_height)                                      as height,
-               pd.separation,
-               fc.technology_number
+        concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width,
+        od.quantity,
+        round(ogd.total_area, 2) as total_area,
+        od.perimeter,
+        od.bend_radius,
+        concat(IFNULL(od.processing_note,''), IFNULL(od.remarks,'')) as remarks,
+        od.other_columns,
+        round(ogd.child_width) as width,
+        round(ogd.child_height) as height,
+        pd.separation
+        <if test="technologyNumber != 0">
+            ,fc.technology_number
+        </if>
         from pp.flow_card as fc
-                 left join sd.order_glass_detail as ogd
-                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
-                              fc.technology_number = ogd.technology_number
-                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
-                 left join sd.product_detail as pd
-                           on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
-        where fc.process_id =  #{processId}
-          and position(fc.technology_number in #{technologyNumber})
-        group by fc.process_id, fc.order_number, fc.technology_number
+        left join sd.order_glass_detail as ogd
+        on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+        fc.technology_number = ogd.technology_number
+        left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+        left join sd.product_detail as pd
+        on pd.prod_id = od.product_id and pd.glass_sort = ogd.technology_number
+        where fc.process_id = #{processId}
+        <if test="technologyNumber != 0">
+            and a.layer = #{technologyNumber}
+        </if>
+        <if test="technologyNumber != 0">
+            and position(fc.technology_number in #{technologyNumber})
+        </if>
+        <if test="technologyNumber != 0">
+            group by fc.process_id, fc.order_number, fc.technology_number
+        </if>
+        <if test="technologyNumber == 0">
+            group by fc.process_id, fc.order_number
+        </if>
         order by IF(sort != NULL || sort != '', sort, fc.order_number)
 
     </select>
@@ -33,18 +45,26 @@
     <select id="selectProject" resultType="java.util.Map">
         select o.customer_name,
                o.project,
-               (select process from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as process ,
+               (select process
+                from sd.order_glass_detail
+                where order_id = fc.order_id
+                  and order_number = fc.order_number
+                  and technology_number = fc.technology_number) as process,
                od.edging_type,
-               (select glass_child from sd.order_glass_detail where order_id=fc.order_id and order_number=fc.order_number and technology_number=fc.technology_number) as glass_child ,
+               (select glass_child
+                from sd.order_glass_detail
+                where order_id = fc.order_id
+                  and order_number = fc.order_number
+                  and technology_number = fc.technology_number) as glass_child,
                od.product_name,
                o.processing_note,
                fc.process_id,
-               SUM(od.quantity)                                as quantity,
-               round(SUM(ogd.total_area), 2)                   as gross_area,
-               sum(od.weight)                                  as weight,
-               1                            as technologyNumber,
-               concat(fc.process_id, '/', 1) as processIdNumber,
-               concat('瀵瑰簲鎴戝徃鍗曞彿',o.batch)                                         AS otherRemarks
+               SUM(od.quantity)                                 as quantity,
+               round(SUM(ogd.total_area), 2)                    as gross_area,
+               sum(od.weight)                                   as weight,
+               1                                                as technologyNumber,
+               concat(fc.process_id, '/', 1)                    as processIdNumber,
+               concat('瀵瑰簲鎴戝徃鍗曞彿', o.batch)                        AS otherRemarks
         from pp.flow_card as fc
                  left join sd.order_glass_detail as ogd
                            on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
@@ -58,7 +78,8 @@
                                    ogd.glass_child,
                                    GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
                             from sd.order_glass_detail as ogd
-                            where ogd.order_id = left(#{processId}, 10)
+                            where ogd.order_id = left (#{processId}
+                                , 10)
                               and position(ogd.technology_number in #{technologyNumber})
                             GROUP BY order_id, order_number) as ogdc
                            on ogdc.order_id = ogd.order_id and ogdc.order_number = ogd.order_number and
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index 818be6b..976125e 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -199,6 +199,9 @@
             Map<String, Damage> damageMaps=damageMapper.selectList(new MPJLambdaQueryWrapper<Damage>()
                     .selectAll(Damage.class)
                     .eq(Damage::getEngineerId,upPattenUsage1.getEngineeringId())
+                    .and(wrapper->wrapper.eq(Damage::getType,8)
+                            .or()
+                            .eq(Damage::getType,9))
             ).stream().collect(Collectors.toMap(Damage::getGlassId,Damage->Damage,(V1,V2)->V2));
 
             List<Map<String, Object>> resultCutTerritory=new ArrayList<>();
@@ -261,6 +264,9 @@
         Map<String, Damage> damageMaps=damageMapper.selectList(new MPJLambdaQueryWrapper<Damage>()
                 .selectAll(Damage.class)
                 .eq(Damage::getEngineerId,current)
+                .and(wrapper->wrapper.eq(Damage::getType,8)
+                        .or()
+                        .eq(Damage::getType,9))
         ).stream().collect(Collectors.toMap(Damage::getGlassId,Damage->Damage,(V1,V2)->V2));
 
         for (Map<String, Object> item : cutTerritory) {
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 946882a..353453e 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -210,7 +210,13 @@
 
         S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
         log.info("7銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
-
+        Damage damage=new Damage();
+        damage.setGlassId(glassInfo.getGlassId());
+        damage.setWorkingProcedure("鍒囧壊");
+        damage.setLine(1001);
+        damage.setType(1);
+        damage.setRemark("杩涘崸寮忕悊鐗�");
+        damageService.insertDamage(damage);
 
     }
 
@@ -654,6 +660,13 @@
             log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
             S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
             log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
+            Damage damage=new Damage();
+            damage.setGlassId(glassInfo.getGlassId());
+            damage.setWorkingProcedure("鍒囧壊");
+            damage.setLine(1001);
+            damage.setType(1);
+            damage.setRemark("杩涘崸寮忕悊鐗�");
+            damageService.insertDamage(damage);
             return Boolean.TRUE;
         }
         return Boolean.FALSE;
@@ -728,10 +741,6 @@
         List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
         jsonObject.append("currentCutTerritory", currentCutTerritorys);
         //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
-        //纾ㄨ竟淇℃伅
-        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
-        jsonObject.append("edgTasks", edgTasks);
-
         //鍗у缂撳瓨绗煎唴淇℃伅
         List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
         jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
@@ -771,4 +780,28 @@
         }
     }
 
+    @Scheduled(fixedDelay = 1000)
+    public void CacheGlassTaskss() {
+        JSONObject jsonObject = new JSONObject();
+        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
+        //纾ㄨ竟淇℃伅
+        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
+        jsonObject.append("edgTasks", edgTasks);
+
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("edgTasks");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("edgTasks is closed");
+                }
+            }
+        }
+    }
 }
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 bdcf76a..47b23c2 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
@@ -210,7 +210,7 @@
         baseMapper.updateById(bigStorageCageDetails);
         bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
         damage.setGlassId(bigStorageCageDetails.getGlassId());
-        damage.setWorkingProcedure("鍐峰姞宸�");
+        damage.setWorkingProcedure("閽㈠寲");
         damage.setLine(3001);
         damage.setRemark("澶х悊鐗囩鐮存崯");
         damage.setStatus(2);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index 948d159..8449550 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -3,15 +3,15 @@
 
 spring:
   profiles:
-    active: cz
+    active: dev
   application:
     name: cacheVerticalGlass
   liquibase:
     enabled: false
 mybatis-plus:
   mapper-locations: classpath*:mapper/*.xml
-  configuration:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+#  configuration:
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 mes:
   sequence:
     order: false
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index fe4b12c..dd93257 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -1,7 +1,10 @@
 package com.mes;
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
@@ -28,9 +31,8 @@
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 
 /**
  * @Author : zhoush
@@ -195,7 +197,7 @@
     public void ca(){
         try {
             // 鐩爣绯荤粺鐨凙PI URL
-            String url = "http://192.168.3.119:8086/reportingWork/mesSave";
+            String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn";
             URL obj = new URL(url);
             HttpURLConnection con = (HttpURLConnection) obj.openConnection();
 
@@ -205,9 +207,10 @@
             con.setRequestProperty("Accept", "application/json");
             con.setDoOutput(true);
 
-            // 鍒涘缓娑堟伅浣�
-            String jsonInputString = "灏忓粬";
-            ReportingWork reportingWork=new ReportingWork();
+            // 鍒涘缓 JSON 瀵硅薄
+            JSONObject result = new JSONObject();
+
+            ReportingWork reportingWork = new ReportingWork();
             reportingWork.setOrderId("NG24042301");
             reportingWork.setProductionId("NG24042301A");
             reportingWork.setProcessId("NG24042301A001");
@@ -221,11 +224,33 @@
             reportingWork.setTeamsGroupsName("灏忓粬涓�鍙�");
             reportingWork.setCreator("灏忓粬");
 
-            ReportingWorkDetail reportingWorkDetail=new ReportingWorkDetail();
+            List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
+            ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
             reportingWorkDetail.setTechnologyNumber(1);
             reportingWorkDetail.setOrderNumber(1);
             reportingWorkDetail.setCompletedQuantity(1);
             reportingWorkDetail.setBreakageQuantity(0);
+            reportingWorkDetails.add(reportingWorkDetail);
+
+            ObjectMapper objectMapper = new ObjectMapper();
+
+            // 灏� ReportingWork 杞崲涓� JSONObject
+            JSONObject reportingWorkJson = new JSONObject(objectMapper.writeValueAsString(reportingWork));
+            reportingWorkJson.put("reportingWorkTime", reportingWork.getReportingWorkTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
+            // 灏� ReportingWorkDetail 鍒楄〃杞崲涓� JSONArray
+            JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails));
+
+            // 灏� JSON 瀵硅薄鍜屾暟缁勬坊鍔犲埌缁撴灉瀵硅薄涓�
+            result.put("title", reportingWorkJson);
+            result.put("detail", detailsJsonArray);
+            result.put("type", 0);
+            result.put("userId", "admin");
+            result.put("userName", "admin");
+            result.put("qualityInsStatus", 0);
+
+            // 灏� result 瀵硅薄杞崲涓哄瓧绗︿覆
+            String jsonInputString = result.toString();
+            System.out.println("jsonInputString : " + result);
             // 鍙戦�佽姹�
             try (OutputStream os = con.getOutputStream()) {
                 byte[] input = jsonInputString.getBytes("utf-8");
@@ -235,6 +260,7 @@
             // 鑾峰彇鍝嶅簲鐮�
             int responseCode = con.getResponseCode();
             System.out.println("Response Code : " + responseCode);
+
             // 鑾峰彇鍝嶅簲鍐呭
             try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) {
                 StringBuilder response = new StringBuilder();
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
index 9135a79..df39184 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/push.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/job/push.java
@@ -40,8 +40,8 @@
         JSONObject jsonObject = new JSONObject();
         List<RawGlassStorageDetails> rack =  rawGlassStorageDetailsService.list();
         List<RawGlassStorageStation> state =  rawGlassStorageStationService.list();
-        List<RawGlassStorageTask> tasks =  rawGlassStorageTaskService.list();
-
+        //List<RawGlassStorageTask> tasks =  rawGlassStorageTaskService.list();
+        List<RawGlassStorageTask> tasks =  rawGlassStorageTaskService.findAll();
         jsonObject.append("rack",rack);
         jsonObject.append("state",state);
         jsonObject.append("tasks",tasks);
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 a8f2f38..90553bc 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,10 +1,14 @@
 package com.mes.rawglassdetails.controller;
 
 
+import com.mes.entity.request.GeneralRequest;
+import com.mes.menu.entity.SysMenu;
+import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 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.*;
 
 /**
@@ -34,6 +38,14 @@
         }
     }
 
+    @ApiOperation("鏂板鍏ュ簱")
+    @PostMapping("/save")
+    public Result save(@Validated @RequestBody RawGlassStorageDetails rawGlassStorageDetails) {
+//        rawGlassStorageDetailsService.save(rawGlassStorageDetails);
+//        GeneralRequest request=new GeneralRequest();
+        return Result.success();
+
+    }
 
 }
 
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/controller/RawGlassStorageTaskController.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/controller/RawGlassStorageTaskController.java
index 97de824..8b10bb1 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/controller/RawGlassStorageTaskController.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/controller/RawGlassStorageTaskController.java
@@ -1,11 +1,14 @@
 package com.mes.rawglasstask.controller;
 
 
+import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglasstask.entity.RawGlassStorageTask;
+import com.mes.rawglasstask.entity.request.RawGlassTaskRequest;
 import com.mes.rawglasstask.service.RawGlassStorageTaskService;
 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.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -26,8 +29,9 @@
     private RawGlassStorageTaskService rwService; //杩欓噷鏄綘瀹氫箟璋冪敤鐨剆ervice锛岃繖涓槸鎶ュ伐鐨�
     @ApiOperation("鍘熺墖浠撳偍鏁版嵁鏌ヨ")
     @PostMapping("/selectRawglasstask")
-    public Result selectDamage(@RequestBody RawGlassStorageTask rw) {
-        return Result.build(200,"鏌ヨ鎴愬姛", rwService.selectTasking(rw));
+    public Result selectDamage(@RequestBody RawGlassTaskRequest rw) {
+        return Result.build(200,"鏌ヨ鎴愬姛", rwService.setRawGlassTaskRequest(rw));
     }
+
 }
 
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/request/RawGlassTaskRequest.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/request/RawGlassTaskRequest.java
new file mode 100644
index 0000000..91489d1
--- /dev/null
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/entity/request/RawGlassTaskRequest.java
@@ -0,0 +1,39 @@
+package com.mes.rawglasstask.entity.request;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.mes.rawglasstask.entity.RawGlassStorageTask;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class RawGlassTaskRequest  {
+
+    /**
+     * 浠诲姟绫诲瀷   1 鍏ュ簱    2 鍑哄簱    3 璋冨害
+     */
+    private List<Integer> enableState;
+    /**
+     * 浠诲姟鐘舵��   1 鏂板缓  2 鎵ц涓�   3 瀹屾垚
+     */
+    private List<Integer> enableType;
+
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createTime;
+
+    /**
+     * 缁撴潫鏃堕棿
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date patternQuantity;
+
+}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/RawGlassStorageTaskService.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/RawGlassStorageTaskService.java
index 58c1fbd..6353bcb 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/RawGlassStorageTaskService.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/RawGlassStorageTaskService.java
@@ -1,22 +1,24 @@
 package com.mes.rawglasstask.service;
 
-import com.mes.rawglassstation.entity.RawGlassStorageStation;
-import com.mes.rawglasstask.entity.RawGlassStorageTask;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.rawglasstask.entity.RawGlassStorageTask;
+import com.mes.rawglasstask.entity.request.RawGlassTaskRequest;
 
 import java.util.List;
+import java.util.Map;
 
 /**
- * <p>
- *  鏈嶅姟绫�
- * </p>
- *
- * @author wf
- * @since 2024-09-10
+ * @author system
+ * @since 2024-07-09 14:51:27
  */
 public interface RawGlassStorageTaskService extends IService<RawGlassStorageTask> {
-    List<RawGlassStorageTask> selectTasks();
+
+    List<RawGlassStorageTask> findAll();
+    String setRawGlassTaskRequest(RawGlassTaskRequest request);
+
+    List<RawGlassStorageTask> selectTask();
+    List<RawGlassStorageTask> selectTasking(RawGlassStorageTask rawGlassStorageTask);
     boolean updateRawGlassStorageTask(String originate_slot);
     boolean deleteRawGlassStorageTask(String id);
     boolean insertRawGlassStorageTask(RawGlassStorageTask rw);
-}
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassRawGlassStorageTaskServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassRawGlassStorageTaskServiceImpl.java
index 6afab45..40b5ca3 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassRawGlassStorageTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassRawGlassStorageTaskServiceImpl.java
@@ -4,13 +4,20 @@
 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.utils.RedisUtil;
 import com.mes.pp.entity.request.Reportingdamage;
 import com.mes.rawglasstask.entity.RawGlassStorageTask;
+import com.mes.rawglasstask.entity.request.RawGlassTaskRequest;
 import com.mes.rawglasstask.mapper.RawGlassStorageTaskMapper;
 import com.mes.rawglasstask.service.RawGlassStorageTaskService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -21,6 +28,55 @@
 @Service
 @Slf4j
 public class RawGlassRawGlassStorageTaskServiceImpl extends ServiceImpl<RawGlassStorageTaskMapper, RawGlassStorageTask> implements RawGlassStorageTaskService {
+
+
+    @Autowired
+    RedisUtil redisUtil;
+
+    @Override
+    public List<RawGlassStorageTask> findAll() {
+        RawGlassTaskRequest request = redisUtil.getCacheObject("rawGlassTaskRequest");
+        if (null == request) {
+            request = new RawGlassTaskRequest();
+            //璁剧疆榛樿鏃堕棿    startDate锛氬紑濮嬫椂闂�   endDate锛氱粨鏉熸椂闂�
+            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);
+            //return null;
+        }
+
+        QueryWrapper<RawGlassStorageTask> queryWrapper = new QueryWrapper<>();
+        queryWrapper.ge("create_time", request.getCreateTime())//澶т簬鏃堕棿
+                .le("create_time",request.getPatternQuantity());//灏忎簬鏃堕棿
+//                .orderByDesc("enable_id");//鎺掑簭瀛楁
+        if(!request.getEnableType().isEmpty()&&request.getEnableType().size()>0){
+            queryWrapper.eq("enable_type", request.getEnableType().get(0));
+        }if(!request.getEnableState().isEmpty()&&request.getEnableState().size()>0){
+            queryWrapper.eq("enable_state", request.getEnableState().get(0));
+        }
+
+        return baseMapper.selectList(queryWrapper);
+    }
+
+    @Override
+    public String setRawGlassTaskRequest(RawGlassTaskRequest request) {
+        if (request == null) {
+            redisUtil.deleteObject("rawGlassTaskRequest");
+        } else {
+            redisUtil.setCacheObject("rawGlassTaskRequest", request);
+        }
+        log.info("鍓嶇浼犲叆鍙傛暟锛歿}",request);
+        return "success";
+    }
+
     @Override
     public List<RawGlassStorageTask> selectTask() {
         return list();
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassStorageTaskServiceImpl.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassStorageTaskServiceImpl.java
deleted file mode 100644
index ec055f0..0000000
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/java/com/mes/rawglasstask/service/impl/RawGlassStorageTaskServiceImpl.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.mes.rawglasstask.service.impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
-import com.mes.rawglassstation.entity.RawGlassStorageStation;
-import com.mes.rawglasstask.entity.RawGlassStorageTask;
-import com.mes.rawglasstask.mapper.RawGlassStorageTaskMapper;
-import com.mes.rawglasstask.service.RawGlassStorageTaskService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * <p>
- *  鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author wf
- * @since 2024-09-10
- */
-@Service
-public abstract class RawGlassStorageTaskServiceImpl extends ServiceImpl<RawGlassStorageTaskMapper, RawGlassStorageTask> implements RawGlassStorageTaskService {
-
-    public List<RawGlassStorageTask> selectDetails() {
-        return list();
-    }
-    @Override
-    public boolean insertRawGlassStorageTask(RawGlassStorageTask rw) {
-        return this.save(rw);
-    }
-    @Override
-    public boolean updateRawGlassStorageTask(String originate_slot) {
-        UpdateWrapper<RawGlassStorageTask> wrapper = new UpdateWrapper<>();
-        wrapper.set("originate_slot","1005")
-                .eq( "originate_slot",originate_slot);
-        return update(wrapper);
-    }
-
-    @Override
-    public boolean deleteRawGlassStorageTask(String id) {
-        QueryWrapper<RawGlassStorageTask> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("id", id);
-        return  remove(queryWrapper);
-    }
-}
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java b/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java
index 8d43e9b..dd22447 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/test/java/mes/GlassStorageModuleApplicationTest.java
@@ -3,6 +3,9 @@
 import com.mes.GlassStorageApplication;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
+import com.mes.rawglasstask.entity.RawGlassStorageTask;
+import com.mes.rawglasstask.entity.request.RawGlassTaskRequest;
+import com.mes.rawglasstask.service.RawGlassStorageTaskService;
 import com.mes.rawusage.entity.RawUsage;
 import com.mes.rawusage.service.RawUsageService;
 import com.mes.shelfrack.service.ShelfRackService;
@@ -14,7 +17,12 @@
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -37,8 +45,9 @@
     @Autowired
     private RawUsageService rawUsageService;
     @Autowired
-    private RawGlassStorageDetailsService  rawGlassStorageDetailsService;
-
+    private RawGlassStorageDetailsService rawGlassStorageDetailsService;
+    @Autowired
+    private RawGlassStorageTaskService rawGlassStorageTaskService;
 
     @Test
     public void testFindPath() {
@@ -63,6 +72,40 @@
         shelfRackService.selectshelf_rack();
     }
 
+    /**
+     * 娴嬭瘯
+     */
+    @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
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
index 0efdd00..5796939 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -45,15 +45,15 @@
     @ApiOperation("//閽㈠寲鐮存崯鎷胯蛋鏀惧洖")
     @PostMapping("/updateTemperingState") //閽㈠寲鍚庢樉绀哄嚭鐐夌殑鐗堝浘淇℃伅
     public Result <Integer> updateTemperingState(@RequestBody  Damage damage) {
+        TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
+        temperingGlassInfo.setState(damage.getStatus());
+        temperingGlassInfo.setGlassId(damage.getGlassId());
+        int result=temperingGlassInfoService.updateTemperingState(temperingGlassInfo);
         if(damage.getStatus()>5) {
             damage.setType(damage.getStatus());
             damage.setStatus(1);
             damageService.insertDamage(damage);
         }
-        TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
-        temperingGlassInfo.setState(damage.getType());
-        temperingGlassInfo.setGlassId(damage.getGlassId());
-        int result=temperingGlassInfoService.updateTemperingState(temperingGlassInfo);
         return Result.build(200, "鐮存崯鎴愬姛", result);
     }
 
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
index 471cdae..4eb19cc 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
@@ -2,7 +2,7 @@
   port: 8084
 spring:
   profiles:
-    active: dev
+    active: prod
   application:
     name: temperingGlass
   liquibase:
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index 3ebd084..cca0371 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -128,6 +128,7 @@
 
     @Override
     public List<DownWorkstation> queryWorkStationIsFull() {
+
         //鏌ヨ鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勫伐浣嶄俊鎭�
         List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>().eq(DownWorkstation::getEnableState, Const.SLOT_ON)
                 .isNotNull(DownWorkstation::getFlowCardId).ne(DownWorkstation::getFlowCardId, ""));
@@ -142,11 +143,11 @@
             //鍙互钀芥灦鐨勭幓鐠冧俊鎭笖宸茬粦瀹氭祦绋嬪崱鐨勬墍鏈夌殑宸ヤ綅 - 鐜荤拑鏈弧娴佺▼鍗″強灞傛暟鐨勫伐浣�  =  宸叉弧宸ヤ綅
             workstationFull = list.stream().filter(item -> !flowCardIdList.contains(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
             //鏄惁闇�瑕佸皢宸叉弧鐨勫伐浣嶇疆涓轰笉鍙惤鏋�
-            if (CollectionUtils.isNotEmpty(workstationFull)) {
-                List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
-                downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF)
-                        .in(DownWorkstation::getWorkstationId, workstationIds));
-            }
+//            if (CollectionUtils.isNotEmpty(workstationFull)) {
+//                List<Integer> workstationIds = workstationFull.stream().map(DownWorkstation::getWorkstationId).collect(Collectors.toList());
+//                downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getEnableState, Const.SLOT_OFF)
+//                        .in(DownWorkstation::getWorkstationId, workstationIds));
+//            }
         }
         return workstationFull;
     }
@@ -156,47 +157,40 @@
         log.info("鎵撳嵃鍙傛暟:{}", downGlassInfo);
         QueryWrapper<DownGlassInfo> queryWrapper = Wrappers.query();
         queryWrapper.eq("flow_card_id", downGlassInfo.getFlowCardId())
-                .eq("layer", downGlassInfo.getLayer())
-                .select("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity")
-                .groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "id")
                 .orderByAsc("id");
+        int printLayer = 1;
+        if (downGlassInfo.getLayer() != 0) {
+            queryWrapper.select("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity");
+            queryWrapper.groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "id");
+            queryWrapper.eq("layer", downGlassInfo.getLayer());
+            printLayer = downGlassInfo.getLayer();
+        } else {
+            queryWrapper.select("flow_card_id", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity");
+            queryWrapper.groupBy("flow_card_id", "width", "height", "filmsid", "thickness", "glass_type", "id");
+        }
         List<Map<String, Object>> resultList = baseMapper.selectMaps(queryWrapper);
 
         log.info("MES钀芥灦鏁版嵁:{}", resultList);
-
-        List<Map<String, Object>> projectInfo = flowCardService.selectProject(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+        List<Map<String, Object>> projectInfo = flowCardService.selectProject(downGlassInfo.getFlowCardId(), printLayer);
         log.info("娴佺▼鍗″ご閮ㄦ暟鎹�:{}", projectInfo);
         List<Map<String, Object>> flowCardInfo = flowCardService.selectFlowCard(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
         log.info("娴佺▼鍗$幓鐠冩暟鎹�:{}", flowCardInfo);
         for (Map<String, Object> row : flowCardInfo) {
             int order_number = (int) row.get("order_number");
-            int technology_number = (int) row.get("technology_number");
+
             int quantity1 = 0;
             for (Map<String, Object> row1 : resultList) {
                 int glass_type = (int) row1.get("glass_type");
-                int layer = (int) row1.get("layer");
-//                String child_width = (String) row1.get("child_width");
-//                Long quantity = (Long) row1.get("quantity");
-//                BigDecimal total_area = (BigDecimal) row1.get("total_area");
-//                String separation = (String) row1.get("separation");
-//                String perimeter = (String) row1.get("perimeter");
-//                BigDecimal width = (BigDecimal) row1.get("width");
-//                String other_columns = (String) row1.get("other_columns");
-//                String remarks = (String) row1.get("remarks");
-//                BigDecimal height = (BigDecimal) row1.get("height");
-                if (order_number == glass_type && technology_number == layer) {
-                    quantity1 += 1;
-//                    row.put("quantity", quantity);
-//                    row.put("order_number", order_number);
-//                    row.put("technology_number", technology_number);
-//                    row.put("child_width", child_width);
-//                    row.put("total_area", total_area);
-//                    row.put("separation", separation);
-//                    row.put("perimeter", perimeter);
-//                    row.put("width", width);
-//                    row.put("other_columns", other_columns);
-//                    row.put("remarks", remarks);
-//                    row.put("height", height);
+                if (downGlassInfo.getLayer() != 0) {
+                    int layer = (int) row1.get("layer");
+                    int technology_number = (int) row.get("technology_number");
+                    if (order_number == glass_type && technology_number == layer) {
+                        quantity1 += 1;
+                    }
+                } else {
+                    if (order_number == glass_type) {
+                        quantity1 += 1;
+                    }
                 }
             }
             row.put("quantity1", quantity1);
@@ -225,19 +219,16 @@
 
     @Override
     public List<Map<String, Object>> downGlassLabelPrint(DownGlassInfo downGlassInfo) {
-        //鑾峰彇涓嬬墖鐜荤拑鐨勯『搴�
-//        QueryWrapper<DownGlassInfo> queryWrapper = Wrappers.query();
-//        queryWrapper
-//                .eq("flow_card_id", downGlassInfo.getFlowCardId())
-//                .eq("layer", downGlassInfo.getLayer())
-//                .select("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "COUNT(*) AS quantity")
-//                .groupBy("flow_card_id", "layer", "width", "height", "filmsid", "thickness", "glass_type", "id")
-//                .orderByAsc("id");
-//        List<Map<String, Object>> resultList = baseMapper.selectMaps(queryWrapper);
+
         List<Map<String, Object>> resultList = baseMapper.downGlassLabelPrint(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
         log.info("MES钀芥灦鏁版嵁:{}", resultList);
         //鑾峰彇ERP鏍囩鎵�闇�鐨勪俊鎭�
-        List<Map<String, Object>> labelInfo = flowCardService.selectLabel(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+        List<Map<String, Object>> labelInfo;
+        if (downGlassInfo.getLayer() != 0) {
+            labelInfo = flowCardService.selectLabel(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer());
+        } else {
+            labelInfo = flowCardService.selectLabel(downGlassInfo.getFlowCardId(), 1);
+        }
         log.info("鏍囩鏁版嵁:{}", labelInfo);
 
         for (Map<String, Object> row : resultList) {
@@ -246,37 +237,72 @@
             for (Map<String, Object> row1 : labelInfo) {
                 int orderNumber = (int) row1.get("orderNumber");
                 int technologyNumber = (int) row1.get("technologyNumber");
-                if (orderNumber == glass_type && technologyNumber == layer) {
+                if (downGlassInfo.getLayer() != 0) {
+                    if (orderNumber == glass_type && technologyNumber == layer) {
 
-                    String order_id = (String) row1.get("order_id");
-                    String project = (String) row1.get("project");
-                    Long customer_id = (Long) row1.get("customer_id");
-                    BigDecimal width = (BigDecimal) row1.get("width");
-                    BigDecimal height = (BigDecimal) row1.get("height");
-                    Long quantity = (Long) row1.get("quantity");
-                    String glass_child = (String) row1.get("glass_child");
-                    String process = (String) row1.get("process");
-                    String customer_name = (String) row1.get("customer_name");
-                    String processing_note = (String) row1.get("processing_note");
-                    String other_colunmns = (String) row1.get("other_colunmns");
-                    String building_number = (String) row1.get("building_number");
-                    String bend_radius = (String) row1.get("bend_radius");
+                        String order_id = (String) row1.get("order_id");
+                        String project = (String) row1.get("project");
+                        Long customer_id = (Long) row1.get("customer_id");
+                        BigDecimal width = (BigDecimal) row1.get("width");
+                        BigDecimal height = (BigDecimal) row1.get("height");
+                        Long quantity = (Long) row1.get("quantity");
+                        String glass_child = (String) row1.get("glass_child");
+                        String process = (String) row1.get("process");
+                        String customer_name = (String) row1.get("customer_name");
+                        String processing_note = (String) row1.get("processing_note");
+                        String other_colunmns = (String) row1.get("other_colunmns");
+                        String building_number = (String) row1.get("building_number");
+                        String bend_radius = (String) row1.get("bend_radius");
 
-                    row.put("orderNumber", orderNumber);
-                    row.put("technology_number", technologyNumber);
-                    row.put("order_id", order_id);
-                    row.put("project", project);
-                    row.put("customer_id", customer_id);
-                    row.put("width", width);
-                    row.put("height", height);
-                    row.put("quantity", quantity);
-                    row.put("glass_child", glass_child);
-                    row.put("process", process);
-                    row.put("customer_name", customer_name);
-                    row.put("processing_note", processing_note);
-                    row.put("other_colunmns", other_colunmns);
-                    row.put("building_number", building_number);
-                    row.put("bend_radius", bend_radius);
+                        row.put("orderNumber", orderNumber);
+                        row.put("technology_number", technologyNumber);
+                        row.put("order_id", order_id);
+                        row.put("project", project);
+                        row.put("customer_id", customer_id);
+                        row.put("width", width);
+                        row.put("height", height);
+                        row.put("quantity", quantity);
+                        row.put("glass_child", glass_child);
+                        row.put("process", process);
+                        row.put("customer_name", customer_name);
+                        row.put("processing_note", processing_note);
+                        row.put("other_colunmns", other_colunmns);
+                        row.put("building_number", building_number);
+                        row.put("bend_radius", bend_radius);
+                    }
+                } else {
+                    if (orderNumber == glass_type) {
+
+                        String order_id = (String) row1.get("order_id");
+                        String project = (String) row1.get("project");
+                        Long customer_id = (Long) row1.get("customer_id");
+                        BigDecimal width = (BigDecimal) row1.get("width");
+                        BigDecimal height = (BigDecimal) row1.get("height");
+                        Long quantity = (Long) row1.get("quantity");
+                        String glass_child = (String) row1.get("glass_child");
+                        String process = (String) row1.get("process");
+                        String customer_name = (String) row1.get("customer_name");
+                        String processing_note = (String) row1.get("processing_note");
+                        String other_colunmns = (String) row1.get("other_colunmns");
+                        String building_number = (String) row1.get("building_number");
+                        String bend_radius = (String) row1.get("bend_radius");
+
+                        row.put("orderNumber", orderNumber);
+                        row.put("technology_number", technologyNumber);
+                        row.put("order_id", order_id);
+                        row.put("project", project);
+                        row.put("customer_id", customer_id);
+                        row.put("width", width);
+                        row.put("height", height);
+                        row.put("quantity", quantity);
+                        row.put("glass_child", glass_child);
+                        row.put("process", process);
+                        row.put("customer_name", customer_name);
+                        row.put("processing_note", processing_note);
+                        row.put("other_colunmns", other_colunmns);
+                        row.put("building_number", building_number);
+                        row.put("bend_radius", bend_radius);
+                    }
                 }
             }
         }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index 27d3131..54db40d 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -131,10 +131,12 @@
     @Scheduled(fixedDelay = 300)
     public void plcShelfFull() {
         List<DownWorkstation> list = downGlassInfoService.queryWorkStationIsFull();
+        S7control s7control = S7object.getinstance().plccontrol;
+        PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
         if (CollectionUtils.isNotEmpty(list)) {
-            S7control s7control = S7object.getinstance().plccontrol;
-            PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
             s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
+        }else{
+            s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 0);
         }
     }
 
@@ -639,7 +641,9 @@
                 return Boolean.FALSE;
             }
         } else {
-            if (downStorageCageDetails.getWidth() > maxWidth || downStorageCageDetails.getHeight() > maxHeight) {
+            double firstLength = Math.max(downStorageCageDetails.getWidth(), downStorageCageDetails.getHeight());
+            double secondLength = Math.min(downStorageCageDetails.getWidth(), downStorageCageDetails.getHeight());
+            if (firstLength > maxWidth || secondLength > maxHeight) {
                 endCell = Const.G13_WORK_STATION;
             } else {
                 DownWorkstation workstation;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
index b2693bb..6baf01e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -172,9 +172,11 @@
                         .select("Top 1 *")
                         .eq("end_cell", Const.G13_WORK_STATION)
                         .lt("task_status", Const.UNLOAD_GLASS_DOWN)
-                        .orderByDesc("id")
+                        .orderByAsc("id")
         );
-        jsonObject4.append("takeGlass", takeGlass);
+        if(takeGlass!=null){
+            jsonObject4.append("takeGlass", takeGlass);
+        }
 
         ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass");
         if (sendwServer4 != null) {

--
Gitblit v1.8.0