From f39fd71eedfd828e715d33356a8c38ffbe66eb1a Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 24 五月 2024 15:28:09 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 UI-Project/src/views/Returns/returns.vue                                                                                          |  126 +++++-
 UI-Project/src/views/Identify/identify.vue                                                                                        |    4 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java    |    0 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml                |    0 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java       |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java                                      |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java                 |    0 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java                         |    0 
 UI-Project/src/views/User/userlist.vue                                                                                            |  420 ++++++++++--------------
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java                   |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java             |    0 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java                                         |   43 ++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java                        |    4 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java                                        |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java      |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                    |  104 ++++--
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java        |    3 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java           |    8 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java |    7 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java                                                   |  222 ++++--------
 /dev/null                                                                                                                         |    5 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java                               |    2 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/test/java/com/mes/TemperingApplicationTest.java                          |    3 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java                                   |   14 
 UI-Project/src/router/index.js                                                                                                    |   24 +
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java                 |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java          |    3 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java                                       |    4 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java             |    0 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java           |    2 
 30 files changed, 510 insertions(+), 502 deletions(-)

diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index 910f514..33ec397 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -210,7 +210,29 @@
             }
           ]
          },
-
+/*----------- 绯荤粺绠$悊 ----------------*/
+{
+  path: 'User',
+  name: 'user',
+  component: () => import('../views/User/user.vue'),
+  children:[
+    {
+      path: '/User/userlist',
+      name: 'userlist',
+      component: () => import('../views/User/userlist.vue')
+    },
+    {
+      path: '/User/rolelist',
+      name: 'rolelist',
+      component: () => import('../views/User/rolelist.vue')
+    },
+    {
+      path: '/User/permissions',
+      name: 'permissions',
+      component: () => import('../views/User/permissions.vue')
+    }
+  ]
+ },
         /*----------- 绠$悊绯荤粺 ----------------*/
         {
           path: 'sys',
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 84ef2b6..2d500f6 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -21,7 +21,7 @@
      <!-- <div  class="centered-text" >NG24030401B01</div> -->
      <div  class="centered-text">
     <div>{{ rect.process_id }}</div>
-    <div style="margin-top: 50px;margin-left: -85px;">{{ rect.width }}*{{ rect.height }}</div>  
+    <div style="margin-top: 50px;margin-left: -85px;">{{ rect.widtha }}*{{ rect.heighta }}</div>  
   </div>
   </div> 
   <!-- 鐐瑰嚮寮瑰嚭 -->
@@ -78,6 +78,8 @@
         x_axis: (rect.x_axis*100) * 0.005, // 灏唜鍊奸櫎浠�3  
         y_axis: (rect.y_axis*100) * 0.005,
         width: (rect.width*100) * 0.004 ,
+        widtha: rect.width ,
+        heighta: rect.height ,
         height:( rect.height*100) * 0.004 ,
         glass_state: rect.glass_state
       }));  
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 84188cb..eddab30 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -14,11 +14,19 @@
 const adda = ref(false)
 const flake = ref(false)
 const flakea = ref(false)
-const state = reactive({updateKey: 0})
-// const value = ref('')
+// const patternHeight = ref('');
+// const patternWidth = ref('');
+// const filmsId = ref('');
+// const patternThickness = ref('');
+// const number = ref('');
+//  patternHeight.value = '';
+    //  patternWidth.value = '';
+    //  filmsId.value = '';
+    //  patternThickness.value = '';
+    //  number.value = '';
 import request from "@/utils/request"
 const ida = ref(null); 
-import { ref, onMounted } from "vue";
+import { ref, onMounted, onUnmounted } from "vue";
 // import http from "@/http/index";
  
 let ruleForm = ref({
@@ -58,28 +66,82 @@
     }
   } catch (error) {
     // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
-    ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
+    // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
   }
 };
-   request.get("/loadGlass/LoadGlass/list").then((res) => {
-    if (res.code === 200) {
-     console.log(res.data);
-     tableDataa.value = res.data;
+onMounted(async () => {  
+  await fetchTableData();  
+  
+  // 璁剧疆瀹氭椂鍣ㄦ潵瀹氭湡鍒锋柊鏁版嵁  
+  const intervalId = setInterval(async () => {  
+    await fetchTableData();  
+  }, 1000); // 姣�1绉掑埛鏂颁竴娆�  
+  
+  // 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒  
+  onUnmounted(() => {  
+    clearInterval(intervalId);  
+  });  
+}); 
+onMounted(async () => {  
+  await fetchTableDataa();  
+  
+  // 璁剧疆瀹氭椂鍣ㄦ潵瀹氭湡鍒锋柊鏁版嵁  
+  const intervalId = setInterval(async () => {  
+    await fetchTableDataa();  
+  }, 1000); // 姣�1绉掑埛鏂颁竴娆�  
+  
+  // 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒  
+  onUnmounted(() => {  
+    clearInterval(intervalId);  
+  });  
+}); 
+  //  request.get("/loadGlass/LoadGlass/list").then((res) => {
+  //   if (res.code === 200) {
+  //    console.log(res.data);
+  //    tableDataa.value = res.data;
    
-    if (tableDataa.value.length === 2) {
-     if (tableDataa.value[0].patternWidth > 0) {
-      flake.value = true;
-     }
+  //   if (tableDataa.value.length === 2) {
+  //    if (tableDataa.value[0].patternWidth > 0) {
+  //     flake.value = true;
+  //    }
  
-    if (tableDataa.value[1].patternWidth > 0) {
-    flakea.value = true;
-    }
-    }
-    } else {
-    ElMessage.warning(res.msg);
-    // router.push("/login");
-    }
-   });
+  //   if (tableDataa.value[1].patternWidth > 0) {
+  //   flakea.value = true;
+  //   }
+  //   }
+  //   } else {
+  //   ElMessage.warning(res.msg);
+  //   // router.push("/login");
+  //   }
+  //  });
+   async function fetchTableDataa() {  
+  try {  
+    const res = await request.get("/loadGlass/LoadGlass/list");  
+    if (res.code === 200) {  
+      tableDataa.value = res.data;  
+  
+      // 鏍规嵁鏁版嵁鏇存柊 flake 鍜� flakea 鐨勫��  
+      if (res.data.length >= 2) {  
+        if (res.data[0].patternWidth > 0) {  
+          flake.value = true;  
+        } else {  
+          flake.value = false;  
+        }  
+  
+        if (res.data[1].patternWidth > 0) {  
+          flakea.value = true;  
+        } else {  
+          flakea.value = false;  
+        }  
+      }  
+    } else {  
+      ElMessage.warning(res.msg);  
+    }  
+  } catch (error) {  
+    console.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触', error);  
+    // 鍙互鍦ㄨ繖閲屾坊鍔犻澶栫殑閿欒澶勭悊閫昏緫  
+  }  
+}  
 // request.get("/loadGlass/LoadGlass/list").then((res) => {
 //       window.localStorage.setItem('patternWidth', res.data.patternWidth)
 //       window.localStorage.setItem('workstationId', res.data.workstationId)
@@ -248,6 +310,11 @@
       // window.location.reload() 
       add.value = false;
      tableDataa.value = response.data;
