wu
2023-12-11 7f1806c6a01318f3b1eff38da7c7c41ae82ff8c0
Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

# Conflicts:
# springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
# springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
37个文件已修改
1207 ■■■■■ 已修改文件
CanadaMes-ui/src/api/home.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/Manualoneposition.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/Manualoneposition2.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/configuration/ServoManualone.json 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/en-US.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/zh-CN.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/layout/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ManualJog.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ManualonePosition.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Parameter2.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/ServoManualone.vue 135 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/WebSocketServer.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/config.properties 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/sql/canadames.sql 354 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/api/home.js
@@ -222,9 +222,9 @@
    })
}
export function CompleteQueue(id,frameid) {
export function CompleteQueue(id,frameid,glassid) {
    return request({
        url: '/home/CompleteQueue?id=' + id+'&frameid='+frameid,
        url: '/home/CompleteQueue?id=' + id+'&frameid='+frameid+'&glassid='+glassid,
        method: 'post',
        data:""
    })
CanadaMes-ui/src/configuration/Manualoneposition.json
@@ -154,7 +154,7 @@
    {
      "button": {
        "name": "未回零",
        "value": 0,
        "value": 1,
        "address": "DB10.0",
        "state": 1
      }
@@ -221,7 +221,7 @@
    {
      "button": {
        "name": "未回零",
        "value": 0,
        "value": 1,
        "address": "DB10.0",
        "state": 1
      }
CanadaMes-ui/src/configuration/Manualoneposition2.json
@@ -49,7 +49,7 @@
    {
      "button": {
        "name": "未回零",
        "value": 0,
        "value": 1,
        "address": "DB10.0",
        "state": 1
      }
@@ -113,7 +113,7 @@
    {
      "button": {
        "name": "未回零",
        "value": 0,
        "value": 1,
        "address": "DB10.0",
        "state": 1
      }
CanadaMes-ui/src/configuration/ServoManualone.json
@@ -195,7 +195,7 @@
        {
          "button": {
            "name": "未回零",
            "value":0,
            "value":1,
            "address":"DB10.0",
            "type":"66"
          }
@@ -236,7 +236,7 @@
      {
        "button": {
          "name": "未回零",
          "value":0,
          "value":1,
          "address":"DB10.0",
          "type":"66"
        }
@@ -283,7 +283,7 @@
      "button": {
        "name": "未回零",
        
        "value":0,
        "value":1,
        "address":"DB10.0",
        "type":"66"
      }
@@ -332,7 +332,7 @@
          } ,{
            "button": {
              "name": "未回零",
              "value":0,
              "value":1,
              "address":"DB10.0",
              "type":"66"
            }
CanadaMes-ui/src/lang/locales/en-US.json
@@ -325,7 +325,8 @@
  "Unable to find whether the aluminum frame is flipped or not":"Unable to find whether the aluminum frame is flipped or not",
  "You do not have this permission":"You do not have this permission",
  "This glass is already in the Queue":"This glass is already in the Queue",
  "complete":"complete",
  "Complete":"Complete",
  "Not Allow":"Not Allow",
    "ServoManualone": {
      "A01 所在格子": "A01 Current Grid",
      "数量": "Quantity",
CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -317,7 +317,8 @@
  "Unable to find the placement method of the aluminum frame":"查询不到铝框摆放方式",
  "Unable to find whether the aluminum frame is flipped or not":"查询不到铝框是否翻转",
  "This glass is already in the Queue":"此玻璃已在出片队列中",
  "complete":"完成",
  "Complete":"完成",
  "Not Allow":"不允许",
  "langparameter": {
    "conveyor Velocity(Auto FAST)": "D01-D06 皮带输送自动快速",
    "conveyor Velocity(Auto SLOW)": "D01-D06 皮带输送自动慢速",
CanadaMes-ui/src/layout/index.vue
@@ -228,15 +228,15 @@
      });
    }
  },
  watch: {
    '$route'(to) {
      // 切换路由时更新激活的标签
      const tag = this.menuList.some(item => item.menuLists.some(menu => '/' + menu.router === to.path));
      if (tag) {
        this.activeTag = tag;
      }
    }
  }
  // watch: {
  //   '$route'(to) {
  //     // 切换路由时更新激活的标签
  //     const tag = this.menuList.some(item => item.menuLists.some(menu => '/' + menu.router === to.path));
  //     if (tag) {
  //       this.activeTag = tag;
  //     }
  //   }
  // }
}
</script>
CanadaMes-ui/src/views/Electrical/ManualJog.vue
@@ -49,8 +49,8 @@
      
    </el-breadcrumb>
    <el-row :gutter="1">
      <el-col :span="24" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex">
    <el-row :gutter="40" style="width:100%;">
      <el-col :span="18" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex">
        <el-card class="json-block" style="width:100%;">
          <div class="button-row" style="display: flex; justify-content: flex-start;flex-wrap:wrap;">
@@ -128,16 +128,16 @@
    },
    //根据读取PLC的值,根据名称改变颜色1打开,0关闭
    getStatusClass (zhuangtai) {
// console.log(zhuangtai);
      if (zhuangtai === 1) {
        return "op";
      }
      else {
        return "dow";
      }
//     getStatusClass (zhuangtai) {
// // console.log(zhuangtai);
//       if (zhuangtai === 1) {
//         return "op";
//       }
//       else {
//         return "dow";
//       }
    },
//     },
    initWebSocket () {
      let viewname = "ManualJog";
CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -50,7 +50,7 @@
    <el-row :gutter="10">
      <el-col :span="12" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex">
        <el-card class="json-block" style="width:585px;">
        <el-card class="json-block" style="width:585px;margin-bottom: 10px;">
          <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container">
            <div class="item-row">
              <span class="name" style="width:300px;">{{ item.name }}</span>
@@ -62,12 +62,12 @@
            <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
              <el-button v-if="item.button && language === 'en-US' && item.state != 0" :name="item.button.name"
                v-model="item.button.value"
                :class="{ 'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1, 'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'greenbutton': item.button.name !== 'NotZero' && item.button.name !== 'Fault' && item.button.value === 1 }"
                :class="{ 'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1, 'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'NotZero' && item.button.value === 1,'greenbutton': item.button.name !== 'NotZero' && item.button.name !== 'Fault' && item.button.value === 1 }"
                @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{
                  item.button.name }}</el-button>
              <el-button v-if="item.button && language === 'zh-CN' && item.state != 0" :name="item.button.name"
                v-model="item.button.value"
                :class="{ 'action-button': true, 'error-button': item.button.name === '故障' && item.button.value === 1, 'error-button2': item.button.name === '未回零' && item.button.value === 0,'greenbutton': item.button.name !== '未回零' && item.button.name !== '故障' && item.button.value === 1 }"
                :class="{ 'action-button': true, 'error-button': item.button.name === '故障' && item.button.value === 1, 'error-button2': item.button.name === '未回零' && item.button.value === 0,'error-button3': item.button.name === '未回零' && item.button.value === 1,'greenbutton': item.button.name !== '未回零' && item.button.name !== '故障' && item.button.value === 1 }"
                @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{
                  item.button.name }}</el-button>
            </div>
@@ -351,6 +351,37 @@
                });
              }
              //改变状态文字
// for (let i = 2; i < jsonData2.length; i++) {
//   let arr6 = jsonData2[i];
//   for (let j = 2; j < arr6.length; j++) {
//     let obj6 = arr6[j];
//     if (obj6.button&& (obj6.button.name === "未回零" || obj6.button.name === "NotZero")) {
//       if ( obj6.button.name.includes("未")&& this.language==="zh-CN") {
//         console.log(obj6.button.name)
//       obj6.button.name =obj6.button.name.replace("未","已") ;
//     }
//     if ( obj6.button.name.includes("NotZero")) {
//       obj6.button.name =obj6.button.name.replace("NotZero","Zero") ;
//     }
//   }
// }
// }
            }
          }, 50);
          document.addEventListener('mouseover', handleMouseMove);
              //更新实时位置
              jsonData2.forEach((item) => {
                item.forEach((subItem) => {
@@ -413,12 +444,26 @@
              }
//改变未回零文字
for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
  for (let j = 0; j < arr.length; j++) {
    let obj = arr[j];
    if (obj.button && obj.button.value===1) {
      if ( obj.button.name.includes("未回零")&& this.language==="zh-CN") {
      obj.button.name =obj.button.name.replace("未回零","已回零") ;
    }
    if ( obj.button.name.includes("NotZero")) {
      obj.button.name =obj.button.name.replace("NotZero","Zero") ;
    }
  }
            }
          }, 200);
}
          document.addEventListener('mouseover', handleMouseMove);
        };
@@ -506,4 +551,8 @@
  background-color: green;
}
.error-button3{
  background-color: green;
}
</style>
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -125,6 +125,7 @@
    },
    //提交方法
    submitDataToBackend (currentButtonName) {
      if (currentButtonName === 'A01翻转启动' || currentButtonName === 'A01 SERVE TURN') {
        const data = [];
@@ -308,6 +309,16 @@
                });
              });
            }
          }, 50);
          document.addEventListener('mouseover', handleMouseMove);
              // 遍历guzhang数组
              for (let i = 0; i < jsonData2.length; i++) {
                let arr = jsonData2[i];
@@ -324,7 +335,7 @@
                
//未回零
              for (let i = 0; i < jsonData2.length; i++) {
                let arr2 = jsonData2[i];
                for (let j = 0; j < arr2.length; j++) {
@@ -356,13 +367,24 @@
              }
              //改变未回零文字
for (let i = 0; i < jsonData2.length; i++) {
  let arr = jsonData2[i];
  for (let j = 0; j < arr.length; j++) {
    let obj = arr[j];
    if (obj.button && obj.button.value===1) {
      if ( obj.button.name.includes("未回零")&& this.language==="zh-CN") {
      obj.button.name =obj.button.name.replace("未回零","已回零") ;
    }
    if ( obj.button.name.includes("NotZero")) {
      obj.button.name =obj.button.name.replace("NotZero","Zero") ;
    }
  }
            }
          }, 50);
}
          document.addEventListener('mouseover', handleMouseMove);
        };
CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -254,7 +254,7 @@
      const parms = obj.params;
   
  //  console.log(obj);
     console.log(obj);
@@ -264,8 +264,7 @@
  // if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) {
//急停按钮
    jsonData2[13][0].button.value = obj.jiting[0][0];
    // jsonData2[13][0].button.value = obj.jiting[0][0];
    //清除id
@@ -434,7 +433,6 @@
},
    send () {
     
      socket?.send(JSON.stringify(this.messagepack));
    }
CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -63,8 +63,8 @@
      </el-row>
      <div class="button-row" style="display: flex; justify-content: space-between;">
        <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex">
          <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
          <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '故障' && item.button.value === 1,'error-button2': item.button.name === '未回零' && item.button.value === 0,'fuwei': item.button.name === '复位' && item.button.value === 1,'huiling': item.button.name === '回零' && item.button.value === 1,'qidong': item.button.name === 'A01半自动' && item.button.value === 1,'qidong2': item.button.name === 'A02半自动' && item.button.value === 1,'qidong3': item.button.name === 'A01半自动启动' && item.button.value === 1,'qidong4': item.button.name === 'A02半自动启动' && item.button.value === 1,'qidong5': item.button.name === 'A02半自动' && item.button.value === 1,'jiting': item.button.name === '急停后中止/继续选择' && item.button.value === 1  }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
          <el-button v-if="item.button && language === 'en-US' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === 'Fault' && item.button.value === 1,'error-button2': item.button.name === 'NotZero' && item.button.value === 0,'error-button3': item.button.name === 'NotZero' && item.button.value === 1,'fuwei': item.button.name === 'Reset' && item.button.value === 1,'huiling': item.button.name === 'Home' && item.button.value === 1,'qidong': item.button.name === 'A01 Semi-Auto' && item.button.value === 1,'qidong2': item.button.name === 'A02 Semi-Auto' && item.button.value === 1,'qidong3': item.button.name === 'A01 Semi-Auto Start' && item.button.value === 1,'qidong4': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'qidong5': item.button.name === 'A02 Semi-Auto Start' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1}" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
          <el-button v-if="item.button && language === 'zh-CN' " :name="item.button.name" v-model="item.button.value" :class="{'action-button': true, 'error-button': item.button.name === '故障' && item.button.value === 1,'error-button3': item.button.name === '未回零' && item.button.value === 1,'error-button2': item.button.name === '未回零' && item.button.value === 0,'fuwei': item.button.name === '复位' && item.button.value === 1,'huiling': item.button.name === '回零' && item.button.value === 1,'qidong': item.button.name === 'A01半自动' && item.button.value === 1,'qidong2': item.button.name === 'A02半自动' && item.button.value === 1,'qidong3': item.button.name === 'A01半自动启动' && item.button.value === 1,'qidong4': item.button.name === 'A02半自动启动' && item.button.value === 1,'qidong5': item.button.name === 'A02半自动' && item.button.value === 1,'jiting': item.button.name === '急停后中止/继续选择' && item.button.value === 1  }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button>
        </div>
      </div>
    </el-card>
@@ -157,7 +157,7 @@
  data.push(values);
 
}
data.push([],[], [],);
data.push([], [],[]);
const jsonObject = { data };
@@ -185,7 +185,7 @@
}
data2.unshift([]);
data2.push([], []);
data2.push([], [],[]);
for (let i = 1; i < 2; i++) {
  const inputData = this.jsonData[i].filter(item => item.type === '0' && item.read == 8888).map(item => {
@@ -195,7 +195,7 @@
  const values2 = inputData.map(item => item.value);
  data2.push(values2);
  data2.push([], [],[], []);
  data2.push( [],[], []);
 
}
@@ -468,7 +468,7 @@
  }
  let obj = JSON.parse(msg.data);
   console.log(obj)
  //  console.log(obj)
const weihuiling=obj.weihuiling;
  const jsonData2 = this.jsonData;
@@ -483,25 +483,6 @@
    
 
    jsonData2[0][9].button.value = obj.qidong[0][0];  // 第一个子数组中第一个 type=66 的 button
jsonData2[0][10].button.value = obj.qidong[0][1]; // 第一个子数组中第二个 type=66 的 button
jsonData2[1][7].button.value = obj.qidong[0][2];  // 第二个子数组中第一个 type=66 的 button
jsonData2[1][8].button.value = obj.qidong[0][3];
// 输出更新后的 jsonData2
    // 执行更新逻辑
    for (let i = 0; i < 6; i++) {
  jsonData2[i].forEach((item, index) => {
@@ -511,7 +492,40 @@
  });
}
//进片id
jsonData2.forEach((item) => {
  item.forEach((subItem) => {
    if (subItem.read === 9999) {
      subItem.value = obj.jinpianid[0];
    }
  });
});
//取片id
jsonData2.forEach((item) => {
  item.forEach((subItem) => {
    if (subItem.read === 8888) {
      subItem.value = obj.qupianid[0];
    }
  });
});
  }
}, 50);
  document.addEventListener('mouseover', handleMouseMove);
  jsonData2[0][9].button.value = obj.qidong[0][0];  // 第一个子数组中第一个 type=66 的 button
jsonData2[0][10].button.value = obj.qidong[0][1]; // 第一个子数组中第二个 type=66 的 button
jsonData2[1][7].button.value = obj.qidong[0][2];  // 第二个子数组中第一个 type=66 的 button
jsonData2[1][8].button.value = obj.qidong[0][3];
//故障更新
for (let i = 0; i < jsonData2.length; i++) {
@@ -542,11 +556,6 @@
}
//未回零更新
jsonData2[2][3].button.value = weihuiling[0][0]; 
@@ -554,53 +563,32 @@
jsonData2[4][4].button.value = weihuiling[0][2];  
jsonData2[5][4].button.value = weihuiling[0][3];
// for (let i = 3; i < jsonData2.length; i++) {
//   let arr2 = jsonData2[i];
//   for (let j = 3; j < arr2.length; j++) {
//     let obj3 = arr2[j];
//     if(obj3.button){
//       if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero" )) {
//       obj3.button.value = weihuiling[0][i];
//       //  console.log(obj3.button.value)
// if(jsonData2[2][3].button.value===1){
//   jsonData2[2][3].button.name.replace("未回零","回零") ;
//     }
//     }
//   }
// }
// console.log(jsonData2)
//进片id
jsonData2.forEach((item) => {
  item.forEach((subItem) => {
    if (subItem.read === 9999) {
      subItem.value = obj.jinpianid[0];
// console.log(jsonData2[5][4].button.value)
if(jsonData2[2][3].button.value===1){
  jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("未回零","已回零") ;
  jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("NotZero","Zero") ;
    }
  });
});
//取片id
jsonData2.forEach((item) => {
  item.forEach((subItem) => {
    if (subItem.read === 8888) {
      subItem.value = obj.qupianid[0];
if(jsonData2[3][3].button.value===1){
  jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("未回零","已回零") ;
  jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("NotZero","Zero") ;
    }
  });
});
//急停
if(jsonData2[4][4].button.value===1){
  jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("未回零","已回零") ;
  jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("NotZero","Zero") ;
  }
}, 50);
if(jsonData2[5][4].button.value===1){
  jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("未回零","已回零") ;
  jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("NotZero","Zero") ;
}
  document.addEventListener('mouseover', handleMouseMove);
   
};
@@ -716,4 +704,9 @@
.jiting{
  background-color: green;
}
.error-button3{
  background-color: green;
}
</style>
CanadaMes-ui/src/views/home/index.vue
@@ -634,7 +634,7 @@
            <el-button type="primary" @click="isAllowReorderingState()" :disabled="this.isAllowQueue">{{
                this.isAllowReordering == true ? $t('Not Allow') : $t('Allow')
            }}</el-button>
            <el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border
            <el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border :cell-style="cellStyle"
                style="width: 100%;overflow: auto;">
                <el-table-column prop="glassId" :label="$t('Barcode')"></el-table-column>
                <el-table-column prop="storageCage.orderId" :label="$t('Order No')"></el-table-column>
@@ -648,13 +648,22 @@
                    </template>
                </el-table-column>
                <el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
                <el-table-column prop="position" :label="$t('Position')"></el-table-column>
                <el-table-column prop="position" :label="$t('Position')">
                    <template slot-scope='scope'>
                        {{ scope.row.position==1?$t('Yes'):$t('No') }}
                    </template>
                </el-table-column>
                <el-table-column prop="position" :label="$t('Flip')">
                    <template slot-scope='scope'>
                        {{ scope.row.flip==1?$t('Yes'):$t('No') }}
                    </template>
                </el-table-column>
                <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column>
                <el-table-column prop="barcode" :label="$t('Complete')">
                    <template slot-scope='scope'>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="!isAllowQueue"
                            @click="CompleteQueue(scope.row.id,scope.row.barcode)">{{ $t('Complete') }}</el-button>
                            @click="CompleteQueue(scope.row.id,scope.row.barcode,scope.row.glassId)">{{ $t('Complete') }}</el-button>
                    </template>
                </el-table-column>
                <el-table-column :width="280" :label="$t('Operate')">
