From f1916b183ebcff81c64bccae502a63b097c304f5 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期日, 18 八月 2024 12:42:16 +0800
Subject: [PATCH] 钢化界面添加显示人工拿走的玻璃信息

---
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                      |   30 +-
 UI-Project/src/lang/companyInfo.js                                                                        |    4 
 hangzhoumesParent/JsonFile/PlcTemperingGlass.json                                                         |  132 +++++++++++++
 hangzhoumesParent/JsonFile/PlcdownGlass.json                                                              |  149 ++++++++++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java                 |    4 
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue                                                    |   21 ++
 UI-Project/src/views/UnLoadGlass/PrintFlow.vue                                                            |  156 ++++++---------
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java |   45 +++
 8 files changed, 420 insertions(+), 121 deletions(-)

diff --git a/UI-Project/src/lang/companyInfo.js b/UI-Project/src/lang/companyInfo.js
index 1fc09b3..cdbfc7b 100644
--- a/UI-Project/src/lang/companyInfo.js
+++ b/UI-Project/src/lang/companyInfo.js
@@ -42,8 +42,8 @@
             labelType3: '鎴愬搧鏍囩3',
             labelValue3:3,
             printFlowCard: {
-                patch:'姝e搧',
-                lackOf:'娆″搧',
+                patch:'姝�',
+                lackOf:'娆�',
                 processingNote: (itemtextarea) => {
                     return  `${itemtextarea.processing_note}`
                 },
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 1b332f2..df3b5a1 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -13,6 +13,9 @@
 const dialogFormVisible = ref(false)
 const dialogFormVisiblea = ref(true)
 const dialogFormVisibleb = ref(false)
+const dialogFormVisibletemperingTakeGlass = ref(true)
+
+const temperingTakeGlassInfos=ref([])
 const blind = ref(false)
 const width = ref();
 const height = ref();
@@ -24,6 +27,10 @@
 const currenttemperingFeedSequence = ref(null);
 const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
 const handleMessage = (data) => {
+  if (data.temperingTakeGlassInfos != null) {
+    temperingTakeGlassInfos.value = data.temperingTakeGlassInfos[0];
+    console.log(temperingTakeGlassInfos.value)
+  }
 // 杩涚倝涓�
   if(data.intoGlass!=null){
     adjustedRects1.value =  data.intoGlass[0].map(rect => {  
@@ -260,9 +267,11 @@
 </script>
 <template>
   <div style="margin-top: 10px;">
+  
      <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;" >{{ $t('processCard.beforefurnace') }}</el-button>
      <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;">{{ $t('processCard.intofurnace') }}</el-button>
     <el-button  id="searchButton" type="success" @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false">{{ $t('processCard.outfurnace') }}</el-button>
+    <el-button  id="searchButton" type="success" @click="dialogFormVisibletemperingTakeGlass = true;">鎷胯蛋璇︽儏</el-button>
 <div v-if="dialogFormVisible" >
     <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
 <div style="width: 49%;float: left;background-color: #f4f4f5;height: 550px;">
@@ -385,6 +394,18 @@
         </el-button>
   </el-dialog> 
   </div>
+
+  <el-dialog v-model="dialogFormVisibletemperingTakeGlass" top="2vh" width="97%"
+                   :title="$t('浜哄伐鎷胯蛋淇℃伅')">
+          <el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="temperingTakeGlassInfos"
+                    :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+            <el-table-column prop="engineerId" align="center" :label="$t('宸ョ▼鍙�')" min-width="80"/>
+            <el-table-column prop="processId" align="center" :label="$t('娴佺▼鍗″彿')" min-width="80"/>
+            <el-table-column prop="technologyNumber" align="center" :label="$t('灞�')" min-width="120"/>
+            <el-table-column prop="orderNumber" align="center" :label="$t('璁㈠崟搴忓彿')" min-width="80"/>
+            <el-table-column prop="temperingLayoutId" align="center" :label="$t('閽㈠寲鐗堝浘')" min-width="150"/>
+          </el-table>
+        </el-dialog>
 </template>
 <style scoped>
 #boxa{
diff --git a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
index 235e147..709f477 100644
--- a/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
+++ b/UI-Project/src/views/UnLoadGlass/PrintFlow.vue
@@ -69,45 +69,6 @@
 }
 
 
-// const printFlowCard = () => {
-//   // 闇�瑕佹墦鍗扮殑灞�閮ㄥ尯鍩熻祴浜�"print-wrap"鐨刬d
-//   let el = document.getElementById("printFlowCard");
-//   let doc = document;
-//   let body = doc.body || doc.getElementsByTagName("body")[0];
-//   let printId = "print-" + Date.now();
-
-//   // 鍒涘缓鏃犲壇浣滅敤鐨勬墦鍗板鍣�(鍥犱笉纭畾椤甸潰鐨勬墦鍗板厓绱犳湁鏃犲叾瀹冩牱寮�)
-//   let content = doc.createElement("div");
-//   content.id = printId;
-
-//   // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
-//   let style = doc.createElement("style");
-//   style.innerHTML =
-//       "body>#" +
-//       printId +
-//       "{display:none}@media print{" +
-//       "@page {" +
-//       "    size: auto; " +
-//       "    margin: 5mm 5mm 5mm 5mm; " +
-//       "  }body>:not(#" +
-//       printId +
-//       "){display:none !important}body>#" +
-//       printId +
-//       "{display:block;padding-top:1px}}";
-//   //
-//   content.innerHTML = el.outerHTML;
-//   // // console.log("el.outerHTML", el.outerHTML);
-//   body.appendChild(style);
-
-//   // 涓巗tyle鍏冪礌璁剧疆鐨勬牱寮忕浉閰嶅悎
-//   // 鎶婃墦鍗板唴瀹圭殑鍏冪礌娣诲姞鍒癰ody(浣滀负body鐨勫瓙鍏冪礌锛屽彲鐢╞ody鐨勫瓙閫夋嫨鍣� '>' 鎺у埗鎵撳嵃鏍峰紡)
-//   body.appendChild(content);
-//   setTimeout(() => {
-//     window.print();
-//     body.removeChild(content);
-//     body.removeChild(style);
-//   }, 20);
-// }
 
 onMounted(async () => {
   console.log(props.printFlowCardId,props.printLayer)
@@ -162,30 +123,20 @@
     <table v-for="(item,id) in produceList" id="contentTable" :key="id">
       <thead>
       <tr v-for="(itemFlow,index) in item.detail" :key="index">
-        <td  v-if="like='1'"  colspan="26">
+        <td  colspan="29">
           <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px  "/></div>
           <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
           <div>{{ company.companyName }}</div>
           <div>鐢熶骇娴佺▼鍗�</div>
-          <div v-if="itemFlow.technologyNumber!=''" style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
+          <div v-if="itemFlow.technologyNumberMerge!=''" style="text-align: right;font-weight: bolder">
+            {{itemFlow.otherRemarks}}&nbsp;&nbsp;
+            娴佺▼鍗″彿锛� {{
               itemFlow.process_id
-            }}/{{ itemFlow.technologyNumber }} 
+            }}/{{ itemFlow.technologyNumberMerge }} 鍏� {{ flowCardCount }} 鏋�
           </div>
-          <div v-else style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
-              itemFlow.process_id
-            }}/{{ itemFlow.technologyNumber }} 
-          </div>
-        </td>
-        <td v-else colspan="24">
-          <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px  "/></div>
-          <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
-          <div>{{ company.companyName }}</div>
-          <div>鐢熶骇娴佺▼鍗�</div>
-          <div v-if="itemFlow.technologyNumber!=''" style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
-              itemFlow.process_id
-            }}/{{ itemFlow.technologyNumber }} 鍏� {{ flowCardCount }} 鏋�
-          </div>
-          <div v-else style="text-align: right;font-weight: bolder">娴佺▼鍗″彿锛� {{
+          <div v-else style="text-align: right;font-weight: bolder">
+            {{itemFlow.otherRemarks}}&nbsp;&nbsp;
+            娴佺▼鍗″彿锛� {{
               itemFlow.process_id
             }}/{{ itemFlow.technologyNumber }} 鍏� {{ flowCardCount }} 鏋�
           </div>
@@ -197,8 +148,7 @@
         <td class="tdNowrap">椤圭洰鍚嶇О锛�</td>
         <td colspan="2">{{ items.project }}</td>
         <td class="tdNowrap">宸ヨ壓娴佺▼锛�</td>
-        <td colspan="19" v-if="like='1'" style="width: 500px">{{ items.process }}</td>
-        <td colspan="17" v-else style="width: 500px">{{ items.process }}</td>
+        <td colspan="22"  style="width: 500px">{{ items.process }}</td>
       </tr>
       <tr v-for="(itemTr,index) in item.detail" :key="index">
         <td class="tdNowrap">纾ㄨ竟绫诲瀷锛�</td>
@@ -206,15 +156,13 @@
         <td class="tdNowrap">鍗曠墖鍚嶇О锛�</td>
         <td colspan="2">{{ itemTr.glass_child }}</td>
         <td class="tdNowrap">浜у搧鍚嶇О锛�</td>
-        <td v-if="like=='1'" colspan="19">{{ itemTr.product_name }}</td>
-        <td v-else colspan="17">{{ itemTr.product_name }}</td>
+        <td colspan="22">{{ itemTr.product_name }}</td>
       </tr>
       <tr>
         <td rowspan='2'>搴忓彿</td>
         <td rowspan='2'>缂栧彿</td>
-        <td v-if="like!=null" rowspan="2">灏忕墖椤哄簭</td>
-        <td v-else style="display: none;" rowspan="2">灏忕墖椤哄簭</td>
-        <td rowspan='2'>瀹�*楂�</td>
+        <td rowspan="2">灏忕墖椤哄簭</td>
+        <td rowspan='2' style="width: 90px">瀹�*楂�</td>
         <td rowspan='2'>鏁伴噺</td>
         <td rowspan='2'>闈㈢Н</td>
         <td rowspan='2'>鍛ㄩ暱</td>
@@ -240,6 +188,10 @@
         <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
         <td>{{ company.printLabel.printFlowCard.patch }}</td>
         <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
+        <td>{{ company.printLabel.printFlowCard.patch }}</td>
+        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
+        <td>{{ company.printLabel.printFlowCard.patch }}</td>
+        <td>{{ company.printLabel.printFlowCard.lackOf }}</td>
       </tr>
       </thead>
       <tbody>
@@ -247,16 +199,11 @@
       <tr v-for="(itemDatile,index) in item.detailList" :key="index">
         <td>{{ itemDatile.order_number }}</td>
         <td>{{ itemDatile.s01Value }}</td>
-        <td v-if="like=='1'">{{ itemDatile.technology_number }}</td>
-        <td v-else style="display: none"></td>
+        <td>{{ itemDatile.technology_number }}</td>
         <td>{{ itemDatile.child_width }}</td>
         <td class="item" style="width: 5%;height: 100%;">
-          <!-- <el-input v-model="itemDatile.quantity" style="border: none" @keyup="handleSummary()"></el-input> -->
-          {{ itemDatile.quantity }}
+          <input v-model="itemDatile.quantity" style="width: 100%;height: 100%"  @keyup="handleSummary()"/>
         </td>
-        <!-- <td class="item" style="width: 5%;height: 100%;">
-          {{ itemDatile.quantity1 }}
-        </td> -->
         <td>{{ itemDatile.total_area }}</td>
         <td>{{ itemDatile.perimeter }}</td>
         <td>{{ itemDatile.bend_radius }}</td>
@@ -277,11 +224,15 @@
         <td></td>
         <td></td>
         <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
+        <td></td>
       </tr>
       </tbody>
       <tfoot>
       <tr style="height: 14px">
-        <td v-for="(itemsum,index) in item.detail" :key="index" colspan="26">
+        <td v-for="(itemsum,index) in item.detail" :key="index" colspan="29">
           鏁伴噺锛�
           <label>{{ itemsum.quantity }}</label>
           闈㈢Н锛�
@@ -291,17 +242,12 @@
         </td>
       </tr>
       <tr v-for="(itemtextarea,index) in item.detail" :key="index">
-        <td v-if="like='1'" colspan="4" rowspan="6" style="width: 480px;height: 100px ">
-          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
-          </div>
-        </td>
-        <td v-else colspan="6" rowspan="2" style="width: 480px;height: 100px ">
-          <!--          <div style="width: 100%;height: 100%"><textarea style="height: 99%;width: 99%;font-size: 11px">{{ itemtextarea.processing_note }}</textarea>-->
-          <!--          </div>-->
-           <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 11px">{{itemtextarea.otherRemarks}}</textarea>
-           </div>
-        </td>
-        <td colspan="2">瀹屽伐绛惧悕</td>
+
+        <td>瀹屽伐绛惧悕</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
@@ -314,7 +260,11 @@
         <td colspan="2"></td>
       </tr>
       <tr>
-        <td colspan="2">鐢熶骇鏃ユ湡</td>
+        <td>鐢熶骇鏃ユ湡</td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
@@ -327,7 +277,9 @@
         <td colspan="2"></td>
       </tr>
       <tr>
-        <td colspan="2">璐ㄦ绛惧悕</td>
+        <td>璐ㄦ绛惧悕</td>
+        <td colspan="2"></td>
+        <td colspan="2">鐢熶骇绛惧悕</td>
         <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
@@ -338,9 +290,15 @@
         <td colspan="2"></td>
         <td colspan="2"></td>
         <td colspan="2"></td>
+        <td colspan="2"></td>
+        <td colspan="2"></td>
+      </tr>
+      <tr>
+        <td>鍘熺墖绠卞彿</td>
+        <td colspan="28"></td>
       </tr>
       <tr v-for="(qrCodeItem,index) in item.detail" :key="index">
-        <td colspan="23">
+        <td colspan="29">
           <span style="display: flex;">
             <span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 35%">
             <div class='qrCode' style="width: 80px;height: 80px;">
@@ -353,6 +311,12 @@
           </span>
         </td>
 
+      </tr>
+      <tr v-for="(itemtextareas,index) in item.detail" :key="index">
+        <td  colspan="29" rowspan="6" style="width: 480px;height: 150px ">
+          <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px;overflow: hidden;">{{itemtextareas.processing_note}}</textarea>
+          </div>
+        </td>
       </tr>
       </tfoot>
     </table>
@@ -368,8 +332,7 @@
 
 #printFlowCard {
   text-align: center;
-font-weight: bolder;
- height: 600px;
+//font-weight: bolder; height: 600px;
 }
 
 #contentTable {
@@ -395,12 +358,10 @@
 }
 
 #contentTable tbody {