+    //  patternHeight = '';
+    //  patternWidth.value = '';
+    //  filmsId.value = '';
+    //  patternThickness.value = '';
+    //  number.value = '';
       window.localStorage.setItem('workstationId', response.data.workstationId)
       let workstationId = window.localStorage.getItem('workstationId')
       if (workstationId == '1') {
@@ -351,6 +418,7 @@
       ElMessage.success(response.message);
       // window.location.reload() 
       dialogFormVisible.value = false;
+      selectedProjectNo.value = ''
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -374,7 +442,7 @@
       // window.location.reload() 
       blind.value = false;
       tableData.splice(0, tableData.length, ...response.data);
-      
+      selectedProjectNoa.value = ''
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -400,10 +468,9 @@
       ElMessage.success(response.message);
       // window.location.reload() 
       blinda.value = false;
+      // tableData.value = response.data
+      // tableData.value = [];
       tableData.splice([]);
-    console.log(response)
-    console.log(tableData)
-      // state.updateKey ++
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -436,7 +503,7 @@
       ElMessage.success(response.message);
       // window.location.reload() 
       blindb.value = false;
-      state.updateKey ++
+      tableData.splice([]);
 
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
       ElMessage.error(response.msg);
@@ -455,6 +522,7 @@
   }
 }
 onMounted(fetchTableData);