@@ -809,14 +818,18 @@
            ManuallyInfeedGlass: true,
            OutingQueue: true,
            OrderInfo: true,
            CageDetails: true
            CageDetails: true,
        };
    },
    created() {
        this.load();
        this.init();
    },
    }
    ,
    methods: {
        init() {
            let viewname = "Home";
            if (typeof (WebSocket) == "undefined") {
@@ -927,13 +940,13 @@
                        if (item.permissionId == "32" && item.state == 1) {
                            this.ManuallyInfeedGlass = false;
                        }
                        if (item.permissionId == "32" && item.state == 1) {
                        if (item.permissionId == "33" && item.state == 1) {
                            this.OutingQueue = false;
                        }
                        if (item.permissionId == "33" && item.state == 1) {
                        if (item.permissionId == "34" && item.state == 1) {
                            this.OrderInfo = false;
                        }
                        if (item.permissionId == "34" && item.state == 1) {
                        if (item.permissionId == "35" && item.state == 1) {
                            this.CageDetails = false;
                        }
                    });
@@ -1575,6 +1588,20 @@
            });
        }
        ,
         cellStyle({ row, column, rowIndex, columnIndex }) {
 // console.log(row, column, "ss");
 column=rowIndex;
 rowIndex=column;
 let style="";
 if (columnIndex === 8&&row.position==1) {
 style="background-Color:yellow;";
 }
 if (columnIndex === 9&&row.flip==1) {
 style="background-Color:yellow;";
 }
 return style;
 }
        ,
        //合并行
        objectSpanMethod({ row, column, rowIndex, columnIndex }) {
            // console.log(row, column, "ss");
@@ -1589,7 +1616,7 @@
            if (rowIndex != 0) {
                barcode2 = arrOutSlice[rowIndex - 1].barcode;
            }
            if (columnIndex === 11) {
            if (columnIndex === 12) {
                if (barcode != barcode2) {
                    // this.FrameNoFlag = barcode;
                    for (let i = rowIndex; i < this.OutSlice.length; i++) {
@@ -1651,8 +1678,8 @@
            this.form5 = {};
        },
        //手动完成出片任务
        CompleteQueue(id,frameid) {
            CompleteQueue(id,frameid).then(res => {
        CompleteQueue(id,frameid,glassid) {
            CompleteQueue(id,frameid,glassid).then(res => {
                if (res.data.message == 200) {
                    this.$message.success(this.$t('Operation successful'));
                }
springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java
@@ -4,7 +4,7 @@
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import com.example.springboot.component.WebSocketServer;
import com.example.springboot.component.*;
@SpringBootApplication
springboot-vue3/src/main/java/com/example/springboot/component/PLCAutomaticParameterSetting.java
@@ -92,15 +92,19 @@
      jsonObject.append("dache1", dache1);
      jsonObject.append("xiaoche", xiaoche1);
      jsonObject.append("fanzhuan", fanzhuan1);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting");
//
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
//      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting");
      if (webserver != null) {
        List<String> messages = webserver.getMessages();
        String addressList1 = "DB100.120";
        String addressList2 = "DB100.18";
        String addressList3 = "DB100.22";
@@ -189,8 +193,9 @@
          }
          // 清空消息列表
          webSocketServer.clearMessages();
          webserver.clearMessages();
        }
      }}
      }
springboot-vue3/src/main/java/com/example/springboot/component/PLCManualJog.java
@@ -125,14 +125,19 @@
      jsonObject.append("params", params);
//      System.out.println("messageValue:" + arraylist +"messageValue2:" + arraylist2 );
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualJog");
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualJog");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualJog");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualJog");
//      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualJog");
      if (webSocketServer != null) {
          if (webserver != null) {
 //       String addressList1 = "DB101.0.0";
//        String addressList2 = "DB101.2.6";
        String addressList3 = "DB101.5.2";
@@ -171,7 +176,7 @@
        addressList311.add("DB101.5.2");
        addressList311.add("DB101.5.3");
        List<String> messages = webSocketServer.getMessages();
            List<String> messages = webserver.getMessages();
        if (!messages.isEmpty()) {
          // 将最后一个消息转换为整数类型的列表
          String lastMessage = messages.get(messages.size() - 1);
@@ -227,7 +232,9 @@
           S7control.getinstance().WriteBit(addressList311, bolList3);
            System.out.println("messageValue:" + bolList3 + " written to PLC at address " + addressList311);
          }
          webSocketServer.clearMessages();
              webserver.clearMessages();
            }
          }
        }
      }
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -39,7 +39,7 @@
      // // TODO Auto-generated catch block
      // e.printStackTrace(); 
      // }
      spianService.selectAll("X12345610102GV");
      //spianService.selectAll("X12345610102GV");
      List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 获取prc进片请求数据
      List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 获取进片车状态
      List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 获取进片车任务是否启动
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
@@ -84,10 +84,10 @@
      addresses4.add("DB103.40");
      List<Short> arraylist4 = S7control.getinstance().readWords(addresses4);
      List<Short> arraylist5 = S7control.getinstance().ReadWord("DB103.40", 1);
      List<Short> arraylist6 = S7control.getinstance().ReadWord("DB103.44", 1);
      List<Short> arraylist7 = S7control.getinstance().ReadWord("DB103.48", 1);
      List<Short> arraylist8 = S7control.getinstance().ReadWord("DB103.50", 1);
      List<Short> arraylist5 = S7control.getinstance().ReadWord("DB106.0", 1);
      List<Short> arraylist6 = S7control.getinstance().ReadWord("DB106.12", 1);
      List<Short> arraylist7 = S7control.getinstance().ReadWord("DB106.40", 1);
      List<Short> arraylist8 = S7control.getinstance().ReadWord("DB106.50", 1);
      List<String> addresses9 = new ArrayList<>();
      addresses9.add("DB104.1.2");
      addresses9.add("DB104.1.3");
@@ -116,7 +116,7 @@
      List<Boolean> B01readstart = S7control.getinstance().readBits(B01start);
      List<Boolean> B02readstart = S7control.getinstance().readBits(B02start);
      short[] combinedBinaryShortArray = PlcManualonePosition.PLCBooleanConverter.convertListsToBinaryShortArray(
      short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
              A01readstart,  A02readstart,B01readstart, B02readstart
      );
@@ -167,14 +167,19 @@
      jsonObject.append("weihuiling", params3);
      jsonObject.append("qidong", combinedBinaryShortArray);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition");
      if (sendwServer != null) {
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
//      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition");
      if (webserver != null) {
        List<String> messages = webserver.getMessages();
        List<String> waddresses1 = new ArrayList<>();
        waddresses1.add("DB100.108");
        waddresses1.add("DB100.20");
@@ -256,7 +261,6 @@
              }
              System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
            }
          }
@@ -293,7 +297,6 @@
                // 写入新的位值列表
                S7control.getinstance().WriteBit(A02start, a02startval);
              }
              System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
@@ -444,8 +447,9 @@
          }
          // 清空消息列表
          webSocketServer.clearMessages();
          webserver.clearMessages();
        }
      }}
      }
    }
  }
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
@@ -122,7 +122,7 @@
      List<Boolean> A02readstart = S7control.getinstance().readBits(A02start);
      short[] combinedBinaryShortArray = PlcManualonePosition2.PLCBooleanConverter.convertListsToBinaryShortArray(
      short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray(
              A01readstart,  A02readstart
      );
@@ -134,14 +134,18 @@
      jsonObject.append("weihuiling", params3);
      jsonObject.append("qidong", combinedBinaryShortArray);
      // System.out.println(jsonObject);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ManualonePosition2");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition2");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
//      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualonePosition2");
          if (webserver != null) {
            List<String> messages = webserver.getMessages();
        List<String> waddresses1 = new ArrayList<>();
        waddresses1.add("DB100.116");
        waddresses1.add("DB100.16");
@@ -316,7 +320,9 @@
          }
          // 清空消息列表
          webSocketServer.clearMessages();
              webserver.clearMessages();
            }
          }
        }
      }
    }
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java
@@ -106,14 +106,19 @@
      jsonObject.append("params", arraylist);
      jsonObject.append("state", state);
      // jsonObject.append("action", sholist);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter");
      if (sendwServer != null) {
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
//      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter");
          if (webserver != null) {
            List<String> messages = webserver.getMessages();
        String addressList = "DB100.0";
@@ -141,7 +146,9 @@
          System.out.println("messageValues:" + messageValues);
          System.out.println("addressList:" + addressList);
          // 清空消息列表
          webSocketServer.clearMessages();
              webserver.clearMessages();
            }
          }
        }
      }
    }
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter1.java
@@ -103,14 +103,19 @@
     jsonObject.append("fanzhuan", fanzhuan1);
     jsonObject.append("xiaoche", xiaoche1);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter1");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter1");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter1");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter1");
      if (sendwServer != null) {
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
          if (webserver != null) {
            List<String> messages = webserver.getMessages();
        List<String> waddresses1 = new ArrayList<>();
        waddresses1.add("DB100.0");
        waddresses1.add("DB100.2");
@@ -194,7 +199,9 @@
          }
          // 清空消息列表
          webSocketServer.clearMessages();
              webserver.clearMessages();
            }
          }
        }
      }
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
@@ -10,6 +10,7 @@
import java.util.Collections;
import java.util.List;
public class PlcParameter2 extends Thread {
  String name = "";
  Integer count = 0;
@@ -136,10 +137,10 @@
      List<String> data3 = S7control.getinstance().readStrings(addressList3);
// A01 A02 B01 B02
      List<String> addresses4 = new ArrayList<>();
      addresses4.add("DB103.52");
      addresses4.add("DB103.54");
      addresses4.add("DB103.56");
      addresses4.add("DB103.60");
      addresses4.add("DB103.32");
      addresses4.add("DB103.34");
      addresses4.add("DB103.36");
      addresses4.add("DB103.40");
    List<Short> data4 = S7control.getinstance().readWords(addresses4);
@@ -186,15 +187,16 @@
      jsonObject.append("jiting", anniuparams);
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter2");
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
 for (WebSocketServer webserver : sendwServer) {
 webserver.sendMessage(jsonObject.toString());
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Parameter2");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
        List<String> messages = webserver.getMessages();
        List<String> addressList = new ArrayList<>();
        addressList.add("DB101.9.2");
@@ -265,9 +267,11 @@
          // 清空消息列表
          webSocketServer.clearMessages();
            webserver.clearMessages();
        }
      }
    }
  }
}
  }
springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning1.java
@@ -98,14 +98,19 @@
            jsonObject.append("params", arraylist);
            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning1");
            if (sendwServer != null) {
                sendwServer.sendMessage(jsonObject.toString());
            }
//            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning1");
//            if (sendwServer != null) {
//                sendwServer.sendMessage(jsonObject.toString());
//            }
            WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Positioning1");
            if (webSocketServer != null) {
                List<String> messages = webSocketServer.getMessages();
//            WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Positioning1");
            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Positioning1");
            if (sendwServer != null) {
                for (WebSocketServer webserver : sendwServer) {
                    webserver.sendMessage(jsonObject.toString());
                    if (webserver != null) {
                        List<String> messages = webserver.getMessages();
                //存片格  出片格地址
                String addressList3 = "DB100.42";
@@ -142,7 +147,9 @@
                    }
                    // 清空消息列表
                    webSocketServer.clearMessages();
                            webserver.clearMessages();
                        }
                    }
                }
springboot-vue3/src/main/java/com/example/springboot/component/PlcPositioning2.java
@@ -86,14 +86,19 @@
            jsonObject.append("params", arraylist);
            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning2");
            if (sendwServer != null) {
                sendwServer.sendMessage(jsonObject.toString());
            }
//            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Positioning2");
//            if (sendwServer != null) {
//                sendwServer.sendMessage(jsonObject.toString());
//            }
            WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Positioning2");
            if (webSocketServer != null) {
                List<String> messages = webSocketServer.getMessages();
            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Positioning2");
            if (sendwServer != null) {
                for (WebSocketServer webserver : sendwServer) {
                    webserver.sendMessage(jsonObject.toString());
                    if (webserver != null) {
                        List<String> messages = webserver.getMessages();
               //B01  B02 地址
                String addressList3 = "DB100.88";
@@ -130,10 +135,11 @@
                    }
                    // 清空消息列表
                    webSocketServer.clearMessages();
                            webserver.clearMessages();
                }
                    }
                }
            }
        }
    }
springboot-vue3/src/main/java/com/example/springboot/component/PlcServoManualone.java
@@ -235,15 +235,19 @@
      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ServoManualone");
//      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("ServoManualone");
//      if (sendwServer != null) {
//        sendwServer.sendMessage(jsonObject.toString());
//      }
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("ServoManualone");
      if (sendwServer != null) {
        sendwServer.sendMessage(jsonObject.toString());
      }
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ServoManualone");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
          if (webserver != null) {
            List<String> messages = webserver.getMessages();
        if (!messages.isEmpty()) {
@@ -377,27 +381,29 @@
          }
          //进片ID写入
          if (messageArray.getJSONArray(4).size() > 0) {
              //取片ID写入
              if (messageArray.getJSONArray(5).size() > 0) {
//            JSONArray jsonArray5 = messageArray.getJSONArray(4);
            String jsonArray5 = String.valueOf(messageArray.getJSONArray(4));
                String jsonArray5 = String.valueOf(messageArray.getJSONArray(5));
            if (!jsonArray5.isEmpty()) {
//              String value = (String) jsonArray5.get(0);
              jsonArray5 = jsonArray5.replaceAll("[\\[\\]\"]", ""); // 去除方括号和双引号
            outmesid( jsonArray5,inputGlassIdAddress);
              System.out.println("Values " + jsonArray5 + " written to PLC at address " + inputGlassIdAddress);
                  outmesid(jsonArray5, outputGlassIdAddress);
                  System.out.println("Values1 " + jsonArray5 + " written to PLC at address " + outputGlassIdAddress);
            }
          }
         // 存片ID写入
          if (messageArray.getJSONArray(5).size() > 0) {
            JSONArray jsonArray6 = messageArray.getJSONArray(5);
              // 进片ID写入
              if (messageArray.getJSONArray(4).size() > 0) {
                JSONArray jsonArray6 = messageArray.getJSONArray(4);
            if (!jsonArray6.isEmpty()) {
              String value2 = (String) jsonArray6.get(0);
             outmesid( value2,outputGlassIdAddress);
              System.out.println("Values " + value2 + " written to PLC at address " + outputGlassIdAddress);
                  outmesid(value2.trim(), inputGlassIdAddress);
                  System.out.println("Values2 " + value2 + " written to PLC at address " + inputGlassIdAddress);
            }
          }
          if (messageArray.getJSONArray(6).size() > 0) {
            JSONArray jsonArray4 = messageArray.getJSONArray(6);
            List<Boolean> sValueb4 = new ArrayList<>();
@@ -423,7 +429,7 @@
          }
          if (messageArray.getJSONArray(7).size() > 0) {
              if (messageArray.getJSONArray(7).size() > 0 && !messageArray.isNull(7)) {
            JSONArray jsonArray4 = messageArray.getJSONArray(7);
            List<Boolean> sValueb5 = new ArrayList<>();
            for (int i = 0; i < jsonArray4.size(); i++) {
@@ -447,33 +453,13 @@
            }
          }
//          if (messageArray.getJSONArray(8).size() > 0  ) {
//            JSONArray jsonArray5 = messageArray.getJSONArray(8);
//            List<Boolean> sValueb5 = new ArrayList<>();
//            for (int i = 0; i < jsonArray5.size(); i++) {
//              Object value = jsonArray5.get(i);
//              if (value != null && !value.toString().equals("null")) {
//                try {
//                  String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
//                  boolean val = "1".equals(cleanedValue.trim());
//                  sValueb5.add(val);
//                  System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
//                } catch (NumberFormatException e) {
//                  // 如果无法解析为 boolean 类型,则忽略该部分
//                  System.err.println("Could not parse value: " + value);
//                }
//              }
//            }
//            if (!sValueb5.isEmpty()) {
//
//              S7control.getinstance().WriteBit(abortresumeTasks, sValueb5);
//              System.out.println("Values " + sValueb5 + " written to PLC at address " + A02Bstart);
//            }
//          }
          // 清空消息列表
          webSocketServer.clearMessages();
              webserver.clearMessages();
            }
          }
        }
      }
    }
springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java
@@ -88,16 +88,18 @@
        JSONObject jsonObject = new JSONObject();
        jsonObject.append("params", params);
        WebSocketServer sendwServer = WebSocketServer.sessionMap.get("action");
      ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("action");
        if (sendwServer != null) {
          sendwServer.sendMessage(jsonObject.toString());
        }
      }
        for (WebSocketServer webserver : sendwServer) {
          webserver.sendMessage(jsonObject.toString());
      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("action");
      if (webSocketServer != null) {
        List<String> messages = webSocketServer.getMessages();
        List<String> messages = webserver.getMessages();
        String addressList = "DB2.0.0";
@@ -130,7 +132,9 @@
          System.out.println("messageValues:" + messageBooleans);
          System.out.println("addressList:" + addressList);
          // 清空消息列表
          webSocketServer.clearMessages();
          webserver.clearMessages();
        }
        }
        }
      }
    }
springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
@@ -28,7 +28,7 @@
    FileInputStream fileInputStream;
    try {
      // 从文件中读取字节数据存入 fileInputStream
      fileInputStream = new FileInputStream("src/main/resources/Alarm.json");
      fileInputStream = new FileInputStream("D:/canadames/Alarm.json");
      // 读取 fileInputStream 中字节并将其解码为字符
      InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
      // 提高读取效率,在 BufferedReader 内包装 InputStreamReader
@@ -101,10 +101,11 @@
        JSONObject jsonObject = new JSONObject();
        jsonObject.append("params", plclist);
        WebSocketServer sendwServer = WebSocketServer.sessionMap.get("alarm");
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("alarm");
        if (sendwServer != null) {
          sendwServer.sendMessage(jsonObject.toString());
        }
          for (WebSocketServer webserver : sendwServer) {
            webserver.sendMessage(jsonObject.toString());
        // 将获取的布尔类型转换为整数类型
        List<Integer> Intlist = new ArrayList<>();
@@ -140,3 +141,5 @@
    }
  }
}
  }
}
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -17,7 +17,6 @@
import com.example.springboot.service.OutSliceServive;
import com.example.springboot.service.SpianService;
public class Plchome extends Thread {
    @Autowired
@@ -33,6 +32,7 @@
    public static String FrameNo;
    //是否需要手动确认玻璃
    public static Boolean isConfirm=false;
    // public static Map b=new HashMap<>();
    // b.put()
    @Override
@@ -71,25 +71,25 @@
            // 查询报警信息
            List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
            jsonObject.append("alarmmg", alarmmg);
            // 读去Plc进片车与出片车位置W
             List<String> addressList = new ArrayList<String>();
             addressList.add("DB106.12");
             addressList.add("DB106.0");
             List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
             if (paramlist != null) {
             jsonObject.append("params", paramlist);
             }
             // 获取进片车状态
             List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
             1);// 获取进片车状态
             boolean exist1 = datas1ListState.contains((short) 0);
             jsonObject.append("zhuangtai", exist1);
             //获取进片玻璃信息
             List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
             if (inglassInfo != null) {
             if (inglassInfo.size() > 0)
             jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
             }
            // // 读去Plc进片车与出片车位置W
            // List<String> addressList = new ArrayList<String>();
            // addressList.add("DB106.12");
            // addressList.add("DB106.0");
            // List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
            // if (paramlist != null) {
            //     jsonObject.append("params", paramlist);
            // }
            // // 获取进片车状态
            // List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
            //         1);// 获取进片车状态
            // boolean exist1 = datas1ListState.contains((short) 0);
            // jsonObject.append("zhuangtai", exist1);
            // // 获取进片玻璃信息
            // List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
            // if (inglassInfo != null) {
            //     if (inglassInfo.size() > 0)
            //         jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
            // }
            
            // 伍 获取进是否有待确认的玻璃id
            String queid = spianMapper.Selectqueueid();
@@ -115,12 +115,11 @@
            //获取当前出片队列状态
            jsonObject.append("isAllowQueue",Plchome.isAllowQueue);
            //获取铝框idDB106.DBW64
            // // 获取铝框idDB106.DBW64
            // String frameno=spianService.queGlassid("DB106.24",14).toString();
            // if(frameno!=Plchome.FrameNo){
            //     Plchome.FrameNo=frameno;
            // }
            // Plchome.FrameNo="123";
            // try {
            //     north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
            // } catch (SQLException e) {
@@ -154,11 +153,6 @@
            //     S7control.getinstance().WriteWord("铝框翻转发送地址", (short)send);
            // }
            
            dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
            boolean dbconnected = false;
            try {
@@ -170,12 +164,12 @@
            }
            jsonObject.append("dbconnected", dbconnected);
            // jsonObject.append("params", new short[] { 30, 40, });
            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Home");
            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
            if (sendwServer != null) {
                sendwServer.sendMessage(jsonObject.toString());
                for (WebSocketServer webserver : sendwServer) {
                    webserver.sendMessage(jsonObject.toString());
            }
            }
            
        }
    }
springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java
@@ -95,11 +95,17 @@
        }
        JSONObject jsonObject = new JSONObject();
        jsonObject.append("sig", Intlist);
        WebSocketServer sendwServer3 = WebSocketServer.sessionMap.get("Sign");
        if (sendwServer3 != null) {
          sendwServer3.sendMessage(jsonObject.toString());
        }
//        WebSocketServer sendwServer3 = WebSocketServer.sessionMap.get("Sign");
//        if (sendwServer3 != null) {
//          sendwServer3.sendMessage(jsonObject.toString());
//        }
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Sign");
        if (sendwServer != null) {
          for (WebSocketServer webserver : sendwServer) {
            webserver.sendMessage(jsonObject.toString());
          }
        }
      }
    }
  }
springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java
@@ -84,9 +84,15 @@
        }
        JSONObject jsonObject = new JSONObject();
        jsonObject.append("sta", Intlist);
        WebSocketServer sendwServer = WebSocketServer.sessionMap.get("State");
//        WebSocketServer sendwServer = WebSocketServer.sessionMap.get("State");
//        if (sendwServer != null) {
//          sendwServer.sendMessage(jsonObject.toString());
//        }
        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("State");
        if (sendwServer != null) {
          sendwServer.sendMessage(jsonObject.toString());
          for (WebSocketServer webserver : sendwServer) {
            webserver.sendMessage(jsonObject.toString());
          }
        }
      }
springboot-vue3/src/main/java/com/example/springboot/component/WebSocketServer.java
@@ -8,7 +8,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
@@ -32,24 +31,26 @@
    static ConfigurableApplicationContext applicationContext;
 
    //解决无法注入mapper问题  //使用方法 homeMapper=WebSocketServer.applicationContext.getBean(HomeMapper.class);
    // 解决无法注入mapper问题 //使用方法
    // homeMapper=WebSocketServer.applicationContext.getBean(HomeMapper.class);
    public static void setApplicationContext(ConfigurableApplicationContext configurableApplicationContext) {
        WebSocketServer.applicationContext = configurableApplicationContext;
    }
   private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
    private List<String> messages;
    /**
     * 记录当前在线连接数
     */
    public static final Map<String, WebSocketServer> sessionMap = new ConcurrentHashMap<>();
    public static final Map<String, ArrayList<WebSocketServer>> sessionMap = new ConcurrentHashMap<>();
    
    String username;
    Session session;
    public WebSocketServer() {
        this.messages = new ArrayList<>();
    }
    /**
     * 连接建立成功调用的方法
     */