-  white-space: nowrap;
 
 }
 
 .tdNowrap {
-  white-space: nowrap;
 
 }
 
@@ -410,17 +371,20 @@
 }
 
 input{
-  font-weight: bolder;
+  border: none;
+  background: none;
 }
 
 
-@page {
-  size: auto;  /* auto is the initial value */
-  margin: 10mm 2mm 10mm 1mm;  /* this affects the margin in the printer settings */
 
-}
 
 @media print {
+  @page {
+    size: auto;  
+    margin: 4mm 5mm 5mm 5mm  
+
+  }
+
   table {
     page-break-before: always;
     page-break-inside: auto;
@@ -441,4 +405,6 @@
   height: 100%;
 }
 
+
+
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 7ef904f..0327ee2 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -107,7 +107,6 @@
       flowCardId: firstPart,
       layer: twoPart
     });
-    console.log(response)
     if (response.code == 200) {
       // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
       console.log('缁戝畾鎴愬姛');
@@ -191,7 +190,7 @@
 
   // 鏇存柊 tableData 鐨勬暟鎹�
   if (data.downGlassInfos != null) {
-    downGlass.value = data.downGlassInfos[0][1];
+    downGlass.value = data.downGlassInfos[0];
   }
   if (data.engineerIdList != null) {
     selectOptionsa.value = data.engineerIdList[0]
@@ -294,9 +293,9 @@
   dialogTableVisible.value = true;
   setTimeout(() => {
     printFlowCard(); // 鏇挎崲鎴愪綘瑕佹墽琛岀殑鍑芥暟鍚�
-    dialogTableVisible.value = false;
+    //dialogTableVisible.value = false;
   }, 1000);
-  ;
+  
 
 }
 
@@ -313,19 +312,22 @@
 
   // 鏍峰紡鎺у埗涓庢墦鍗版棤鍏崇殑鍏冪礌闅愯棌
   let style = doc.createElement("style");
+  console.log("style1:"+style.innerHTML)
   style.innerHTML =
       "body>#" +
       printId +
-      "{display:none}@media print{" +
+      "{display:none;}@media print{" +
       "@page {" +
       "    size: auto; " +
-      "    margin: 10mm 2mm 10mm 1mm; " +
+      "    margin: 10mm 5mm 10mm 5mm; " +
       "  }body>:not(#" +
       printId +
-      "){display:none !important}body>#" +
+      "){display:none !important;}body>#" +
       printId +
-      "{display:block;padding-top:1px}}";
-  //
+      "{display:block;}#" +
+      printId +
+      "{display: block; padding: 0; margin: 0;  width: 100%;  position: absolute; top: 0; left: 0; height: 100vh;  box-sizing: border-box;}} ";
+      
   content.innerHTML = el.outerHTML;
   // // console.log("el.outerHTML", el.outerHTML);
   body.appendChild(style);
@@ -339,6 +341,8 @@
     body.removeChild(style);
   }, 20);
 }