+onMounted(fetchTableDataa);
 function getStatusText(state: number) {
   switch (state) {
     case 0:  
@@ -578,7 +646,7 @@
     <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button>
     
     <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
-      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;" :key="state.updateKey">
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
     <el-table
     height="150"
      ref="table" 
@@ -679,7 +747,7 @@
      :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
         >
           <el-table-column prop="patternWidth" align="center" label="瀹�" min-width="80" />
-          <el-table-column prop="patternHeight" align="center" label="闀�" min-width="80" />
+          <el-table-column prop="patternHeight" align="center" label="楂�" min-width="80" />
           <el-table-column prop="filmsId" align="center" label="鑶滅郴" min-width="80" />
           <el-table-column prop="number" align="center" label="鏁伴噺" min-width="80" />
           <el-table-column fixed="right" label="鎿嶄綔" align="center" width="150">
@@ -699,7 +767,7 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-              <el-form-item label="闀匡細" :required="true" style="width: 14vw">
+              <el-form-item label="楂橈細" :required="true" style="width: 14vw">
                 <el-input  v-model="patternHeight" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
diff --git a/UI-Project/src/views/User/userlist.vue b/UI-Project/src/views/User/userlist.vue
index 15a996d..aa8c386 100644
--- a/UI-Project/src/views/User/userlist.vue
+++ b/UI-Project/src/views/User/userlist.vue
@@ -1,178 +1,154 @@
-<script lang="ts" setup>
+<script setup>
 import {Search} from "@element-plus/icons-vue";
 import {reactive} from "vue";
 import {useRouter} from "vue-router"
-import { ref } from 'vue'
-
 const router = useRouter()
-const value1 = ref(true)
 const add = ref(false)
 const adda = ref(false)
 
-const changer = ref(false)
+import request from "@/utils/request"
+import { ref, onMounted } from "vue";
+// import { ref } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
+//  import LanguageMixin from './lang/LanguageMixin'
+const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勮鑹� 
+// const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃  
+  const userName = ref('');
+  const password = ref('');
 
-const tableData = [
-  {
-    id: '1',
-    long: '1005',
-    wide: '183.6',
-    thick: '1991',
-    time: '2024/4/1',
-    type: '寰呰瘑鍒�',
-    typea: '1',
-  },
-  {
-    id: '2',
-    long: '105',
-    wide: '183',
-    time: '2024/4/1',
-    thick: '191',
-    typea: '1',
-    type: '寰呰瘑鍒�'
-  },
-  {
-    id: '2',
-    long: '105',
-    wide: '183',
-    time: '2024/4/1',
-    thick: '191',
-    typea: '1',
-    type: '寰呰瘑鍒�'
-  },
-]
-const open = () => {
-  ElMessageBox.confirm(
-    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-    .then(() => {
-      ElMessage({
-        type: 'success',
-        message: '鍒犻櫎鎴愬姛锛�',
-      })
+const tableData = ref([])
+const slot = ref('')
+request.post("/loadGlass/sys/user/listByUserName",{
+  key: ''
+}).then((res) => {
+          if (res.code == 200) {
+          console.log(res.data);
+          tableData.value = res.data
+          } else {
+          ElMessage.warning(res.msg)
+        
+          }
+          });
+// 閲嶇疆瀵嗙爜
+ const open = async(row) => {  
+  try {  
+    const confirmResult = await ElMessageBox.confirm(  
+      '鏄惁閲嶇疆鐢ㄦ埛瀵嗙爜?',  
+      '鎻愮ず',  
+      {  
+        confirmButtonText: '鏄�',  
+        cancelButtonText: '鍙栨秷',  
+        type: 'warning',  
+      }  
+    );  
+    if (confirmResult === 'confirm') {  
+      // 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛  
+      var url="/loadGlass/sys/user/resetPassword?userId="+row.id;
+      console.log(url);
+      const response = await request.post(url, {
+        esdId: row.esdId
     })
-    .catch(() => {
-      ElMessage({
-        type: 'info',
-        message: '鍒犻櫎澶辫触',
-      })
-    })
-}
-const getTableRow = (row,type) =>{
-  switch (type) {
-    case 'edit' :{
-      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
-      router.push({path: '/main/returns/createReturns', query: { ReturnID: 'TH24010101' }})
-      break
-    }
-    case 'delete':{
-      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
-      break
-    }
-  }
-}
-const dialogForm = () => {
-  ElMessageBox.confirm(
-    '鏄惁閲嶇疆瀵嗙爜?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-  .then(() => {
-    // this.boxa = true
-    // this.box = false
-      
-    })
-}
-const dialogForma = () => {
-  ElMessageBox.confirm(
-    '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-}
-
-const options = [
-  {
-    value: 'Option1',
-    label: 'admin',
-  },
-  {
-    value: 'Option2',
-    label: 'ueser2',
-  },
-  {
-    value: 'Option3',
-    label: 'ueser3',
-  },
-]
-const optionsa = [
-  {
-    valuea: 'Option1',
-    labela: '姝e父',
-  },
-  {
-    valuea: 'Option2',
-    labela: '绂佺敤',
-  },
-]
-
-const data= reactive({
-   tableList:[]//table鏁版嵁
-})
-
-const beforeChange = () => {
-  return new Promise((resolve) => {
-    setTimeout(() => {
-      ElMessage.success("淇敼鎴愬姛锛�");
-      return resolve(true);
-    }, 1000);
-  });
-};
-
-// //js灞傦紝瀹炴垬鐗堟湰,涓庡悗鍙版帴鍙d氦浜�
-// const gettableList = (id) = >{
-//   xxx鎺ュ彛.({
-//    id:id
-// }).then((res)=>{
-//    //灏嗘暟鎹紶缁檈l-table缁戝畾鐨�:data=>data.tableList
-//    data.tableList = res.data
-   
-// })
-// }
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      } else {  
+        // 鍒犻櫎澶辫触锛屾偍鍙互澶勭悊閿欒鎴栨樉绀洪敊璇俊鎭粰鐢ㄦ埛  
+      ElMessage.error(response.msg);
+        // alert('鍒犻櫎澶辫触锛�' + deleteResponse.message); 
+      }  
+    }  
+  } catch (error) {  
+    // 澶勭悊鍙兘鍑虹幇鐨勯敊璇紝姣斿 ElMessageBox 鎶涘嚭鐨勫紓甯哥瓑  
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+}; 
+const titleSelectJsona = ref({
+  processType: [],
  
-// //鏈�鍚庡皢璇锋眰鍑芥暟鎸傝浇鍒皏ue瑙嗗浘涓�
-// onMounted(() => {
-//   gettableList ()
+})
+// const handleInputChangea = async (value: string) => {  
+//   if (value) {  
+//     await fetchOptionsa(value);  
+//   } else {  
+//     options.value = []; // 娓呯┖閫夐」鍒楄〃  
+//   }  
+// };  
+onMounted(() => {  
+  // 鍦ㄧ粍浠舵寕杞藉悗璋冪敤 fetchOptions('') 鏉ュ姞杞藉垵濮嬫暟鎹紙濡傛灉闇�瑕侊級  
+  fetchOptionsa('');  
+}); 
+  // 瑙掕壊涓嬫媺閫�  
+  const fetchOptionsa = async () => {  
+  try {  
+    // 鍙戦�佽姹傚埌鍚庣鎺ュ彛  
+    const response = await request.post('/loadGlass/sys/role/queryRole',{
+  key: ''
+});  
+    if (response.code == 200) {  
+    titleSelectJsona.value.processTypea = response.data;
+    console.log(response.data);
+ 
+    } else {  
+      ElMessage.warning(response.data);  
+    }  
+  } catch (error) {  
+    console.error('Error fetching options:', error);  
+  }  
+}; 
+// 娣诲姞 
+const getTableRow = async () => {
+  try {
+    const response = await request.post('/loadGlass/sys/user/saveUser', {
+      userName: userName.value,
+      password: password.value,
+      name: selectedProjectNoa.value,
+    }); 
+ 
+    if (response.code == 200) {
+      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+      ElMessage.success(response.message);
+      add.value = false;
+     tableData.value = response.data;
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.msg);
+    }
+  } catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+};
+// 鍒犻櫎 
+ const opena = async(row) => {  
+  try {  
+    const confirmResult = await ElMessageBox.confirm(  
+      '鏄惁鍒犻櫎璇ョ敤鎴�?',  
+      '鎻愮ず',  
+      {  
+        confirmButtonText: '鏄�',  
+        cancelButtonText: '鍙栨秷',  
+        type: 'warning',  
+      }  
+    );  
+    if (confirmResult === 'confirm') {  
+      // 鐢ㄦ埛鐐瑰嚮浜嗏�滄槸鈥濓紝鐜板湪璋冪敤鍒犻櫎鎺ュ彛  
+      const response = await request.post("/cacheGlass/edgStorageCage/edgReportStatus", {
+        glassId: row.GlassId,
+        controlsId: 301
+    })
+    if (response.code === 200) {
+      ElMessage.success(response.message);
+      } else {  
+        // 鍒犻櫎澶辫触锛屾偍鍙互澶勭悊閿欒鎴栨樉绀洪敊璇俊鎭粰鐢ㄦ埛  
+      ElMessage.error(response.msg);
+        // alert('鍒犻櫎澶辫触锛�' + deleteResponse.message); 
+      }  
+    }  
+  } catch (error) {  
+    // 澶勭悊鍙兘鍑虹幇鐨勯敊璇紝姣斿 ElMessageBox 鎶涘嚭鐨勫紓甯哥瓑  
+    console.error('鍙戠敓閿欒:', error);  
+  }  
+};   
 
-// })
-// const delete = () => {
-//   ElMessageBox.confirm(
-//     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-//     '鎻愮ず',
-//     {
-//       confirmButtonText: '鏄�',
-//       cancelButtonText: '鍙栨秷',
-//       type: 'warning',
-//     }
-//   )
-//   .then(() => {
-      
-//     })
-// }
 const gridOptions = reactive({
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
@@ -207,57 +183,39 @@
       'long': '5',
       'wide': '1005',
       'thick': '183.6',
-      'time': '2024/4/1',
     }
   ]
+ 
 })
-
 </script>
 
 <template>
   <div>
-        <el-button type="primary" style="margin-top: 10px;margin-left: 10px;"  size="mini" id="searchButton" @click="add = true">娣诲姞鐢ㄦ埛</el-button>
-        <el-input
-          clearable
-          placeholder="璇疯緭鍏ョ敤鎴峰悕"
-          size="mini"
-          style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;"
-        />
-        <el-input
-          clearable
-          placeholder="璇疯緭鍏ラ偖绠�"
-          size="mini"
-          style="margin-right: 20px; width: 200px;margin-left: 10px;margin-top: 10px;"
-        />
-        <el-button type="primary" size="mini" @click="searchSubmit" style="margin-top: 10px;">鏌ヨ</el-button >
-        <el-button type="primary" size="mini" @click="empty" style="margin-top: 10px;">娓呯┖</el-button>
-    <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
-      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 200px;">
-        <el-table height="100%" ref="table" 
+     <el-button type="primary" style="margin-top: 10px;margin-left: 10px;"  size="mini" id="searchButton" @click="add = true">娣诲姞鐢ㄦ埛</el-button>
+    <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+        <el-table height="240" ref="table" 
         @selection-change="handleSelectionChange"
         :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id" align="center" label="鐢ㄦ埛鍚�" min-width="80" />
-          <el-table-column prop="long" align="center" label="閭" min-width="120" />
-          <el-table-column prop="time" align="center" label="鍒涘缓鏃堕棿" min-width="120" />
-          <el-table-column  align="center" prop="changer"  label="鏄惁绂佺敤"   min-width="140"  >
-           <template #default="scope">
-           <el-switch  v-model="scope.row.changer"  :before-change="beforeChange" />
-         </template>
-         </el-table-column>
-
+          <el-table-column prop="userName" align="center" label="鐢ㄦ埛鍚�" min-width="180" />
+          <el-table-column align="center" label="瑙掕壊" min-width="80">
+            <template #default="scope">  
+             <el-tag v-for="role in scope.row.roleList">  
+            {{role.name}}  
+           </el-tag>   
+         </template> 
+            </el-table-column>
           <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
-            <template #default>
-              <el-button size="mini" type="text" plain  @click="dialogForm">閲嶇疆瀵嗙爜</el-button>
-              <el-button size="mini" type="text" plain  @click="adda = true">缂栬緫</el-button>
-              <el-button size="mini" type="text" plain  @click="dialogForma">鍒犻櫎</el-button>
+            <template #default="scope">
+              <el-button size="mini" type="text" plain @click="open(scope.row)">閲嶇疆瀵嗙爜</el-button>
+              <el-button size="mini" type="text" plain @click="adda = true">缂栬緫</el-button>
+              <el-button size="mini" type="text" plain @click="opena(scope.row)">鍒犻櫎</el-button>
             </template>
         </el-table-column>
         </el-table>
       </div>
     </el-card>
-   
   </div>
-  
   <el-dialog v-model="add" top="23vh" width="37%" title="娣诲姞鐢ㄦ埛" >
     <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
             <el-form  size="mini" label-width="150px">
@@ -266,8 +224,8 @@
           <el-col :span="6">
               <div id="dt" style="font-size: 15px;">
         <div>
-              <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
-                <el-input  autocomplete="off" />
+          <el-form-item label="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
+                <el-input v-model="userName" autocomplete="off" />
               </el-form-item></div></div>
           </el-col>
         </el-row>
@@ -277,46 +235,17 @@
         <div>
               <el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
                 <el-select
-               v-model="value"
+               v-model="selectedProjectNoa"
+               filterable
                clearable
                placeholder="璇烽�夋嫨瑙掕壊"
                style="width: 330px"
              >
                <el-option
-            v-for="item in options"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          />
-        </el-select>
-              </el-form-item></div></div>
-          </el-col>
-        </el-row>
-        <el-row style="margin-top: 10px;">
-          <el-col :span="6">
-              <div id="dt" style="font-size: 15px;">
-        <div>
-              <el-form-item label="閭锛�" :required="true" style="width: 25vw;">
-                <el-input autocomplete="off" />
-              </el-form-item></div></div>
-          </el-col>
-        </el-row>
-        <el-row style="margin-top: 10px;">
-          <el-col :span="6">
-              <div id="dt" style="font-size: 15px;">
-        <div>
-              <el-form-item label="鏄惁绂佺敤" :required="true" style="width: 25vw;">
-                <el-select
-               v-model="value"
-               clearable
-               placeholder="璇烽�夋嫨鏄惁绂佺敤"
-               style="width: 330px"
-             >
-               <el-option
-            v-for="item in optionsa"
-            :key="item.valuea"
-            :label="item.labela"
-            :value="item.valuea"
+         v-for="item in titleSelectJsona['processTypea']"  
+            :key="item.id"
+            :label="item.name"
+            :value="item.name"
           />
         </el-select>
               </el-form-item></div></div>
@@ -327,7 +256,11 @@
               <div id="dt" style="font-size: 15px;">
         <div>
               <el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
-                <el-input autocomplete="off" />
+                <el-input style="width: 340px;"
+                        v-model="password"
+                        autocomplete="off"
+                        :prefix-icon="Lock"
+                        show-password/>
               </el-form-item></div></div>
           </el-col>
         </el-row>
@@ -336,13 +269,13 @@
           </div>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="getTableRow('edit')">
+        <el-button type="primary" @click="getTableRow">
           纭
         </el-button>
         <el-button @click="add = false">鍙栨秷</el-button>
       </div>
     </template>
-  </el-dialog>  
+  </el-dialog> 
   <el-dialog v-model="adda" top="23vh" width="37%" title="淇敼鐢ㄦ埛" >
     <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
             <el-form  size="mini" label-width="150px">
@@ -448,14 +381,7 @@
    margin-left: 28%;
 }
 #awatch{
-  height: 450px;
-}
-#main-body{
-  margin-top: -20px;
-  margin-left: 300px;
-}
-#main-bodya{
-  margin-top: -10px;
-  margin-left: 100px;
+  height: 460px;
+  /* margin-top: -60px; */
 }
 </style>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