@@ -57,8 +58,16 @@
    public void onOpen(Session session, @PathParam("username") String username) {
        this.username=username;
        this.session=session;
        sessionMap.put(username, this);
        log.info("有新用户加入,username={}, 当前在线人数为:{}", username, sessionMap.size());
        List<WebSocketServer> webSocketServers = sessionMap.get(username);
        if (webSocketServers == null) {
            ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
            arrayListwebserver.add(this);
            sessionMap.put(username, arrayListwebserver);
        } else {
            webSocketServers.add(this);
        }
        log.info("有新用户加入,username={}, 当前在线人数为:{}", username, sessionMap.get(username).size());
       
        // JSONObject result = new JSONObject();
        // JSONArray array = new JSONArray();
@@ -77,8 +86,21 @@
     */
    @OnClose
    public void onClose(Session session, @PathParam("username") String username) {
        List<WebSocketServer> webSocketServers = sessionMap.get(username);
        ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
        if (webSocketServers.size()>1) {
            for (WebSocketServer webSocketServer : webSocketServers) {
                if(webSocketServer!=this){
                    arrayListwebserver.add(webSocketServer);
                }
            }
            sessionMap.put(username, arrayListwebserver);
            log.info("移除username={}一名用户session, {}的当前在线人数为:{}", username, username, sessionMap.get(username).size());
        }else{
        sessionMap.remove(username);
        log.info("有一连接关闭,移除username={}的用户session, 当前在线人数为:{}", username, sessionMap.size());
            log.info("移除username={}一名用户session, {}连接关闭, 当前连接数为:{}", username, username, sessionMap.size());
        }
    }
    /**
@@ -86,6 +108,7 @@
     * 后台收到客户端发送过来的消息
     * onMessage 是一个消息的中转站
     * 接受 浏览器端 socket.send 发送过来的 json数据
     *
     * @param message 客户端发送过来的消息
     */
    @OnMessage
@@ -119,19 +142,19 @@
        }
    }
    /**
     * 服务端发送消息给所有客户端
     */
    public void sendAllMessage(String message) {
        try {
            for (WebSocketServer webSocketServer : sessionMap.values()) {
                //log.info("服务端给客户端[{}]发送消息{}", this.session.getId(), message);
                webSocketServer.sendMessage(message);
            }
        } catch (Exception e) {
            log.error("服务端发送消息给客户端失败", e);
        }
    }
    // /**
    //  * 服务端发送消息给所有客户端
    //  */
    // public void sendAllMessage(String message) {
    //     try {
    //         for (WebSocketServer webSocketServer : sessionMap.values()) {
    //             // log.info("服务端给客户端[{}]发送消息{}", this.session.getId(), message);
    //             webSocketServer.sendMessage(message);
    //         }
    //     } catch (Exception e) {
    //         log.error("服务端发送消息给客户端失败", e);
    //     }
    // }
    public List<String> getMessages() {
        return messages;
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,12 +17,11 @@
    //
    System.out.println("启动完成");
     new PlcHold().start();
//new PlcHold().start();
    //
    //
    //new PlcPositioning2().start();
    new Plchome().start();
    // //
////    //
    // new PlcParameter().start();
    // //
    // new Plcalarm().start();
@@ -36,7 +35,7 @@
    // new PlcParameter2().start();
    // new PlcParameter1().start();
    // new PLCAutomaticParameterSetting().start();
//
    // new PlcManualonePosition().start();
    // new PlcManualonePosition2().start();
    // new PlcServoManualone().start();
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -140,7 +140,7 @@
  @GetMapping("/UpdateTask")
  public Result UpdateTask(Integer types, Integer shelfrack, String glassid) {
    Map<String, Object> map = new HashMap<>();
    homeMapper.UpdateTask(types);
    homeMapper.UpdateTask(types,glassid);
    StorageCage glass = homeMapper.SelectGlassInfo(glassid);
    if (types == 0) {
      homeMapper.UpdateCageTask1(glassid);
@@ -374,8 +374,8 @@
  //手动完成任务
  @PostMapping("/CompleteQueue")
  public Result CompleteQueue(String id,String frameid) {
    return outSliceServive.CompleteQueue(id,frameid);
  public Result CompleteQueue(String id,String frameid,String glassid) {
    return outSliceServive.CompleteQueue(id,frameid,glassid);
    
  }
  
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -55,8 +55,8 @@
  short SelectInTask();
  // 手动完成任务
  @Update("update storage_task set task_state=1 where task_type=#{task_type} and task_state=0")
  void UpdateTask(@Param("task_type") Integer task_type);
  @Update("update storage_task set task_state=1 where task_type=#{task_type} and task_state=0 and glass_id=#{glassid}")
  void UpdateTask(@Param("task_type") Integer task_type,String glassid);
  // 手动完成进片任务修改笼子数据
  @Update("update storage_cage set state=1 where glass_id=#{glassid} and state=2")
@@ -168,8 +168,8 @@
  @Select("select ifnull(max(sequence),0)+1 from out_slice ")
  Short SelectMaxSquence();
  //查询用户权限
  @Select("select rp.* from role_permission rp inner join role r on rp.role_id=r.id and r.name=#{token} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35)")
  List<RolePermission> SelectPermissionByUserName(String token);
  @Select("select rp.* from role_permission rp inner join user r on rp.role_id=r.role_id and r.username=#{username} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35)")
  List<RolePermission> SelectPermissionByUserName(String username);
  //完成出片任务
  @Update("update out_slice set state=2 where id=#{id}")
  void CompleteQueue(String id);
springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java
@@ -6,17 +6,23 @@
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoProperties.Storage;
import org.springframework.stereotype.Service;
import com.example.springboot.common.Result;
import com.example.springboot.component.S7control;
import com.example.springboot.entity.Out_slice;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.SpianMapper;
@Service
public class OutSliceServive {
  @Autowired
  private HomeMapper homeMapper;
  @Autowired
  private SpianMapper spianMapper;
  @Autowired
  private JdbcConnections jdbcConnections;
@@ -43,12 +49,17 @@
    return listoutslice;
  }
public Result CompleteQueue(String id, String frameid) {
  public Result CompleteQueue(String id, String frameid, String glassid) {
  homeMapper.CompleteQueue(id);
  Short num=homeMapper.SelectCountByFrameNo(frameid);
  if(num==0){
    homeMapper.CompleteQueueByFrameNo(frameid);
  }
    StorageCage storageCage = homeMapper.SelectGlassInfo(glassid);
    spianMapper.UpdataOutCage1(storageCage.getGlassWidth(), storageCage.getCage(), storageCage.getCell());
    homeMapper.UpdateCageTask2(glassid);
    S7control.getinstance().WriteWord("DB105.12", (short) 0);
  Map<String, Object> map = new HashMap<>();
  map.put("message", "200");
  return Result.success(map);
springboot-vue3/src/main/resources/config.properties
@@ -2,15 +2,15 @@
# A01组合中地址表集合
A01.addresses=DB103.32,DB100.144,DB100.184,DB100.186,DB100.180,DB100.182
# A02组合中地址表集合
A02.addresses=DB103.26,DB100.188,DB100.190,DB100.146
A02.addresses=DB103.34,DB100.188,DB100.190,DB100.146
# A01翻转地址
A01.flipAddress=DB103.42
A01.flipAddress=DB106.2
# A02翻转地址
A02.flipAddress=DB103.46
A02.flipAddress=DB106.14
# B01组合中地址
B01.address=DB103.27
B01.address=DB103.36
# B02组合地址
B02.address=DB103.29
B02.address=DB103.40
# 所有故障按钮地址
faultButtonAddresses=DB104.1.4,DB104.1.5,DB104.1.2,DB104.1.3,DB104.1.6,DB104.1.7
# 复位按钮地址
@@ -18,7 +18,6 @@
# 所有未回零按钮地址
notHomedButtonAddresses=DB104.9.0,DB104.9.1,DB104.9.4,DB104.9.5
# 进片id地址
inputGlassIdAddress=DB100.148
# 存片id地址
outputGlassIdAddress=DB100.162
springboot-vue3/src/main/resources/sql/canadames.sql
@@ -1,7 +1,7 @@
/*
 Navicat MySQL Data Transfer
 Source Server         : 本地8.0
 Source Server         : 本地
 Source Server Type    : MySQL
 Source Server Version : 80022
 Source Host           : localhost:3306
@@ -11,7 +11,7 @@
 Target Server Version : 80022
 File Encoding         : 65001
 Date: 04/12/2023 09:16:20
 Date: 07/12/2023 11:39:42
*/
SET NAMES utf8mb4;
@@ -27,7 +27,7 @@
  `timeon` datetime(0) NULL DEFAULT NULL COMMENT '开始时间',
  `endTime` datetime(0) NULL DEFAULT NULL COMMENT '结束时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1397 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 1397 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of alarmmg
@@ -74,25 +74,107 @@
INSERT INTO `alarmmg` VALUES (1375, 'B01 OUT DEC error', '2023-09-12 16:22:36', '2023-09-15 16:25:51');
INSERT INTO `alarmmg` VALUES (1376, 'B02 IN DEC error', '2023-09-12 16:22:36', '2023-09-15 16:25:51');
INSERT INTO `alarmmg` VALUES (1377, 'B02 OUT DEC error', '2023-09-12 16:22:36', '2023-09-15 16:25:51');
INSERT INTO `alarmmg` VALUES (1378, 'D03 VFD error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1379, 'D05 VFD error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1380, 'B01 VFD error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1381, 'A01 VFD error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1382, 'A01 servo turn error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1383, 'A01 servo travel error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1384, 'B01 servo travel error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1385, 'D01 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1386, 'D02 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1387, 'D03 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1388, 'D04 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1389, 'D05 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1390, 'D06 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1391, 'A01 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1392, 'A02 DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1393, 'B01 IN DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1394, 'B01 OUT DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1395, 'B02 IN DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1396, 'B02 OUT DEC error', '2023-11-29 16:14:24', NULL);
INSERT INTO `alarmmg` VALUES (1378, 'D03 VFD error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1379, 'D05 VFD error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1380, 'B01 VFD error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1381, 'A01 VFD error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1382, 'A01 servo turn error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1383, 'A01 servo travel error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1384, 'B01 servo travel error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1385, 'D01 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1386, 'D02 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1387, 'D03 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1388, 'D04 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1389, 'D05 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1390, 'D06 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1391, 'A01 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1392, 'A02 DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1393, 'B01 IN DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1394, 'B01 OUT DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1395, 'B02 IN DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1396, 'B02 OUT DEC error', '2023-11-29 16:14:24', '2023-12-06 13:20:10');
INSERT INTO `alarmmg` VALUES (1397, 'A01 conveyor right safety alarm', '2023-12-06 14:09:57', '2023-12-06 14:10:01');
INSERT INTO `alarmmg` VALUES (1398, 'A01 conveyor right safety alarm', '2023-12-06 14:10:14', '2023-12-06 14:10:16');
INSERT INTO `alarmmg` VALUES (1399, '1# buffer safety alarm', '2023-12-06 14:10:14', '2023-12-06 14:10:17');
INSERT INTO `alarmmg` VALUES (1400, 'A01 conveyor right safety alarm', '2023-12-06 14:18:50', '2023-12-06 14:18:53');
INSERT INTO `alarmmg` VALUES (1401, 'A01 conveyor right safety alarm', '2023-12-06 14:19:43', '2023-12-06 14:19:45');
INSERT INTO `alarmmg` VALUES (1402, '1# buffer safety alarm', '2023-12-06 14:19:43', '2023-12-06 14:19:46');
INSERT INTO `alarmmg` VALUES (1403, 'A01 conveyor right safety alarm', '2023-12-06 14:21:13', '2023-12-06 14:21:15');
INSERT INTO `alarmmg` VALUES (1404, '1# buffer safety alarm', '2023-12-06 14:21:37', '2023-12-06 14:21:40');
INSERT INTO `alarmmg` VALUES (1405, '2# buffer safety alarm', '2023-12-06 14:22:15', '2023-12-06 14:22:16');
INSERT INTO `alarmmg` VALUES (1406, '2# buffer safety alarm', '2023-12-06 14:22:28', '2023-12-06 14:22:30');
INSERT INTO `alarmmg` VALUES (1407, 'A01 conveyor right safety alarm', '2023-12-06 14:24:48', '2023-12-06 14:24:50');
INSERT INTO `alarmmg` VALUES (1408, 'A01 conveyor right safety alarm', '2023-12-06 14:25:09', '2023-12-06 14:25:12');
INSERT INTO `alarmmg` VALUES (1409, '1# buffer safety alarm', '2023-12-06 14:25:10', '2023-12-06 14:25:12');
INSERT INTO `alarmmg` VALUES (1410, 'A01 conveyor right safety alarm', '2023-12-06 14:26:08', '2023-12-06 14:26:11');
INSERT INTO `alarmmg` VALUES (1411, 'A01 conveyor right safety alarm', '2023-12-06 14:27:53', '2023-12-06 14:27:55');
INSERT INTO `alarmmg` VALUES (1412, '1# buffer safety alarm', '2023-12-06 14:27:53', '2023-12-06 14:27:57');
INSERT INTO `alarmmg` VALUES (1413, 'A01 conveyor right safety alarm', '2023-12-06 14:38:59', '2023-12-06 14:39:02');
INSERT INTO `alarmmg` VALUES (1414, 'A01 conveyor right safety alarm', '2023-12-06 14:39:21', '2023-12-06 14:39:23');
INSERT INTO `alarmmg` VALUES (1415, '1# buffer safety alarm', '2023-12-06 14:39:21', '2023-12-06 14:39:24');
INSERT INTO `alarmmg` VALUES (1416, 'A01 conveyor right safety alarm', '2023-12-06 14:53:31', '2023-12-06 14:53:34');
INSERT INTO `alarmmg` VALUES (1417, 'A01 conveyor right safety alarm', '2023-12-06 14:53:49', '2023-12-06 14:53:51');
INSERT INTO `alarmmg` VALUES (1418, 'A01 conveyor right safety alarm', '2023-12-06 14:54:00', '2023-12-06 14:54:02');
INSERT INTO `alarmmg` VALUES (1419, '1# buffer safety alarm', '2023-12-06 14:54:00', '2023-12-06 14:54:03');
INSERT INTO `alarmmg` VALUES (1420, 'A01 conveyor right safety alarm', '2023-12-06 14:54:05', '2023-12-06 14:54:09');
INSERT INTO `alarmmg` VALUES (1421, '1# buffer safety alarm', '2023-12-06 14:54:05', '2023-12-06 14:54:09');
INSERT INTO `alarmmg` VALUES (1422, 'A01 conveyor right safety alarm', '2023-12-06 15:00:23', '2023-12-06 15:00:26');
INSERT INTO `alarmmg` VALUES (1423, 'A01 conveyor right safety alarm', '2023-12-06 15:00:44', '2023-12-06 15:00:47');
INSERT INTO `alarmmg` VALUES (1424, '1# buffer safety alarm', '2023-12-06 15:00:45', '2023-12-06 15:00:48');
INSERT INTO `alarmmg` VALUES (1425, 'A01 conveyor right safety alarm', '2023-12-06 15:06:36', '2023-12-06 15:06:39');
INSERT INTO `alarmmg` VALUES (1426, 'A01 conveyor right safety alarm', '2023-12-06 15:06:56', '2023-12-06 15:06:58');
INSERT INTO `alarmmg` VALUES (1427, 'A01 conveyor right safety alarm', '2023-12-06 15:07:07', '2023-12-06 15:07:09');
INSERT INTO `alarmmg` VALUES (1428, '1# buffer safety alarm', '2023-12-06 15:07:07', '2023-12-06 15:07:09');
INSERT INTO `alarmmg` VALUES (1429, 'A01 conveyor right safety alarm', '2023-12-06 15:07:12', '2023-12-06 15:07:14');
INSERT INTO `alarmmg` VALUES (1430, '1# buffer safety alarm', '2023-12-06 15:07:12', '2023-12-06 15:37:40');
INSERT INTO `alarmmg` VALUES (1431, 'A01 VFD error', '2023-12-06 15:26:45', '2023-12-06 15:26:46');
INSERT INTO `alarmmg` VALUES (1432, 'A01 servo turn error', '2023-12-06 15:27:16', '2023-12-06 15:28:05');
INSERT INTO `alarmmg` VALUES (1433, 'A02 servo turn error', '2023-12-06 15:27:16', '2023-12-06 15:28:05');
INSERT INTO `alarmmg` VALUES (1434, 'A01 servo travel error', '2023-12-06 15:27:50', '2023-12-06 15:28:05');
INSERT INTO `alarmmg` VALUES (1435, 'A02 servo travel error', '2023-12-06 15:27:50', '2023-12-06 15:28:05');
INSERT INTO `alarmmg` VALUES (1436, 'A02 conveyor Left safety alarm', '2023-12-06 15:47:06', '2023-12-06 15:47:10');
INSERT INTO `alarmmg` VALUES (1437, '2# buffer safety alarm', '2023-12-06 15:47:06', '2023-12-06 15:47:10');
INSERT INTO `alarmmg` VALUES (1438, 'A02 conveyor Left safety alarm', '2023-12-06 15:47:37', '2023-12-06 15:47:45');
INSERT INTO `alarmmg` VALUES (1439, 'A02 conveyor Left safety alarm', '2023-12-06 15:51:45', '2023-12-06 15:51:47');
INSERT INTO `alarmmg` VALUES (1440, '2# buffer safety alarm', '2023-12-06 15:51:45', '2023-12-06 15:51:47');
INSERT INTO `alarmmg` VALUES (1441, 'A02 conveyor Left safety alarm', '2023-12-06 15:52:16', '2023-12-06 15:52:19');
INSERT INTO `alarmmg` VALUES (1442, '2# buffer safety alarm', '2023-12-06 15:54:36', '2023-12-06 15:54:40');
INSERT INTO `alarmmg` VALUES (1443, 'A02 conveyor Left safety alarm', '2023-12-06 15:54:37', '2023-12-06 15:54:40');
INSERT INTO `alarmmg` VALUES (1444, 'A02 conveyor Left safety alarm', '2023-12-06 15:55:07', '2023-12-06 15:55:11');
INSERT INTO `alarmmg` VALUES (1445, 'A02 conveyor Left safety alarm', '2023-12-06 16:00:49', '2023-12-06 16:00:51');
INSERT INTO `alarmmg` VALUES (1446, '2# buffer safety alarm', '2023-12-06 16:00:49', '2023-12-06 16:00:51');
INSERT INTO `alarmmg` VALUES (1447, 'A02 conveyor Left safety alarm', '2023-12-06 16:01:20', '2023-12-06 16:01:24');
INSERT INTO `alarmmg` VALUES (1448, 'A02 conveyor Left safety alarm', '2023-12-06 16:02:44', '2023-12-06 16:02:46');
INSERT INTO `alarmmg` VALUES (1449, '2# buffer safety alarm', '2023-12-06 16:02:44', '2023-12-06 16:02:46');
INSERT INTO `alarmmg` VALUES (1450, 'A02 conveyor Left safety alarm', '2023-12-06 16:03:14', '2023-12-06 16:03:19');
INSERT INTO `alarmmg` VALUES (1451, 'B01 VFD error', '2023-12-06 16:06:34', '2023-12-06 16:06:36');
INSERT INTO `alarmmg` VALUES (1452, 'A02 VFD error', '2023-12-06 16:06:34', '2023-12-06 16:06:36');
INSERT INTO `alarmmg` VALUES (1453, 'A01 servo turn error', '2023-12-06 16:06:37', '2023-12-06 16:07:27');
INSERT INTO `alarmmg` VALUES (1454, 'A02 servo turn error', '2023-12-06 16:06:37', '2023-12-06 16:07:27');
INSERT INTO `alarmmg` VALUES (1455, 'D02 VFD error', '2023-12-06 16:06:58', '2023-12-06 16:10:34');
INSERT INTO `alarmmg` VALUES (1456, 'D03 VFD error', '2023-12-06 16:06:58', '2023-12-06 16:10:34');
INSERT INTO `alarmmg` VALUES (1457, 'D04 VFD error', '2023-12-06 16:06:58', '2023-12-06 16:10:34');
INSERT INTO `alarmmg` VALUES (1458, 'D05 VFD error', '2023-12-06 16:06:58', '2023-12-06 16:10:34');
INSERT INTO `alarmmg` VALUES (1459, 'D06 VFD error', '2023-12-06 16:06:58', '2023-12-06 16:10:34');
INSERT INTO `alarmmg` VALUES (1460, 'A01 servo travel error', '2023-12-06 16:07:08', '2023-12-06 16:07:27');
INSERT INTO `alarmmg` VALUES (1461, 'A02 servo travel error', '2023-12-06 16:07:10', '2023-12-06 16:07:27');
INSERT INTO `alarmmg` VALUES (1462, 'A02 conveyor Left safety alarm', '2023-12-06 16:09:19', '2023-12-06 16:09:22');
INSERT INTO `alarmmg` VALUES (1463, '2# buffer safety alarm', '2023-12-06 16:09:19', '2023-12-06 16:09:22');
INSERT INTO `alarmmg` VALUES (1464, 'A01 servo turn error', '2023-12-06 16:10:45', '2023-12-06 16:16:08');
INSERT INTO `alarmmg` VALUES (1465, 'A02 servo turn error', '2023-12-06 16:10:45', '2023-12-06 16:16:08');
INSERT INTO `alarmmg` VALUES (1466, 'A02 servo travel error', '2023-12-06 16:11:17', '2023-12-06 16:11:23');
INSERT INTO `alarmmg` VALUES (1467, 'A02 conveyor Left safety alarm', '2023-12-06 16:16:45', '2023-12-06 16:16:47');
INSERT INTO `alarmmg` VALUES (1468, '2# buffer safety alarm', '2023-12-06 16:16:45', '2023-12-06 16:16:47');
INSERT INTO `alarmmg` VALUES (1469, 'A02 conveyor Left safety alarm', '2023-12-06 16:17:16', '2023-12-06 16:17:19');
INSERT INTO `alarmmg` VALUES (1470, 'A02 conveyor Left safety alarm', '2023-12-06 16:19:57', '2023-12-06 16:20:00');
INSERT INTO `alarmmg` VALUES (1471, '2# buffer safety alarm', '2023-12-06 16:19:57', '2023-12-06 16:19:59');
INSERT INTO `alarmmg` VALUES (1472, 'A02 conveyor Left safety alarm', '2023-12-06 16:20:28', '2023-12-06 16:20:31');
INSERT INTO `alarmmg` VALUES (1473, 'A01 conveyor right safety alarm', '2023-12-06 16:31:59', '2023-12-06 16:32:02');
INSERT INTO `alarmmg` VALUES (1474, 'A01 conveyor right safety alarm', '2023-12-06 16:32:17', '2023-12-06 16:32:20');
INSERT INTO `alarmmg` VALUES (1475, 'A01 servo turn error', '2023-12-07 11:21:49', NULL);
INSERT INTO `alarmmg` VALUES (1476, 'A02 servo turn error', '2023-12-07 11:21:49', NULL);
INSERT INTO `alarmmg` VALUES (1477, 'A01 servo travel error', '2023-12-07 11:22:19', NULL);
INSERT INTO `alarmmg` VALUES (1478, 'A02 servo travel error', '2023-12-07 11:22:22', NULL);
-- ----------------------------
-- Table structure for car_position
@@ -103,7 +185,7 @@
  `start` int NULL DEFAULT NULL,
  `end` int NULL DEFAULT NULL,
  PRIMARY KEY (`carid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of car_position
@@ -126,12 +208,26 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品分类' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品分类' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of category
-- ----------------------------
INSERT INTO `category` VALUES (1, NULL, NULL, NULL, '测试分类', 1, 1, '2021-11-28 15:08:32', '2021-11-28 15:08:32');
-- ----------------------------
-- Table structure for conver
-- ----------------------------
DROP TABLE IF EXISTS `conver`;
CREATE TABLE `conver`  (
  `state` int NULL DEFAULT NULL,
  `conversionrate` decimal(10, 6) NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of conver
-- ----------------------------
INSERT INTO `conver` VALUES (NULL, 0.039370);
-- ----------------------------
-- Table structure for device
@@ -156,7 +252,7 @@
  `last_product_count_date` date NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `device_id_idx`(`device_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of device
@@ -187,7 +283,7 @@
  `height` decimal(10, 2) NULL DEFAULT NULL,
  `Conversionrate` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of glass
@@ -211,7 +307,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 61 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 61 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of menu_list
@@ -228,7 +324,7 @@
INSERT INTO `menu_list` VALUES (49, 2, '报警信息', '', 49, 'Electrical/alarm', 1, '2021-11-28 14:30:28', '2023-09-08 11:14:08');
INSERT INTO `menu_list` VALUES (51, 2, '设备状态', NULL, 51, 'Electrical/State', 1, '2023-08-25 13:29:13', '2023-09-11 17:07:08');
INSERT INTO `menu_list` VALUES (52, 2, '开关控制', NULL, 52, 'Electrical/Action', 1, '2023-08-25 13:29:18', '2023-09-12 17:02:54');
INSERT INTO `menu_list` VALUES (53, 2, '参数下发', NULL, 53, 'Electrical/Parameter', 1, '2023-08-25 13:29:22', '2023-09-01 16:32:29');
INSERT INTO `menu_list` VALUES (53, 2, '参数下发', NULL, 53, 'Electrical/Servomanual', 1, '2023-08-25 13:29:22', '2023-12-07 09:10:42');
INSERT INTO `menu_list` VALUES (54, 2, 'IO状态', NULL, 53, 'Electrical/Sign', 1, '2023-08-25 13:29:22', '2023-09-11 17:06:16');
-- ----------------------------
@@ -269,16 +365,16 @@
INSERT INTO `north_glass_buffer1` VALUES (8, '123456', '123', '108', 'X12345610802GV', 70.8661, 108.2677, 610.0000, 1015.0000, 'NULL', 'NULL', 'NULL', 'NULL', 'NULL', '2023-08-09 14:41', '2023-08-08 15:55', '123');
INSERT INTO `north_glass_buffer1` VALUES (9, '123456', '123', '109', 'X12345610902GV', 70.8661, 108.2677, 610.0000, 1015.0000, 'NULL', 'NULL', 'NULL', 'NULL', 'NULL', '2023-08-09 14:41', '2023-08-08 15:55', '123');
INSERT INTO `north_glass_buffer1` VALUES (10, '123456', '123', '110', 'X12345611002GV', 72.0472, 108.6614, 610.0000, 1015.0000, 'NULL', 'NULL', 'NULL', 'NULL', 'NULL', '2023-08-09 14:41', '2023-08-08 15:55', '123');
INSERT INTO `north_glass_buffer1` VALUES (239, '219426', '210', '103', 'X21942610302GV', 36.8125, 22.5625, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '123');
INSERT INTO `north_glass_buffer1` VALUES (240, '219426', '210', '103', 'X21942610303GV', 36.8125, 33.4375, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '123');
INSERT INTO `north_glass_buffer1` VALUES (241, '219426', '210', '103', 'X21942610304GV', 32.7500, 18.0000, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (242, '219426', '210', '104', 'X21942610402GV', 37.1875, 81.1875, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (243, '219426', '210', '105', 'X21942610501GV', 44.7500, 14.6682, 610.0000, 1015.0000, 'SPCL6T-6-1183', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (244, '219426', '210', '105', 'X21942610502GV', 44.7500, 81.6875, 610.0000, 1015.0000, 'SPCL6T-6-1183', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (245, '219426', '210', '106', 'X21942610602GV', 29.6250, 81.1875, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (246, '219426', '210', '107', 'X21942610702GV', 29.6875, 81.1875, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (247, '219426', '210', '108', 'X21942610802GV', 29.6875, 22.5625, 754.0625, 573.0875, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (248, '219426', '210', '108', 'X21942610803GV', 29.6875, 33.4375, 754.0625, 849.3125, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (239, '123456', '210', '103', 'X21942610302GV', 36.8125, 22.5625, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '123');
INSERT INTO `north_glass_buffer1` VALUES (240, '123456', '210', '103', 'X21942610303GV', 36.8125, 33.4375, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '123');
INSERT INTO `north_glass_buffer1` VALUES (241, '123456', '210', '103', 'X21942610304GV', 32.7500, 18.0000, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (242, '123456', '210', '104', 'X21942610402GV', 37.1875, 81.1875, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (243, '123456', '210', '105', 'X21942610501GV', 44.7500, 14.6682, 610.0000, 1015.0000, 'SPCL6T-6-1183', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (244, '123456', '210', '105', 'X21942610502GV', 44.7500, 81.6875, 610.0000, 1015.0000, 'SPCL6T-6-1183', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (245, '123456', '210', '106', 'X21942610602GV', 29.6250, 81.1875, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (246, '123456', '210', '107', 'X21942610702GV', 29.6875, 81.1875, 610.0000, 1015.0000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (247, '123456', '210', '108', 'X21942610802GV', 29.6875, 22.5625, 754.0625, 573.0875, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (248, '123456', '210', '108', 'X21942610803GV', 29.6875, 33.4375, 754.0625, 849.3125, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (249, '219426', '210', '108', 'X21942610804GV', 25.6250, 18.0000, 650.8750, 457.2000, 'SB606', 'CLEAR4', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (250, '219426', '210', '109', 'X21942610901GV', 28.0000, 14.6682, 711.2000, 372.5723, 'SPCL6T-6-1183', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
INSERT INTO `north_glass_buffer1` VALUES (251, '219426', '210', '109', 'X21942610902GV', 28.0000, 81.6875, 711.2000, 2074.8625, 'SPCL6T-6-1183', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:25', '2023-08-04 14:25', '122');
@@ -965,6 +1061,7 @@
INSERT INTO `north_glass_buffer1` VALUES (1390, '217633', '254', '295', 'X21763329501GV', 47.0432, 15.0432, 1194.8973, 382.0973, 'SPCL6T-3-4709', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:26', '2023-08-04 14:26', '122');
INSERT INTO `north_glass_buffer1` VALUES (1391, '217633', '254', '295', 'X21763329502GV', 47.0432, 79.5432, 1194.8973, 2020.3973, 'SPCL6T-3-4709', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:26', '2023-08-04 14:26', '122');
INSERT INTO `north_glass_buffer1` VALUES (1392, '217633', '254', '296', 'X21763329602GV', 22.5217, 79.5432, 572.0512, 2020.3973, 'SPCL6T-3-4709', 'NA', 'NA', 'NULL', 'NULL', '2023-08-04 14:26', '2023-08-04 14:26', '122');
INSERT INTO `north_glass_buffer1` VALUES (1393, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
-- ----------------------------
-- Table structure for north_glass_buffer1_frames
@@ -981,12 +1078,13 @@
  `frameheight_mm` decimal(10, 4) NULL DEFAULT NULL,
  `Flip` int NULL DEFAULT NULL,
  `position` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of north_glass_buffer1_frames
-- ----------------------------
INSERT INTO `north_glass_buffer1_frames` VALUES ('219426', '210', '106', '123', 29.6250, 81.1875, 752.4750, 2062.1625, 1, '1');
INSERT INTO `north_glass_buffer1_frames` VALUES ('219426', '210', '106', '122', 29.6250, 81.1875, 752.4750, 2062.1625, 1, '1');
-- ----------------------------
-- Table structure for order_out
@@ -997,7 +1095,7 @@
  `order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单号',
  `state` int NULL DEFAULT NULL COMMENT '状态(0:按此订单号出片,1结束出片)',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of order_out
@@ -1024,13 +1122,10 @@
-- ----------------------------
-- Records of out_slice
-- ----------------------------
INSERT INTO `out_slice` VALUES (95, 'X12345610402GV', '123', 1205.0000, 1640.0000, 0, 1, '2023-12-02 13:17:59', 3, '1');
INSERT INTO `out_slice` VALUES (96, 'X12345610502GV', '123', 1205.0000, 1640.0000, 0, 1, '2023-12-02 13:17:59', 4, '1');
INSERT INTO `out_slice` VALUES (97, 'X12345610602GV', '123', 1205.0000, 1640.0000, 0, 1, '2023-12-02 13:17:59', 5, '1');
INSERT INTO `out_slice` VALUES (98, 'X12345610702GV', '333', 1205.0000, 1640.0000, 0, 1, '2023-12-02 13:17:59', 1, '1');
INSERT INTO `out_slice` VALUES (99, 'X12345610802GV', '333', 1205.0000, 1640.0000, 0, 1, '2023-12-02 13:17:59', 2, '1');
INSERT INTO `out_slice` VALUES (100, 'X12345610902GV', '456', 1205.0000, 1640.0000, 0, 1, '2023-12-02 13:17:59', 6, '1');
INSERT INTO `out_slice` VALUES (101, 'X12345610102GV', '456', 1205.0000, 1640.0000, 0, 1, '2023-12-02 13:17:59', 7, '1');
INSERT INTO `out_slice` VALUES (107, 'X12345611002GV', '123', 610.0000, 1015.0000, 2, 1, '2023-12-06 16:09:29', 1, '1');
INSERT INTO `out_slice` VALUES (108, 'X12345610802GV', '123', 610.0000, 1015.0000, 2, 1, '2023-12-06 16:16:09', 2, '1');
INSERT INTO `out_slice` VALUES (109, 'X12345610702GV', '123', 2000.0000, 4000.0000, 2, 1, '2023-12-06 16:19:22', 3, '1');
INSERT INTO `out_slice` VALUES (110, 'X12345610902GV', '123', 610.0000, 1015.0000, 2, 1, '2023-12-06 16:20:21', 4, '1');
-- ----------------------------
-- Table structure for permission
@@ -1044,7 +1139,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '权限' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '权限' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of permission
@@ -1072,6 +1167,9 @@
INSERT INTO `permission` VALUES (29, 'alarm:select', '报警信息查询', 1, '2021-11-28 15:07:36', '2023-08-28 15:16:24');
INSERT INTO `permission` VALUES (30, 'alarm:add', '报警信息添加', 1, '2023-08-24 08:48:53', '2023-08-28 15:16:27');
INSERT INTO `permission` VALUES (31, 'alarm:update', '报警信息修改', 1, '2023-08-24 08:49:23', '2023-08-28 15:16:29');
INSERT INTO `permission` VALUES (33, 'home:OutingQueue', '出片队列', 1, '2023-12-05 08:52:57', '2023-12-05 15:03:51');
INSERT INTO `permission` VALUES (34, 'home:OrderInfo', '玻璃信息', 1, '2023-12-05 08:53:18', '2023-12-05 08:53:30');
INSERT INTO `permission` VALUES (35, 'home:CageDetails', '理片笼信息', 1, '2023-12-05 14:52:28', '2023-12-05 14:52:43');
-- ----------------------------
-- Table structure for queue
@@ -1096,8 +1194,8 @@
-- ----------------------------
-- Records of queue
-- ----------------------------
INSERT INTO `queue` VALUES (1, 'X12345610702GV', '123456', '123', '107', 2000.0000, 4000.0000, 53.1496, 59.0551, 1, 0, '2023-12-04 08:53:18');
INSERT INTO `queue` VALUES (2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 0, '2023-11-29 13:07:14');
INSERT INTO `queue` VALUES (1, 'X21942610302GV', '123456', '210', '103', 610.0000, 1015.0000, 36.8125, 22.5625, 1, 0, '2023-12-07 11:21:57');
INSERT INTO `queue` VALUES (2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 0, '2023-12-06 16:32:20');
-- ----------------------------
-- Table structure for role
@@ -1112,7 +1210,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of role
@@ -1133,7 +1231,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 57 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 57 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of role_menu_list
@@ -1191,59 +1289,64 @@
  `state` tinyint NOT NULL DEFAULT 1 COMMENT '状态 1/正常',
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of role_permission
-- ----------------------------
INSERT INTO `role_permission` VALUES (1, 1, 1, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (2, 1, 2, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (3, 1, 3, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (7, 1, 7, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (8, 1, 8, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (9, 1, 9, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (10, 1, 10, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (11, 1, 11, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (12, 1, 12, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (13, 1, 13, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (16, 1, 16, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (17, 1, 17, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (18, 1, 18, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (19, 1, 19, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (20, 1, 20, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (22, 1, 22, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (25, 1, 25, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (26, 1, 26, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (27, 1, 27, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (28, 1, 28, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (37, 2, 25, 1, '2021-11-28 16:30:57', '2021-11-28 16:31:04');
INSERT INTO `role_permission` VALUES (38, 2, 26, 1, '2021-11-28 16:30:57', '2021-11-28 16:31:04');
INSERT INTO `role_permission` VALUES (39, 2, 27, 1, '2021-11-28 16:30:57', '2021-11-28 16:31:04');
INSERT INTO `role_permission` VALUES (40, 2, 28, 1, '2021-11-28 16:32:35', '2021-11-28 16:37:20');
INSERT INTO `role_permission` VALUES (41, 2, 22, 1, '2021-11-28 19:57:35', '2021-11-28 19:57:35');
INSERT INTO `role_permission` VALUES (42, 1, 30, 1, '2023-08-24 08:55:34', '2023-08-24 08:55:34');
INSERT INTO `role_permission` VALUES (43, 1, 29, 1, '2023-08-24 08:56:15', '2023-08-24 08:56:15');
INSERT INTO `role_permission` VALUES (44, 1, 31, 1, '2023-08-24 08:56:23', '2023-08-24 08:56:23');
INSERT INTO `role_permission` VALUES (53, 2, 2, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (54, 2, 3, 0, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (56, 2, 8, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (57, 2, 9, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (58, 2, 10, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (61, 2, 13, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (62, 2, 16, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (63, 2, 17, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (64, 2, 18, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (65, 2, 19, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (66, 2, 20, 0, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (67, 2, 22, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (68, 2, 25, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (70, 2, 27, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (71, 2, 28, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (72, 2, 30, 0, '2023-08-24 08:55:34', '2023-08-24 08:55:34');
INSERT INTO `role_permission` VALUES (73, 2, 29, 0, '2023-08-24 08:56:15', '2023-08-28 15:33:14');
INSERT INTO `role_permission` VALUES (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-08-30 16:29:46');
INSERT INTO `role_permission` VALUES (1, 1, 1, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:40', 'admin');
INSERT INTO `role_permission` VALUES (2, 1, 2, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (3, 1, 3, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (7, 1, 7, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (8, 1, 8, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (9, 1, 9, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:55', 'admin');
INSERT INTO `role_permission` VALUES (10, 1, 10, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (11, 1, 11, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (12, 1, 12, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (13, 1, 13, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (16, 1, 16, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (17, 1, 17, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (18, 1, 18, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (19, 1, 19, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (20, 1, 20, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (22, 1, 22, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (25, 1, 25, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:54', 'admin');
INSERT INTO `role_permission` VALUES (26, 1, 26, 0, '2021-11-28 15:07:54', '2023-12-05 15:46:55', 'admin');
INSERT INTO `role_permission` VALUES (27, 1, 27, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:55', 'admin');
INSERT INTO `role_permission` VALUES (28, 1, 28, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:55', 'admin');
INSERT INTO `role_permission` VALUES (37, 2, 25, 1, '2021-11-28 16:30:57', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (38, 2, 26, 1, '2021-11-28 16:30:57', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (39, 2, 27, 1, '2021-11-28 16:30:57', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (40, 2, 28, 1, '2021-11-28 16:32:35', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (41, 2, 22, 1, '2021-11-28 19:57:35', '2023-12-05 15:46:25', 'user1');
INSERT INTO `role_permission` VALUES (42, 1, 30, 1, '2023-08-24 08:55:34', '2023-12-05 15:46:55', 'admin');
INSERT INTO `role_permission` VALUES (43, 1, 29, 1, '2023-08-24 08:56:15', '2023-12-05 15:46:55', 'admin');
INSERT INTO `role_permission` VALUES (44, 1, 31, 0, '2023-08-24 08:56:23', '2023-12-05 15:46:55', 'admin');
INSERT INTO `role_permission` VALUES (53, 2, 2, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (54, 2, 3, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (56, 2, 8, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (57, 2, 9, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (58, 2, 10, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (61, 2, 13, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (62, 2, 16, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (63, 2, 17, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (64, 2, 18, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (65, 2, 19, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (66, 2, 20, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (67, 2, 22, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (68, 2, 25, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (70, 2, 27, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (71, 2, 28, 1, '2021-11-28 15:07:54', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (72, 2, 30, 1, '2023-08-24 08:55:34', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (73, 2, 29, 1, '2023-08-24 08:56:15', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-12-05 15:46:33', 'user1');
INSERT INTO `role_permission` VALUES (75, 1, 32, 1, '2023-12-05 08:54:59', '2023-12-05 08:54:59', NULL);
INSERT INTO `role_permission` VALUES (76, 1, 33, 1, '2023-12-05 08:55:04', '2023-12-05 08:55:04', NULL);
INSERT INTO `role_permission` VALUES (77, 1, 34, 1, '2023-12-05 08:55:09', '2023-12-05 08:55:09', NULL);
INSERT INTO `role_permission` VALUES (78, 1, 35, 1, '2023-12-05 14:54:43', '2023-12-05 14:54:46', NULL);
-- ----------------------------
-- Table structure for storage_cage
@@ -1266,23 +1369,23 @@
  `state` int NULL DEFAULT NULL COMMENT '状态(0:无玻璃,1:有玻璃,2:进片中,3:出片中,4:调度中)',
  `disabled` int NULL DEFAULT NULL COMMENT '格子状态(0:启用,1:禁用)',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 421 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 421 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of storage_cage
-- ----------------------------
INSERT INTO `storage_cage` VALUES (1, NULL, NULL, 1, 1, 2, 750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (2, NULL, NULL, 1, 1, 1, 750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (3, NULL, NULL, 1, 2, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (1, '123', '123456', 1, 1, 2, 750.0000, 2000.0000, 1.0000, 1.0000, 1.0000, '1', '1', 1, 0);
INSERT INTO `storage_cage` VALUES (2, '123', '123456', 1, 1, 1, 750.0000, NULL, NULL, NULL, NULL, NULL, '1', 1, 0);
INSERT INTO `storage_cage` VALUES (3, '', '', 1, 2, 1, 2750.0000, 0.0000, 0.0000, 0.0000, 0.0000, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (4, NULL, NULL, 1, 2, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (5, NULL, NULL, 1, 3, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (6, NULL, NULL, 1, 3, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (7, NULL, NULL, 1, 4, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (8, NULL, NULL, 1, 4, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (9, NULL, NULL, 1, 5, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (5, '', '', 1, 3, 1, 2140.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (6, NULL, NULL, 1, 3, 2, 2140.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (7, '', '', 1, 4, 1, 3360.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (8, NULL, NULL, 1, 4, 2, 3360.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (9, '', '', 1, 5, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (10, NULL, NULL, 1, 5, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (11, NULL, NULL, 1, 6, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (12, NULL, NULL, 1, 6, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (11, NULL, NULL, 1, 6, 1, 2140.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (12, NULL, NULL, 1, 6, 2, 2140.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (13, NULL, NULL, 1, 7, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (14, NULL, NULL, 1, 7, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (15, NULL, NULL, 1, 8, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
@@ -1689,8 +1792,8 @@
INSERT INTO `storage_cage` VALUES (416, NULL, NULL, 10, 19, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (417, NULL, NULL, 10, 20, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (418, NULL, NULL, 10, 20, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (419, NULL, NULL, 10, 21, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (420, NULL, NULL, 10, 21, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0);
INSERT INTO `storage_cage` VALUES (419, NULL, NULL, 10, 21, 1, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 1, 1);
INSERT INTO `storage_cage` VALUES (420, NULL, NULL, 10, 21, 2, 2750.0000, NULL, NULL, NULL, NULL, NULL, NULL, 1, 1);
-- ----------------------------
-- Table structure for storage_rack
@@ -1707,7 +1810,7 @@
  `cageno` int NULL DEFAULT NULL COMMENT '笼子号',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `raw_package_id1`(`raw_package_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 491 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 491 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of storage_rack
@@ -2147,25 +2250,16 @@
  `finsh_time` datetime(0) NULL DEFAULT NULL COMMENT '任务结束时间',
  `glass_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 43 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 43 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of storage_task
-- ----------------------------
INSERT INTO `storage_task` VALUES (29, 0, 1, 1000, 5, '2023-11-28 16:51:16', NULL, 'X12345610402GV');
INSERT INTO `storage_task` VALUES (30, 0, 1, 1000, 7, '2023-11-28 17:08:46', NULL, 'X12345610502GV');
INSERT INTO `storage_task` VALUES (31, 0, 1, 1000, 7, '2023-11-28 17:08:46', NULL, 'X12345610502GV');
INSERT INTO `storage_task` VALUES (32, 0, 1, 1000, 9, '2023-12-02 13:58:29', NULL, 'X12345610702GV');
INSERT INTO `storage_task` VALUES (33, 0, 1, 1000, 11, '2023-12-02 13:58:29', NULL, 'X12345610102GV');
INSERT INTO `storage_task` VALUES (34, 1, 0, 2, 1000, '2023-11-29 15:45:45', NULL, 'X12345610202GV');
INSERT INTO `storage_task` VALUES (35, 0, 1, 1000, 4, '2023-12-02 13:58:29', NULL, 'X12345610402GV');
INSERT INTO `storage_task` VALUES (36, 0, 1, 1000, 43, '2023-12-02 14:35:29', NULL, 'X21942611102GV');
INSERT INTO `storage_task` VALUES (37, 0, 1, 1000, 44, '2023-12-02 14:35:29', NULL, 'X21942611302GV');
INSERT INTO `storage_task` VALUES (38, 0, 1, 1000, 45, '2023-12-02 14:35:29', NULL, 'X21942612003GV');
INSERT INTO `storage_task` VALUES (39, 0, 0, 1000, 2, '2023-12-04 08:09:41', NULL, 'X21942612003GV');
INSERT INTO `storage_task` VALUES (40, 0, 0, 1000, 2, '2023-12-04 08:11:43', NULL, 'X12345610702GV');
INSERT INTO `storage_task` VALUES (41, 0, 0, 1000, 2, '2023-12-04 08:27:41', NULL, 'X12345610702GV');
INSERT INTO `storage_task` VALUES (42, 0, 0, 1000, 2, '2023-12-04 08:52:33', NULL, 'X12345610702GV');
INSERT INTO `storage_task` VALUES (62, 1, 1, 8, 1000, '2023-12-06 16:09:29', NULL, 'X12345611002GV');
INSERT INTO `storage_task` VALUES (63, 1, 1, 4, 1000, '2023-12-06 16:09:29', NULL, 'X12345611002GV');
INSERT INTO `storage_task` VALUES (64, 1, 1, 6, 1000, '2023-12-06 16:16:08', NULL, 'X12345610802GV');
INSERT INTO `storage_task` VALUES (65, 1, 1, 6, 1000, '2023-12-06 16:19:28', NULL, 'X12345610702GV');
INSERT INTO `storage_task` VALUES (66, 1, 1, 4, 1000, '2023-12-06 16:20:24', NULL, 'X12345610902GV');
-- ----------------------------
-- Table structure for user
@@ -2187,7 +2281,7 @@
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  `dianqimima` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作密码',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of user