+
+
 
 
 // beforeUnmount(() => {
@@ -401,9 +405,6 @@
             <el-option label="5" value="5"></el-option>
             <el-option label="6" value="6"></el-option>
             <el-option label="7" value="7"></el-option>
-            <el-option label="8" value="8"></el-option>
-            <el-option label="9" value="9"></el-option>
-            <el-option label="10" value="10"></el-option>
           </el-select>
 
           <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('basicData.plselectproject')" clearable
@@ -492,10 +493,7 @@
     </template>
   </el-dialog>
 
-  <el-dialog id="sizePrintCalrd" v-model="dialogTableVisible" destroy-on-close style="width: 75%;height:75% ">
-    <!-- <template #header="{ close, titleId, titleClass }">
-        <el-button  @click="printFlowCard" >鎵撳嵃</el-button>
-      </template> -->
+  <el-dialog id="sizePrintCalrd" v-model="dialogTableVisible" destroy-on-close >
     <print-flow id="child" :printFlowCardId="printFlowCardId" :printLayer="printLayer"
                 style="width: 100%;height: 100%"/>
   </el-dialog>
diff --git a/hangzhoumesParent/JsonFile/PlcTemperingGlass.json b/hangzhoumesParent/JsonFile/PlcTemperingGlass.json
new file mode 100644
index 0000000..3abe9a6
--- /dev/null
+++ b/hangzhoumesParent/JsonFile/PlcTemperingGlass.json
@@ -0,0 +1,132 @@
+{
+    "plcAddressBegin": "DB88.0",
+    "plcAddressLenght": "58",
+    "dataType": "word",
+    "parameteInfor": [
+        {
+            "codeId": "confirmationWord",
+            "addressIndex": "0",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "temperingLayoutId",
+            "addressIndex": "2",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "filmsid",
+            "addressIndex": "4",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "temperingType",
+            "addressIndex": "6",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "thickness",
+            "addressIndex": "8",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "loadingRate",
+            "addressIndex": "10",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "areaDifference",
+            "addressIndex": "12",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "state",
+            "addressIndex": "22",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "deviceState",
+            "addressIndex": "24",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "resultState",
+            "addressIndex": "26",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "loadSpeed",
+            "addressIndex": "28",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "downSpeed",
+            "addressIndex": "30",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "load1",
+            "addressIndex": "32",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "heat1",
+            "addressIndex": "34",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "heat2",
+            "addressIndex": "36",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "cool1",
+            "addressIndex": "38",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "cool2",
+            "addressIndex": "40",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "downId",
+            "addressIndex": "42",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "productionTime",
+            "addressIndex": "44",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "heatEnergy",
+            "addressIndex": "46",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "coolEnergy",
+            "addressIndex": "48",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "temperatureUp1",
+            "addressIndex": "50",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "temperatureDown1",
+            "addressIndex": "52",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "temperatureUp2",
+            "addressIndex": "54",
+            "addressLenght": "2"
+        },
+        {
+            "codeId": "temperatureDown2",
+            "addressIndex": "56",
+            "addressLenght": "2"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/JsonFile/PlcdownGlass.json b/hangzhoumesParent/JsonFile/PlcdownGlass.json
new file mode 100644
index 0000000..a5698c2
--- /dev/null
+++ b/hangzhoumesParent/JsonFile/PlcdownGlass.json
@@ -0,0 +1,149 @@
+{
+	"plcAddressBegin": "DB11.0",
+	"plcAddressLenght": "94",
+	"dataType": "word",
+	"parameteInfor": [
+
+		{
+			"codeId": "requestWord",
+			"addressIndex": "0",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "requestID",
+			"addressIndex": "2",
+			"addressLenght": "30"
+		},
+		{
+			"codeId": "currentCell",
+			"addressIndex": "32",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "glassStatus08",
+			"addressIndex": "36",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "glassStatus06",
+			"addressIndex": "40",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "glassStatus11",
+			"addressIndex": "42",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "glassStatus13",
+			"addressIndex": "44",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G04_error_status",
+			"addressIndex": "48",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G05_error_status",
+			"addressIndex": "50",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G06_error_status",
+			"addressIndex": "52",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "robot_error_status",
+			"addressIndex": "54",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G08_error_status",
+			"addressIndex": "56",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G09_error_status",
+			"addressIndex": "58",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G10_error_status",
+			"addressIndex": "60",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G11_error_status",
+			"addressIndex": "62",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "robot_error_status",
+			"addressIndex": "64",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G13_error_status",
+			"addressIndex": "66",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "confirmationWord",
+			"addressIndex": "72",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G06_prohibit_film_production",
+			"addressIndex": "74",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G11_prohibit_film_production",
+			"addressIndex": "76",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "G13_prohibit_film_production",
+			"addressIndex": "78",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "Glass_width",
+			"addressIndex": "80",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "Glass_height",
+			"addressIndex": "82",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "Glass_thickness",
+			"addressIndex": "84",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "Start_cell",
+			"addressIndex": "86",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "End_cell",
+			"addressIndex": "88",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "task_type",
+			"addressIndex": "90",
+			"addressLenght": "2"
+		},
+		{
+			"codeId": "alarm_signal",
+			"addressIndex": "92",
+			"addressLenght": "2"
+		}
+
+	]
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
index 4a9356e..acd2fcf 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -1,5 +1,10 @@
 package com.mes.job;
+
 import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.tools.WebSocketServer;
@@ -10,6 +15,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author SNG-010
@@ -20,24 +26,27 @@
 
     @Autowired
     private TemperingGlassInfoService temperingAgoService;
+    @Autowired
+    private DamageService damageService;
+
     /**
      * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
 
     @Scheduled(fixedDelay = 1000)
-    public void temperingGlassHome(){
+    public void temperingGlassHome() {
         JSONObject jsonObject = new JSONObject();
         //姝e湪绛夊緟杩涚墖鐨勭幓鐠�
         List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
-        if(waitingGlass!=null){
+        if (waitingGlass != null) {
             jsonObject.append("waitingGlass", waitingGlass);
         }
 
         //鑾峰彇鏁村湪鐐変腑鐨勪袱涓増鍥緄d
         List<TemperingGlassInfo> layoutId = temperingAgoService.selectLayoutId();
         //杩涚倝涓殑鐜荤拑
-        if(!layoutId.isEmpty()) {
+        if (!layoutId.isEmpty()) {
             List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(0));
             jsonObject.append("intoGlass", intoGlass);
             //杩涚倝涓殑绗簩涓増鍥�
@@ -48,7 +57,7 @@
         }
         //鍑虹倝鍚庣殑鐜荤拑
         List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
-        if(outGlass!=null){
+        if (outGlass != null) {
             jsonObject.append("outGlass", outGlass);
         }
 
@@ -57,7 +66,27 @@
         if (outGlass != null) {
             jsonObject.append("overGlass", overGlass);
         }
+        //褰撳墠閽㈠寲宸ョ▼鐨勬嬁璧版暟鎹�
+        LambdaQueryWrapper<TemperingGlassInfo> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select(TemperingGlassInfo::getEngineerId)
+                .lt(TemperingGlassInfo::getState, Const.TEMPERING_END)
+                .groupBy(TemperingGlassInfo::getEngineerId);
 
+        List<String> engineerIds = temperingAgoService.list(queryWrapper)
+                .stream()
+                .map(TemperingGlassInfo::getEngineerId)
+                .distinct()
+                .collect(Collectors.toList());
+
+        List<Damage> temperingTakeGlassInfos = damageService.list(
+                new LambdaQueryWrapper<Damage>()
+                        .in(Damage::getEngineerId, engineerIds)
+                        .eq(Damage::getType, Const.GLASS_STATE_TAKE)
+                        .orderByAsc(Damage::getId)
+        );
+
+
+        jsonObject.append("temperingTakeGlassInfos", temperingTakeGlassInfos);
 
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass");
         if (sendwServer != null) {
@@ -70,12 +99,15 @@
             }
         }
     }
+
     @Scheduled(fixedDelay = 1000)
-    public void temperingIsRun(){
+    public void temperingIsRun() {
         JSONObject jsonObject = new JSONObject();
         //姝e湪杩涜鐨勪换鍔�
-        List<TemperingGlassInfo>temperingTaskType=temperingAgoService.selectTaskType();
+        List<TemperingGlassInfo> temperingTaskType = temperingAgoService.selectTaskType();
         jsonObject.append("temperingTaskType", temperingTaskType);
+
+
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingIsRun");
         if (sendwServer != null) {
             for (WebSocketServer webserver : sendwServer) {
@@ -86,6 +118,7 @@
                 }
             }
         }
+
     }
 
 
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 de91e91..c65abed 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
@@ -128,11 +128,11 @@
             wrapper.eq(DownGlassInfo::getWorkStationId, request.getWorkStationId());
         }
         List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(wrapper);
-        Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId));
+//        Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId));
         List<Object> engineerIdListTemp = downGlassInfoService.listObjs(new QueryWrapper<DownGlassInfo>().select("distinct engineer_id"));
         List<String> engineerIdList = engineerIdListTemp.stream().map(String::valueOf).collect(Collectors.toList());
         JSONObject jsonObject4 = new JSONObject();
-        jsonObject4.append("downGlassInfos", listMap);
+        jsonObject4.append("downGlassInfos", downGlassInfos);
         jsonObject4.append("engineerIdList", engineerIdList);
 
         //閽㈠寲寮�鍏�

--
Gitblit v1.8.0