index b32c593..dae4ca1 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
@@ -1,5 +1,8 @@
 package com.mes.device;
 
+import com.github.xingshuangs.iot.utils.IntegerUtil;
+import com.github.xingshuangs.iot.utils.ShortUtil;
+
 import java.lang.reflect.Array;
 import java.nio.charset.StandardCharsets;
 import java.util.*;
@@ -156,15 +159,14 @@
                     Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
                 }
                 if (plcParameterInfo.getAddressLength() == 2) {
-                    plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+                    plcParameterInfo.setValue(String.valueOf(ShortUtil.toUInt16(valueList)));
                 } else if (plcParameterInfo.getAddressLength() == 4) {
-                    plcParameterInfo.setValue(String.valueOf(byte2int(valueList)));
+                    plcParameterInfo.setValue(String.valueOf(IntegerUtil.toUInt32(valueList)));
                 }
                 else if (plcParameterInfo.getAddressLength() >10) {
                     plcParameterInfo.setValue((byteToHexString(valueList)));
                 } else {
-                    String valuestr = new String(valueList);
-                    plcParameterInfo.setValue(valuestr);
+                    plcParameterInfo.setValue((byteToHexString(valueList)));
                 }
             }
         }
@@ -194,6 +196,25 @@
             }
         }*/
     }
+    /**
+     * 鎶婂啓鍏ュ�艰浆鍖栦负byte[]
+     * @param param 鍙傛暟瀹炰緥
+     * @param data 鍐欏叆鍊肩殑瀛楃绫诲瀷
+     */
+    public byte[] setValueToBytes(PlcParameterInfo param, String data) {
+        if (param.getAddressLength() == 2) {
+            return ShortUtil.toByteArray(Integer.parseInt(data));
+
+        } else if (param.getAddressLength() == 4) {
+
+            return IntegerUtil.toByteArray(Long.parseLong(data));
+        }
+        else if (param.getAddressLength() >10) {
+           return data.getBytes();
+        } else {
+            return data.getBytes();
+        }
+    }
 
     /**
      * short绫诲瀷杞琤yte[]
@@ -203,7 +224,7 @@
     public static byte[] short2byte(short s) {
         byte[] b = new byte[2];
         for (int i = 0; i < 2; i++) {
-            int offset = 16 - (i + 1) * 8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+            int offset = 16 - (i + 1) * 8; //璁$畻鍋忕Щ閲�
             b[i] = (byte) ((s >> offset) & 0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
         }
         return b;
@@ -228,14 +249,22 @@
      *
      * @param b byte[]绫诲瀷鍊�
      */
-    public static short byte2int(byte[] b) {
-        short l = 0;
+    public static int byte2int(byte[] b) {
+        int l = 0;
         for (int i = 0; i < 4; i++) {
             l <<= 8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
             l |= (b[3-i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑  l = l | (b[i]&0xff)
         }
         return l;
     }
+    public static byte[] int2byte(int s){
+        byte[] b = new byte[2];
+        for(int i = 0; i < 4; i++){
+            int offset = 16 - (i+1)*8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+            b[i] = (byte)((s >> offset)&0xff); //鎶�32浣嶅垎涓�4涓�8浣嶈繘琛屽垎鍒瓨鍌�
+        }
+        return b;
+    }
     public static String byteToHexString(byte[] bytes) {
         String str = new String(bytes, StandardCharsets.UTF_8).trim();
         return str;
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
index 76aa79e..4bb7aa3 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
@@ -9,11 +9,9 @@
 import com.mes.pp.entity.request.OptimizeRequest;
 import com.mes.pp.mapper.OptimizeProjectMapper;
 import com.mes.pp.service.OptimizeProjectService;
-import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
 import java.util.List;
 
 /**
@@ -29,8 +27,6 @@
 @Slf4j
 public class OptimizeProjectServiceImpl extends MPJBaseServiceImpl<OptimizeProjectMapper, OptimizeProject> implements OptimizeProjectService {
 
-    @Resource
-    UpPattenUsageMapper upPattenUsageMapper;
     @Override
     public List<OptimizeProject> listByState(OptimizeRequest optimizeRequest) {
         log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷,宸ョ▼鍙峰仛闈炵┖鍒ゆ柇妯$硦鏌ヨ");
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
index 0b206d5..10e349a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/S7control.java
@@ -3,9 +3,6 @@
 import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
 import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
 import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
-import com.google.common.primitives.Bytes;
-
-import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -22,17 +19,25 @@
     /**
      * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
      */
-    public void CloseS7client() {
-        if (s7PLC == null) {
+    public void closeS7client() {
+        if (s7PLC != null) {
             s7PLC.close();
         }
-        s7PLC.checkConnected();
     }
+    /**
+     * 閲嶅惎瑗块棬瀛恠7閫氳杩炴帴
+     */
+    public void reStartS7client() {
+        if (s7PLC != null) {
+            s7PLC.hotRestart();
+        }
+    }
+
 
     /**
      * s7閫氳杩炴帴鐘舵��
      */
-    public boolean CheckConnected() {
+    public boolean checkConnected() {
         return s7PLC.checkConnected();
     }
 
@@ -42,11 +47,14 @@
      * @param address 鍦板潃
      * @param data    word鐨勫��
      */
-    public void WriteWord(String address, short data) {
+    public void writeWord(String address, int data) {
         if (s7PLC == null) {
             return;
         }
-        s7PLC.writeInt16(address, data);
+        else if(!s7PLC.checkConnected()) {
+            s7PLC.hotRestart();
+        }
+        s7PLC.writeUInt16(address, data);
     }
 
     /**
@@ -55,17 +63,20 @@
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
-    public void WriteWord(String address, List<Short> datas) {
+    public void writeWord(String address, List<Integer> datas) {
         if (s7PLC == null) {
             return;
         }
+        else if(!s7PLC.checkConnected()) {
+            s7PLC.hotRestart();
+        }
         // s7PLC.write(address, data);
-        List<String> addresslist = GetAddressList(address, datas.size(), 16);
+        List<String> addresslist = getAddressList(address, datas.size(), 16);
         MultiAddressWrite addressWrite = new MultiAddressWrite();
         for (int i = 0; i < datas.size(); i++) {
-            addressWrite.addInt16(addresslist.get(i), datas.get(i));
+            addressWrite.addUInt16(addresslist.get(i), datas.get(i));
         }
-        s7PLC.writeMultiData(addressWrite);
+            s7PLC.writeMultiData(addressWrite);
     }
 
     /**
@@ -82,11 +93,14 @@
      * @param address 鍦板潃
      * @param data    Bit鐨勫��
      */
-    public void WriteBit(String address, Boolean data) {
+    public void writeBit(String address, Boolean data) {
         if (s7PLC == null) {
             return;
         }
-        s7PLC.writeBoolean(address, data);
+        else if(!s7PLC.checkConnected()) {
+            s7PLC.hotRestart();
+        }
+            s7PLC.writeBoolean(address, data);
     }
 
     /**
@@ -95,9 +109,12 @@
      * @param address 鍦板潃
      * @param datas   bit鐨勫��
      */
-    public void WriteBit(List<String> address, List<Boolean> datas) {
+    public void writeBit(List<String> address, List<Boolean> datas) {
         if (s7PLC == null) {
             return;
+        }
+        else if(!s7PLC.checkConnected()) {
+            s7PLC.hotRestart();
         }
         // s7PLC.write(address, data);
 
@@ -105,7 +122,7 @@
         for (int i = 0; i < address.size(); i++) {
             addressWrite.addBoolean(address.get(i), datas.get(i));
         }
-        s7PLC.writeMultiData(addressWrite);
+            s7PLC.writeMultiData(addressWrite);
     }
 
     /**
@@ -114,17 +131,20 @@
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
-    public void WriteBit(String address, List<Boolean> datas) {
+    public void writeBit(String address, List<Boolean> datas) {
         if (s7PLC == null) {
             return;
         }
+        else if(!s7PLC.checkConnected()) {
+            s7PLC.hotRestart();
+        }
         // s7PLC.write(address, data);
-        List<String> addresslist = GetAddressList(address, datas.size(), 1);
+        List<String> addresslist = getAddressList(address, datas.size(), 1);
         MultiAddressWrite addressWrite = new MultiAddressWrite();
         for (int i = 0; i < datas.size(); i++) {
             addressWrite.addBoolean(addresslist.get(i), datas.get(i));
         }
-        s7PLC.writeMultiData(addressWrite);
+            s7PLC.writeMultiData(addressWrite);
     }
 
     /**
@@ -133,11 +153,14 @@
      * @param address 鍦板潃
      * @param datas   byte鐨勫��
      */
-    public void WriteByte(String address, byte[] datas) {
+    public void writeByte(String address, byte[] datas) {
         if (s7PLC == null) {
             return;
         }
-        // s7PLC.write(address, data); 
+        else if(!s7PLC.checkConnected()) {
+            s7PLC.hotRestart();
+        }
+        // s7PLC.write(address, data);
         s7PLC.writeByte(address, datas);
     }
 
@@ -147,31 +170,21 @@
      * @param address 鍦板潃
      * @return 缁撴灉
      */
-    public List<Short> ReadWord(List<String> address) {
+    public List<Integer> readWord(List<String> address) {
         if (s7PLC == null) {
             return null;
         }
 
         try {
-            return s7PLC.readInt16(address);
+            return s7PLC.readUInt16(address);
         } catch (Exception e) {
+            s7PLC.hotRestart();
             System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
             return null;
         }
     }
 
 
-    private int getIndexFromAddress(String address) {
-
-        // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
-        return 0;
-    }
-
-    private String getAddressFromIndex(int index) {
-
-        // 鏁存暟杞崲涓哄湴鍧�鏍煎紡鐨勫瓧绗︿覆
-        return "";
-    }
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
@@ -180,15 +193,16 @@
      * @param count   杩炵画璇诲灏戜釜word
      * @return 缁撴灉
      */
-    public List<Short> ReadWord(String address, int count) {
+    public List<Integer> readWord(String address, int count) {
         if (s7PLC == null) {
             return null;
         }
 
-        List<String> addresslist = GetAddressList(address, count, 16);
+        List<String> addresslist = getAddressList(address, count, 16);
         try {
-            return s7PLC.readInt16(addresslist);
+            return s7PLC.readUInt16(addresslist);
         } catch (Exception e) {
+            s7PLC.hotRestart();
             System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
 
             return null;
@@ -202,7 +216,7 @@
      * @param count   杩炵画璇诲灏戜釜byte
      * @return 缁撴灉
      */
-    public byte[] ReadByte(String address, int count) {
+    public byte[] readByte(String address, int count) {
         if (s7PLC == null) {
             return null;
         }
@@ -212,6 +226,7 @@
             return s7PLC.readByte(address, count);
         } catch (Exception e) {
             // 澶勭悊寮傚父
+            s7PLC.hotRestart();
             System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
             return null;
         }
@@ -224,14 +239,21 @@
      * @param addresslist 鍦板潃闆�
      * @return Boolean缁撴灉
      */
-    public List<Boolean> ReadBits(List<String> addresslist) {
+    public List<Boolean> readBits(List<String> addresslist) {
         if (s7PLC == null) {
             return null;
         }
-        return s7PLC.readBoolean(addresslist);
+        try {
+            return s7PLC.readBoolean(addresslist);
+        } catch (Exception e) {
+            // 澶勭悊寮傚父
+            s7PLC.hotRestart();
+            return null;
+        }
+
     }
 
-    //璇诲彇涓嶈繛缁湴鍧�bit
+   /* //璇诲彇涓嶈繛缁湴鍧�bit
     public List<Boolean> readBits(List<String> addressList) {
         if (s7PLC == null || addressList.isEmpty()) {
             return null;
@@ -249,30 +271,10 @@
         }
 
         return values;
-    }
+    }*/
 
 
-    //璇诲彇StringList
-    public List<String> readStrings(List<String> addressList) {
-        if (s7PLC == null) {
-            return null;
-        }
-        List<String> result = new ArrayList<>();
-        for (String address : addressList) {
-            try {
-                byte[] bytes = s7PLC.readByte(address, 14);
-                if (bytes != null) {
-                    String str = new String(bytes, StandardCharsets.UTF_8);
-                    result.add(str);
-                }
-            } catch (Exception e) {
-                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-                result.add(null);
-            }
-        }
 
-        return result;
-    }
 
     //璇诲彇瀛楃涓�
     public String readString(String address) {
@@ -282,81 +284,13 @@
         try {
             return s7PLC.readString(address);
         } catch (Exception e) {
+            s7PLC.hotRestart();
             System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
             return null;
         }
     }
 
 
-    //涓嶈繛缁湴鍧�鍐欏叆Word
-    public void WriteWord(List<String> address, List<Short> datas) {
-        if (s7PLC == null) {
-            return;
-        }
-
-        for (int i = 0; i < address.size(); i++) {
-            String addr = address.get(i);
-            short data = datas.get(i);
-
-            if (addr.contains("-")) {
-                outmesid(String.valueOf(data), addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
-            } else {
-                s7PLC.writeInt16(addr, data); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
-            }
-        }
-    }
-
-
-    //瀛楃涓插啓鍏�
-    public void outmesid(String data, String addr) {
-//        System.out.println("outmesid: " + data);
-        List<Byte> glassidlist = new ArrayList<>();
-        String[] parts = addr.split("-");
-        if (parts.length == 2) {
-            addr = parts[0]; // 鍙繚鐣� "-" 鍓嶉潰鐨勯儴鍒�
-        }
-        for (char iditem : data.toCharArray()) {
-            glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
-        }
-        byte[] bytes = Bytes.toArray(glassidlist);
-        WriteByte(addr, bytes);
-    }
-
-    //璇诲彇涓嶈繛缁瓀ord
-    public List<Short> readWords(List<String> addresses) {
-        if (s7PLC == null) {
-            return null;
-        }
-        List<Short> data = new ArrayList<>();
-
-        for (String address : addresses) {
-            try {
-                // 鍗曚釜鍦板潃
-                Short value = s7PLC.readInt16(address);
-                data.add(value);
-            } catch (Exception e) {
-                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-
-            }
-
-        }
-        return data;
-    }
-
-    //璇诲彇鍗曚釜word
-    public Short readWord(String address) {
-        if (s7PLC == null) {
-            return null;
-        }
-        try {
-            // 鍗曚釜鍦板潃
-            return s7PLC.readInt16(address);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-
-        }
-        return -1;
-    }
 
     //璇诲彇鏃堕棿
     public Long readtime(String address) {
@@ -366,6 +300,7 @@
         try {
             return s7PLC.readTime(address);
         } catch (Exception e) {
+            s7PLC.hotRestart();
             System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
             return null;
         }
@@ -373,17 +308,16 @@
 
 
     public void writetime(String address, long datas) {
-        if (s7PLC == null)
+        if (s7PLC == null) {
             return;
+        }
+        else if(!s7PLC.checkConnected())
+        {
+            s7PLC.hotRestart();
+        }
 
 
         s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
-    }
-
-
-    private int extractAddressNumber(String address) {
-        String numberStr = address.replaceAll("\\D+", ""); // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒�
-        return Integer.parseInt(numberStr);
     }
 
 
@@ -394,13 +328,15 @@
      * @param count   闀垮害
      * @return Boolean缁撴灉
      */
-    public List<Boolean> ReadBits(String address, int count) {
-        if (s7PLC == null)
+    public List<Boolean> readBits(String address, int count) {
+        if (s7PLC == null) {
             return null;
-        List<String> addresslist = GetAddressList(address, count, 1);
+        }
+        List<String> addresslist = getAddressList(address, count, 1);
         try {
             return s7PLC.readBoolean(addresslist);
         } catch (Exception e) {
+            s7PLC.hotRestart();
             System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
             return null;
         }
@@ -410,7 +346,7 @@
     ;
 
 
-    private List<String> GetAddressList(String address, int count, int addedbit) {
+    private List<String> getAddressList(String address, int count, int addedbit) {
         List<String> addresslist = new ArrayList<String>();
 
         String[] stringdatas = address.trim().split("\\.");
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/xml/UpPattenUsageMapper.xml b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/xml/UpPattenUsageMapper.xml
deleted file mode 100644
index 2ec0f1a..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/xml/UpPattenUsageMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.mes.uppattenusage.mapper.UpPattenUsageMapper">
-
-</mapper>
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java
index f13c19b..53a7864 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/S7object.java
@@ -14,7 +14,7 @@
 public class S7object extends Thread {
     public S7control plccontrol; // PLC閫氳绫诲疄渚�
     private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
-    private String ip = "192.168.10.1"; // plc ip鍦板潃
+    private String ip = "192.168.10.11"; // plc ip鍦板潃
     private int port = 102; // plc 绔彛鍙�
 
 
@@ -52,7 +52,7 @@
                 e.printStackTrace();
             }
 
-            byte[] getplcvlues = plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
+            byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
             PlcMesObject.setPlcParameterList(getplcvlues);
 
         }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
index a9d0721..8c2763e 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
@@ -19,9 +19,10 @@
 
     /**
      * 鏌ヨ绗煎唴绂绘寚瀹氭牸瀛愭渶杩戠┖鏍�
+     *
      * @return
      */
-    EdgStorageCage selectNearestEmpty(int currentSlot);
+    EdgStorageCage selectNearestEmpty(int currentSlot, boolean flag);
 
     /**
      * 鏌ヨ绗煎唴绌烘牸
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index f94d854..5d27ac4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -37,7 +37,7 @@
     UpPattenUsageMapper upPattenUsageMapper;
 
     @Override
-    public EdgStorageCage selectNearestEmpty(int currentSlot) {
+    public EdgStorageCage selectNearestEmpty(int currentSlot, boolean flag) {
         List<EdgStorageCage> emptyList = this.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
                 .selectAll(EdgStorageCage.class)
                 .leftJoin(EdgStorageCageDetails.class, on -> on
@@ -46,7 +46,10 @@
                 .isNull(EdgStorageCageDetails::getSlot)
                 .last("order by abs(t.slot - " + currentSlot + ")  asc limit 2")
         );
-        if (CollectionUtil.isEmpty(emptyList) || emptyList.size() < 2) {
+        if (flag && CollectionUtil.isNotEmpty(emptyList)) {
+            return emptyList.get(0);
+        }
+        if (CollectionUtil.isEmpty(emptyList) || emptyList.size() == 1) {
             return null;
         }
         return emptyList.get(0);
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 dc9db3c..a3615de 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
@@ -86,7 +86,7 @@
                 return;
             }
             log.info("2銆佽幏鍙栧埌鐨勮姹傚瓧涓�0锛屽皢纭瀛楁敼涓�0");
-            S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 0);
+            S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 0);
             return;
         }
         if (!"0".equals(confirmationWrodValue)) {
@@ -104,14 +104,10 @@
         } else if ("3".equals(taskRequestTypeValue)) {
             log.info("2銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
             //鍔犵瀛愰噷闈㈡槸鍚︽湁鐜荤拑锛屾湁鍏堝嚭锛屾棤鐜荤拑鍏堣繘
-            if (("1".equals(out08Glassstate) || "1".equals(out10Glassstate))) {
-                boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
-                        Integer.parseInt(out10Glassstate), confirmationWrodAddress, glassIdeValue, Integer.parseInt(currentSlot));
-                log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},澶辫触涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟", outFlase, glassIdeValue);
-                if (!outFlase && StringUtils.isNotBlank(glassIdeValue)) {
-                    inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
-                }
-            } else {
+            boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
+                    Integer.parseInt(out10Glassstate), confirmationWrodAddress, glassIdeValue, Integer.parseInt(currentSlot));
+            log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},澶辫触涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟", outFlase, glassIdeValue);
+            if (!outFlase && StringUtils.isNotBlank(glassIdeValue)) {
                 inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
             }
         }
@@ -148,13 +144,14 @@
     private void inTo(String glassId, String confirmationWrodAddress, String currentSlot) {
         log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
         GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
+        //TODO: 鏌ヨ鐜荤拑
         if (glassInfo == null) {
             log.info("2銆佹鐜荤拑缂栧彿涓嶅瓨鍦�");
             return;
         }
         log.info("2銆佽幏鍙栧埌鐨勭幓鐠冧俊鎭负{}", glassInfo);
         //娣诲姞杩涚墖浠诲姟  鏌ユ壘绌烘牸
-        EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot));
+        EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(Integer.parseInt(currentSlot), Boolean.FALSE);
         Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧");
         log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", nearestEmpty);
 
@@ -170,7 +167,7 @@
         boolean taskCache = saveTaskCache(details.getGlassId(), 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
         log.info("6銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
 
-        S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 1);
+        S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
         log.info("7銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
 
 
@@ -199,7 +196,10 @@
 //        1.2.3銆佹寜鐓у嚭鐗囦俊鎭幓璇︽儏琛ㄦ煡璇㈡牸瀛愬湪绗煎瓙閲岄潰鍓╀綑鐩稿悓灏哄鐨勭幓鐠冩暟鎹笖浠ョ増鍥緄d銆佺増搴忓崌搴忔帓搴�  鍙栫涓�鍧楃幓鐠冨嚭鐗�
 //        2銆佸鏋滄病鏈夊巻鍙插嚭鐗囦换鍔�
 //        2.1銆佸嚭褰撳墠鐗堝浘id鏈�灏忕増搴忔渶灏忕殑鐜荤拑锛堥棶棰橈細涓ゆ潯绾块兘娌℃湁鍘嗗彶浠诲姟锛屽嚭鐗囨椂涓ゆ潯绾跨殑鐜荤拑灏哄鐩稿悓锛屾槸鍚︽壘灏哄涓嶅悓鐨勶級
-        Assert.isFalse(out08Glassstate == 0 && out10Glassstate == 0, "A09銆丄10閮芥湁鐜荤拑锛屾棤娉曞嚭鐗�");
+        if (out08Glassstate == 2 && out10Glassstate == 2) {
+            log.info("A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖");
+            return Boolean.FALSE;
+        }
         log.info("0銆佸嚭鐗囦换鍔″嚭鐨勭姸鎬�:A09:銆恵}銆�;A10:銆恵}銆�)", out08Glassstate, out10Glassstate);
         //瀹氫箟鍑虹墖鐜荤拑淇℃伅
         int endcell = 0;
@@ -219,8 +219,9 @@
             endcell = queryLineByGlassInfo(a09EdgGlass, a10EdgGlass, glassInfo, out08Glassstate, out10Glassstate);
         } else {
             //鍒ゆ柇涓ゆ潯绾挎槸鍚﹂兘绌洪棽
-            endcell = out08Glassstate == 1 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
-            if (out08Glassstate == 1 && out10Glassstate == 1) {
+            endcell = out08Glassstate == 1 || out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+
+            if ((out08Glassstate == 0 && out10Glassstate == 0) || (out08Glassstate == 1 && out10Glassstate == 1)) {
                 EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT);
                 EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT);
                 if (a09EdgGlass == null && a10EdgGlass == null) {
@@ -257,9 +258,16 @@
                 } else {
                     //鑾峰彇绗煎唴鎵�鏈夌幓鐠冧俊鎭紝鍖呮嫭寰呰繘鐗囩殑
                     List<EdgStorageCageDetails> glassList = queryEdgAllGlass(glassId);
-                    Assert.isTrue(CollectionUtil.isNotEmpty(glassList), "绗煎唴鍜屽緟杩涚墖閮芥病鏈夌幓鐠�");
-                    int othercell = endcell == Const.A10_OUT_TARGET_POSITION ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
-                    glassInfo = queryChangeGlassInfo(othercell, glassId);
+                    if (CollectionUtil.isEmpty(glassList)) {
+                        log.info("绗煎唴鍜屽緟杩涚墖閮芥病鏈夌幓鐠�");
+                        return Boolean.FALSE;
+                    }
+                    if (glassList.size() == 1 && glassId.equals(glassList.get(0).getGlassId())) {
+                        glassInfo = glassList.get(0);
+                    } else {
+                        int othercell = endcell == Const.A10_OUT_TARGET_POSITION ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+                        glassInfo = queryChangeGlassInfo(othercell, glassId);
+                    }
                 }
             }
         }
@@ -274,7 +282,8 @@
     private List<EdgStorageCageDetails> queryEdgAllGlass(String glassId) {
         List<EdgStorageCageDetails> glassList = new ArrayList<>();
         //鑾峰彇寰呰繘鐗囩幓鐠�
-        if(StringUtils.isNotBlank(glassId)){
+        //todo: 鑾峰彇姝e湪鎵ц鐨勫伐绋嬩俊鎭�
+        if (StringUtils.isNotBlank(glassId)) {
             GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
                     .eq(GlassInfo::getGlassId, glassId));
             EdgStorageCageDetails resultDetails = new EdgStorageCageDetails();
@@ -396,23 +405,46 @@
      */
     private Integer queryLineByGlassInfo(EdgStorageCageDetails a08EdgStorageCageDetails, EdgStorageCageDetails a10EdgStorageCageDetails,
                                          EdgStorageCageDetails glassInfo, int out08Glassstate, int out10Glassstate) {
-        if (a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight().equals(glassInfo.getHeight())
-                && a08EdgStorageCageDetails.getWidth().equals(glassInfo.getWidth()) && out08Glassstate == 1) {
-            return Const.A09_OUT_TARGET_POSITION;
+        boolean b08 = a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight().equals(glassInfo.getHeight())
+                && a08EdgStorageCageDetails.getWidth().equals(glassInfo.getWidth());
+        boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight().equals(glassInfo.getHeight())
+                && a10EdgStorageCageDetails.getWidth().equals(glassInfo.getWidth());
+        //瀛樺湪鍑虹墖浠诲姟 07涓虹┖
+        if (a08EdgStorageCageDetails == null && a10EdgStorageCageDetails == null) {
+            return queryLineNoTask(out08Glassstate, out10Glassstate);
+        } else {
+            if (b08) {
+                return queryLineHasTask(out08Glassstate);
+            }
+            if (b10) {
+                return queryLineHasTask(out10Glassstate);
+            }
+            return queryLineNoTask(out08Glassstate, out10Glassstate);
         }
-        if (a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight().equals(glassInfo.getHeight())
-                && a10EdgStorageCageDetails.getWidth().equals(glassInfo.getWidth()) && out10Glassstate == 1) {
-            return Const.A10_OUT_TARGET_POSITION;
-        }
-        if (out08Glassstate == 1) {
-            return Const.A09_OUT_TARGET_POSITION;
-        }
-        if (out10Glassstate == 1) {
-            return Const.A10_OUT_TARGET_POSITION;
-        }
-        Assert.isTrue(Boolean.FALSE, "娌℃湁鎵惧埌鍑虹墖璺緞");
-        return 0;
     }
+
+    /**
+     * 鑾峰彇鏈変换鍔″悗鐨勫嚭鐗囬�昏緫
+     */
+    private Integer queryLineHasTask(int outGlassstate) {
+        return outGlassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
+    }
+
+    /**
+     * 鑾峰彇鏃犱换鍔″悗鐨勫嚭鐗囬�昏緫
+     *
+     * @return
+     */
+    private Integer queryLineNoTask(int out08Glassstate, int out10Glassstate) {
+        if (out08Glassstate == 2) {
+            return Const.A10_OUT_TARGET_POSITION;
+        }
+        if (out10Glassstate == 2 || out08Glassstate == 1) {
+            return Const.A09_OUT_TARGET_POSITION;
+        }
+        return Const.A10_OUT_TARGET_POSITION;
+    }
+
 
     /**
      * 鎸夌収灏哄鍑虹幓鐠�
@@ -430,7 +462,7 @@
                 .groupBy(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight)
                 .last("order by count(t.glass_id) desc limit 2");
         List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
-        if (CollectionUtil.isEmpty(list)){
+        if (CollectionUtil.isEmpty(list)) {
             return null;
         }
         log.info("鑾峰彇绗煎瓙鍐呮暟閲忓墠浜岀殑鐜荤拑鏁伴噺锛歿}", list);
@@ -498,7 +530,7 @@
                 log.info("5銆佺洿閫氫换鍔�,灏嗙幓鐠冧俊鎭彃鍏ュ崸寮忕悊鐗囩,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
                 EdgStorageCageDetails details = new EdgStorageCageDetails();
                 BeanUtils.copyProperties(glassInfo, details);
-                EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(currentSlot);
+                EdgStorageCage nearestEmpty = edgStorageCageService.selectNearestEmpty(currentSlot, Boolean.TRUE);
                 Assert.isTrue(null != nearestEmpty, "鏍煎瓙宸叉弧,鏃犳硶鎵ц鐩撮�氫换鍔�");
                 log.info("3銆佹煡璇㈠崸寮忕悊鐗囩閲岄潰鐨勭┖鏍�:{}", nearestEmpty);
                 details.setSlot(nearestEmpty.getSlot());
@@ -521,7 +553,7 @@
             }
             boolean glassSizeStatus = saveGlassSize(glassInfo);
             log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
-            S7object.getinstance().plccontrol.WriteWord(confirmationWrodAddress, (short) 1);
+            S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, (short) 1);
             log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
             return Boolean.TRUE;
         }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
index 785ef2f..ac57db3 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/common/S7object.java
@@ -51,7 +51,7 @@
                 e.printStackTrace();
             }
 
-            byte[] getplcvlues=   plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(),PlcMesObject.getPlcAddressLength());
+            byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
             PlcMesObject.setPlcParameterList(getplcvlues);
 
         }
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
index ed8f92d..f5e434b 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -51,7 +51,7 @@
                 e.printStackTrace();
             }
 
-            byte[] getplcvlues = plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
+            byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
             PlcMesObject.setPlcParameterList(getplcvlues);
 
         }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/controller/EngineeringController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
similarity index 99%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/controller/EngineeringController.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
index 7400f9f..08268b3 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/controller/EngineeringController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -2,6 +2,7 @@
 
 
 import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.service.UpPattenUsageService;
 import com.mes.utils.Result;
@@ -9,7 +10,6 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import com.mes.engineering.service.EngineeringService;
 
 import java.util.List;
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
similarity index 100%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java
similarity index 100%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
similarity index 99%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
index 4005960..2491905 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
@@ -1,7 +1,7 @@
 package com.mes.engineering.mapper;
 
-import com.mes.engineering.entity.Engineering;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.engineering.entity.Engineering;
 
 /**
  * <p>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
similarity index 100%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
similarity index 99%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
index 3828c3b..b36640b 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/EngineeringService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -1,7 +1,7 @@
 package com.mes.engineering.service;
 
-import com.mes.engineering.entity.Engineering;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.engineering.entity.Engineering;
 
 import java.util.List;
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
similarity index 99%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
index 8dd2ddc..8c62698 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -1,11 +1,12 @@
 package com.mes.engineering.service.impl;
+
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.mapper.EngineeringMapper;
 import com.mes.engineering.service.EngineeringService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.pp.entity.OptimizeProject;
 import com.mes.pp.mapper.OptimizeProjectMapper;
 import lombok.extern.slf4j.Slf4j;
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index 3fd3a87..a019c7c 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -52,16 +52,16 @@
                     int workId = upwork.getWorkstationId();//宸ヤ綅id
                     double width = upwork.getPatternWidth();//瀹藉害
                     double height = upwork.getPatternHeight();//楂樺害
-                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("WorkId").getAddress(), workId);
-                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassWidth").getAddress(), (long) width);
-                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("GlassHeight").getAddress(), (long) height);
-                    S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 1);
+                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("WorkId").getAddress(), (short) workId);
+                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("GlassWidth").getAddress(), (short) width);
+                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("GlassHeight").getAddress(), (short) height);
+                    S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), (short) 1);
                     //鏇存敼涓婄墖琛ㄧ姸鎬�
                     upPattenUsageService.updateUpPattenUsageState(upPattenUsage, workId);
 
                 }
             }
-            if("1".equals(mesToPlc)&& "0".equals(loadRequest)){
+            if ("1".equals(mesToPlc) && "0".equals(loadRequest)) {
                 //璇锋眰瀛椾负闆舵椂锛屼换鍔″瓧娓呴浂
                 S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 0);
             }
@@ -73,7 +73,7 @@
     }
 
     @Scheduled(fixedDelay = 300)
-    public void plcLoadGlassReport(){
+    public void plcLoadGlassReport() {
         //鑾峰彇鏄惁鏈夋眹鎶�
         String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
         if (loadStatus != null) {
@@ -101,7 +101,7 @@
         }
     }
 
-    public void overTask(String loadStatus, int state)  {
+    public void overTask(String loadStatus, int state) {
         UpPattenUsage upPattenUsage = upPattenUsageService.selectOverTask();
         if (upPattenUsage != null) {
             log.info("鏀跺埌姹囨姤娓厈}鐘舵��", loadStatus);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
similarity index 98%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
index dd4950e..33610c6 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
@@ -1,11 +1,11 @@
 package com.mes.uppattenusage.controller;
+
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.service.EngineeringService;
+import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
-import com.mes.pp.entity.OptimizeProject;
 import com.mes.pp.service.OptimizeProjectService;
 import com.mes.uppattenusage.entity.UpPattenUsage;
-import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.uppattenusage.service.UpPattenUsageService;
 import com.mes.utils.Result;
 import io.swagger.annotations.ApiOperation;
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java
similarity index 100%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/entity/OptimizeUpPattenUsage.java
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
similarity index 100%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
similarity index 100%
rename from hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
rename to hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
index 9949483..38aa703 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
@@ -91,7 +91,7 @@
     public String updateMesInkageLoad(short inKageWord) {
         PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
         log.info("淇敼璁惧涓ゆ爧璇锋眰涓簕}锛�0鑱旂嚎锛�1鑱斿姩", inKageWord);
-        S7object.getinstance().plccontrol.WriteWord(plcParameterObject.getPlcParameter("InkageStatus").getAddress(), inKageWord);
+        S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("InkageStatus").getAddress(), inKageWord);
         return "success";
     }
 
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
index f122d7d..bd7cb05 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
@@ -25,8 +25,8 @@
 //    }
     //鍙戦�佸潗鏍囦俊鎭�
     public void SendCoordinate(short glassX, short glassY) {
-        s7control.WriteWord("DB100.10", glassX);
-        s7control.WriteWord("DB100.10", glassY);
+        s7control.writeWord("DB100.10", glassX);
+        s7control.writeWord("DB100.10", glassY);
     }
 
     //鍒ゆ柇鏄惁鍙互鍙戦�佽繘鐐変俊鍙�
@@ -41,12 +41,12 @@
 
     //鍙戦�佽繘鐐変俊鍙�
     public void SendIntoGlass(short start) {
-        s7control.WriteWord("DB100.10", start);
+        s7control.writeWord("DB100.10", start);
     }
 
     //鎺ュ彈瀹屾垚瀛楀洖澶嶇‘璁ゅ瓧
     public void SendIntoGlass() {
-        s7control.WriteWord("DB100.10", (short) 1);
+        s7control.writeWord("DB100.10", (short) 1);
     }
 
     //鏄剧ず绛夊緟涓殑鐗堝浘
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/test/java/com/mes/TemperingApplicationTest.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/test/java/com/mes/TemperingApplicationTest.java
index 426a339..11fb3d2 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/test/java/com/mes/TemperingApplicationTest.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/test/java/com/mes/TemperingApplicationTest.java
@@ -1,12 +1,9 @@
 package com.mes;
 
-import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.pp.mapper.OptimizeProjectMapper;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingAgoService;
-import com.mes.uppattenusage.entity.UpPattenUsage;
-import com.mes.uppattenusage.service.impl.UpPattenUsageServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
index 92f56b5..15b3372 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -51,7 +51,7 @@
                 e.printStackTrace();
             }
 
-            byte[] getplcvlues=   plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(),PlcMesObject.getPlcAddressLength());
+            byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
             PlcMesObject.setPlcParameterList(getplcvlues);
 
         }

--
Gitblit v1.8.0