Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
| | |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <link rel="icon" href="<%= BASE_URL %>2.ico"> |
| | | <title>北玻mes系统</title> |
| | | <title>NorthGlass-MES-System</title> |
| | | </head> |
| | | <body> |
| | | <noscript> |
| | |
| | | "type": "0", |
| | | "value": "" |
| | | } |
| | | ] |
| | | ], |
| | | [ |
| | | { |
| | | "title": { |
| | | "name": "D01~D06输送" |
| | | |
| | | } |
| | | }, |
| | | { |
| | | "name": "最高速度", |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "count":3, |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "高速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "低速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "手动速度", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | } |
| | | |
| | | |
| | | ], |
| | | |
| | | [ |
| | | { |
| | | "title": { |
| | | "name": "A01~A02输送" |
| | | |
| | | } |
| | | }, |
| | | { |
| | | "name": "最高速度", |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "count":3, |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "高速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "m/min", |
| | | "type": "0", |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "低速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "m/min", |
| | | "type": "0", |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "手动速度", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "m/min", |
| | | "type": "0", |
| | | "value":0 |
| | | } |
| | | |
| | | |
| | | ],[ |
| | | { |
| | | "title": { |
| | | "name": "B01~B02输送" |
| | | |
| | | } |
| | | }, |
| | | { |
| | | "name": "最高速度", |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "count":3, |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "高速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "低速线速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | }, |
| | | { |
| | | "name": "手动速度", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "m/min", |
| | | "value":0 |
| | | } |
| | | |
| | | |
| | | ] |
| | | ,[ |
| | | |
| | | { |
| | | "name": "翻转点动速度", |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "mm/S", |
| | | |
| | | "count":3, |
| | | "value":0 |
| | | } |
| | | |
| | | |
| | | ], |
| | | [ |
| | | |
| | | |
| | | { |
| | | "name": "小车点动速度", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "mm/S", |
| | | "type": "0", |
| | | "value":0 |
| | | } |
| | | |
| | | |
| | | ] |
| | | ] |
| | |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A01输送反向", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | |
| | | { |
| | | "button": { |
| | | "name": "A01行走点动", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A01翻转", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A01注电泵", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02输送正向", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02输送反向", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02行走点动", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02翻转", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | |
| | | |
| | | |
| | | { |
| | | "button": { |
| | | "name": "A02注电泵", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "B02输送", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A01翻转", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02翻转", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A01行走点动", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02行走点动", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "B01行走点动", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | |
| | | { |
| | | "button": { |
| | | "name": "B01翻转气缸", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "B01升降气缸", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, { |
| | | "button": { |
| | | "name": "B01吹气", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "B02输送", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | { |
| | | "button": { |
| | | "name": "B02行走点动", |
| | |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "B01翻转气缸", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "B01升降气缸", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "B01吹气", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A01输送反向", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02输送反向", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 1 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A01注电泵", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | }, |
| | | { |
| | | "button": { |
| | | "name": "A02注电泵", |
| | | "value": 0, |
| | | "address": "DB10.0", |
| | | "state": 0 |
| | | }, |
| | | "type": "3" |
| | | } |
| | | |
| | | |
| | | ] |
| | | ] |
| | |
| | | |
| | | |
| | | |
| | | ] |
| | | ], |
| | | [ |
| | | { |
| | | "title": { |
| | | "name": "B01格位置设定" |
| | | |
| | | }, "type": "1" |
| | | }, |
| | | { |
| | | "name": "1#格地址", |
| | | "read": 33, |
| | | "sending": 0, |
| | | "type": "0", |
| | | "unit": "mm", |
| | | "address":"DB100.0", |
| | | "count":3, |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "22#格地址", |
| | | "read": 11, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0" |
| | | , |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "43#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "64#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "85#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | } |
| | | |
| | | |
| | | |
| | | ], |
| | | |
| | | [ |
| | | { |
| | | "title": { |
| | | "name": "B02位置设定" |
| | | |
| | | }, "type": "1" |
| | | }, |
| | | { |
| | | "name": "106#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "127#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "148#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "169#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | }, |
| | | { |
| | | "name": "190#格地址", |
| | | "read": 22, |
| | | "sending": 0, |
| | | "unit": "mm", |
| | | "type": "0", |
| | | "value":"0" |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | ] |
| | | |
| | | |
| | | |
| | |
| | | "Deleted":"Deleted",
|
| | | "Glass State":"Glass State",
|
| | | "Absent":"Absent",
|
| | | "Approximately resettable time":"Approximately resettable time",
|
| | | "ServoManualone": {
|
| | | "A01 所在格子": "A01 Current Grid",
|
| | | "数量": "Quantity",
|
| | |
| | | },
|
| | | "langParameter1": {
|
| | |
|
| | | "A01~A02输送": "A01~A02 Conveying",
|
| | | "B01~B02输送": "B01~B02 Conveying",
|
| | | "D01~D06输送": "D01~D06 Conveying",
|
| | | "翻转点动速度": "Flip Jog Speed",
|
| | | "小车点动速度": "Cart Jog Speed",
|
| | | "最高速度": "Max Speed",
|
| | | "高速线速度": "High-Speed Line Speed",
|
| | | "低速线速度": "Low-Speed Line Speed",
|
| | | "手动速度": "Manual Speed"
|
| | | |
| | | },
|
| | |
|
| | | "langParameter2": {
|
| | |
| | | "复位": "Reset",
|
| | | "未回零": "NotZero",
|
| | | "回零": "Zero",
|
| | | "目标格子": "Target Grid"
|
| | | "目标格子": "Target Grid",
|
| | | "格子间距": "GridSpacing",
|
| | | "存片接片地址": "StorageReceivingAddress",
|
| | | "出片接片地址": "OutgoingReceivingAddress",
|
| | | "存片格位置设定": "StorageGridPositionSetting",
|
| | | "1#格地址": "grid address1# ",
|
| | | "22#格地址": "grid address22#",
|
| | | "43#格地址": "grid address43#",
|
| | | "64#格地址": "grid address64#",
|
| | | "85#格地址": "grid address85#",
|
| | | "106#格地址": "grid address106#",
|
| | | "127#格地址": "grid address127#",
|
| | | "148#格地址": "grid address148#",
|
| | | "169#格地址": "grid address169#",
|
| | | "190#格地址": "grid address190#",
|
| | | "出片格位置设定": "OutgoingGridPositionSetting",
|
| | | "B01格位置设定":"B01PositionSetting",
|
| | | "B02位置设定":"B02PositionSetting"
|
| | | },
|
| | | "langPositioning2": {
|
| | | "格子间距": "GridSpacing",
|
| | | "存片接片地址": "StorageReceivingAddress",
|
| | | "出片接片地址": "OutgoingReceivingAddress",
|
| | | "存片格位置设定": "StorageGridPositionSetting",
|
| | | "1#格地址": "grid address1# ",
|
| | | "22#格地址": "grid address22#",
|
| | | "43#格地址": "grid address43#",
|
| | | "64#格地址": "grid address64#",
|
| | | "85#格地址": "grid address85#",
|
| | | "106#格地址": "grid address106#",
|
| | | "127#格地址": "grid address127#",
|
| | | "148#格地址": "grid address148#",
|
| | | "169#格地址": "grid address169#",
|
| | | "190#格地址": "grid address190#",
|
| | | "出片格位置设定": "OutgoingGridPositionSetting",
|
| | | "B01格位置设定":"B01PositionSetting",
|
| | | "B02位置设定":"B02PositionSetting"
|
| | | |
| | | }, "ManualonePositionlang": {
|
| | | "A01手动格子": "A01 Target grid(Manual)",
|
| | | "A01定位速度": "A01 TRAVEL POS Velocity manual",
|
| | |
| | | "B01当前格子": "B01 Current Grid",
|
| | | "B01启动": "B01 Start",
|
| | | "复位": "Reset",
|
| | | "回零": "Zero",
|
| | | "回零": "Home",
|
| | | "未回零": "NotZero",
|
| | | "B02手动格子": "B02 Target grid(Manual)",
|
| | | "B02定位速度": "B02 TRAVEL POS Velocity manual",
|
| | |
| | | "故障": "Fault",
|
| | | "复位": "Reset",
|
| | | "未回零": "NotZero",
|
| | | "回零": "Zero",
|
| | | "回零": "Home",
|
| | | "A02手动位置": "A02 turn Target Angle(Manual)",
|
| | | "A02定位速度": "A02 TURN POS Velocity manual",
|
| | | "A02翻转实时位置": "A02 turn Actual angle",
|
| | | "A02翻转启动": "A02 SERVE TURN",
|
| | | "A02复位": "Reset",
|
| | | "未回零": "NotZero",
|
| | | "回零": "Zero"
|
| | | "A02复位": "Reset"
|
| | | |
| | | |
| | | },
|
| | | "AutomaticParameterSettinglang": {
|
| | | "A01行走高速角度": "A01 turn Angle1",
|
| | |
| | | "A02笼子角度": "A02 turn Angle4",
|
| | | "大车自动速度": "A01 A02 TRAVEL POS Velocity AUTO",
|
| | | "小车自动速度": "B01 B02 TRAVEL POS Velocity AUTO",
|
| | | "自动翻转速度": "A01 A02 TURN POS Velocity AUTO"
|
| | | "自动翻转速度": "A01 A02 TURN POS Velocity AUTO",
|
| | | "A01~A02输送": "A01~A02 Conveying",
|
| | | "B01~B02输送": "B01~B02 Conveying",
|
| | | "D01~D06输送": "D01~D06 Conveying",
|
| | | "翻转点动速度": "Flip Jog Speed",
|
| | | "小车点动速度": "Cart Jog Speed",
|
| | | "最高速度": "Max Speed",
|
| | | "高速线速度": "High-Speed Line Speed",
|
| | | "低速线速度": "Low-Speed Line Speed",
|
| | | "手动速度": "Manual Speed"
|
| | | },
|
| | | "ManualJoglang": {
|
| | | "D01输送": "D01 VFD conveyor",
|
| | |
| | | "Deleted":"已删除",
|
| | | "Glass State":"玻璃状态",
|
| | | "Absent":"不存在",
|
| | | "Approximately resettable time":"可复位大概时间",
|
| | | "langparameter": {
|
| | | "conveyor Velocity(Auto FAST)": "D01-D06 皮带输送自动快速",
|
| | | "conveyor Velocity(Auto SLOW)": "D01-D06 皮带输送自动慢速",
|
| | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Servomanualone') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> |
| | | <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | |
| | | </el-breadcrumb> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :span="12" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex"> |
| | | <el-card class="json-block" style="width:585px;"> |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container"> |
| | | <div class="item-row" v-if="item.type === '0'"> |
| | | <span class="name" v-if="item.type === '0'" style="width:300px;">{{ item.name }}</span> |
| | | <el-input style="width:250px;" v-if="item.type === '0'" v-model="item.value" class="input-box" |
| | | @keyup.enter.native="submitDataToBackend"></el-input> |
| | | <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span> |
| | | |
| | | <el-row :gutter="18" class="card"> |
| | | <el-col :span="7" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex"> |
| | | <el-card class="json-block"> |
| | | <div class="button-row" style="display: flex; justify-content: space-between;"> |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex"> |
| | | <span v-if="item.title" :name="item.title.name" class="action-button">{{ item.title.name }}</span> |
| | | </div> |
| | | </div> |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container"> |
| | | <div class="item-row"> |
| | | <span class="name" style="width:250px;">{{ item.name }}</span> |
| | | <el-input v-if="item.type === '0'" v-model="item.value" class="input-box" |
| | | @keyup.enter.native="submitDataToBackend"></el-input> |
| | | <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | // console.log(obj); |
| | | const handleMouseMove = throttle(function (event) { |
| | | |
| | | const inputBox = document.querySelectorAll('.el-card__body'); |
| | | const inputBox = document.querySelectorAll('.input-box'); |
| | | const target = event.target; |
| | | if (inputBox && Array.from(inputBox).every(box => !box.contains(target))) { |
| | | const parms = obj.params; |
| | | const fanzhuan = obj.fanzhuan; |
| | | const xiaoche = obj.xiaoche; |
| | | const dache = obj.dache1; |
| | | |
| | | const parms2 = obj.params2; |
| | | const fanzhuan2 = obj.fanzhuan2; |
| | | const xiaoche2 = obj.xiaoche2; |
| | | |
| | | // console.log('parms:', parms); |
| | | // console.log('fanzhuan:', fanzhuan); |
| | |
| | | if (Array.isArray(dache) && Array.isArray(dache[0]) && dache[0][0] !== undefined) { |
| | | jsonData2[2][0]['value'] = dache[0][0]; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | let index2 = 0; |
| | | for (let i =5; i < jsonData2.length; i++) { |
| | | let arr = jsonData2[i]; |
| | | |
| | | for (let j = 0; j < arr.length; j++) { |
| | | let obj2 = arr[j]; |
| | | if (obj2.type === '0' && Object.prototype.hasOwnProperty.call(obj2, 'value')) { |
| | | if (Array.isArray(parms2) && Array.isArray(parms2[0]) && parms2[0][index2] !== undefined) { |
| | | obj2.value = parms2[0][index2]; |
| | | index2++; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) { |
| | | jsonData2[8][0]['value'] = fanzhuan2[0][0]; |
| | | } |
| | | if (Array.isArray(xiaoche2) && Array.isArray(xiaoche2[0]) && xiaoche2[0][0] !== undefined) { |
| | | jsonData2[9][0]['value'] = xiaoche2[0][0]; |
| | | } |
| | | |
| | | } |
| | | }, 200); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, 50); |
| | | |
| | | document.addEventListener('mouseover', handleMouseMove); |
| | | }; |
| | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Servomanualone') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> |
| | | <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | |
| | | </el-breadcrumb> |
| | | |
| | | <el-row :gutter="40" style="width:100%;"> |
| | | <el-col :span="18" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex"> |
| | | <el-row :gutter="40" > |
| | | <el-col :span="16" 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;"> |
| | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Servomanualone')
|
| | | }}</router-link>
|
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
|
| | | }}</router-link>
|
| | | <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
|
| | | }}</router-link> -->
|
| | |
|
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Address parameter settings')
|
| | | }}</router-link>
|
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
|
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Positioning2')
|
| | | }}</router-link>
|
| | | }}</router-link> -->
|
| | |
|
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
|
| | | <!-- <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('ManualonePosition2')
|
| | | }}</router-link>
|
| | | }}</router-link> -->
|
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Speed parameter settings')
|
| | | }}</router-link>
|
| | |
| | | <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>
|
| | | <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0'" v-model="item.value"
|
| | |
|
| | | <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0" v-model="item.value" @keyup.enter.native="A01start"
|
| | | class="input-box"></el-input>
|
| | | <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="A02start"
|
| | | class="input-box"></el-input>
|
| | | <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 2" v-model="item.value" @keyup.enter.native="B01start"
|
| | | class="input-box"></el-input>
|
| | | <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 3" v-model="item.value" @keyup.enter.native="B02start"
|
| | | class="input-box"></el-input>
|
| | | <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0'" v-model="item.value"
|
| | | class="input-box"></el-input>
|
| | | </div>
|
| | | </div>
|
| | |
| | | </el-card>
|
| | | </el-col>
|
| | | </el-row>
|
| | | <div class="container">
|
| | | |
| | | <component :is="embeddedComponent"></component>
|
| | | </div> |
| | |
|
| | | <!-- <el-button @click="submitDataToBackend">提交数据到后端</el-button> -->
|
| | | </div>
|
| | |
|
| | | </template>
|
| | |
|
| | |
|
| | | <script>
|
| | | import LanguageMixin from '../../lang/LanguageMixin'
|
| | | import data from '../../configuration/Manualoneposition'
|
| | | import { throttle } from 'lodash';
|
| | | import ManualonePosition2 from './ManualonePosition2.vue';
|
| | | let socket;
|
| | | export default {
|
| | | name: "ManualonePosition",
|
| | |
| | | return {
|
| | | jsonData: data,
|
| | | language: this.$i18n.locale,
|
| | | embeddedComponent: ManualonePosition2,
|
| | |
|
| | | // 加载整个data.json文件作为jsonData
|
| | | }
|
| | |
| | |
|
| | |
|
| | | },
|
| | | A01start(){
|
| | |
|
| | | const data = [];
|
| | |
|
| | | for (let i = 0; i < 1; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | |
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], [],[],[],[]);
|
| | |
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | },
|
| | | A02start(){
|
| | | const data = [];
|
| | |
|
| | | for (let i = 1; i < 2; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([]);
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], [],[],[]);
|
| | |
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | },
|
| | | B01start(){
|
| | | const data = [];
|
| | |
|
| | | for (let i = 2; i < 3; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([], []);
|
| | | data.push(values);
|
| | | }
|
| | | //data.unshift([]);
|
| | |
|
| | | data.push([], [], [],[]);
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | },
|
| | | B02start(){
|
| | | const data = [];
|
| | |
|
| | | for (let i = 3; i < 4; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([], [], []);
|
| | | data.push(values);
|
| | | }
|
| | |
|
| | | data.push([], [],[]);
|
| | |
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | },
|
| | | submitDataToBackend (currentButtonName) {
|
| | | if (currentButtonName === 'A01启动' || currentButtonName === 'A01 Start') {
|
| | | const data = [];
|
| | |
|
| | | for (let i = 0; i < 1; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | const values = [this.jsonData[0][3].button.value]
|
| | |
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], [],[],[],[]);
|
| | | |
| | | data.unshift([], [], [],[],[],[],[]);
|
| | |
|
| | |
|
| | |
|
| | |
| | | if (currentButtonName === 'A02启动' || currentButtonName === 'A02 Start') {
|
| | | const data = [];
|
| | |
|
| | | for (let i = 1; i < 2; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | | const values = [this.jsonData[1][3].button.value]
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([]);
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], [],[],[]);
|
| | | data.push(values);
|
| | | |
| | | data.unshift([], [], [],[],[],[],[],[]);
|
| | |
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | }
|
| | |
|
| | | if (currentButtonName === 'B01启动' || currentButtonName === 'B01 Start') {
|
| | | const data = [];
|
| | |
|
| | | for (let i = 2; i < 3; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | | const values = [this.jsonData[2][3].button.value]
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([], []);
|
| | | data.push(values);
|
| | | }
|
| | | //data.unshift([]);
|
| | |
|
| | | data.push([], [], [],[]);
|
| | | data.push(values);
|
| | | |
| | | data.unshift([], [], [],[],[],[],[],[],[]);
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | }
|
| | |
|
| | | if (currentButtonName === 'B02启动' || currentButtonName === 'B02 Start') {
|
| | | const data = [];
|
| | |
|
| | | for (let i = 3; i < 4; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | | const values = [this.jsonData[3][3].button.value]
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([], [], []);
|
| | | data.push(values);
|
| | | }
|
| | |
|
| | | data.push([], [],[]);
|
| | | data.push(values);
|
| | | |
| | | data.unshift([], [], [],[],[],[],[],[],[],[]);
|
| | |
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | }
|
| | |
|
| | |
| | | }
|
| | |
|
| | | let obj = JSON.parse(msg.data);
|
| | | // console.log(obj);
|
| | | // console.log(obj);
|
| | | const jsonData2 = this.jsonData;
|
| | | const weihuiling = obj.weihuiling;
|
| | | const handleMouseMove = throttle(function (event) {
|
| | |
| | |
|
| | |
|
| | |
|
| | | //改变状态文字
|
| | | // 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") ;
|
| | | // }
|
| | | // }
|
| | |
|
| | | |
| | | // }
|
| | | // }
|
| | |
|
| | |
|
| | |
|
| | |
| | |
|
| | | document.addEventListener('mouseover', handleMouseMove);
|
| | |
|
| | |
|
| | | if(obj.zuhe1){
|
| | |
|
| | |
|
| | | //更新实时位置
|
| | |
| | | for (let j = 2; j < arr2.length; j++) {
|
| | | let obj3 = arr2[j];
|
| | | if (obj3.button) {
|
| | | if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero")) {
|
| | | if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero" || obj3.button.name === "已回零" || obj3.button.name === "Zero")) {
|
| | | obj3.button.value = weihuiling[0][i];
|
| | | // console.log(obj3.button.value)
|
| | | }
|
| | |
| | | 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") {
|
| | | if ( obj.button.name==="未回零" && this.language==="zh-CN") {
|
| | | obj.button.name =obj.button.name.replace("未回零","已回零") ;
|
| | | }
|
| | | if ( obj.button.name.includes("NotZero")) {
|
| | | if ( obj.button.name==="NotZero") {
|
| | | obj.button.name =obj.button.name.replace("NotZero","Zero") ;
|
| | | }
|
| | | }
|
| | | if (obj.button && obj.button.value===0) {
|
| | | if ( obj.button.name==="已回零"&& this.language==="zh-CN") {
|
| | | obj.button.name =obj.button.name.replace("已回零","未回零") ;
|
| | | }
|
| | | if ( obj.button.name==="Zero") {
|
| | | obj.button.name =obj.button.name.replace("Zero","NotZero") ;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | | };
|
| | |
| | | <template>
|
| | | <div class="app">
|
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
|
| | | <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm')
|
| | | }}</router-link>
|
| | | <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State')
|
| | | }}</router-link>
|
| | | <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action')
|
| | | }}</router-link>
|
| | | <!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter')
|
| | | }}</router-link> -->
|
| | | <!-- <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
|
| | | |
| | | <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign')
|
| | | }}</router-link>
|
| | | <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{
|
| | |
| | | $t('ManualonePosition')
|
| | | }}</router-link>
|
| | |
|
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Servomanualone')
|
| | | }}</router-link>
|
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1')
|
| | | }}</router-link>
|
| | |
|
| | |
|
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Address parameter settings')
|
| | | }}</router-link>
|
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('Positioning2')
|
| | | }}</router-link>
|
| | | |
| | |
|
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{
|
| | | $t('ManualonePosition2')
|
| | |
| | | $t('Speed parameter settings')
|
| | | }}</router-link>
|
| | |
|
| | | </el-breadcrumb>
|
| | | </el-breadcrumb> -->
|
| | |
|
| | | <el-row :gutter="20">
|
| | | <el-col :span="12" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex">
|
| | |
| | | <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>
|
| | | <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0'" v-model="item.value"
|
| | | |
| | | <el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0" v-model="item.value" @keyup.enter.native="A01start"
|
| | | class="input-box"></el-input>
|
| | | <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="A02start"
|
| | | class="input-box"></el-input>
|
| | | <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0'" v-model="item.value"
|
| | | class="input-box"></el-input>
|
| | | </div>
|
| | | </div>
|
| | |
| | |
|
| | |
|
| | | },
|
| | |
|
| | |
|
| | | A01start(){
|
| | | const data = [];
|
| | |
|
| | | for (let i = 0; i < 1; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | |
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], [],[]);
|
| | |
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | |
|
| | | },
|
| | | A02start(){
|
| | |
|
| | | const data = [];
|
| | |
|
| | | for (let i = 1; i < 2; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([]);
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], []);
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | },
|
| | | //提交方法
|
| | | submitDataToBackend (currentButtonName) {
|
| | | if (currentButtonName === 'A01翻转启动' || currentButtonName === 'A01 SERVE TURN') {
|
| | | const data = [];
|
| | |
|
| | | for (let i = 0; i < 1; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | | const values = [this.jsonData[0][3].button.value]
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | |
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], [],[]);
|
| | | data.push(values);
|
| | | |
| | | data.unshift([], [], [],[],[]);
|
| | |
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | }
|
| | |
|
| | | if (currentButtonName === 'A02翻转启动' || currentButtonName === 'A02 SERVE TURN') {
|
| | | const data = [];
|
| | |
|
| | | for (let i = 1; i < 2; i++) {
|
| | | const inputData = this.jsonData[i].filter(item => item.type === '0').map(item => {
|
| | | return { value: item.value };
|
| | | });
|
| | | const values = [this.jsonData[0][3].button.value]
|
| | |
|
| | | const values = inputData.map(item => item.value);
|
| | | data.unshift([]);
|
| | | data.push(values);
|
| | | }
|
| | | data.push([], [], []);
|
| | | data.push(values);
|
| | | |
| | | data.unshift([], [], [],[],[],[]);
|
| | |
|
| | |
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | | const jsonObject = { data };
|
| | |
|
| | | // 提交数据到后端
|
| | | const jsonString = JSON.stringify(jsonObject);
|
| | | console.log('所有Type为0的value:', jsonString);
|
| | | socket?.send(jsonString);
|
| | |
|
| | | }
|
| | |
|
| | |
| | |
|
| | | document.addEventListener('mouseover', handleMouseMove);
|
| | |
|
| | |
|
| | | if(obj.zuhe1){
|
| | |
|
| | |
|
| | |
|
| | | |
| | | // 遍历guzhang数组
|
| | | for (let i = 0; i < jsonData2.length; i++) {
|
| | | let arr = jsonData2[i];
|
| | |
| | | for (let j = 0; j < arr2.length; j++) {
|
| | | let obj3 = arr2[j];
|
| | | if (obj3.button) {
|
| | | if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero")) {
|
| | | if (obj3.button && (obj3.button.name === "未回零" || obj3.button.name === "NotZero" || obj3.button.name === "已回零" || obj3.button.name === "Zero")) {
|
| | | obj3.button.value = weihuiling[0][i];
|
| | | // console.log(obj3.button.value)
|
| | | }
|
| | |
| | | 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") {
|
| | | if ( obj.button.name==="未回零" && this.language==="zh-CN") {
|
| | | obj.button.name =obj.button.name.replace("未回零","已回零") ;
|
| | | }
|
| | | if ( obj.button.name.includes("NotZero")) {
|
| | | if ( obj.button.name==="NotZero") {
|
| | | obj.button.name =obj.button.name.replace("NotZero","Zero") ;
|
| | | }
|
| | | }
|
| | | if (obj.button && obj.button.value===0) {
|
| | | if ( obj.button.name==="已回零"&& this.language==="zh-CN") {
|
| | | obj.button.name =obj.button.name.replace("已回零","未回零") ;
|
| | | }
|
| | | if ( obj.button.name==="Zero") {
|
| | | obj.button.name =obj.button.name.replace("Zero","NotZero") ;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | };
|
| | |
|
| | |
|
| | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | |
| | | <template> |
| | | <div class="app"> |
| | | <div class="app"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> |
| | | <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') |
| | | }}</router-link> |
| | | <!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') |
| | | <router-link |
| | | to="/Electrical/alarm" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Alarm") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/State" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("State") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/Action" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Action") }}</router-link |
| | | > |
| | | <!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') |
| | | }}</router-link> |
| | | </el-breadcrumb> |
| | | |
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> |
| | | <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualJog') |
| | | }}</router-link> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition') |
| | | }}</router-link> |
| | | <router-link |
| | | to="/Electrical/Sign" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Sign") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/Servomanual" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Parameter") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Servomanualone') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> |
| | | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> |
| | | <router-link |
| | | to="/Electrical/Parameter2" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Automatic State") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/ManualJog" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualJog") }}</router-link |
| | | > |
| | | |
| | | <router-link |
| | | to="/Electrical/ManualonePosition" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualonePosition") }}</router-link |
| | | > |
| | | |
| | | <router-link |
| | | to="/Electrical/Servomanualone" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Servomanualone") }}</router-link |
| | | > |
| | | <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> --> |
| | | |
| | | <router-link |
| | | to="/Electrical/Positioning1" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Address parameter settings") }}</router-link |
| | | > |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | |
| | | }}</router-link> --> |
| | | <!-- |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | |
| | | }}</router-link> --> |
| | | <router-link |
| | | to="/Electrical/AutomaticParameterSetting" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Speed parameter settings") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | |
| | | <el-row :gutter="40"> |
| | | <el-col :span="6" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex" style="margin-bottom: -20px;"> |
| | | <el-card class="json-block" style="width:300px;margin-bottom: 2px;"> |
| | | <div class="button-row" style="display: flex; justify-content: space-between;"> |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex"> |
| | | <span v-if="item.title" :name="item.title.name" class="action-button" >{{ item.title.name }}</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <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" |
| | | @click="updateButtonValue(dataGroup, itemIndex);submitDataToBackend(item.button.name)" |
| | | :class="{ 'green-button': (item.button.value === 0 && item.button.name !== 'Clear ID' ) ,'red-button': item.button.value === 2 && (item.button.name !== 'Clear ID' ) ,'yellow-button': item.button.value === 1 && (item.button.name !== 'Clear ID' ),'id': item.button.value === 1 && (item.button.name == 'Clear ID' ) }">{{ 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" |
| | | @click="updateButtonValue(dataGroup, itemIndex);submitDataToBackend(item.button.name)" |
| | | :class="{ 'green-button': (item.button.value === 0 && item.button.name !== '清除ID' ) ,'red-button': item.button.value === 2 && (item.button.name !== '清除ID' ) ,'yellow-button': item.button.value === 1 && (item.button.name !== '清除ID' ),'id': item.button.value === 1 && (item.button.name == '清除ID' ) }">{{ item.button.name }}</el-button> |
| | | |
| | | </div> |
| | | </div> |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container"> |
| | | <div class="item-row"> |
| | | |
| | | |
| | | <span class="name" v-if="groupIndex === 12" style="width:250px;">{{ item.name }}</span> |
| | | <span class="name" v-else style="width:150px;">{{ item.name }}</span> |
| | | |
| | | <el-input v-if="item.type === '0'" v-model="item.value" readonly="readonly" style="width:300px;" class="input-box"></el-input> |
| | | |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | <el-col |
| | | :span="6" |
| | | v-for="(dataGroup, groupIndex) in jsonData" |
| | | :key="groupIndex" |
| | | |
| | | style="margin-bottom: -20px;" |
| | | > |
| | | <el-card class="json-block" style="width: 300px; margin-bottom: 2px"> |
| | | <div |
| | | class="button-row" |
| | | style="display: flex; justify-content: space-between" |
| | | > |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex"> |
| | | <span |
| | | v-if="item.title" |
| | | :name="item.title.name" |
| | | class="action-button" |
| | | >{{ item.title.name }}</span |
| | | > |
| | | </div> |
| | | </div> |
| | | |
| | | <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" |
| | | @click=" |
| | | updateButtonValue(dataGroup, itemIndex); |
| | | submitDataToBackend(item.button.name); |
| | | " |
| | | :class="{ |
| | | 'green-button': |
| | | item.button.value === 0 && item.button.name !== 'Clear ID', |
| | | 'red-button': |
| | | item.button.value === 2 && item.button.name !== 'Clear ID', |
| | | 'yellow-button': |
| | | item.button.value === 1 && item.button.name !== 'Clear ID', |
| | | id: item.button.value === 1 && item.button.name == 'Clear ID', |
| | | }" |
| | | >{{ 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" |
| | | @click=" |
| | | updateButtonValue(dataGroup, itemIndex); |
| | | submitDataToBackend(item.button.name); |
| | | " |
| | | :class="{ |
| | | 'green-button': |
| | | item.button.value === 0 && item.button.name !== '清除ID', |
| | | 'red-button': |
| | | item.button.value === 2 && item.button.name !== '清除ID', |
| | | 'yellow-button': |
| | | item.button.value === 1 && item.button.name !== '清除ID', |
| | | id: item.button.value === 1 && item.button.name == '清除ID', |
| | | }" |
| | | >{{ item.button.name }}</el-button |
| | | > |
| | | </div> |
| | | </div> |
| | | <div |
| | | v-for="(item, itemIndex) in dataGroup" |
| | | :key="itemIndex" |
| | | class="item-container" |
| | | > |
| | | <div class="item-row"> |
| | | <span |
| | | class="name" |
| | | v-if="groupIndex === 12" |
| | | style="width: 250px" |
| | | >{{ item.name }}</span |
| | | > |
| | | <span class="name" v-else style="width: 150px">{{ |
| | | item.name |
| | | }}</span> |
| | | |
| | | <el-input |
| | | v-if="item.type === '0'" |
| | | v-model="item.value" |
| | | readonly="readonly" |
| | | style="width: 300px" |
| | | class="input-box" |
| | | ></el-input> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | <!-- <el-button @click="submitDataToBackend">提交数据到后端</el-button> --> |
| | | </div> |
| | | </template> |
| | | </template> |
| | | |
| | | <script> |
| | | import LanguageMixin from '../../lang/LanguageMixin' |
| | | import data from '../../configuration/parameter2' |
| | | // import { throttle } from 'lodash'; |
| | | let socket; |
| | | import LanguageMixin from "../../lang/LanguageMixin"; |
| | | import data from "../../configuration/parameter2"; |
| | | // import { throttle } from 'lodash'; |
| | | let socket; |
| | | |
| | | // window.onload=function(){ |
| | | // console.log("44"); |
| | | // } |
| | | export default { |
| | | destroyed() { |
| | | // window.onload=function(){ |
| | | // console.log("44"); |
| | | // } |
| | | export default { |
| | | destroyed() { |
| | | socket.close(); |
| | | }, |
| | | name: "Parameter2", |
| | | mixins: [LanguageMixin], |
| | | data() { |
| | | return { |
| | | jsonData: data , |
| | | inputValue: '', |
| | | language:this.$i18n.locale, |
| | | jsonData: data, |
| | | inputValue: "", |
| | | language: this.$i18n.locale, |
| | | |
| | | // 加载整个data.json文件作为jsonData |
| | | } |
| | | }; |
| | | }, |
| | | |
| | | activated(){ |
| | | |
| | | this.initWebSocket (); |
| | | |
| | | activated() { |
| | | this.initWebSocket(); |
| | | this.filteredData(); |
| | | const language = this.$i18n.locale; |
| | | console.log(language); |
| | | if (language === 'en-US') { |
| | | this.replaceChineseWithEnglish(); |
| | | } |
| | | this.$forceUpdate(); |
| | | const language = this.$i18n.locale; |
| | | console.log(language); |
| | | if (language === "en-US") { |
| | | this.replaceChineseWithEnglish(); |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | |
| | | |
| | | computed: { |
| | | |
| | | |
| | | }, |
| | | |
| | | |
| | | computed: {}, |
| | | |
| | | methods: { |
| | | filteredData() { |
| | | return this.jsonData.map(item => { |
| | | const filteredValue = item.map(obj => { |
| | | if (typeof obj.button !== 'undefined' && typeof obj.button.value !== 'undefined') { |
| | | obj.button.value = obj.button.value.toString().replace(/[^a-zA-Z0-9]/g, ''); |
| | | } else if (typeof obj.value !== 'undefined') { |
| | | obj.value = obj.value.toString().replace(/[^a-zA-Z0-9]/g, ''); |
| | | } |
| | | return obj; |
| | | return this.jsonData.map((item) => { |
| | | const filteredValue = item.map((obj) => { |
| | | if ( |
| | | typeof obj.button !== "undefined" && |
| | | typeof obj.button.value !== "undefined" |
| | | ) { |
| | | obj.button.value = obj.button.value |
| | | .toString() |
| | | .replace(/[^a-zA-Z0-9]/g, ""); |
| | | } else if (typeof obj.value !== "undefined") { |
| | | obj.value = obj.value.toString().replace(/[^a-zA-Z0-9]/g, ""); |
| | | } |
| | | return obj; |
| | | }); |
| | | return filteredValue; |
| | | }); |
| | | return filteredValue; |
| | | }); |
| | | }, |
| | | |
| | | updateButtonValue(dataGroup, itemIndex) { |
| | | if (dataGroup[itemIndex].button.value === 0) { |
| | | // 如果当前按钮的值是 0,将其设为 1 |
| | | this.$set(dataGroup[itemIndex].button, 'value', 1); |
| | | } else { |
| | | // 否则将其设为 0 |
| | | this.$set(dataGroup[itemIndex].button, 'value', 0); |
| | | } |
| | | }, |
| | | }, |
| | | |
| | | updateButtonValue(dataGroup, itemIndex) { |
| | | if (dataGroup[itemIndex].button.value === 0) { |
| | | // 如果当前按钮的值是 0,将其设为 1 |
| | | this.$set(dataGroup[itemIndex].button, "value", 1); |
| | | } else { |
| | | // 否则将其设为 0 |
| | | this.$set(dataGroup[itemIndex].button, "value", 0); |
| | | } |
| | | }, |
| | | submitDataToBackend(currentButtonName) { |
| | | if (currentButtonName === "清除ID" || currentButtonName === "Clear ID") { |
| | | const data2 = []; |
| | | const resetButtonValues = this.jsonData |
| | | .map((item) => { |
| | | const buttonItem = item.find( |
| | | (subItem) => |
| | | subItem.button && |
| | | ["清除ID", "Clear ID"].includes(subItem.button.name) |
| | | ); |
| | | |
| | | return buttonItem ? buttonItem.button.value : null; |
| | | }) |
| | | .filter((value) => value !== null); |
| | | |
| | | // 将得到的值添加到 data 数组中 |
| | | data2.push(resetButtonValues.flat()); |
| | | data2.push([]); |
| | | // 在 data2 数组前面添加两个空数组 |
| | | |
| | | if (currentButtonName === '清除ID' || currentButtonName === 'Clear ID' ) { |
| | | const data2 = []; |
| | | const resetButtonValues = this.jsonData.map(item => { |
| | | const buttonItem = item.find(subItem => subItem.button && ['清除ID', 'Clear ID'].includes(subItem.button.name)); |
| | | // 创建 jsonObject2 对象,并添加 data2 属性 |
| | | const jsonObject2 = { data: data2 }; |
| | | |
| | | |
| | | return buttonItem ? buttonItem.button.value : null; |
| | | }).filter(value => value !== null); |
| | | // 提交数据到后端 |
| | | const jsonString2 = JSON.stringify(jsonObject2); |
| | | console.log("所有Type为0的value:", jsonString2); |
| | | socket?.send(jsonString2); |
| | | } |
| | | |
| | | // 将得到的值添加到 data 数组中 |
| | | data2.push(resetButtonValues.flat()); |
| | | data2.push([]); |
| | | // 在 data2 数组前面添加两个空数组 |
| | | |
| | | if ( |
| | | currentButtonName === "Abort/ResumeTasks" || |
| | | currentButtonName === "急停后中止/继续选择" |
| | | ) { |
| | | const data3 = []; |
| | | const resetButtonValues3 = [this.jsonData[13][0].button.value]; |
| | | |
| | | // 创建 jsonObject2 对象,并添加 data2 属性 |
| | | const jsonObject2 = { data: data2 }; |
| | | // 将得到的值添加到 data 数组中 |
| | | data3.push(resetButtonValues3.flat()); |
| | | data3.unshift([]); |
| | | // 在 data3 数组前面添加两个空数组 |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString2 = JSON.stringify(jsonObject2); |
| | | console.log('所有Type为0的value:', jsonString2); |
| | | socket?.send(jsonString2); |
| | | |
| | | |
| | | } |
| | | // 创建 jsonObject3 对象,并添加 data3 属性 |
| | | const jsonObject3 = { data: data3 }; |
| | | |
| | | if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') { |
| | | const data3 = []; |
| | | const resetButtonValues3 = [this.jsonData[13][0].button.value]; |
| | | |
| | | // 将得到的值添加到 data 数组中 |
| | | data3.push(resetButtonValues3.flat()); |
| | | data3.unshift([]); |
| | | // 在 data3 数组前面添加两个空数组 |
| | | |
| | | |
| | | |
| | | // 创建 jsonObject3 对象,并添加 data3 属性 |
| | | const jsonObject3 = { data: data3 }; |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString3 = JSON.stringify(jsonObject3); |
| | | console.log('急停后中止/继续选择:', jsonString3); |
| | | socket?.send(jsonString3); |
| | | // setTimeout(()=> |
| | | // window.location.reload(),2000 |
| | | // ) |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | }, |
| | | initWebSocket () { |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString3 = JSON.stringify(jsonObject3); |
| | | console.log("急停后中止/继续选择:", jsonString3); |
| | | socket?.send(jsonString3); |
| | | // setTimeout(()=> |
| | | // window.location.reload(),2000 |
| | | // ) |
| | | } |
| | | }, |
| | | initWebSocket() { |
| | | let viewname = "Parameter2"; |
| | | |
| | | if (typeof WebSocket === "undefined") { |
| | | console.log("您的浏览器不支持WebSocket"); |
| | | } else { |
| | | let socketUrl = "ws://" + this.$t('ip')+":8888" + "/springboot-vue3/api/talk/" + viewname; |
| | | let socketUrl = |
| | | "ws://" + |
| | | this.$t("ip") + |
| | | ":8888" + |
| | | "/springboot-vue3/api/talk/" + |
| | | viewname; |
| | | |
| | | if (socket != null) { |
| | | socket.close(); |
| | |
| | | |
| | | // 收到消息 |
| | | socket.onmessage = (msg) => { |
| | | if (!msg.data) { |
| | | return; // 如果收到空数据,则直接返回,不执行后续逻辑 |
| | | } |
| | | if (!msg.data) { |
| | | return; // 如果收到空数据,则直接返回,不执行后续逻辑 |
| | | } |
| | | |
| | | let obj = JSON.parse(msg.data); |
| | | |
| | | const jsonData2 = this.jsonData; |
| | | let obj = JSON.parse(msg.data); |
| | | |
| | | const parms = obj.params; |
| | | const jsonData2 = this.jsonData; |
| | | |
| | | |
| | | console.log(obj); |
| | | const parms = obj.params; |
| | | |
| | | console.log(obj); |
| | | |
| | | // const handleMouseMove = throttle(function(event) { |
| | | // const inputBox = document.querySelectorAll('.id'); |
| | | // const target = event.target; |
| | | |
| | | // const handleMouseMove = throttle(function(event) { |
| | | // const inputBox = document.querySelectorAll('.id'); |
| | | // const target = event.target; |
| | | // if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) { |
| | | //急停按钮 |
| | | jsonData2[13][0].button.value = obj.jiting[0][0]; |
| | | |
| | | // if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) { |
| | | //急停按钮 |
| | | // jsonData2[13][0].button.value = obj.jiting[0][0]; |
| | | //清除id |
| | | |
| | | //清除id |
| | | |
| | | 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.type === '3') { |
| | | obj.button.value = parms[0][i]; |
| | | // console.log(obj.button.value); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | //ID |
| | | const specialChars = /[^\w\s]/g; // 正则表达式匹配非字母、数字、下划线和空格的字符 |
| | | |
| | | 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.type === '0') { |
| | | if (parms[1] && parms[1][i]) { |
| | | obj.value = parms[1][i].replace(specialChars, ''); |
| | | // console.log(obj.value); |
| | | } |
| | | if (obj.name === 'ID2') { |
| | | obj.value = parms[1][7].replace(specialChars, ''); // 将ID2对应的值赋为parms[1][6] |
| | | } |
| | | |
| | | if (obj.name === 'A02ID') { |
| | | obj.value = parms[1][8].replace(specialChars, ''); // 将ID2对应的值赋为parms[1][6] |
| | | } |
| | | if (obj.name === 'B01ID') { |
| | | obj.value = parms[1][9].replace(specialChars, ''); // 将ID2对应的值赋为parms[1][6] |
| | | } |
| | | if (obj.name === 'B02ID') { |
| | | obj.value = parms[1][10].replace(specialChars, ''); // 将ID2对应的值赋为parms[1][6] |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | //手动状态 |
| | | 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.type === '4') { |
| | | obj.button.value = parms[2][i]; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | //改变状态文字 |
| | | 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.type === '4' && 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("Status")) { |
| | | obj.button.name =obj.button.name.replace("Manual","Auto") ; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | //扫描枪扫码的ID |
| | | |
| | | jsonData2.forEach((item) => { |
| | | item.forEach((subItem) => { |
| | | if (subItem.read === 66) { |
| | | subItem.value = parms[3][0].replace(specialChars, ''); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | jsonData2.forEach((item) => { |
| | | item.forEach((subItem) => { |
| | | if (subItem.read === 666) { |
| | | subItem.value = parms[3][1].replace(specialChars, ''); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | |
| | | |
| | | //A01当前格子 |
| | | let lastParmsArray = parms[parms.length - 1]; |
| | | |
| | | let lastParmsIndex = 0; |
| | | |
| | | for (let i = 0; i < jsonData2.length; i++) { |
| | | for (let j = 0; j < jsonData2[i].length; j++) { |
| | | if (jsonData2[i][j].read === 333) { |
| | | jsonData2[i][j].value = lastParmsArray[lastParmsIndex]; |
| | | lastParmsIndex++; |
| | | if (lastParmsIndex === lastParmsArray.length) { |
| | | lastParmsIndex = 0; |
| | | 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.type === "3") { |
| | | obj.button.value = parms[0][i]; |
| | | // console.log(obj.button.value); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //ID |
| | | const specialChars = /[^\w\s]/g; // 正则表达式匹配非字母、数字、下划线和空格的字符 |
| | | |
| | | 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.type === "0") { |
| | | if (parms[1] && parms[1][i]) { |
| | | obj.value = parms[1][i].replace(specialChars, ""); |
| | | // console.log(obj.value); |
| | | } |
| | | if (obj.name === "ID2") { |
| | | obj.value = parms[1][7].replace(specialChars, ""); // 将ID2对应的值赋为parms[1][7] |
| | | } |
| | | |
| | | } |
| | | // console.log(jsonData2); |
| | | // }, 50); |
| | | |
| | | // document.addEventListener('mouseover', handleMouseMove); |
| | | |
| | | // }; |
| | | if (obj.name === "A02ID") { |
| | | obj.value = parms[1][8].replace(specialChars, ""); |
| | | } |
| | | if (obj.name === "B01ID") { |
| | | obj.value = parms[1][9].replace(specialChars, ""); |
| | | } |
| | | if (obj.name === "B02ID") { |
| | | obj.value = parms[1][10].replace(specialChars, ""); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //手动状态 |
| | | 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.type === "4") { |
| | | obj.button.value = parms[2][i]; |
| | | } |
| | | } |
| | | } |
| | | //改变状态文字 |
| | | 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.type === "4" && 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("Status")) { |
| | | obj.button.name = obj.button.name.replace("Manual", "Auto"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //扫描枪扫码的ID |
| | | |
| | | jsonData2.forEach((item) => { |
| | | item.forEach((subItem) => { |
| | | if (subItem.read === 66) { |
| | | subItem.value = parms[3][0].replace(specialChars, ""); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | jsonData2.forEach((item) => { |
| | | item.forEach((subItem) => { |
| | | if (subItem.read === 666) { |
| | | subItem.value = parms[3][1].replace(specialChars, ""); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | //A01当前格子 |
| | | let lastParmsArray = parms[parms.length - 1]; |
| | | |
| | | let lastParmsIndex = 0; |
| | | |
| | | for (let i = 0; i < jsonData2.length; i++) { |
| | | for (let j = 0; j < jsonData2[i].length; j++) { |
| | | if (jsonData2[i][j].read === 333) { |
| | | jsonData2[i][j].value = lastParmsArray[lastParmsIndex]; |
| | | lastParmsIndex++; |
| | | if (lastParmsIndex === lastParmsArray.length) { |
| | | lastParmsIndex = 0; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | // console.log(jsonData2); |
| | | // }, 50); |
| | | |
| | | // document.addEventListener('mouseover', handleMouseMove); |
| | | |
| | | // }; |
| | | |
| | | // 关闭事件 |
| | | socket.onclose = function () { |
| | |
| | | socket.onerror = function () { |
| | | console.log("websocket发生了错误"); |
| | | }; |
| | | |
| | | this.$router.afterEach(function(){ |
| | | socket.close(); |
| | | }) |
| | | |
| | | this.$router.afterEach(function () { |
| | | socket.close(); |
| | | }); |
| | | } |
| | | }, |
| | | replaceChineseWithEnglish() { |
| | | |
| | | |
| | | const nameMap= this.$t('langParameter2') |
| | | this.jsonData = this.jsonData.map((item) => { |
| | | return item.map((obj) => { |
| | | if (obj.name) { |
| | | const newName = nameMap[obj.name] || obj.name; |
| | | return { ...obj, name: newName }; |
| | | } else if (obj.button && obj.button.name) { |
| | | const newName = nameMap[obj.button.name] || obj.button.name; |
| | | return { ...obj, button: { ...obj.button, name: newName } }; |
| | | } else { |
| | | return obj; |
| | | } |
| | | }); |
| | | }); |
| | | const nameMap = this.$t("langParameter2"); |
| | | this.jsonData = this.jsonData.map((item) => { |
| | | return item.map((obj) => { |
| | | if (obj.name) { |
| | | const newName = nameMap[obj.name] || obj.name; |
| | | return { ...obj, name: newName }; |
| | | } else if (obj.button && obj.button.name) { |
| | | const newName = nameMap[obj.button.name] || obj.button.name; |
| | | return { ...obj, button: { ...obj.button, name: newName } }; |
| | | } else { |
| | | return obj; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | |
| | | // console.log(this.jsonData) |
| | | |
| | | }, |
| | | send () { |
| | | |
| | | // console.log(this.jsonData) |
| | | }, |
| | | send() { |
| | | socket?.send(JSON.stringify(this.messagepack)); |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | html,body{ |
| | | width:100%; |
| | | height:85%; |
| | | |
| | | html, |
| | | body { |
| | | width: 100%; |
| | | height: 85%; |
| | | } |
| | | .item-row { |
| | | .item-row { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: 5px; /* 调整每个项目之间的间距 */ |
| | | } |
| | | |
| | | .action-button { |
| | | } |
| | | |
| | | .action-button { |
| | | margin-right: 30px; |
| | | background: #66b1ff; |
| | | color: #FFF; |
| | | } |
| | | .blue-button { |
| | | color: #fff; |
| | | } |
| | | .blue-button { |
| | | background-color: skyblue; |
| | | } |
| | | |
| | |
| | | background-color: green; |
| | | } |
| | | |
| | | .red-button{ |
| | | .red-button { |
| | | background-color: red; |
| | | } |
| | | .yellow-button{ |
| | | .yellow-button { |
| | | background-color: blue; |
| | | } |
| | | .id{ |
| | | |
| | | .id { |
| | | background-color: green; |
| | | } |
| | | |
| | | </style> |
| | | </style> |
| | |
| | | <template> |
| | | <div class="app"> |
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> |
| | | <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') |
| | | }}</router-link> |
| | | <router-link |
| | | to="/Electrical/alarm" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Alarm") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/State" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("State") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/Action" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Action") }}</router-link |
| | | > |
| | | <!-- <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Servomanual" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Parameter') |
| | | }}</router-link> |
| | | <router-link |
| | | to="/Electrical/Sign" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Sign") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/Servomanual" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Parameter") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb"> |
| | | <router-link to="/Electrical/Parameter2" tag="el-button" type="text" active-class="blue-button">{{ $t('Automatic State') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/ManualJog" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualJog') |
| | | }}</router-link> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition') |
| | | }}</router-link> |
| | | <router-link |
| | | to="/Electrical/Parameter2" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Automatic State") }}</router-link |
| | | > |
| | | <router-link |
| | | to="/Electrical/ManualJog" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualJog") }}</router-link |
| | | > |
| | | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Servomanualone') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> |
| | | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <router-link |
| | | to="/Electrical/ManualonePosition" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualonePosition") }}</router-link |
| | | > |
| | | |
| | | <router-link |
| | | to="/Electrical/Servomanualone" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Servomanualone") }}</router-link |
| | | > |
| | | <!-- <router-link |
| | | to="/Electrical/Parameter1" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Parameter1") }}</router-link |
| | | > --> |
| | | |
| | | <router-link |
| | | to="/Electrical/Positioning1" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Address parameter settings") }}</router-link |
| | | > |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | | |
| | | }}</router-link> --> |
| | | |
| | | <!-- <router-link |
| | | to="/Electrical/ManualonePosition2" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("ManualonePosition2") }}</router-link |
| | | > --> |
| | | <router-link |
| | | to="/Electrical/AutomaticParameterSetting" |
| | | tag="el-button" |
| | | type="text" |
| | | active-class="blue-button" |
| | | >{{ $t("Speed parameter settings") }}</router-link |
| | | > |
| | | </el-breadcrumb> |
| | | |
| | | <el-row :gutter="18" class='card'> |
| | | <el-col :span="7" v-for="(dataGroup, groupIndex) in jsonData" :key="groupIndex"> |
| | | <el-row :gutter="18" class="card"> |
| | | <el-col |
| | | :span="7" |
| | | v-for="(dataGroup, groupIndex) in jsonData" |
| | | :key="groupIndex" |
| | | > |
| | | <el-card class="json-block"> |
| | | <div class="button-row" style="display: flex; justify-content: space-between;"> |
| | | <div |
| | | class="button-row" |
| | | style="display: flex; justify-content: space-between" |
| | | > |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex"> |
| | | <span v-if="item.title" :name="item.title.name" class="action-button">{{ item.title.name }}</span> |
| | | <span |
| | | v-if="item.title" |
| | | :name="item.title.name" |
| | | class="action-button" |
| | | >{{ item.title.name }}</span |
| | | > |
| | | </div> |
| | | </div> |
| | | <div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container"> |
| | | <div |
| | | v-for="(item, itemIndex) in dataGroup" |
| | | :key="itemIndex" |
| | | class="item-container" |
| | | > |
| | | <div class="item-row"> |
| | | <span class="name" style="width:250px;">{{ item.name }}</span> |
| | | <el-input v-if="item.type === '0'" v-model="item.value" class="input-box" @keyup.enter.native="submitDataToBackend" ></el-input> |
| | | <span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span> |
| | | |
| | | <span class="name" style="width: 250px">{{ item.name }}</span> |
| | | <el-input |
| | | v-if="item.type === '0'" |
| | | v-model="item.value" |
| | | class="input-box" |
| | | @keyup.enter.native="submitDataToBackend" |
| | | ></el-input> |
| | | <span v-if="item.unit" :name="item.unit">{{ item.unit }}</span> |
| | | |
| | | <!-- <el-button |
| | | v-if="item.type === '0' && item.name !== '格子间距' && item.name !== '出片接片地址' && item.name !== '存片接片地址'" |
| | | class="input-box" @click="submitDataToBackend();">取地址</el-button> --> |
| | | </div> |
| | | </div> |
| | | |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | |
| | | <script> |
| | | let socket; |
| | | import LanguageMixin from '../../lang/LanguageMixin' |
| | | import data from '../../configuration/Positioning1' |
| | | import LanguageMixin from "../../lang/LanguageMixin"; |
| | | import data from "../../configuration/Positioning1"; |
| | | |
| | | export default { |
| | | name: "Positioning1", |
| | | mixins: [LanguageMixin], |
| | | data () { |
| | | data() { |
| | | return { |
| | | jsonData: data // 加载整个data.json文件作为jsonData |
| | | } |
| | | jsonData: data, // 加载整个data.json文件作为jsonData |
| | | }; |
| | | }, |
| | | activated(){ |
| | | |
| | | this.initWebSocket (); |
| | | const language = this.$i18n.locale; |
| | | console.log(language); |
| | | if (language === 'en-US') { |
| | | this.replaceChineseWithEnglish(); |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | activated() { |
| | | this.initWebSocket(); |
| | | const language = this.$i18n.locale; |
| | | console.log(language); |
| | | if (language === "en-US") { |
| | | this.replaceChineseWithEnglish(); |
| | | } |
| | | this.$forceUpdate(); |
| | | }, |
| | | methods: { |
| | | updateButtonValue (dataGroup, itemIndex) { |
| | | this.$set(dataGroup[itemIndex].button, 'value', 1); // 点击按钮后将值改为1 |
| | | updateButtonValue(dataGroup, itemIndex) { |
| | | this.$set(dataGroup[itemIndex].button, "value", 1); // 点击按钮后将值改为1 |
| | | }, |
| | | //提交数据到后端 |
| | | submitDataToBackend () { |
| | | const inputData = this.jsonData.map(dataGroup => { |
| | | return dataGroup.map(item => { |
| | | if (item.type === '0') { |
| | | submitDataToBackend() { |
| | | const inputData = this.jsonData.map((dataGroup) => { |
| | | return dataGroup.map((item) => { |
| | | if (item.type === "0") { |
| | | return { value: parseInt(item.value) }; |
| | | } else if (item.button) { |
| | | return { value: parseInt(item.title.value) }; |
| | |
| | | }); |
| | | |
| | | // 将inputData转换为整数数组 |
| | | const integerArray = inputData.map(dataGroup => { |
| | | return dataGroup.map(item => { |
| | | const integerArray = inputData.map((dataGroup) => { |
| | | return dataGroup.map((item) => { |
| | | if (item !== null) { |
| | | return item.value; |
| | | } |
| | |
| | | // console.log('提交以下数据到后端:', jsonString); |
| | | socket?.send(jsonString); |
| | | }, |
| | | initWebSocket () { |
| | | |
| | | initWebSocket() { |
| | | let viewname = "Positioning1"; |
| | | |
| | | if (typeof WebSocket === "undefined") { |
| | | console.log("您的浏览器不支持WebSocket"); |
| | | } else { |
| | | let socketUrl = "ws://" + this.$t('ip')+":8888" + "/springboot-vue3/api/talk/" + viewname; |
| | | let socketUrl = |
| | | "ws://" + |
| | | this.$t("ip") + |
| | | ":8888" + |
| | | "/springboot-vue3/api/talk/" + |
| | | viewname; |
| | | |
| | | if (socket != null) { |
| | | socket.close(); |
| | |
| | | |
| | | let obj = JSON.parse(msg.data); |
| | | const jsonData2 = this.jsonData; |
| | | document.addEventListener('mouseover', function (event) { |
| | | const inputBox = document.querySelectorAll('.el-card__body'); |
| | | document.addEventListener("mouseover", function (event) { |
| | | const inputBox = document.querySelectorAll(".input-box"); |
| | | const target = event.target; |
| | | const parms = obj.params; |
| | | if (parms && inputBox && Array.from(inputBox).every(box => !box.contains(target))) { |
| | | if ( |
| | | parms && |
| | | inputBox && |
| | | Array.from(inputBox).every((box) => !box.contains(target)) |
| | | ) { |
| | | // 如果鼠标不在输入框内,更新输入框的值 |
| | | // this.submitDataToBackend() |
| | | |
| | | // console.log(parms) |
| | | |
| | | // console.log(parms) |
| | | |
| | | let index = 0; |
| | | 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.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) { |
| | | if ( |
| | | obj.type === "0" && |
| | | Object.prototype.hasOwnProperty.call(obj, "value") |
| | | ) { |
| | | obj.value = parms[0][index]; |
| | | index++; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // console.log(jsonData2); |
| | | |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | |
| | | |
| | | |
| | | // 关闭事件 |
| | | socket.onclose = function () { |
| | |
| | | socket.onerror = function () { |
| | | console.log("websocket发生了错误"); |
| | | }; |
| | | this.$router.afterEach(function(){ |
| | | this.$router.afterEach(function () { |
| | | socket.close(); |
| | | }) |
| | | |
| | | }); |
| | | } |
| | | }, |
| | | //语言替换 |
| | | replaceChineseWithEnglish() { |
| | | |
| | | |
| | | const nameMap= this.$t('langPositioning1') |
| | | this.jsonData = this.jsonData.map((item) => { |
| | | return item.map((obj) => { |
| | | if (obj.name) { |
| | | const newName = nameMap[obj.name] || obj.name; |
| | | return { ...obj, name: newName }; |
| | | } else if (obj.button && obj.button.name) { |
| | | const newName = nameMap[obj.button.name] || obj.button.name; |
| | | return { ...obj, button: { ...obj.button, name: newName } }; |
| | | } else if (obj.title && obj.title.name) { |
| | | const newName = nameMap[obj.title.name] || obj.title.name; |
| | | return { ...obj, title: { ...obj.title, name: newName } }; |
| | | } else { |
| | | return obj; |
| | | } |
| | | }); |
| | | }); |
| | | const nameMap = this.$t("langPositioning1"); |
| | | this.jsonData = this.jsonData.map((item) => { |
| | | return item.map((obj) => { |
| | | if (obj.name) { |
| | | const newName = nameMap[obj.name] || obj.name; |
| | | return { ...obj, name: newName }; |
| | | } else if (obj.button && obj.button.name) { |
| | | const newName = nameMap[obj.button.name] || obj.button.name; |
| | | return { ...obj, button: { ...obj.button, name: newName } }; |
| | | } else if (obj.title && obj.title.name) { |
| | | const newName = nameMap[obj.title.name] || obj.title.name; |
| | | return { ...obj, title: { ...obj.title, name: newName } }; |
| | | } else { |
| | | return obj; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | |
| | | // console.log(this.jsonData) |
| | | |
| | | }, |
| | | send () { |
| | | |
| | | |
| | | // console.log(this.jsonData) |
| | | }, |
| | | send() { |
| | | socket?.send(JSON.stringify(this.messagepack)); |
| | | }, |
| | | |
| | | } |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | |
| | | .action-button { |
| | | margin-right: 30px; |
| | | background: #66b1ff; |
| | | color: #FFF; |
| | | color: #fff; |
| | | } |
| | | |
| | | .blue-button { |
| | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Servomanualone') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> |
| | | <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | |
| | | }}</router-link> --> |
| | | <!-- |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Servomanualone') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> |
| | | <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | |
| | | <div class="item-container"> |
| | | <div class="item-row"> |
| | | <span class="name" style='width:230px;'>{{ item.name }}</span> |
| | | <el-input v-if="item.type === '0'" v-model="item.value" class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1" ></el-input> |
| | | |
| | | <el-input v-if="item.type === '0' && groupIndex === 0" v-model="item.value" @keyup.enter.native="zuhe1" class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1" ></el-input> |
| | | <el-input v-else-if="item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="zuhe2" class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1" ></el-input> |
| | | <el-input v-else-if="item.type === '0' " v-model="item.value" class='input-box' :class="{ 'special-class': groupIndex === 0,'special-class2': groupIndex === 1 }" v-show="groupIndex !== 0 && groupIndex !== 1" ></el-input> |
| | | </div> |
| | | </div> |
| | | </el-col> |
| | | </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,'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> |
| | | <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' && item.button.value === 1,'jiting': item.button.name === 'Abort/ResumeTasks' && item.button.value === 1,'yihuiling': item.button.name === 'Zero' && 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,'yihuiling': item.button.name === '已回零' && item.button.value === 1 }" @click="updateButtonValue(dataGroup, itemIndex); submitDataToBackend(item.button.name);">{{ item.button.name }}</el-button> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | |
| | | this.$set(dataGroup[itemIndex].button, 'value', 1); |
| | | } |
| | | }, |
| | | submitDataToBackend(currentButtonName) { |
| | | zuhe1(){ |
| | | |
| | | //A01半自动启动提交 |
| | | if (currentButtonName === 'A01半自动启动' ||currentButtonName === 'A01 Semi-Auto Start') { |
| | | const data = []; |
| | | const data = []; |
| | | |
| | | for (let i = 0; i < 1; i++) { |
| | | const inputData = this.jsonData[i].filter(item => item.type === '0' && item.read !== 9999).map(item => { |
| | |
| | | console.log('所有Type为0的value:', jsonString); |
| | | socket?.send(jsonString); |
| | | |
| | | } |
| | | //A02半自动启动 提交 |
| | | }, |
| | | zuhe2(){ |
| | | |
| | | if (currentButtonName === 'A02半自动启动' ||currentButtonName === 'A02 Semi-Auto Start') { |
| | | const data2 = []; |
| | | const data2 = []; |
| | | |
| | | for (let i = 1; i < 2; i++) { |
| | | const inputData = this.jsonData[i].filter(item => item.type === '0' && item.read !== 8888).map(item => { |
| | |
| | | data2.push( [],[], []); |
| | | |
| | | } |
| | | |
| | | |
| | | const jsonObject = { data:data2 }; |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log('所有Type为0的value:', jsonString); |
| | | socket?.send(jsonString); |
| | | |
| | | }, |
| | | submitDataToBackend(currentButtonName) { |
| | | |
| | | //A01半自动启动提交 |
| | | if (currentButtonName === 'A01半自动启动' ||currentButtonName === 'A01 Semi-Auto Start') { |
| | | const data = []; |
| | | |
| | | |
| | | const values = [this.jsonData[0][10].button.value] |
| | | |
| | | data.push(values); |
| | | |
| | | |
| | | data.unshift([], [],[],[], [],[],[], []); |
| | | |
| | | |
| | | const jsonObject = { data }; |
| | | |
| | | // 提交数据到后端 |
| | | const jsonString = JSON.stringify(jsonObject); |
| | | console.log('所有Type为0的value:', jsonString); |
| | | socket?.send(jsonString); |
| | | |
| | | } |
| | | //A02半自动启动 提交 |
| | | |
| | | if (currentButtonName === 'A02半自动启动' ||currentButtonName === 'A02 Semi-Auto Start') { |
| | | const data2 = []; |
| | | |
| | | const values2 = [this.jsonData[1][8].button.value] |
| | | |
| | | data2.push(values2); |
| | | |
| | | |
| | | data2.unshift([],[], [],[],[], [],[],[], []); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | const jsonObject = { data:data2 }; |
| | |
| | | // ) |
| | | } |
| | | |
| | | // if (currentButtonName === 'Abort/ResumeTasks' || currentButtonName === '急停后中止/继续选择') { |
| | | // const data3 = []; |
| | | // const resetButtonValues3 = this.jsonData.map(item => { |
| | | // const buttonItem3 = item.find(subItem => subItem.button && ['Abort/resumeTasks', '急停后中止/继续选择'].includes(subItem.button.name)); |
| | | |
| | | // return buttonItem3 ? buttonItem3.button.value : null; |
| | | // }).filter(value => value !== null); |
| | | |
| | | // // 将得到的值添加到 data 数组中 |
| | | // data3.push(resetButtonValues3.flat()); |
| | | |
| | | // // 在 data3 数组前面添加两个空数组 |
| | | |
| | | // data3.push([], [], [],[], [], [], [],[]); |
| | | |
| | | // // 创建 jsonObject3 对象,并添加 data3 属性 |
| | | // const jsonObject3 = { data: data3 }; |
| | | |
| | | // // 提交数据到后端 |
| | | // const jsonString3 = JSON.stringify(jsonObject3); |
| | | // console.log('急停后中止/继续选择:', jsonString3); |
| | | // socket?.send(jsonString3); |
| | | // // setTimeout(()=> |
| | | // // window.location.reload(),2000 |
| | | // // ) |
| | | // } |
| | | |
| | | |
| | | //A01半自动提交 |
| | |
| | | } |
| | | |
| | | let obj = JSON.parse(msg.data); |
| | | // console.log(obj) |
| | | console.log(obj) |
| | | const weihuiling=obj.weihuiling; |
| | | const jsonData2 = this.jsonData; |
| | | |
| | |
| | | }, 50); |
| | | |
| | | document.addEventListener('mouseover', handleMouseMove); |
| | | |
| | | |
| | | if (obj.qidong){ |
| | | |
| | | |
| | | |
| | |
| | | // } |
| | | |
| | | // console.log(jsonData2[5][4].button.value) |
| | | if(jsonData2[2][3].button.value===1){ |
| | | if(jsonData2[2][3].button.value===1 && (jsonData2[2][3].button.name==="NotZero" ||jsonData2[2][3].button.name==="未回零")){ |
| | | jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("未回零","已回零") ; |
| | | jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("NotZero","Zero") ; |
| | | } |
| | | if(jsonData2[3][3].button.value===1){ |
| | | if(jsonData2[3][3].button.value===1 && (jsonData2[3][3].button.name==="NotZero" ||jsonData2[3][3].button.name==="未回零")){ |
| | | 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){ |
| | | if(jsonData2[4][4].button.value===1 && (jsonData2[4][4].button.name==="NotZero" ||jsonData2[4][4].button.name==="未回零")){ |
| | | jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("未回零","已回零") ; |
| | | jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("NotZero","Zero") ; |
| | | } |
| | | if(jsonData2[5][4].button.value===1){ |
| | | if(jsonData2[5][4].button.value===1 && (jsonData2[5][4].button.name==="NotZero" ||jsonData2[5][4].button.name==="未回零")){ |
| | | jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("未回零","已回零") ; |
| | | jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("NotZero","Zero") ; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | if(jsonData2[2][3].button.value===0 && (jsonData2[2][3].button.name==="Zero" ||jsonData2[2][3].button.name==="已回零")){ |
| | | jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("已回零","未回零") ; |
| | | jsonData2[2][3].button.name=jsonData2[2][3].button.name.replace("Zero","NotZero") ; |
| | | } |
| | | if(jsonData2[3][3].button.value===0 && (jsonData2[3][3].button.name==="Zero" ||jsonData2[3][3].button.name==="已回零")){ |
| | | jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("已回零","未回零") ; |
| | | jsonData2[3][3].button.name=jsonData2[3][3].button.name.replace("Zero","NotZero") ; |
| | | } |
| | | if(jsonData2[4][4].button.value===0 && (jsonData2[4][4].button.name==="Zero" ||jsonData2[4][4].button.name==="已回零")){ |
| | | jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("已回零","未回零") ; |
| | | jsonData2[4][4].button.name=jsonData2[4][4].button.name.replace("Zero","NotZero") ; |
| | | } |
| | | if(jsonData2[5][4].button.value===0 && (jsonData2[5][4].button.name==="Zero" ||jsonData2[5][4].button.name==="已回零")){ |
| | | jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("已回零","未回零") ; |
| | | jsonData2[5][4].button.name=jsonData2[5][4].button.name.replace("Zero","NotZero") ; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | }; |
| | |
| | | background-color: green; |
| | | |
| | | } |
| | | |
| | | .yihuiling{ |
| | | |
| | | background-color: green; |
| | | } |
| | | </style> |
| | |
| | | <router-link to="/Electrical/Servomanualone" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Servomanualone') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> |
| | | <!-- <router-link to="/Electrical/Parameter1" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter1') |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/Positioning1" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Address parameter settings') |
| | | }}</router-link> |
| | | <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/Positioning2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Positioning2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | |
| | | <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | <!-- <router-link to="/Electrical/ManualonePosition2" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('ManualonePosition2') |
| | | }}</router-link> |
| | | }}</router-link> --> |
| | | <router-link to="/Electrical/AutomaticParameterSetting" tag="el-button" type="text" active-class="blue-button">{{ |
| | | $t('Speed parameter settings') |
| | | }}</router-link> |
| | |
| | | </el-dialog>
|
| | |
|
| | | <el-dialog :visible.sync="dialogFormVisible2" :title="$t('Alarm Information')">
|
| | | <el-table :data="this.alarm" border style="width: 100%;">
|
| | | <el-table :data="this.alarm" border style="width: 100%;font-size: 25px;">
|
| | | <el-table-column prop="id" :label="$t('id')"></el-table-column>
|
| | | <el-table-column prop="content" :label="$t('content')"></el-table-column>
|
| | | <el-table-column prop="timeons" :label="$t('timeon')"></el-table-column>
|
| | | <el-table-column prop="endTime" :label="$t('endTime')"></el-table-column>
|
| | | </el-table>
|
| | | </el-dialog>
|
| | |
|
| | |
| | | this.isAllowReordering == true ? $t('Not Allow') : $t('Allow')
|
| | | }}</el-button>
|
| | | <el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border :cell-style="cellStyle"
|
| | | style="width: 100%;overflow: auto;">
|
| | | style="width: 100%;overflow: auto;font-size: 18px;">
|
| | | <el-table-column :min-width="100" prop="glassId" :label="$t('Barcode')"></el-table-column>
|
| | | <el-table-column prop="storageCage.orderId" :label="$t('Order No')"></el-table-column>
|
| | | <el-table-column prop="storageCage.listId" :label="$t('List No')"></el-table-column>
|
| | | <el-table-column prop="storageCage.boxId" :label="$t('Box No')"></el-table-column>
|
| | | <el-table-column prop="storageCage.glasswidthmm" :label="$t('Length')"></el-table-column>
|
| | | <el-table-column prop="storageCage.glassheightmm" :label="$t('Width')"></el-table-column>
|
| | | <el-table-column prop="state" :label="$t('Glass State')">
|
| | | <el-table-column :min-width="90" prop="state" :label="$t('Glass State')">
|
| | | <template slot-scope='scope'>
|
| | | {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2 ? $t('Completed') :scope.row.state == 3 ? $t('Absent') :$t('Deleted') }}
|
| | | </template>
|
| | |
| | | </el-table-column>
|
| | | </el-table>
|
| | | </el-dialog>
|
| | |
|
| | | <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
|
| | | <div style="font-size: 500px;text-align: center;">
|
| | | {{ this.CountDowns }}
|
| | | </div>
|
| | | </el-dialog>
|
| | | </el-container>
|
| | | </template>
|
| | | <script>
|
| | |
| | | dialogFormVisible5: false,
|
| | | dialogFormVisible6: false,
|
| | | dialogFormVisible7: false,
|
| | | dialogFormCountDown:false,
|
| | | form: {
|
| | | orderId: "",
|
| | | glassId: "",
|
| | |
| | | OutingQueue: true,
|
| | | OrderInfo: true,
|
| | | CageDetails: true,
|
| | |
|
| | | CountDowns:0,
|
| | | D01RequestState:false
|
| | | };
|
| | | },
|
| | | created() {
|
| | | this.load();
|
| | | |
| | | this.init();
|
| | | }
|
| | | ,
|
| | |
| | | //console.log("您的浏览器支持WebSocket");
|
| | | let socketUrl = "ws://" + this.$t('ip') + ":8888" + "/springboot-vue3/api/talk/" + viewname;
|
| | | if (socket != null) {
|
| | | socket.close();
|
| | | socket.close();this.car1
|
| | | socket = null;
|
| | | }
|
| | | // 开启一个websocket服务
|
| | |
| | | //console.log("收到数据====" + msg.data);
|
| | | let obj = JSON.parse(msg.data);
|
| | | if (obj.params != null) {
|
| | | |
| | | this.car1 = 145 + 8.15 * Math.abs(obj.params[0][0] - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
|
| | | this.car2 = 210 + 8.15 * Math.abs(obj.params[0][1] - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
|
| | | // this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
|
| | |
| | | this.tasklist1 = obj.tasklist1[0];
|
| | | this.tasklist2 = obj.tasklist2[0];
|
| | | this.alarm = obj.alarmmg[0];
|
| | | //铝框id提示
|
| | |
|
| | |
|
| | | if(this.alarm.length>0){
|
| | | this.dialogFormVisible2=true;
|
| | | }
|
| | | //复位倒计时
|
| | | if (obj.countdown[0] == true&&this.CountDowns==0) {
|
| | | this.CountDown();
|
| | | }
|
| | | //是否有进片请求
|
| | | this.D01RequestState=obj.D01RequestState[0];
|
| | | |
| | | //是否允许出片
|
| | | this.isAllowQueue = obj.isAllowQueue[0];
|
| | | //出片队列
|
| | |
| | | this.loadglassheight1 = 70;
|
| | | this.form5 = obj.form3[0];
|
| | | this.showform3();
|
| | | this.Sizerange(this.form5, 3);
|
| | | this.glassid1 = "";
|
| | | if(this.D01RequestState==true){
|
| | | this.Sizerange(this.form5, 3);
|
| | | }else{
|
| | | this.disabled1=true;
|
| | | }
|
| | | |
| | | |
| | | } else {
|
| | | if (this.glassid1 == "") {
|
| | | this.DeleteBarcodeGlass();
|
| | |
| | | },
|
| | | //判断玻璃是否超出范围
|
| | | Sizerange(Glass, position) {
|
| | | if (this.ManuallyInfeedGlass == true) {
|
| | | if (this.ManuallyInfeedGlass == false) {
|
| | | if ((Glass.glassheight < 380 || Glass.glasswidth < 390 || Glass.glassheight > 1810 || Glass.glasswidth > 2760) || (Glass.glassheight < 390 || Glass.glasswidth < 380 || Glass.glassheight > 2760 || Glass.glasswidth > 1810)) {
|
| | | this.$alert(this.$t('The glass size is not within the range'), this.$t('confirm'), {
|
| | | confirmButtonText: this.$t('Yes'),
|
| | |
| | | } else {
|
| | | this.disabled = false;
|
| | | }
|
| | | if (position == 3 && this.isConfirmState == true) {
|
| | | if (position == 3 && this.isConfirm == true&&this.D01RequestState==true) {
|
| | | this.InsertQueueGlass(1);
|
| | | }
|
| | | }
|
| | |
| | | this.$message.success(this.$t('Operation successful'));
|
| | | }
|
| | | });
|
| | | },
|
| | | CountDown(){
|
| | | //50秒倒数计时
|
| | | let count = 45;
|
| | | let timer = setInterval(
|
| | | () => {
|
| | | if (count > 0) {
|
| | | this.CountDowns = count;
|
| | | count--;
|
| | | }
|
| | | else {
|
| | | clearInterval(timer);
|
| | | this.CountDowns = 0;
|
| | | this.dialogFormCountDown=false;
|
| | | }
|
| | | },
|
| | | 1000
|
| | | );
|
| | | |
| | | }
|
| | | }
|
| | | }
|
| | |
| | | public class MessageHandler {
|
| | | //写入byte
|
| | | public void outmesid(String glassid,String address) {
|
| | | //System.out.println("outmesid:" + glassid);
|
| | | List<Byte> glassidlist = new ArrayList();
|
| | | char ds[]=glassid.toCharArray();
|
| | | for (char iditem : ds) {
|
| | | glassidlist.add((byte)iditem);
|
| | | try {
|
| | | List<Byte> glassidlist = new ArrayList<>();
|
| | | char ds[]=glassid.toCharArray();
|
| | | for (char iditem : ds) {
|
| | | glassidlist.add((byte)iditem);
|
| | | }
|
| | | byte[] bytes = Bytes.toArray(glassidlist);
|
| | | System.out.println("outmesidbytes:" + bytes.length);
|
| | | S7control.getinstance().WriteByte(address, bytes);
|
| | | } catch (Exception e) {
|
| | | System.err.println("An error occurred while writing byte to PLC: " + e.getMessage());
|
| | | }
|
| | | byte[] bytes = Bytes.toArray(glassidlist);
|
| | | System.out.println("outmesidbytes:" + bytes.length);
|
| | | S7control.getinstance().WriteByte(address, bytes);
|
| | | }
|
| | |
|
| | | //写入bit
|
| | | public void writeBitToPLC( JSONArray messageArray,List<String> addresses, int index) {
|
| | | if (messageArray.getJSONArray(index).size() > 0) {
|
| | | JSONArray jsonArray = messageArray.getJSONArray(index);
|
| | | List<Boolean> sValue = new ArrayList<>();
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | Object value = jsonArray.get(i);
|
| | | if (value != null && !value.toString().equals("null")) {
|
| | | try {
|
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | boolean val = "1".equals(cleanedValue.trim());
|
| | | sValue.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);
|
| | | public void writeBitToPLC(JSONArray messageArray, List<String> addresses, int index) {
|
| | | try {
|
| | | // 检查索引是否有效
|
| | | if (messageArray.getJSONArray(index).size() > 0) {
|
| | | // 获取消息数组
|
| | | JSONArray jsonArray = messageArray.getJSONArray(index);
|
| | | // 创建一个布尔值列表
|
| | | List<Boolean> sValue = new ArrayList<>();
|
| | | // 遍历消息数组
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | // 获取消息数组中的值
|
| | | Object value = jsonArray.get(i);
|
| | | // 检查值是否有效
|
| | | if (value != null && !value.toString().equals("null")) {
|
| | | try {
|
| | | // 移除非数字和数字字符
|
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | // 解析为布尔值
|
| | | boolean val = "1".equals(cleanedValue.trim());
|
| | | // 将布尔值添加到布尔值列表中
|
| | | sValue.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 (!sValue.isEmpty()) {
|
| | |
|
| | | // 调用 S7control.getinstance().WriteBit 方法将布尔值列表写入地址列表
|
| | | S7control.getinstance().WriteBit(addresses, sValue);
|
| | | System.out.println("Values " + sValue + " written to PLC at address " + addresses);
|
| | | }
|
| | | }
|
| | | if (!sValue.isEmpty()) {
|
| | | // 这里假设 S7control.getinstance().WriteBit 方法可以正确写入 sValue 到地址列表 addresses
|
| | | S7control.getinstance().WriteBit(addresses, sValue);
|
| | | System.out.println("Values " + sValue + " written to PLC at address " + addresses);
|
| | | }
|
| | | } catch (Exception e) {
|
| | | System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | //写入Word
|
| | | public void WriteWordToPLC( JSONArray messageArray,List<String> addresses, int index) {
|
| | | if (messageArray.getJSONArray(index).size() > 0) {
|
| | | JSONArray jsonArray = messageArray.getJSONArray(index);
|
| | | List<Short> sValues = new ArrayList<>();
|
| | |
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | Object value = jsonArray.get(i);
|
| | |
|
| | | if (value != null && !value.toString().equals("null")) {
|
| | | try {
|
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | short val = Short.parseShort(cleanedValue.trim());
|
| | | sValues.add(val);
|
| | | System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
|
| | | } catch (NumberFormatException e) {
|
| | | // 如果无法解析为 short 类型,则忽略该部分
|
| | | System.err.println("Could not parse value: " + value);
|
| | | public void WriteWordToPLC(JSONArray messageArray, List<String> addresses, int index) {
|
| | | try {
|
| | | if (messageArray.getJSONArray(index).size() > 0) {
|
| | | JSONArray jsonArray = messageArray.getJSONArray(index);
|
| | | List<Short> sValues = new ArrayList<>();
|
| | | for (int i = 0; i < jsonArray.size(); i++) {
|
| | | Object value = jsonArray.get(i);
|
| | | if (value != null && !value.toString().equals("null")) {
|
| | | try {
|
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
|
| | | short val = Short.parseShort(cleanedValue.trim());
|
| | | sValues.add(val);
|
| | | System.out.println("messageValue:" + Arrays.asList(val) + " added to the list");
|
| | | } catch (NumberFormatException e) {
|
| | | System.err.println("Could not parse value: " + value);
|
| | | }
|
| | | }
|
| | | }
|
| | | if (!sValues.isEmpty()) {
|
| | | S7control.getinstance().WriteWord(addresses, sValues);
|
| | | System.out.println("Values " + sValues + " written to PLC at address " + addresses);
|
| | | }
|
| | | }
|
| | |
|
| | | if (!sValues.isEmpty()) {
|
| | | S7control.getinstance().WriteWord(addresses.get(index), sValues);
|
| | | System.out.println("Values " + sValues + " written to PLC at address " + addresses.get(index));
|
| | | }
|
| | | } catch (Exception e) {
|
| | | System.err.println("An error occurred while writing word to PLC: " + e.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | | //写入String
|
| | | public void writeStringToPLC( JSONArray messageArray, String addresses,int index) {
|
| | | if (messageArray.getJSONArray(index).size() > 0) {
|
| | | JSONArray jsonArray = messageArray.getJSONArray(index);
|
| | |
|
| | | if (!jsonArray.isEmpty()) {
|
| | | String value = (String) jsonArray.get(0);
|
| | | outmesid(value.trim(), addresses);
|
| | | System.out.println("Value " + value + " written to PLC at address " + addresses);
|
| | | //写入String
|
| | | public void writeStringToPLC(JSONArray messageArray, String addresses, int index) {
|
| | | try {
|
| | | if (messageArray.getJSONArray(index).size() > 0) {
|
| | | JSONArray jsonArray = messageArray.getJSONArray(index);
|
| | | if (!jsonArray.isEmpty()) {
|
| | | String value = (String) jsonArray.get(0);
|
| | | outmesid(value.trim(), addresses);
|
| | | System.out.println("Value " + value + " written to PLC at address " + addresses);
|
| | | }
|
| | | }
|
| | | } catch (Exception e) {
|
| | | System.err.println("An error occurred while writing string to PLC: " + e.getMessage());
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | } |
| | | }
|
| | |
| | | List<Short> dache1 = S7control.getinstance().ReadWord("DB100.18", 1); |
| | | List<Short> xiaoche1 = S7control.getinstance().ReadWord("DB100.22", 1); |
| | | List<Short> fanzhuan1 = S7control.getinstance().ReadWord("DB100.14", 1); |
| | | // Short[] values1 = { 1, 2, 3, 4, 5, 6, 7, 8 }; |
| | | // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1)); |
| | | // Short[] fanzhuan = { 4 }; |
| | | // List<Short> fanzhuan1 = new ArrayList<>(Arrays.asList(fanzhuan)); |
| | | // Short[] dache = { 5 }; |
| | | // List<Short> dache1 = new ArrayList<>(Arrays.asList(dache)); |
| | | // Short[] xiaoche = { 6 }; |
| | | // List<Short> xiaoche1 = new ArrayList<>(Arrays.asList(xiaoche)); |
| | | List<String> addresses = new ArrayList<>(); |
| | | addresses.add("DB100.0"); |
| | | addresses.add("DB100.2"); |
| | | addresses.add("DB100.4"); |
| | | addresses.add("DB100.6"); |
| | | addresses.add("DB100.26"); |
| | | addresses.add("DB100.28"); |
| | | addresses.add("DB100.30"); |
| | | addresses.add("DB100.32"); |
| | | addresses.add("DB100.34"); |
| | | addresses.add("DB100.36"); |
| | | addresses.add("DB100.38"); |
| | | addresses.add("DB100.40"); |
| | | List<Short> arraylist2 = S7control.getinstance().readWords(addresses); |
| | | //翻转 |
| | | List<Short> fanzhuan2 = S7control.getinstance().ReadWord("DB100.8", 1); |
| | | List<Short> xiaoche2 = S7control.getinstance().ReadWord("DB100.12", 1); |
| | | |
| | | |
| | | // Short[] values1 = { 1, 2, 3, 4, 5, 6, 7, 8 }; |
| | | // List<Short> arraylist = new ArrayList<>(Arrays.asList(values1)); |
| | | // Short[] fanzhuan = { 4 }; |
| | | // List<Short> fanzhuan1 = new ArrayList<>(Arrays.asList(fanzhuan)); |
| | | // Short[] dache = { 5 }; |
| | | // List<Short> dache1 = new ArrayList<>(Arrays.asList(dache)); |
| | | // Short[] xiaoche = { 6 }; |
| | | // List<Short> xiaoche1 = new ArrayList<>(Arrays.asList(xiaoche)); |
| | | // |
| | | // Short[] values2 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; |
| | | // List<Short> arraylist2 = new ArrayList<>(Arrays.asList(values2)); |
| | | // Short[] fanzhuan22 = { 4 }; |
| | | // List<Short> fanzhuan2 = new ArrayList<>(Arrays.asList(fanzhuan22)); |
| | | // Short[] xiaoche22 = {5}; |
| | | // List<Short> xiaoche2 = new ArrayList<>(Arrays.asList(xiaoche22)); |
| | | |
| | | JSONObject jsonObject = new JSONObject(); |
| | | // new short[]{1,1, 1, 1, 1, 1, 2, 33, 2,3, 4, 5} |
| | |
| | | jsonObject.append("dache1", dache1); |
| | | jsonObject.append("xiaoche", xiaoche1); |
| | | jsonObject.append("fanzhuan", fanzhuan1); |
| | | // |
| | | // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting"); |
| | | // if (sendwServer != null) { |
| | | // sendwServer.sendMessage(jsonObject.toString()); |
| | | // } |
| | | jsonObject.append("params2", arraylist2); |
| | | jsonObject.append("fanzhuan2", fanzhuan2); |
| | | jsonObject.append("xiaoche2", xiaoche2); |
| | | |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("AutomaticParameterSetting"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | // 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"; |
| | | String addressList4 = "DB100.14"; |
| | | if (webserver != null) { |
| | | List<String> messages = webserver.getMessages(); |
| | | String addressList1 = "DB100.120"; |
| | | String addressList2 = "DB100.18"; |
| | | String addressList3 = "DB100.22"; |
| | | String addressList4 = "DB100.14"; |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为 short 类型的列表 |
| | | String lastMessage = messages.get(messages.size() - 1); |
| | | // System.out.println("lastMessage:" + lastMessage); |
| | | JSONArray messageArray = new JSONArray(lastMessage); |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为 short 类型的列表 |
| | | String lastMessage = messages.get(messages.size() - 1); |
| | | // System.out.println("lastMessage:" + lastMessage); |
| | | JSONArray messageArray = new JSONArray(lastMessage); |
| | | |
| | | // 整合第 1 到 2 个数组并去掉 null 元素 |
| | | List<Short> mergedList = new ArrayList<>(); |
| | | for (int i = 0; i < 2; i++) { |
| | | JSONArray sublist = messageArray.getJSONArray(i); |
| | | for (int j = 0; j < sublist.size(); j++) { |
| | | Object value = sublist.get(j); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | mergedList.add(sValue); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | // 整合第 1 到 2 个数组并去掉 null 元素 |
| | | List<Short> mergedList = new ArrayList<>(); |
| | | for (int i = 0; i < 2; i++) { |
| | | JSONArray sublist = messageArray.getJSONArray(i); |
| | | for (int j = 0; j < sublist.size(); j++) { |
| | | Object value = sublist.get(j); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | mergedList.add(sValue); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | System.out.println(messageArray); |
| | | // 写入第一个地址 |
| | | if (messageArray.getJSONArray(2).size() > 0) { |
| | | Object value = messageArray.getJSONArray(2).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList2, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList2); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | System.out.println(messageArray); |
| | | // 写入第一个地址 |
| | | if (messageArray.getJSONArray(2).size() > 0) { |
| | | Object value = messageArray.getJSONArray(2).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList2, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList2); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第二个地址 |
| | | if (messageArray.getJSONArray(3).size() > 0) { |
| | | Object value = messageArray.getJSONArray(3).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList3, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList3); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第三个地址 |
| | | if (messageArray.getJSONArray(4).size() > 0) { |
| | | Object value = messageArray.getJSONArray(4).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList4, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList4); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第四个地址 |
| | | if (!mergedList.isEmpty()) { |
| | | S7control.getinstance().WriteWord(addressList1, mergedList); |
| | | System.out.println("messageValue:" + mergedList + " written to PLC at address " + addressList1); |
| | | } |
| | | |
| | | |
| | | List<String> waddresses1 = new ArrayList<>(); |
| | | waddresses1.add("DB100.0"); |
| | | waddresses1.add("DB100.2"); |
| | | waddresses1.add("DB100.4"); |
| | | waddresses1.add("DB100.6"); |
| | | waddresses1.add("DB100.26"); |
| | | waddresses1.add("DB100.28"); |
| | | waddresses1.add("DB100.30"); |
| | | waddresses1.add("DB100.32"); |
| | | waddresses1.add("DB100.34"); |
| | | waddresses1.add("DB100.36"); |
| | | waddresses1.add("DB100.38"); |
| | | waddresses1.add("DB100.40"); |
| | | |
| | | String addressList22 = "DB100.8"; |
| | | String addressList33 = "DB100.12"; |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为 short 类型的列表 |
| | | |
| | | |
| | | // 整合第 1 到 3 个数组并去掉 null 元素 |
| | | List<Short> mergedList2 = new ArrayList<>(); |
| | | for (int i = 5; i < 8; i++) { |
| | | JSONArray sublist = messageArray.getJSONArray(i); |
| | | for (int j = 0; j < sublist.size(); j++) { |
| | | Object value = sublist.get(j); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | mergedList2.add(sValue); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第伍个地址 |
| | | if (messageArray.getJSONArray(8).size() > 0) { |
| | | Object value = messageArray.getJSONArray(8).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList22, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList2); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第六个地址 |
| | | if (messageArray.getJSONArray(9).size() > 0) { |
| | | Object value = messageArray.getJSONArray(9).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList33, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList3); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第七个地址 |
| | | if (!mergedList2.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses1, mergedList2); |
| | | System.out.println("messageValue:" + mergedList2 + " written to PLC at address " + waddresses1); |
| | | } |
| | | |
| | | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第二个地址 |
| | | if (messageArray.getJSONArray(3).size() > 0) { |
| | | Object value = messageArray.getJSONArray(3).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList3, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList3); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第三个地址 |
| | | if (messageArray.getJSONArray(4).size() > 0) { |
| | | Object value = messageArray.getJSONArray(4).get(0); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | short sValue = Short.parseShort(cleanedValue.trim()); |
| | | S7control.getinstance().WriteWord(addressList4, Arrays.asList(sValue)); |
| | | System.out |
| | | .println("messageValue:" + Arrays.asList(sValue) + " written to PLC at address " + addressList4); |
| | | } catch (NumberFormatException e) { |
| | | // 如果无法解析为 short 类型,则忽略该部分 |
| | | System.err.println("Could not parse value: " + value); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 写入第四个地址 |
| | | if (!mergedList.isEmpty()) { |
| | | S7control.getinstance().WriteWord(addressList1, mergedList); |
| | | System.out.println("messageValue:" + mergedList + " written to PLC at address " + addressList1); |
| | | } |
| | | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | }} |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | import java.util.List;
|
| | |
|
| | | public class PLCManualJog extends Thread {
|
| | | String name = "";
|
| | | Integer count = 0;
|
| | |
|
| | | public static String readFileToString(String filePath) throws IOException {
|
| | | File file = new File(filePath);
|
| | | return FileUtils.readFileToString(file, "UTF-8");
|
| | |
|
| | | // 用于存储应用程序的配置信息
|
| | | private Configuration config;
|
| | |
|
| | | // 创建一个自定义的 S7 控制器消息处理器对象
|
| | | MessageHandler customS7Control = new MessageHandler();
|
| | |
|
| | |
|
| | | public PLCManualJog() throws IOException {
|
| | | config = new Configuration("config.properties");
|
| | | }
|
| | |
|
| | | public void readValue() {
|
| | | String str = "";
|
| | | BufferedReader bufferedReader = null;
|
| | | FileInputStream fileInputStream;
|
| | | try {
|
| | | // 从文件中读取字节数据存入 fileInputStream
|
| | | fileInputStream = new FileInputStream("CanadaMes-ui/src/configuration/address.json");
|
| | | // 读取 fileInputStream 中字节并将其解码为字符
|
| | | InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
|
| | | // 提高读取效率,在 BufferedReader 内包装 InputStreamReader
|
| | | bufferedReader = new BufferedReader(inputStreamReader);
|
| | | String line = null;
|
| | | // 将 bufferedReader 内容一行一行赋值给str
|
| | | while ((line = bufferedReader.readLine()) != null) {
|
| | | str += line;
|
| | | }
|
| | |
|
| | | // 将str字符串格式转为json
|
| | | JSONObject jsonObject = new JSONObject(str);
|
| | |
|
| | | // 获取json中的值
|
| | | JSONArray address = jsonObject.getJSONArray("address");
|
| | | for (int i = 0; i < address.size(); i++) {
|
| | | JSONObject ress = (JSONObject) address.get(i);
|
| | |
|
| | | this.name = ress.getStr("name");
|
| | | this.count = ress.getInt("count");
|
| | |
|
| | | }
|
| | |
|
| | | } catch (FileNotFoundException e) {
|
| | | e.printStackTrace();
|
| | | } catch (UnsupportedEncodingException e) {
|
| | | e.printStackTrace();
|
| | | } catch (IOException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void run() {
|
| | |
| | |
|
| | | // System.out.println(stt);
|
| | |
|
| | | List<String> addressList0 = new ArrayList<>();
|
| | | addressList0.add("DB101.2.6");
|
| | | addressList0.add("DB101.2.7");
|
| | | addressList0.add("DB101.3.0");
|
| | | addressList0.add("DB101.3.1");
|
| | | addressList0.add("DB101.3.2");
|
| | | addressList0.add("DB101.3.3");
|
| | | addressList0.add("DB101.3.4");
|
| | | addressList0.add("DB101.3.5");
|
| | |
|
| | | List<String> addressList21 = new ArrayList<>();
|
| | | addressList21.add("DB101.0.0");
|
| | | addressList21.add("DB101.0.1");
|
| | | addressList21.add("DB101.0.2");
|
| | | addressList21.add("DB101.0.3");
|
| | | addressList21.add("DB101.0.4");
|
| | | addressList21.add("DB101.0.5");
|
| | | addressList21.add("DB101.0.6");
|
| | | addressList21.add("DB101.0.7");
|
| | | addressList21.add("DB101.1.0");
|
| | | addressList21.add("DB101.1.1");
|
| | | addressList21.add("DB101.1.2");
|
| | | addressList21.add("DB101.1.3");
|
| | | addressList21.add("DB101.1.4");
|
| | | addressList21.add("DB101.1.5");
|
| | | addressList21.add("DB101.1.6");
|
| | | addressList21.add("DB101.1.7");
|
| | | List<String> addressList21 = Arrays.asList(config.getProperty("PLCManualJog.button").split(","));
|
| | |
|
| | |
|
| | |
|
| | |
|
| | | List<Boolean> arraylist = S7control.getinstance().readBits(addressList21);
|
| | | List<Boolean> arraylist2 = S7control.getinstance().readBits(addressList0);
|
| | | List<Boolean> arraylist3 = S7control.getinstance().ReadBits("DB101.5.2", 2);
|
| | |
|
| | | // Boolean[] values1 = { false, true, true, true, false, false, true, false,
|
| | | // false, true, true, true, false, false,
|
| | | // true, false };
|
| | |
| | | // Boolean[] values3 = { false, false };
|
| | | // List<Boolean> arraylist3 = new ArrayList<>(Arrays.asList(values3));
|
| | |
|
| | | arraylist.addAll(arraylist2);
|
| | | arraylist.addAll(arraylist3);
|
| | |
|
| | |
|
| | | JSONObject jsonObject = new JSONObject();
|
| | |
|
| | |
| | | // WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("ManualJog");
|
| | |
|
| | | if (webserver != null) {
|
| | | // String addressList1 = "DB101.0.0";
|
| | | // String addressList2 = "DB101.2.6";
|
| | | String addressList3 = "DB101.5.2";
|
| | |
|
| | |
|
| | | List<String> addressList2 = new ArrayList<>();
|
| | | addressList2.add("DB101.2.6");
|
| | | addressList2.add("DB101.2.7");
|
| | | addressList2.add("DB101.3.0");
|
| | | addressList2.add("DB101.3.1");
|
| | | addressList2.add("DB101.3.2");
|
| | | addressList2.add("DB101.3.3");
|
| | | addressList2.add("DB101.3.4");
|
| | | addressList2.add("DB101.3.5");
|
| | |
|
| | |
|
| | | List<String> addressList211 = new ArrayList<>();
|
| | | addressList211.add("DB101.0.0");
|
| | | addressList211.add("DB101.0.1");
|
| | | addressList211.add("DB101.0.2");
|
| | | addressList211.add("DB101.0.3");
|
| | | addressList211.add("DB101.0.4");
|
| | | addressList211.add("DB101.0.5");
|
| | | addressList211.add("DB101.0.6");
|
| | | addressList211.add("DB101.0.7");
|
| | | addressList211.add("DB101.1.0");
|
| | | addressList211.add("DB101.1.1");
|
| | | addressList211.add("DB101.1.2");
|
| | | addressList211.add("DB101.1.3");
|
| | | addressList211.add("DB101.1.4");
|
| | | addressList211.add("DB101.1.5");
|
| | | addressList211.add("DB101.1.6");
|
| | | addressList211.add("DB101.1.7");
|
| | |
|
| | | List<String> addressList311 = new ArrayList<>();
|
| | | addressList311.add("DB101.5.2");
|
| | | addressList311.add("DB101.5.3");
|
| | |
|
| | | List<String> messages = webserver.getMessages();
|
| | | if (!messages.isEmpty()) {
|
| | |
| | | }
|
| | | // System.out.println(messageBooleans);
|
| | | List<Boolean> bolList = new ArrayList<>();
|
| | | List<Boolean> bolList2 = new ArrayList<>();
|
| | | List<Boolean> bolList3 = new ArrayList<>();
|
| | |
|
| | | for (int i = 0; i < 16 && i < messageBooleans.size(); i++) {
|
| | |
|
| | | for (int i = 0; i < 26 && i < messageBooleans.size(); i++) {
|
| | | bolList.add(messageBooleans.get(i));
|
| | | }
|
| | |
|
| | | for (int i = 16; i < 24 && i < messageBooleans.size(); i++) {
|
| | | bolList2.add(messageBooleans.get(i));
|
| | | }
|
| | |
|
| | | for (int i = 24; i < 26 && i < messageBooleans.size(); i++) {
|
| | | bolList3.add(messageBooleans.get(i));
|
| | | }
|
| | |
|
| | | // System.out.println(bolList);
|
| | | // System.out.println(bolList2);
|
| | | // System.out.println(bolList3);
|
| | | if (!bolList.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(addressList211, bolList);
|
| | | System.out.println("messageValue:" + bolList + " written to PLC at address " + addressList211);
|
| | | S7control.getinstance().WriteBit(addressList21, bolList);
|
| | | System.out.println("messageValue:" + bolList + " written to PLC at address " + addressList21);
|
| | | }
|
| | | if (!bolList2.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(addressList2, bolList2);
|
| | | System.out.println("messageValue:" + bolList2 + " written to PLC at address " + addressList2);
|
| | | }
|
| | | if (!bolList3.isEmpty()) {
|
| | | S7control.getinstance().WriteBit(addressList311, bolList3);
|
| | | System.out.println("messageValue:" + bolList3 + " written to PLC at address " + addressList311);
|
| | | }
|
| | |
|
| | | webserver.clearMessages();
|
| | | }
|
| | | }
|
| | |
| | | // 获取DO2数据 |
| | | StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14); |
| | | |
| | | |
| | | int questate = spianMapper.Selectquecount(queueid1.toString());// 判断扫码位是否有玻璃已确认 |
| | | // queueid1.toString().isEmpty() |
| | | north_glass_buffer1 glass1 = spianMapper.selectGlass(queueid1.toString());// D01的玻璃信息 |
| | | north_glass_buffer1 glass2 = spianMapper.selectGlass(queueid2.toString());// D02玻璃信息 |
| | | // 当扫码位玻璃id为空时 宽度为0 |
| | | |
| | | if (queueid1 != null && questate == 0) { |
| | | // 写入D01的数据到上片队列表 |
| | | if (glass1 == null) { // 当没有值时传空 |
| | |
| | | } else { |
| | | |
| | | spianMapper.Updatequeue(queueid1.toString(), glass1.getordernumber(), glass1.getlistnumber(), |
| | | glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(), |
| | | glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1); |
| | | glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(), |
| | | glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1); |
| | | } |
| | | |
| | | } |
| | |
| | | spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 2); |
| | | } else { |
| | | spianMapper.Updatequeue(queueid2.toString(), glass2.getordernumber(), glass2.getlistnumber(), |
| | | glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(), |
| | | glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2); |
| | | glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(), |
| | | glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2); |
| | | spianMapper.overqueue2(queueid2.toString(), 0, 1);// 更改扫码位任务表的状态为0 |
| | | S7control.getinstance().WriteWord("DB105.16", (short) 0);// 关闭任务启动 |
| | | } |
| | |
| | | |
| | | outstate = outlist.contains((short) 0);// 出片车空闲判断 当出片车空闲时为true |
| | | outstate1 = outlist1.contains((short) 1);// 出片车任务是否启动 当出片车任务启动时为true |
| | | |
| | | |
| | | // 判断当前是否有未执行的任务 |
| | | int outnum = spianMapper.SelectOutSliceshu(); |
| | | // 当没有任务执行并且出片车空闲时 |
| | |
| | | config = new Configuration("config.properties"); |
| | | } |
| | | |
| | | |
| | | |
| | | // 创建一个自定义的 S7 控制器消息处理器对象 |
| | | MessageHandler customS7Control = new MessageHandler(); |
| | | |
| | | |
| | | |
| | | |
| | | public static class PLCBooleanConverter { |
| | | |
| | | public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) { |
| | |
| | | } |
| | | if (!sValue.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses1, sValue); |
| | | if (A01readstart != null && !A01readstart.isEmpty()) { |
| | | // 创建一个新的列表用于写入新值 |
| | | List<Boolean> a01startval = new ArrayList<>(); |
| | | // 遍历所有读取到的位值 |
| | | for (Boolean bit : A01readstart) { |
| | | // 取反当前位的值并添加到新的列表中 |
| | | a01startval.add(!bit); |
| | | } |
| | | // 写入新的位值列表 |
| | | S7control.getinstance().WriteBit(A01start, a01startval); |
| | | System.out.println("a01startval " + a01startval + " written to PLC at address " + A01start); |
| | | } |
| | | |
| | | |
| | | System.out.println("Values " + sValue + " written to PLC at address " + waddresses1); |
| | |
| | | } |
| | | if (!sValue2.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses2, sValue2); |
| | | if (A02readstart != null && !A02readstart.isEmpty()) { |
| | | // 创建一个新的列表用于写入新值 |
| | | List<Boolean> a02startval = new ArrayList<>(); |
| | | // 遍历所有读取到的位值 |
| | | for (Boolean bit : A02readstart) { |
| | | // 取反当前位的值并添加到新的列表中 |
| | | a02startval.add(!bit); |
| | | } |
| | | // 写入新的位值列表 |
| | | S7control.getinstance().WriteBit(A02start, a02startval); |
| | | } |
| | | |
| | | |
| | | |
| | | System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2); |
| | |
| | | } |
| | | if (!sValue2.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses3, sValue2); |
| | | if (B01readstart != null && !B01readstart.isEmpty()) { |
| | | // 创建一个新的列表用于写入新值 |
| | | List<Boolean> b01startval = new ArrayList<>(); |
| | | // 遍历所有读取到的位值 |
| | | for (Boolean bit : B01readstart) { |
| | | // 取反当前位的值并添加到新的列表中 |
| | | b01startval.add(!bit); |
| | | } |
| | | // 写入新的位值列表 |
| | | S7control.getinstance().WriteBit(B01start, b01startval); |
| | | } |
| | | |
| | | System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses3); |
| | | } |
| | | } |
| | |
| | | } |
| | | if (!sValue2.isEmpty()) { |
| | | S7control.getinstance().WriteWord(waddresses4, sValue2); |
| | | if (B02readstart != null && !B02readstart.isEmpty()) { |
| | | // 创建一个新的列表用于写入新值 |
| | | List<Boolean> b02startval = new ArrayList<>(); |
| | | // 遍历所有读取到的位值 |
| | | for (Boolean bit : B02readstart) { |
| | | // 取反当前位的值并添加到新的列表中 |
| | | b02startval.add(!bit); |
| | | } |
| | | // 写入新的位值列表 |
| | | S7control.getinstance().WriteBit(B02start, b02startval); |
| | | System.out.println("Values " + b02startval + " written to PLC at address " + B02start); |
| | | } |
| | | |
| | | System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses4); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | customS7Control.writeBitToPLC( messageArray, A01start,7); |
| | | customS7Control.writeBitToPLC( messageArray, A02start,8); |
| | | customS7Control.writeBitToPLC( messageArray,B01start,9); |
| | | customS7Control.writeBitToPLC( messageArray, B02start,10); |
| | | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | |
| | | config = new Configuration("config.properties");
|
| | | }
|
| | |
|
| | |
|
| | | MessageHandler customS7Control = new MessageHandler();
|
| | | public static class PLCBooleanConverter {
|
| | |
|
| | | public static short[] convertListsToBinaryShortArray(List<Boolean>... lists) {
|
| | |
| | | }
|
| | | if (!sValue.isEmpty()) {
|
| | | S7control.getinstance().WriteWord(waddresses1, sValue);
|
| | | if (A01readstart != null && !A01readstart.isEmpty()) {
|
| | | // 创建一个新的列表用于写入新值
|
| | | List<Boolean> a01startval = new ArrayList<>();
|
| | | // 遍历所有读取到的位值
|
| | | for (Boolean bit : A01readstart) {
|
| | | // 取反当前位的值并添加到新的列表中
|
| | | a01startval.add(!bit);
|
| | | }
|
| | | // 写入新的位值列表
|
| | | S7control.getinstance().WriteBit(A01start, a01startval);
|
| | | }
|
| | |
|
| | | System.out.println("Values " + sValue + " written to PLC at address " + waddresses1);
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | if (!sValue2.isEmpty()) {
|
| | | S7control.getinstance().WriteWord(waddresses2, sValue2);
|
| | | if (A02readstart != null && !A02readstart.isEmpty()) {
|
| | | // 创建一个新的列表用于写入新值
|
| | | List<Boolean> a02startval = new ArrayList<>();
|
| | | // 遍历所有读取到的位值
|
| | | for (Boolean bit : A02readstart) {
|
| | | // 取反当前位的值并添加到新的列表中
|
| | | a02startval.add(!bit);
|
| | | }
|
| | | // 写入新的位值列表
|
| | | S7control.getinstance().WriteBit(A02start, a02startval);
|
| | | }
|
| | |
|
| | | System.out.println("Values " + sValue2 + " written to PLC at address " + waddresses2);
|
| | | }
|
| | | }
|
| | |
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | customS7Control.writeBitToPLC( messageArray, A01start,5);
|
| | | customS7Control.writeBitToPLC( messageArray, A02start,6);
|
| | |
|
| | | // 清空消息列表
|
| | | webserver.clearMessages();
|
| | | }
|
| | |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | // 手动状态地址 |
| | | // 手动状态地址 |
| | | List<String> addressList1 = new ArrayList<>(); |
| | | |
| | | addressList1.add("DB103.44");//D01 |
| | |
| | | |
| | | |
| | | |
| | | |
| | | // |
| | | // String[] values6 = { ".x1 ","x2 ","x3",";;x4","x5","x6","x7","x8","x9","x10","x11"}; |
| | | // List<String> paramlist = new ArrayList<>(Arrays.asList(values6)); |
| | | // Short[] values1 = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}; |
| | |
| | | boolean value = data2.get(i); |
| | | params[i] = value ? (short) 1 : (short) 0; |
| | | } |
| | | |
| | | // |
| | | short[] anniuparams = new short[anniuread.size()]; |
| | | for (int i = 0; i < anniuread.size(); i++) { |
| | | boolean value = anniuread.get(i); |
| | |
| | | jsonObject.append("params", data); |
| | | jsonObject.append("params", data3); |
| | | jsonObject.append("params", data4); |
| | | jsonObject.append("jiting", anniuparams); |
| | | jsonObject.append("jiting", anniuparams); |
| | | |
| | | |
| | | // WebSocketServer sendwServer = WebSocketServer.getWebSocketServer("Parameter2"); |
| | | // if (sendwServer != null) { |
| | | // JSONObject jsonObject = new JSONObject(); |
| | | // jsonObject.set("message", "Hello, Parameter2!"); |
| | | // sendwServer.sendMessage(jsonObject.toString()); |
| | | // } |
| | | |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | for (WebSocketServer webserver : sendwServer) { |
| | | |
| | | webserver.sendMessage(jsonObject.toString()); |
| | | |
| | | |
| | | if (webserver != null) { |
| | | |
| | | |
| | | List<String> messages = webserver.getMessages(); |
| | | List<String> addressList = new ArrayList<>(); |
| | | List<String> messages = webserver.getMessages(); |
| | | List<String> addressList = new ArrayList<>(); |
| | | |
| | | addressList.add("DB101.9.2"); |
| | | addressList.add("DB101.9.3"); |
| | | addressList.add("DB101.9.4"); |
| | | addressList.add("DB101.9.5"); |
| | | addressList.add("DB101.9.6"); |
| | | addressList.add("DB101.9.7"); |
| | | addressList.add("DB101.10.0"); |
| | | addressList.add("DB101.10.1"); |
| | | addressList.add("DB101.10.2"); |
| | | addressList.add("DB101.10.3"); |
| | | addressList.add("DB101.9.2"); |
| | | addressList.add("DB101.9.3"); |
| | | addressList.add("DB101.9.4"); |
| | | addressList.add("DB101.9.5"); |
| | | addressList.add("DB101.9.6"); |
| | | addressList.add("DB101.9.7"); |
| | | addressList.add("DB101.10.0"); |
| | | addressList.add("DB101.10.1"); |
| | | addressList.add("DB101.10.2"); |
| | | addressList.add("DB101.10.3"); |
| | | |
| | | |
| | | |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为整数类型的列表 |
| | | String lastMessage = messages.get(messages.size() - 1); |
| | | if (!messages.isEmpty()) { |
| | | // 将最后一个消息转换为整数类型的列表 |
| | | String lastMessage = messages.get(messages.size() - 1); |
| | | // System.out.println("lastMessage:" + lastMessage); |
| | | JSONArray messageArray = new JSONArray(lastMessage); |
| | | JSONArray messageArray = new JSONArray(lastMessage); |
| | | |
| | | if (messageArray.getJSONArray(0).size() > 0) { |
| | | JSONArray jsonArray3 = messageArray.getJSONArray(0); |
| | | List<Boolean> sValue3 = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray3.size(); i++) { |
| | | Object value = jsonArray3.get(i); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | boolean val = "1".equals(cleanedValue.trim()); |
| | | sValue3.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 (!sValue3.isEmpty()) { |
| | | S7control.getinstance().WriteBit(addressList, sValue3); |
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3); |
| | | } |
| | | } |
| | | // 将布尔列表写入 PLC |
| | | if (messageArray.getJSONArray(1).size() > 0) { |
| | | JSONArray jsonArray3 = messageArray.getJSONArray(1); |
| | | List<Boolean> sValue3 = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray3.size(); i++) { |
| | | Object value = jsonArray3.get(i); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | boolean val = "1".equals(cleanedValue.trim()); |
| | | sValue3.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 (!sValue3.isEmpty()) { |
| | | S7control.getinstance().WriteBit(niuanaddressList3, sValue3); |
| | | if (messageArray.getJSONArray(0).size() > 0) { |
| | | JSONArray jsonArray3 = messageArray.getJSONArray(0); |
| | | List<Boolean> sValue3 = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray3.size(); i++) { |
| | | Object value = jsonArray3.get(i); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | boolean val = "1".equals(cleanedValue.trim()); |
| | | sValue3.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 (!sValue3.isEmpty()) { |
| | | S7control.getinstance().WriteBit(addressList, sValue3); |
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + addressList); |
| | | } |
| | | } |
| | | // 将布尔列表写入 PLC |
| | | if (messageArray.getJSONArray(1).size() > 0) { |
| | | JSONArray jsonArray3 = messageArray.getJSONArray(1); |
| | | List<Boolean> sValue3 = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray3.size(); i++) { |
| | | Object value = jsonArray3.get(i); |
| | | if (value != null && !value.toString().equals("null")) { |
| | | try { |
| | | String cleanedValue = value.toString().replaceAll("[^0-9-]", ""); |
| | | boolean val = "1".equals(cleanedValue.trim()); |
| | | sValue3.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 (!sValue3.isEmpty()) { |
| | | S7control.getinstance().WriteBit(niuanaddressList3, sValue3); |
| | | |
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3); |
| | | } |
| | | } |
| | | System.out.println("Values " + sValue3 + " written to PLC at address " + sValue3); |
| | | } |
| | | } |
| | | |
| | | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | |
|
| | | // System.out.println(stt);
|
| | | //存片格 出片格读取
|
| | | List<Short> arraylist = S7control.getinstance().ReadWord("DB100.42", 23);
|
| | | List<Short> arraylist = S7control.getinstance().ReadWord("DB100.42", 33);
|
| | | // System.out.println(arraylist);
|
| | | // Short[] 存片 = { 1 };
|
| | | // List<Short> 存片1 = new ArrayList<>(Arrays.asList(存片));
|
| | |
| | |
|
| | | // 整合第 1 到 3 个数组并去掉 null 元素
|
| | | List<Short> mergedList = new ArrayList<>();
|
| | | for (int i = 0; i < 5; i++) {
|
| | | for (int i = 0; i < 7; i++) {
|
| | | JSONArray sublist = messageArray.getJSONArray(i);
|
| | | for (int j = 0; j < sublist.size(); j++) {
|
| | | Object value = sublist.get(j);
|
| | |
| | | List<Boolean> resumeTasks = S7control.getinstance().readBits(abortresumeTasks); |
| | | |
| | | short[] combinedBinaryShortArray = PLCBooleanConverter.convertListsToBinaryShortArray( |
| | | A01readstart, A01readBstart, A02readstart, A02readsBtart |
| | | A01readBstart, A01readstart, A02readsBtart,A02readstart |
| | | ); |
| | | |
| | | // System.out.println(A01readBstart); |
| | | |
| | | // 所有故障按钮转换为1和0 |
| | | short[] params2 = new short[arraylist7.size()]; |
| | |
| | | |
| | | // 写入AO1组合 |
| | | customS7Control.WriteWordToPLC(messageArray, addresses,0); |
| | | if (A01readstart != null && !A01readstart.isEmpty()) { |
| | | // 创建一个新的列表用于写入新值 |
| | | List<Boolean> a01startval = new ArrayList<>(); |
| | | // 遍历所有读取到的位值 |
| | | for (Boolean bit : A01readstart) { |
| | | // 取反当前位的值并添加到新的列表中 |
| | | a01startval.add(!bit); |
| | | } |
| | | // 写入新的位值列表 |
| | | S7control.getinstance().WriteBit(A01start, a01startval); |
| | | } |
| | | |
| | | //A01半自动启动 |
| | | customS7Control.writeBitToPLC( messageArray, A01start,8); |
| | | |
| | | |
| | | // 写入AO2组合 |
| | | customS7Control.WriteWordToPLC(messageArray, addresses2,1); |
| | | //A02半自动启动 |
| | | |
| | | if (A02readstart != null && !A02readstart.isEmpty()) { |
| | | // 创建一个新的列表用于写入新值 |
| | | List<Boolean> a02startval = new ArrayList<>(); |
| | | // 遍历所有读取到的位值 |
| | | for (Boolean bit : A02readstart) { |
| | | // 取反当前位的值并添加到新的列表中 |
| | | a02startval.add(!bit); |
| | | } |
| | | // 写入新的位值列表 |
| | | S7control.getinstance().WriteBit(A02start, a02startval); |
| | | } |
| | | customS7Control.writeBitToPLC( messageArray, A02start,9); |
| | | |
| | | |
| | | |
| | | // 复位按钮写入 |
| | |
| | | package com.example.springboot.component; |
| | | |
| | | import cn.hutool.json.JSONObject; |
| | | |
| | | import java.sql.SQLException; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | while (this != null) { |
| | | try { |
| | | Thread.sleep(1000); |
| | | |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } |
| | |
| | | // 查询报警信息 |
| | | 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(); |
| | | int state = spianMapper.Selectqueuestate(); |
| | |
| | | } |
| | | // 获取出片队列信息 |
| | | List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue(); |
| | | // List<Out_slice> listoutslice = homeMapper.SelectProductionqueue(); |
| | | // for (Out_slice out_slice : listoutslice) { |
| | | // out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId())); |
| | | // } |
| | | jsonObject.append("listoutslice", listoutslice); |
| | | // 获取当前出片队列状态 |
| | | jsonObject.append("isAllowQueue", Plchome.isAllowQueue); |
| | | |
| | | // // 获取铝框idDB106.DBW64 |
| | | // String frameno=spianService.queGlassid("DB106.24",14).toString(); |
| | | // if(frameno!=Plchome.FrameNo){ |
| | | // 获取铝框idDB106.DBW64 |
| | | // String frameno=spianService.queGlassid("DB103.270",14).toString(); |
| | | // if(frameno!=Plchome.FrameNo&&frameno!=""){ |
| | | // Plchome.FrameNo=frameno; |
| | | // } |
| | | // try { |
| | |
| | | // 是否需要人工确认上片玻璃 |
| | | jsonObject.append("isConfirm", isConfirm); |
| | | |
| | | //获取进片请求状态 |
| | | List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1); |
| | | boolean D01RequestState = D01Request.contains((short) 1); |
| | | // boolean D01RequestState =true; |
| | | jsonObject.append("D01RequestState", D01RequestState); |
| | | |
| | | //复位倒计时 |
| | | // 地址104.9.6 |
| | | List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1); |
| | | for (Boolean countdowns : countdown) { |
| | | jsonObject.append("countdown", countdowns); |
| | | } |
| | | // jsonObject.append("countdown", true); |
| | | // 铝框线交互 |
| | | |
| | | // //铝框id请求字 |
| | |
| | | return null; |
| | | return s7PLC.readBoolean(addresslist); |
| | | } |
| | | |
| | | //读取不连续地址bit |
| | | public List<Boolean> readBits(List<String> addressList) { |
| | | if (s7PLC == null || addressList.isEmpty()) { |
| | | return null; |
| | |
| | | return values; |
| | | } |
| | | |
| | | |
| | | //读取String |
| | | public List<String> readStrings(List<String> addressList) { |
| | | if (s7PLC == null) { |
| | | return null; |
| | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | //不连续地址写入Word |
| | | public void WriteWord(List<String> address, List<Short> datas) { |
| | | if (s7PLC == null) |
| | | return; |
| | |
| | | |
| | | |
| | | |
| | | |
| | | //字符串写入 |
| | | public void outmesid(String data, String addr) { |
| | | // System.out.println("outmesid: " + data); |
| | | List<Byte> glassidlist = new ArrayList<>(); |
| | |
| | | |
| | | return data; |
| | | } |
| | | |
| | | //读取时间 |
| | | public Long readtime(String address) { |
| | | if (s7PLC==null) |
| | | return null; |
| | |
| | | |
| | | public class AppRunnerConfig implements ApplicationRunner { |
| | | |
| | | @Override |
| | | public void run(ApplicationArguments args) throws Exception { |
| | | // TODO Auto-generated method stub |
| | | // |
| | | System.out.println("启动完成"); |
| | | @Override |
| | | public void run(ApplicationArguments args) throws Exception { |
| | | // TODO Auto-generated method stub |
| | | // |
| | | System.out.println("启动完成"); |
| | | |
| | | //new PlcHold().start(); |
| | | // |
| | | // |
| | | new Plchome().start(); |
| | | //// // |
| | | // new PlcParameter().start(); |
| | | // // |
| | | // new Plcalarm().start(); |
| | | // // |
| | | // new Plcsign().start(); |
| | | // // |
| | | // new Plcaction().start(); |
| | | // new Plcstate().start(); |
| | | // new PlcPositioning1().start(); |
| | | // new PlcPositioning2().start(); |
| | | // new PlcParameter2().start(); |
| | | // new PlcParameter1().start(); |
| | | // new PLCAutomaticParameterSetting().start(); |
| | | // |
| | | // new PlcManualonePosition().start(); |
| | | // new PlcManualonePosition2().start(); |
| | | // new PlcServoManualone().start(); |
| | | // new PLCManualJog().start(); |
| | | } |
| | | new PlcHold().start(); |
| | | |
| | | new Plchome().start(); |
| | | |
| | | // new Plcalarm().start(); |
| | | |
| | | // new Plcsign().start(); |
| | | |
| | | // new Plcaction().start(); |
| | | // new Plcstate().start(); |
| | | // new PlcPositioning1().start(); |
| | | |
| | | // new PlcParameter2().start(); |
| | | |
| | | // new PLCAutomaticParameterSetting().start(); |
| | | |
| | | // new PlcManualonePosition().start(); |
| | | // new PlcManualonePosition2().start(); |
| | | // new PlcServoManualone().start(); |
| | | // new PLCManualJog().start(); |
| | | } |
| | | } |
| | |
| | | StorageCage glass = homeMapper.SelectGlassInfo(glassid); |
| | | if (types == 0) { |
| | | homeMapper.UpdateCageTask1(glassid); |
| | | S7control.getinstance().WriteWord("DB105.14", (short) 0); |
| | | // S7control.getinstance().WriteWord("DB105.16", (short) 0); |
| | | } else { |
| | | spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell()); |
| | | homeMapper.UpdateCageTask2(glassid); |
| | | S7control.getinstance().WriteWord("DB105.12", (short) 0); |
| | | // S7control.getinstance().WriteWord("DB105.18", (short) 0); |
| | | } |
| | | map.put("message3", "200"); |
| | | return Result.success(map); |
| | |
| | | @Mapper |
| | | @Repository |
| | | public interface RolePermissionMapper extends BaseMapper<RolePermission> { |
| | | |
| | | List<RolePermission> selectByNameLike(@Param("name") String name); |
| | | @Select("SELECT rp.state,rp.permission_id,rp.role_id, p.* FROM role_permission AS rp JOIN permission AS p ON rp.permission_id = p.id WHERE rp.role_id = #{roleId}") |
| | | List<Map<String, Object>> selectquanxian(@Param("roleId") int roleId); |
| | | |
| | |
| | | package com.example.springboot.mapper; |
| | | import org.apache.ibatis.annotations.*; |
| | | |
| | | import org.apache.ibatis.annotations.*; |
| | | |
| | | import com.example.springboot.entity.Glass; |
| | | import com.example.springboot.entity.StorageCage; |
| | |
| | | @Mapper |
| | | |
| | | public interface SpianMapper { |
| | | //判断相邻笼子是否有空格 |
| | | // 判断相邻笼子是否有空格 |
| | | @Select("select COUNT(if(a.state1=0,cell,null))as cell,ROUND(id/2)as id from (select *,max(state)as state1 from storage_cage a GROUP BY cage,cell)as a where (a.cage=#{cage1}-1 or a.cage=#{cage1}+1)and if(a.cage<6,a.cage>0 and a.cage<6,a.cage>5) and disabled=0 GROUP BY cage ORDER BY cell desc LIMIT 1") |
| | | int selectCage(int cage1); |
| | | |
| | | //@Select("(select*from storage_cage as a where a.state=0 and cage%2=0 ORDER BY id LIMIT 1)union (select a.* from storage_cage a inner join (select cage,if(shu2=1,shu3,shu5) as gezi from ( select cage, count(case when state1=1 and state2=0 then cell else null end)as shu1, count(case when state1=0 then cell else null end) as shu2, min(case when state1=1 and state2=0 then cell else null end) as shu3, min(case when state1=0 then cell else null end) as shu4, min(case when state1=0 or state2=0 then cell else null end) as shu5 from (select *,max(state) as state1,min(state) as state2 from storage_cage group by cage,cell) as a where cage%2!=0 GROUP BY cage HAVING shu2>1 or (shu2=1 and shu1>0) ) as sss limit 1)as b on a.cage=b.cage and a.cell=b.gezi and a.state=0 order by tier limit 1) ORDER BY id LIMIT 1;") |
| | | //获取订单号排序的空订单笼子 |
| | | @Select("select a.cage,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled from storage_cage a left join (select COUNT(*)shu,cage from storage_cage where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY shu desc,shu2,cage asc; ") |
| | | List<StorageCage> selectAll(String orderids); |
| | | //获取判断该格子是否需要把外片推入内片位置 |
| | | @Select("select state from storage_cage where cage=#{cage} and cell=#{cell} and tier=1;") |
| | | int selectcell(int cage,int cell); |
| | | //判断该笼子是否有合适宽度空格 |
| | | @Select("select cage,cell,tier,id,ROUND(id/2)as prcId,width from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and disabled=0 and width>=#{width} ORDER BY cell asc,tier asc LIMIT 1") |
| | | StorageCage selectCage1(int cage1,int cell,double width); |
| | | //判断笼子内玻璃数 |
| | | @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state!=0;") |
| | | int selectsum(int cage,int cell); |
| | | //完成进片中的玻璃状态 |
| | | @Update("update storage_cage set state=#{state} where glass_id=#{glassid};") |
| | | void UpdateCageOver(String glassid,int state); |
| | | int selectCage(int cage1); |
| | | |
| | | |
| | | //获取玻璃信息 |
| | | @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight from north_glass_buffer1 where barcode=#{glassid}") |
| | | north_glass_buffer1 selectGlass(String glassid); |
| | | |
| | | //出片任务查询 |
| | | // @Select("(select*from storage_cage as a where a.state=0 and cage%2=0 ORDER BY |
| | | // id LIMIT 1)union (select a.* from storage_cage a inner join (select |
| | | // cage,if(shu2=1,shu3,shu5) as gezi from ( select cage, count(case when |
| | | // state1=1 and state2=0 then cell else null end)as shu1, count(case when |
| | | // state1=0 then cell else null end) as shu2, min(case when state1=1 and |
| | | // state2=0 then cell else null end) as shu3, min(case when state1=0 then cell |
| | | // else null end) as shu4, min(case when state1=0 or state2=0 then cell else |
| | | // null end) as shu5 from (select *,max(state) as state1,min(state) as state2 |
| | | // from storage_cage group by cage,cell) as a where cage%2!=0 GROUP BY cage |
| | | // HAVING shu2>1 or (shu2=1 and shu1>0) ) as sss limit 1)as b on a.cage=b.cage |
| | | // and a.cell=b.gezi and a.state=0 order by tier limit 1) ORDER BY id LIMIT 1;") |
| | | // 获取订单号排序的空订单笼子 |
| | | @Select("select a.cage,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled from storage_cage a left join (select COUNT(*)shu,cage from storage_cage where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY shu desc,shu2,cage asc; ") |
| | | List<StorageCage> selectAll(String orderids); |
| | | |
| | | // 获取判断该格子是否需要把外片推入内片位置 |
| | | @Select("select state from storage_cage where cage=#{cage} and cell=#{cell} and tier=1;") |
| | | int selectcell(int cage, int cell); |
| | | |
| | | // 判断该笼子是否有合适宽度空格 |
| | | @Select("select cage,cell,tier,id,ROUND(id/2)as prcId,width from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and disabled=0 and width>=#{width} ORDER BY cell asc,tier asc LIMIT 1") |
| | | StorageCage selectCage1(int cage1, int cell, double width); |
| | | |
| | | // 判断笼子内玻璃数 |
| | | @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state!=0;") |
| | | int selectsum(int cage, int cell); |
| | | |
| | | // 完成进片中的玻璃状态 |
| | | @Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=3;") |
| | | void UpdateCageOver(String glassid, int state); |
| | | |
| | | @Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=2;") |
| | | void UpdateCageadd(String glassid, int state); |
| | | |
| | | // 获取玻璃信息 |
| | | @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight from north_glass_buffer1 where barcode=#{glassid}") |
| | | north_glass_buffer1 selectGlass(String glassid); |
| | | |
| | | // 出片任务查询 |
| | | @Select("select COUNT(order_id)order_id,cage,cell,glasswidth,tier,ROUND(id/2)as prcId,glass_id from storage_cage a where a.order_id=#{orderId} and disabled=0 and state=1 GROUP BY cage,cell ORDER BY cage desc,order_id desc,cell desc,glasswidth desc limit 1") |
| | | StorageCage selectOut(String orderId); |
| | | // @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id,glass_id from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage desc,tier desc,cell desc LIMIT 1") |
| | | // StorageCage selectOut(String orderId); |
| | | //按玻璃ID出片任务查询 |
| | | StorageCage selectOut(String orderId); |
| | | |
| | | // @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id,glass_id |
| | | // from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage |
| | | // desc,tier desc,cell desc LIMIT 1") |
| | | // StorageCage selectOut(String orderId); |
| | | // 按玻璃ID出片任务查询 |
| | | @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id from storage_cage as a where a.glass_id=#{glassid} and state=1 and disabled=0 order by cage desc,tier desc,cell desc LIMIT 1") |
| | | StorageCage selectOut2(String glassid); |
| | | StorageCage selectOut2(String glassid); |
| | | |
| | | //判断出片为1时,是否可直接出片 |
| | | @Select("select COUNT(state) from storage_cage where cage=#{cage} and cell=#{cell} and state=1") |
| | | int selectGlassState(int cage,int cell); |
| | | // 判断出片为1时,是否可直接出片 |
| | | @Select("select COUNT(state) from storage_cage where cage=#{cage} and cell=#{cell} and state!=0") |
| | | int selectGlassState(int cage, int cell); |
| | | |
| | | //判断该调拨的笼子 |
| | | @Select("select glass_id,cage,cell,max(state)as shu,ROUND(id/2)as prcid,id from storage_cage where width>=#{width} and cage>#{cage1} and cage<#{cage2} GROUP BY cage,cell HAVING shu=0 order by abs(#{cage} - cage),cell desc limit 1;") |
| | | StorageCage selectGlassCage(int cage,double width,int cage1,int cage2); |
| | | // 判断该调拨的笼子 |
| | | @Select("select glass_id,cage,cell,max(state)as shu,ROUND(id/2)as prcid,id from storage_cage where width>=#{width} and cage>#{cage1} and cage<#{cage2} GROUP BY cage,cell HAVING shu=0 order by abs(#{cage} - cage),cell desc limit 1;") |
| | | StorageCage selectGlassCage(int cage, double width, int cage1, int cage2); |
| | | |
| | | //删除笼子信息(出片) |
| | | // 删除笼子信息(出片) |
| | | @Update("update storage_cage as a set state=#{state},glass_id=null,order_id=null,glasswidth=0,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glass_id=#{glassid} and state=3;") |
| | | void UpdataGlassCage(String glassid,int state); |
| | | //改变玻璃状态为出片中 |
| | | @Update("update storage_cage as a set state=#{state} where glass_id=#{glassid};") |
| | | void UpdataGlassCageState(String glassid,int state); |
| | | void UpdataGlassCage(String glassid, int state); |
| | | |
| | | //修改笼子信息(进片) |
| | | // 改变玻璃状态为出片中 |
| | | @Update("update storage_cage as a set state=#{state} where glass_id=#{glassid};") |
| | | void UpdataGlassCageState(String glassid, int state); |
| | | |
| | | // 修改笼子信息(进片) |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};") |
| | | void UpdataAddCage(String orderid,String glassid,double width,int cage,int cell,int id,int state); |
| | | void UpdataAddCage(String orderid, String glassid, double width, int cage, int cell, int id, int state); |
| | | |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{glass.ordernumber},glasswidth=#{glass.glasslengthmm},glassheight=#{glass.glassheightmm},glasswidthmm=#{glass.glasslength},glassheightmm=#{glass.glassheight},listid=#{glass.listnumber},boxid=#{glass.boxnumber} where id=#{id};") |
| | | void UpdataAddCage2(String orderid,String glassid,north_glass_buffer1 glass,int cage,int cell,int id,int state); |
| | | //修改笼子信息(多片进片) |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where cage=#{cage} and cell=#{cell} and tier=#{tier};") |
| | | void UpdataAddqueCage(String orderid,String glassid,double width,int cage,int cell,int tier,int state); |
| | | //修改同笼子格子宽度 |
| | | @Update("update storage_cage set width=width-#{width} where cage=#{cage} and cell=#{cell};") |
| | | void UpdataAddCage1(double width,int cage,int cell); |
| | | //修改同笼子格子宽度 |
| | | void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id, |
| | | int state); |
| | | |
| | | @Update("update storage_cage set state=#{state} where state=#{oldstate};") |
| | | void UpdataAddCageState(int state,int oldstate); |
| | | //修改同笼子格子宽度(出片) |
| | | @Update("update storage_cage set width=width+#{width} where cage=#{cage} and cell=#{cell};") |
| | | void UpdataOutCage1(double width,int cage,int cell); |
| | | //调拨更换笼子信息 |
| | | // 修改笼子信息(多片进片) |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where cage=#{cage} and cell=#{cell} and tier=#{tier};") |
| | | void UpdataAddqueCage(String orderid, String glassid, double width, int cage, int cell, int tier, int state); |
| | | |
| | | // 修改同笼子格子宽度 |
| | | @Update("update storage_cage set width=width-#{width} where cage=#{cage} and cell=#{cell};") |
| | | void UpdataAddCage1(double width, int cage, int cell); |
| | | // 修改同笼子格子宽度 |
| | | |
| | | @Update("update storage_cage set state=#{state} where state=#{oldstate};") |
| | | void UpdataAddCageState(int state, int oldstate); |
| | | |
| | | // 修改同笼子格子宽度(出片) |
| | | @Update("update storage_cage set width=width+#{width} where cage=#{cage} and cell=#{cell};") |
| | | void UpdataOutCage1(double width, int cage, int cell); |
| | | |
| | | // 调拨更换笼子信息 |
| | | @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.id=#{id1}") |
| | | void UpdateDBCage(int id1,int cage,int cell,int tier); |
| | | // @Insert("insert into user(name, date, address, user_no) values (#{name}, #{date}, #{address}, #{userNo})") |
| | | void UpdateDBCage(int id1, int cage, int cell, int tier); |
| | | |
| | | // @Insert("insert into user(name, date, address, user_no) values (#{name}, |
| | | // #{date}, #{address}, #{userNo})") |
| | | // void insert (Spian spian); |
| | | //新增任务表 |
| | | // 新增任务表 |
| | | @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,count) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{count});") |
| | | void Inserttask(int tasktype,int taskstate,int shelfrack,int loadrack,String glassid,int count); |
| | | //修改任务表 |
| | | void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int count); |
| | | |
| | | // 修改任务表 |
| | | @Update("update storage_task set task_state=#{state} where task_type=#{type} and task_state=0;") |
| | | void Updatetask(int state,int type); |
| | | //修改任务表 |
| | | void Updatetask(int state, int type); |
| | | |
| | | // 修改任务表 |
| | | @Update("update storage_task set task_state=1 where task_state=0 and glass_id=#{glassid};") |
| | | void UpdatetaskOut(String glassid); |
| | | //查询按订单出片 |
| | | |
| | | // 查询按订单出片 |
| | | @Select("select order_id state from order_out where state=0") |
| | | String SelectOrderout(); |
| | | //内外片调换 |
| | | String SelectOrderout(); |
| | | |
| | | // 内外片调换 |
| | | @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=1)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.cage=#{cage} and a.cell=#{cell} and a.tier=2") |
| | | void UpdateDBCage1(int cage,int cell); |
| | | //清除内片数据 |
| | | void UpdateDBCage1(int cage, int cell); |
| | | |
| | | // 清除内片数据 |
| | | @Update("update storage_cage a set glass_id='',order_id='',state=0,glasswidth=0,glassheight=0,glasswidthmm=0,glassheightmm=0,listid=null,boxid=null where a.cage=#{cage} and a.cell=#{cell} and a.tier=1;") |
| | | void UpdateDBCage2(int cage,int cell); |
| | | //判断是否有调拨完后出片的任务 |
| | | void UpdateDBCage2(int cage, int cell); |
| | | |
| | | // 判断是否有调拨完后出片的任务 |
| | | @Select("select COUNT(*)as id,glass_id as barcode from storage_task where (task_type=1 or task_type=2) and task_state=0;") |
| | | north_glass_buffer1 SelectDBOut(); |
| | | //根据笼子格子层数获取玻璃id |
| | | @Select("select glass_id from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;") |
| | | String SelectGlassid(int cage,int cell); |
| | | //判断有几块玻璃还在出片中 |
| | | @Select("SELECT COUNT(*) FROM `storage_cage` where state=3;") |
| | | Integer Selectoutstate(); |
| | | //判断队列表是否有该玻璃 |
| | | @Select("select COUNT(*) from queue where glassid=#{glassid} and state=1;") |
| | | int Selectquecount(String glassid); |
| | | //更新进片队列 |
| | | @Update("update queue set glassid=#{glassid},orderid=#{orderid},listid=#{listid},boxid=#{boxid},state=#{state},glasswidthmm=#{glasswidthmm},glassheightmm=#{glassheightmm},glasswidth=#{glasswidth},glassheight=#{glassheight} where type=#{type};") |
| | | void Updatequeue(String glassid,String orderid,String listid,String boxid,int state,String glasswidth,String glassheight,String glasswidthmm,String glassheightmm,int type); |
| | | //完成进片队列任务 |
| | | @Update("update queue set state=#{state} where glassid=#{glassid};") |
| | | void overqueue(String glassid,int state); |
| | | //更换任务队列 |
| | | @Update("update queue set state=#{state} where glassid=#{glassid} and type=#{type};") |
| | | void overqueue2(String glassid,int state,int type); |
| | | //获取任务序列 |
| | | @Select("select glassid,orderid,width,type from queue where state=#{state}") |
| | | StorageCage SelectQueue(int state); |
| | | //获取序列表的玻璃宽 |
| | | @Select("select sum(width)+400 as width,orderid from queue where state=0 limit 1") |
| | | StorageCage SelectQueueWidth(); |
| | | //判断该笼子是否有合适完整空格 |
| | | @Select("select cage,cell,tier,id,ROUND(id/2)as prcId,width,max(state)state1 from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and width>=#{width} HAVING state1=0 ORDER BY cell asc,tier desc LIMIT 1") |
| | | StorageCage selectqueCage1(int cage1,int cell,double width); |
| | | //获取序列表的玻璃 |
| | | @Select("select glassid as barcode,orderid as ordernumber,width as glasslengthmm from queue where state=0 and type=#{type}") |
| | | north_glass_buffer1 SelectQueueGlass(int type); |
| | | //多片出库清除一整个空格 |
| | | @Update("update storage_cage set glass_id='',order_id='',glasswidth=0,width=2750,state=0 where cage=#{cage} and cell=#{cell}") |
| | | void UpdatequeOut(int cage,int cell); |
| | | //判断序列表里的玻璃是否是同一订单 |
| | | @Select("select COUNT(distinct orderid) from queue ") |
| | | int SelectQueOrder(); |
| | | //寻找可以多片出片的玻璃 |
| | | @Select("select cage,cell,ROUND(id/2)as prcId,width,count(glass_id)shu from storage_cage where order_id=#{orderid} and (cage!=#{cage} or cell!=#{cell}) GROUP BY cage,cell HAVING shu=1 ORDER BY cage desc,cell desc limit 1") |
| | | StorageCage SelectQueout(String orderid,int cage,int cell); |
| | | //获取进片队列id |
| | | @Select("select glassid from queue where type=1") |
| | | String Selectqueueid(); |
| | | //获取进片队列是否有待入库 |
| | | @Select("select state from queue where type=1") |
| | | int Selectqueuestate(); |
| | | //判断铝框出片表是否有玻璃需要出 |
| | | @Select("SELECT glassid FROM `out_slice` where state=0 order by sequence,id limit 1;") |
| | | String SelectOutSlice(); |
| | | //判断铝框出片表是否有玻璃正在出片中 |
| | | @Select("SELECT count(*) FROM `out_slice` where state=1;") |
| | | int SelectOutSliceshu(); |
| | | //更新出片队列的任务状态 |
| | | @Update("update out_slice set state=#{state} where glassid=#{glassid}") |
| | | void OverOutSlice(String glassid,int state); |
| | | //获取玻璃的铝框id |
| | | @Select("select barcode from out_slice where glassid=#{glassid};") |
| | | String SelectBarcode(String glassId); |
| | | //获取出片队列的铝框是否全部完成 |
| | | @Select("select MIN(state) from out_slice where barcode=#{barcode};") |
| | | int SelectOverState(String barcode); |
| | | //删除出片队列该铝框的id |
| | | @Delete("delete from out_slice where barcode=#{barcode};") |
| | | void DeleteQueue(String barcode); |
| | | //把该进片的玻璃更新到出片队列 |
| | | @Select("update out_slice set state=0 where glassId=#{glassId} and state=3") |
| | | void UpdateAddQueue(String glassId); |
| | | } |
| | | |
| | | |
| | | // 根据笼子格子层数获取玻璃id |
| | | @Select("select glass_id from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;") |
| | | String SelectGlassid(int cage, int cell); |
| | | |
| | | // 判断有几块玻璃还在出片中 |
| | | @Select("SELECT COUNT(*) FROM `storage_cage` where state=3;") |
| | | Integer Selectoutstate(); |
| | | |
| | | // 判断队列表是否有该玻璃 |
| | | @Select("select COUNT(*) from queue where glassid=#{glassid} and state=1;") |
| | | int Selectquecount(String glassid); |
| | | |
| | | // 更新进片队列 |
| | | @Update("update queue set glassid=#{glassid},orderid=#{orderid},listid=#{listid},boxid=#{boxid},state=#{state},glasswidthmm=#{glasswidthmm},glassheightmm=#{glassheightmm},glasswidth=#{glasswidth},glassheight=#{glassheight} where type=#{type};") |
| | | void Updatequeue(String glassid, String orderid, String listid, String boxid, int state, String glasswidth, |
| | | String glassheight, String glasswidthmm, String glassheightmm, int type); |
| | | |
| | | // 完成进片队列任务 |
| | | @Update("update queue set state=#{state} where glassid=#{glassid};") |
| | | void overqueue(String glassid, int state); |
| | | |
| | | // 更换任务队列 |
| | | @Update("update queue set state=#{state} where glassid=#{glassid} and type=#{type};") |
| | | void overqueue2(String glassid, int state, int type); |
| | | |
| | | // 获取任务序列 |
| | | @Select("select glassid,orderid,width,type from queue where state=#{state}") |
| | | StorageCage SelectQueue(int state); |
| | | |
| | | // 获取序列表的玻璃宽 |
| | | @Select("select sum(width)+400 as width,orderid from queue where state=0 limit 1") |
| | | StorageCage SelectQueueWidth(); |
| | | |
| | | // 判断该笼子是否有合适完整空格 |
| | | @Select("select cage,cell,tier,id,ROUND(id/2)as prcId,width,max(state)state1 from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and width>=#{width} HAVING state1=0 ORDER BY cell asc,tier desc LIMIT 1") |
| | | StorageCage selectqueCage1(int cage1, int cell, double width); |
| | | |
| | | // 获取序列表的玻璃 |
| | | @Select("select glassid as barcode,orderid as ordernumber,width as glasslengthmm from queue where state=0 and type=#{type}") |
| | | north_glass_buffer1 SelectQueueGlass(int type); |
| | | |
| | | // 多片出库清除一整个空格 |
| | | @Update("update storage_cage set glass_id='',order_id='',glasswidth=0,width=2750,state=0 where cage=#{cage} and cell=#{cell}") |
| | | void UpdatequeOut(int cage, int cell); |
| | | |
| | | // 判断序列表里的玻璃是否是同一订单 |
| | | @Select("select COUNT(distinct orderid) from queue ") |
| | | int SelectQueOrder(); |
| | | |
| | | // 寻找可以多片出片的玻璃 |
| | | @Select("select cage,cell,ROUND(id/2)as prcId,width,count(glass_id)shu from storage_cage where order_id=#{orderid} and (cage!=#{cage} or cell!=#{cell}) GROUP BY cage,cell HAVING shu=1 ORDER BY cage desc,cell desc limit 1") |
| | | StorageCage SelectQueout(String orderid, int cage, int cell); |
| | | |
| | | // 获取进片队列id |
| | | @Select("select glassid from queue where type=1") |
| | | String Selectqueueid(); |
| | | |
| | | // 获取进片队列是否有待入库 |
| | | @Select("select state from queue where type=1") |
| | | int Selectqueuestate(); |
| | | |
| | | // 判断铝框出片表是否有玻璃需要出 |
| | | @Select("SELECT glassid FROM `out_slice` where state=0 order by sequence,id limit 1;") |
| | | String SelectOutSlice(); |
| | | |
| | | // 判断铝框出片表是否有玻璃正在出片中 |
| | | @Select("SELECT count(*) FROM `out_slice` where state=1;") |
| | | int SelectOutSliceshu(); |
| | | |
| | | // 更新出片队列的任务状态 |
| | | @Update("update out_slice set state=#{state} where glassid=#{glassid}") |
| | | void OverOutSlice(String glassid, int state); |
| | | |
| | | // 获取玻璃的铝框id |
| | | @Select("select barcode from out_slice where glassid=#{glassid};") |
| | | String SelectBarcode(String glassId); |
| | | |
| | | // 获取出片队列的铝框是否全部完成 |
| | | @Select("select MIN(state) from out_slice where barcode=#{barcode};") |
| | | int SelectOverState(String barcode); |
| | | |
| | | // 删除出片队列该铝框的id |
| | | @Delete("delete from out_slice where barcode=#{barcode};") |
| | | void DeleteQueue(String barcode); |
| | | |
| | | // 把该进片的玻璃更新到出片队列 |
| | | @Select("update out_slice set state=0 where glassId=#{glassId} and state=3") |
| | | void UpdateAddQueue(String glassId); |
| | | } |
| | |
| | | package com.example.springboot.service; |
| | | |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | List<String> adddresslist = new ArrayList<>(); |
| | | adddresslist.add("DB105.0");// 进片车起始位置 |
| | | adddresslist.add("DB105.2");// 进片车目标位置 |
| | | adddresslist.add("DB105.4");// 进片玻璃宽 |
| | | adddresslist.add("DB105.8");//进片笼内已有玻璃数 |
| | | adddresslist.add("DB105.4");// 进片玻璃宽 |
| | | adddresslist.add("DB105.8");// 进片笼内已有玻璃数 |
| | | adddresslist.add("DB105.16");// 进片车启动 1为启动 |
| | | |
| | | |
| | | List<Short> datas = new ArrayList<>(); |
| | | |
| | | // String orderid="A001"; |
| | |
| | | } |
| | | // 判断选中笼子是否有合适宽度空格 |
| | | // 有合适空格时进片 |
| | | if (cages1 != null && cages >= 1&&storageCage2.getDisabled()==0) { |
| | | if (cages1 != null && cages >= 1 && storageCage2.getDisabled() == 0) { |
| | | ids = cages1.getId();// 数据库ID |
| | | tiers = cages1.getTier();// 内外片 |
| | | cells = cages1.getCell();// 格子号 |
| | |
| | | widths = glasslist.getglasslengthmm(); |
| | | |
| | | // 执行进片 |
| | | datas.add((short) 1000);//起始位置 |
| | | datas.add((short) prcid);//目标位置 |
| | | datas.add((short) widths);//进片玻璃宽 |
| | | datas.add((short) prctier); //玻璃数 |
| | | datas.add((short) 1);//任务启动 |
| | | //获取该格子内是否有玻璃 |
| | | int cellint=spianMapper.selectcell(cage1,cells); |
| | | if(cellint==1){ |
| | | //将外片玻璃的数据更新到内片 |
| | | spianMapper.UpdateDBCage(ids, cage1, cells,1); |
| | | //将新入的玻璃存入外片 |
| | | //spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids-1, 2); |
| | | spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1,cells, ids-1, 2); |
| | | datas.add((short) 1000);// 起始位置 |
| | | datas.add((short) prcid);// 目标位置 |
| | | datas.add((short) widths);// 进片玻璃宽 |
| | | datas.add((short) prctier); // 玻璃数 |
| | | datas.add((short) 1);// 任务启动 |
| | | // 获取该格子内是否有玻璃 |
| | | int cellint = spianMapper.selectcell(cage1, cells); |
| | | if (cellint == 1) { |
| | | // 将外片玻璃的数据更新到内片 |
| | | spianMapper.UpdateDBCage(ids, cage1, cells, 1); |
| | | // 将新入的玻璃存入外片 |
| | | // spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids-1, 2); |
| | | spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids - 1, 2); |
| | | spianMapper.UpdataAddCage1(widths, cage1, cells);// 减少格子宽度 |
| | | spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(),prctier);// 新增任务 |
| | | spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 新增任务 |
| | | S7control.getinstance().WriteWord(adddresslist, datas); |
| | | System.out.println("汇报时任务|" + datas); |
| | | |
| | | }else{ |
| | | // 数据库修改笼子表新增一条玻璃 |
| | | //spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 2); |
| | | spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1,cells, ids, 2); |
| | | spianMapper.UpdataAddCage1(widths, cage1, cells);// 减少格子宽度 |
| | | spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(),prctier);// 新增任务 |
| | | S7control.getinstance().WriteWord(adddresslist, datas); |
| | | System.out.println("汇报时任务|" + datas); |
| | | System.out.println("出片任务|" + datas); |
| | | |
| | | } else { |
| | | // 数据库修改笼子表新增一条玻璃 |
| | | // spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 2); |
| | | spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids, 2); |
| | | spianMapper.UpdataAddCage1(widths, cage1, cells);// 减少格子宽度 |
| | | spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 新增任务 |
| | | S7control.getinstance().WriteWord(adddresslist, datas); |
| | | System.out.println("出片任务|" + datas); |
| | | |
| | | // S7control.getinstance().WriteByte("DB105.16",glassid); |
| | | // S7control.getinstance().WriteByte("DB105.16",glassid); |
| | | } |
| | | outmesid(glassid,"DB105.20"); |
| | | outmesid(glassid, "DB105.20"); |
| | | return (200); |
| | | |
| | | } |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | public Short selectout2(String glassid) { |
| | | // 定义PRC数据传送数组 |
| | | List<String> adddresslist = new ArrayList<>(); |
| | | char[] a=glassid.toCharArray(); |
| | | char[] a = glassid.toCharArray(); |
| | | |
| | | adddresslist.add("DB105.10");// 出片车起始位置 |
| | | adddresslist.add("DB105.12");// 出片车目标位置 |
| | |
| | | datas.add((short) 1000); |
| | | datas.add((short) state); |
| | | datas.add((short) 1); |
| | | spianMapper.OverOutSlice(glassid, 1);//更新出片队列任务状态为进行中 |
| | | spianMapper.OverOutSlice(glassid, 1);// 更新出片队列任务状态为进行中 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | |
| | | spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid,state);// 新增任务 |
| | | spianMapper.UpdataGlassCageState(glassid, 3);// 更改笼子表的玻璃状态 |
| | | |
| | | spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state);// 新增任务 |
| | | // int state = spianMapper.selectGlassState(cage, cell);//获取格子数量 |
| | | if (state == 2) { |
| | | spianMapper.UpdateDBCage1(cage, cell);// 将内片数据更新到外片里 |
| | | spianMapper.UpdateDBCage2(cage, cell);// 清除内片数据 |
| | | } |
| | | |
| | | System.out.println("出片任务|" + datas); |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | outmesid(glassid,"DB105.34");// 派发出片ID |
| | | outmesid(glassid, "DB105.34");// 派发出片ID |
| | | |
| | | return (200);// 结束 |
| | | } else { |
| | |
| | | datas.add((short) 1000); |
| | | datas.add((short) 1); |
| | | datas.add((short) 1); |
| | | spianMapper.OverOutSlice(glassid, 1);//更新出片队列任务状态为进行中 |
| | | spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid,1);// 新增任务 |
| | | spianMapper.OverOutSlice(glassid, 1);// 更新出片队列任务状态为进行中 |
| | | spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1);// 新增任务 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCageState(glassid,3);//更改笼子表的玻璃状态 |
| | | spianMapper.OverOutSlice(glassid,2);//完成出片队列任务 |
| | | outmesid(glassid,"DB105.34");// 派发出片ID |
| | | spianMapper.UpdataGlassCageState(glassid, 3);// 更改笼子表的玻璃状态 |
| | | spianMapper.OverOutSlice(glassid, 2);// 完成出片队列任务 |
| | | System.out.println("出片任务|" + datas); |
| | | outmesid(glassid, "DB105.34");// 派发出片ID |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | |
| | | return (200);// 结束 |
| | |
| | | datas.add((short) 1); |
| | | // 更换玻璃的笼子 |
| | | String glassids = spianMapper.SelectGlassid(cage, cell); // 获取被调拨的玻璃id |
| | | spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里 |
| | | spianMapper.UpdateDBCage(ids, cage, cell, 2);// 将原格子数据更新到新格子里 |
| | | spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCageState(glassids,3);//更改笼子表的玻璃状态 |
| | | spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassid,2);// 新增调度任务 |
| | | //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务 |
| | | //spianMapper.UpdataGlassCageState(glassids, 3);// 更改笼子表的玻璃状态 |
| | | spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassid, 2);// 新增调度任务 |
| | | // spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务 |
| | | // 传输mes数据,坐标,数据 |
| | | System.out.println("出片任务|" + datas); |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | |
| | | outmesid(glassids,"DB105.34");// 派发调拨玻璃ID |
| | | outmesid(glassids, "DB105.34");// 派发调拨玻璃ID |
| | | return (200); // 结束 |
| | | |
| | | } else {// 笼子号大于5时 |
| | |
| | | datas.add((short) 2); |
| | | datas.add((short) 1); |
| | | String glassids = spianMapper.SelectGlassid(cage, cell); // 获取被调拨的玻璃id |
| | | spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassid,2);// 新增调度任务 |
| | | //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务 |
| | | spianMapper.UpdateDBCage(ids, cage, cell,2);// 将原格子数据更新到新格子里 |
| | | spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassid, 2);// 新增调度任务 |
| | | // spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 新增出片任务 |
| | | spianMapper.UpdateDBCage(ids, cage, cell, 2);// 将原格子数据更新到新格子里 |
| | | spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 减少新格子宽度 |
| | | spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 增加原格子宽度 |
| | | spianMapper.UpdataGlassCageState(glassids,3);//更改笼子表的玻璃状态 |
| | | //spianMapper.UpdataGlassCageState(glassids, 3);// 更改笼子表的玻璃状态 |
| | | // 传输mes数据,坐标,数据 |
| | | System.out.println("出片任务|" + datas); |
| | | S7control.getinstance().WriteWord(adddresslist, datas);// 派发出片车任务 |
| | | |
| | | outmesid(glassids,"DB105.34");// 派发调拨玻璃ID |
| | | outmesid(glassids, "DB105.34");// 派发调拨玻璃ID |
| | | return (200);// 结束 |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | } |
| | | //派发任务玻璃id |
| | | public void outmesid(String glassid,String address) { |
| | | //System.out.println("outmesid:" + glassid); |
| | | |
| | | // 派发任务玻璃id |
| | | public void outmesid(String glassid, String address) { |
| | | // System.out.println("outmesid:" + glassid); |
| | | List<Byte> glassidlist = new ArrayList(); |
| | | char ds[]=glassid.toCharArray(); |
| | | char ds[] = glassid.toCharArray(); |
| | | for (char iditem : ds) { |
| | | glassidlist.add((byte)iditem); |
| | | glassidlist.add((byte) iditem); |
| | | } |
| | | byte[] bytes = Bytes.toArray(glassidlist); |
| | | System.out.println("outmesidbytes:" + bytes.length); |
| | | S7control.getinstance().WriteByte(address, bytes);// 派发出片id |
| | | } |
| | | //获取地址内的玻璃id转字符串 |
| | | public StringBuilder queGlassid(String address,int count) { |
| | | |
| | | // 获取地址内的玻璃id转字符串 |
| | | public StringBuilder queGlassid(String address, int count) { |
| | | StringBuilder writedstrIdOut = new StringBuilder(); |
| | | byte[] writedglassidbytesOut = S7control.getinstance().ReadByte(address, count); |
| | | if (writedglassidbytesOut != null) { |
| | | // 获取玻璃id |
| | | for (byte iditem : writedglassidbytesOut) { |
| | | writedstrIdOut.append((char) iditem); |
| | | if (writedglassidbytesOut != null) { |
| | | // 获取玻璃id |
| | | for (byte iditem : writedglassidbytesOut) { |
| | | writedstrIdOut.append((char) iditem); |
| | | } |
| | | } |
| | | } |
| | | return writedstrIdOut; |
| | | } |
| | | //char数组转化成bit数组 |
| | | public static byte[] toBytes(char[] chars) { |
| | | |
| | | // char数组转化成bit数组 |
| | | public static byte[] toBytes(char[] chars) { |
| | | String s = new String(chars); |
| | | return s.getBytes(StandardCharsets.UTF_8); |
| | | } |
| | | //bit数组转化成char数组 |
| | | |
| | | // bit数组转化成char数组 |
| | | public static char[] toChars(byte[] bytes) { |
| | | String s = new String(bytes, StandardCharsets.UTF_8); |
| | | return s.toCharArray(); |
| | | } |
| | | //判断集合里是否为1 |
| | | public boolean listbool(String address) { |
| | | List<Short> list = S7control.getinstance().ReadWord(address, 1);//返回为ture时为1 |
| | | boolean listbool = list.contains((short) 1); |
| | | |
| | | // 判断集合里是否为1 |
| | | public boolean listbool(String address) { |
| | | List<Short> list = S7control.getinstance().ReadWord(address, 1);// 返回为ture时为1 |
| | | boolean listbool = list.contains((short) 1); |
| | | return listbool; |
| | | } |
| | | //根据玻璃id完成在进行中的任务 |
| | | public void overtask(String glassid){ |
| | | |
| | | // 根据玻璃id完成在进行中的任务 |
| | | public void overtask(String glassid) { |
| | | spianMapper.UpdateCageOver(glassid, 0);// 更改笼子表出片状态 |
| | | spianMapper.UpdatetaskOut(glassid); // 完成上一次出片或者进片任务 |
| | | spianMapper.OverOutSlice(glassid, 2);// 完成出片队列任务 |
| | | spianMapper.UpdataGlassCage(glassid,0);// 清除出片格子玻璃信息 |
| | | String barcode=spianMapper.SelectBarcode(glassid);//获取该玻璃的铝框id |
| | | spianMapper.UpdateAddQueue(glassid);//把进片的玻璃更新到出片队列中 |
| | | int barcodeState=spianMapper.SelectOverState(barcode);//获取该铝框的状态 |
| | | if(barcodeState==2){//当该铝框所有的玻璃都是完成状态时删除在出片队列的数据 |
| | | spianMapper.DeleteQueue(barcode); |
| | | spianMapper.UpdataGlassCage(glassid, 0);// 清除出片格子玻璃信息 |
| | | spianMapper.UpdateCageadd(glassid,1); |
| | | String barcode = spianMapper.SelectBarcode(glassid);// 获取该玻璃的铝框id |
| | | spianMapper.UpdateAddQueue(glassid);// 把进片的玻璃更新到出片队列中 |
| | | if (barcode != null) { |
| | | int barcodeState = spianMapper.SelectOverState(barcode);// 获取该铝框的状态 |
| | | if (barcodeState == 2) {// 当该铝框所有的玻璃都是完成状态时删除在出片队列的数据 |
| | | spianMapper.DeleteQueue(barcode); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | package com.example.springboot.service.impl; |
| | | |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.example.springboot.entity.MenuList; |
| | | import com.example.springboot.service.PermissionService; |
| | | import com.example.springboot.mapper.RolePermissionMapper; |
| | | import com.example.springboot.entity.RolePermission; |
| | | import com.example.springboot.entity.vo.RolePermissionVo; |
| | | |
| | | import com.example.springboot.service.RolePermissionService; |
| | | import com.example.springboot.service.RoleService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | |
| | | private PermissionService permissionService; |
| | | |
| | | @Override |
| | | |
| | | public IPage<RolePermission> selectPage(RolePermissionVo rolePermissionVO) { |
| | | IPage<RolePermission> rolePermissionIPage = lambdaQuery() |
| | | .orderByAsc(RolePermission::getRoleId) |
| | | .like(StrUtil.isNotBlank(rolePermissionVO.getName()), RolePermission::getName, rolePermissionVO.getName()) |
| | | .page(new Page<>(rolePermissionVO.getPageNum(), rolePermissionVO.getPageSize())); |
| | | |
| | | rolePermissionIPage.getRecords().forEach(rolePermission -> { |
| | | rolePermission.setRole(roleService.getById(rolePermission.getRoleId())); |
| | | rolePermission.setPermission(permissionService.getById(rolePermission.getPermissionId())); |
| | | }); |
| | | |
| | | return rolePermissionIPage; |
| | | } |
| | | |
| | | } |
| | |
| | | A02start=DB101.5.1
|
| | | #A01start
|
| | | A01start=DB101.5.0
|
| | | #A02start
|
| | | #A02bstart
|
| | | A02Bstart=DB101.11.1
|
| | | #A01start
|
| | | #A01bstart
|
| | | A01Bstart=DB101.11.0
|
| | | #abort/resumeTasks
|
| | | abortresumeTasks=DB101.10.4
|
| | |
| | |
|
| | |
|
| | |
|
| | | #PLCManualJog-------------------------- |
| | | #PLCManualJog--------------------------
|
| | |
|
| | |
|
| | |
|
| | | #Parameter2--------------------------
|
| | |
|
| | | #id
|
| | | Parameter2.id=DB103.44,DB103.58,DB103.72,DB103.86,DB103.100,DB103.114,DB103.128,DB103.142,DB103.156,DB103.184,DB103.212
|
| | |
|
| | | #清除id
|
| | | Parameter2.state=DB103.0,DB103.2,DB103.12,DB103.14,DB103.16,DB103.18,DB103.8,DB103.10,DB103.4,DB103.6
|
| | |
|
| | |
|
| | |
|
| | | #手动状态
|
| | | Parameter2.cleanid=DB101.9.2,DB101.9.3,DB101.9.4,DB101.9.5,DB101.9.6,DB101.9.7,DB101.10.0,DB101.10.1,DB101.10.2,DB101.10.3
|
| | | #扫码枪
|
| | | Parameter2.scanner=DB103.256,DB103.270
|
| | |
|
| | | #急停
|
| | | Parameter2.stop=DB101.10.4
|
| | |
|
| | | #当前格子
|
| | | Parameter2.Currentcell=DB103.32,DB103.34,DB103.36,DB103.40
|
| | |
|
| | | #PLCManualJog-------------------------------------
|
| | |
|
| | | #List<String> addressList21 = new ArrayList<>();
|
| | | #addressList21.add("DB101.0.0");
|
| | | #addressList21.add("DB101.0.1");
|
| | | #addressList21.add("DB101.0.2");
|
| | | #addressList21.add("DB101.0.3");
|
| | | #addressList21.add("DB101.0.4");
|
| | | #addressList21.add("DB101.0.5");
|
| | | #addressList21.add("DB101.0.6");
|
| | | #addressList21.add("DB101.3.4");
|
| | | #addressList21.add("DB101.1.4");
|
| | | #addressList21.add("DB101.1.2"); //A01 SERVE TURN
|
| | | #addressList21.add("DB101.5.2");
|
| | | #addressList21.add("DB101.0.7");//A02 VFD conveyor
|
| | | #addressList21.add("DB101.3.5");
|
| | | #addressList21.add("DB101.1.5");
|
| | | #addressList21.add("DB101.1.3");
|
| | | #addressList21.add("DB101.5.3");
|
| | | #addressList21.add("DB101.1.0");//B01 VFD conveyor
|
| | | #addressList21.add("DB101.1.6");
|
| | | #addressList21.add("DB101.2.6");
|
| | | #addressList21.add("DB101.2.7");
|
| | | #addressList21.add("DB101.3.2");
|
| | | #
|
| | | #addressList21.add("DB101.1.1");//B02 VFD conveyor
|
| | | #addressList21.add("DB101.1.7");
|
| | | #addressList21.add("DB101.3.0");
|
| | | #addressList21.add("DB101.3.1");
|
| | | #addressList21.add("DB101.3.3");
|
| | | #按钮
|
| | | PLCManualJog.button=DB101.0.0,DB101.0.1,DB101.0.2,DB101.0.3,DB101.0.4,DB101.0.5,DB101.0.6,DB101.3.4,DB101.1.4,DB101.1.2,DB101.5.2,DB101.0.7,DB101.3.5,DB101.1.5,DB101.1.3,DB101.5.3,DB101.1.0,DB101.1.6,DB101.2.6,DB101.2.7,DB101.3.2,DB101.1.1,DB101.1.7,DB101.3.0,DB101.3.1,DB101.3.3
|
| | |
| | | Target Server Version : 80022
|
| | | File Encoding : 65001
|
| | |
|
| | | Date: 07/12/2023 11:39:42
|
| | | Date: 11/12/2023 13:35:48
|
| | | */
|
| | |
|
| | | SET NAMES utf8mb4;
|
| | |
| | | `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 = 1742 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of alarmmg
|
| | |
| | | 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);
|
| | | INSERT INTO `alarmmg` VALUES (1475, 'A01 servo turn error', '2023-12-07 11:21:49', '2023-12-07 13:34:48');
|
| | | INSERT INTO `alarmmg` VALUES (1476, 'A02 servo turn error', '2023-12-07 11:21:49', '2023-12-07 13:34:48');
|
| | | INSERT INTO `alarmmg` VALUES (1477, 'A01 servo travel error', '2023-12-07 11:22:19', '2023-12-07 13:34:48');
|
| | | INSERT INTO `alarmmg` VALUES (1478, 'A02 servo travel error', '2023-12-07 11:22:22', '2023-12-07 13:34:48');
|
| | | INSERT INTO `alarmmg` VALUES (1479, 'D02 VFD error', '2023-12-07 13:45:51', '2023-12-07 13:45:52');
|
| | | INSERT INTO `alarmmg` VALUES (1480, 'A01 servo turn error', '2023-12-07 13:45:55', '2023-12-07 13:46:35');
|
| | | INSERT INTO `alarmmg` VALUES (1481, 'A02 servo turn error', '2023-12-07 13:45:55', '2023-12-07 13:46:35');
|
| | | INSERT INTO `alarmmg` VALUES (1482, 'D03 VFD error', '2023-12-07 13:46:17', '2023-12-07 13:46:37');
|
| | | INSERT INTO `alarmmg` VALUES (1483, 'D04 VFD error', '2023-12-07 13:46:17', '2023-12-07 13:46:37');
|
| | | INSERT INTO `alarmmg` VALUES (1484, 'D05 VFD error', '2023-12-07 13:46:17', '2023-12-07 13:46:37');
|
| | | INSERT INTO `alarmmg` VALUES (1485, 'A01 servo travel error', '2023-12-07 13:46:30', '2023-12-07 13:46:37');
|
| | | INSERT INTO `alarmmg` VALUES (1486, 'A02 servo travel error', '2023-12-07 13:46:30', '2023-12-07 13:46:37');
|
| | | INSERT INTO `alarmmg` VALUES (1487, 'A01 servo turn error', '2023-12-07 13:46:50', '2023-12-07 13:47:37');
|
| | | INSERT INTO `alarmmg` VALUES (1488, 'A02 servo turn error', '2023-12-07 13:46:50', '2023-12-07 13:47:37');
|
| | | INSERT INTO `alarmmg` VALUES (1489, 'A01 servo travel error', '2023-12-07 13:47:16', '2023-12-07 13:47:37');
|
| | | INSERT INTO `alarmmg` VALUES (1490, 'A02 servo travel error', '2023-12-07 13:47:16', '2023-12-07 13:47:37');
|
| | | INSERT INTO `alarmmg` VALUES (1491, 'More glass than known', '2023-12-07 13:56:56', '2023-12-07 13:57:35');
|
| | | INSERT INTO `alarmmg` VALUES (1492, 'less glass than known', '2023-12-07 13:57:36', '2023-12-07 13:57:48');
|
| | | INSERT INTO `alarmmg` VALUES (1493, 'More glass than known', '2023-12-07 13:57:48', '2023-12-07 14:07:27');
|
| | | INSERT INTO `alarmmg` VALUES (1494, 'More glass than known', '2023-12-07 14:09:01', '2023-12-07 14:09:14');
|
| | | INSERT INTO `alarmmg` VALUES (1495, 'less glass than known', '2023-12-07 14:09:15', '2023-12-07 14:19:19');
|
| | | INSERT INTO `alarmmg` VALUES (1496, 'A01 servo travel error', '2023-12-07 14:40:51', '2023-12-07 14:41:14');
|
| | | INSERT INTO `alarmmg` VALUES (1497, 'A01 conveyor right safety alarm', '2023-12-07 14:47:06', '2023-12-07 14:47:09');
|
| | | INSERT INTO `alarmmg` VALUES (1498, 'A01 servo turn error', '2023-12-07 14:49:31', '2023-12-07 14:51:34');
|
| | | INSERT INTO `alarmmg` VALUES (1499, 'A02 servo turn error', '2023-12-07 14:49:31', '2023-12-07 14:51:34');
|
| | | INSERT INTO `alarmmg` VALUES (1500, 'A01 servo travel error', '2023-12-07 14:50:05', '2023-12-07 14:51:34');
|
| | | INSERT INTO `alarmmg` VALUES (1501, 'A02 servo travel error', '2023-12-07 14:50:05', '2023-12-07 14:51:34');
|
| | | INSERT INTO `alarmmg` VALUES (1502, 'A01 conveyor right safety alarm', '2023-12-07 15:11:25', '2023-12-07 15:11:28');
|
| | | INSERT INTO `alarmmg` VALUES (1503, 'A01 servo turn error', '2023-12-07 15:12:17', '2023-12-07 15:12:26');
|
| | | INSERT INTO `alarmmg` VALUES (1504, 'A02 servo turn error', '2023-12-07 15:12:17', '2023-12-07 15:12:26');
|
| | | INSERT INTO `alarmmg` VALUES (1505, 'A02 servo travel error', '2023-12-07 15:12:17', '2023-12-07 15:12:26');
|
| | | INSERT INTO `alarmmg` VALUES (1506, 'A01 servo travel error', '2023-12-07 15:12:20', '2023-12-07 15:12:26');
|
| | | INSERT INTO `alarmmg` VALUES (1507, 'A01 servo turn error', '2023-12-07 15:12:27', '2023-12-07 15:12:29');
|
| | | INSERT INTO `alarmmg` VALUES (1508, 'A01 conveyor right safety alarm', '2023-12-07 15:13:30', '2023-12-07 15:14:59');
|
| | | INSERT INTO `alarmmg` VALUES (1509, 'A01 VFD error', '2023-12-07 15:14:57', '2023-12-07 15:14:58');
|
| | | INSERT INTO `alarmmg` VALUES (1510, 'A01 servo turn error', '2023-12-07 15:15:08', '2023-12-07 15:16:49');
|
| | | INSERT INTO `alarmmg` VALUES (1511, 'A02 servo turn error', '2023-12-07 15:15:08', '2023-12-07 15:16:49');
|
| | | INSERT INTO `alarmmg` VALUES (1512, 'A02 servo travel error', '2023-12-07 15:15:38', '2023-12-07 15:16:49');
|
| | | INSERT INTO `alarmmg` VALUES (1513, 'A01 conveyor right safety alarm', '2023-12-07 15:15:38', '2023-12-07 15:18:11');
|
| | | INSERT INTO `alarmmg` VALUES (1514, 'A01 servo travel error', '2023-12-07 15:15:40', '2023-12-07 15:16:49');
|
| | | INSERT INTO `alarmmg` VALUES (1515, 'A01 servo turn error', '2023-12-07 15:25:11', '2023-12-07 15:25:46');
|
| | | INSERT INTO `alarmmg` VALUES (1516, 'A02 servo turn error', '2023-12-07 15:25:11', '2023-12-07 15:25:46');
|
| | | INSERT INTO `alarmmg` VALUES (1517, 'A01 servo travel error', '2023-12-07 15:25:38', '2023-12-07 15:25:46');
|
| | | INSERT INTO `alarmmg` VALUES (1518, 'A02 servo travel error', '2023-12-07 15:25:38', '2023-12-07 15:25:46');
|
| | | INSERT INTO `alarmmg` VALUES (1519, 'A02 conveyor Left safety alarm', '2023-12-07 15:31:15', '2023-12-07 15:31:18');
|
| | | INSERT INTO `alarmmg` VALUES (1520, 'A01 servo turn error', '2023-12-07 15:31:48', '2023-12-07 15:32:24');
|
| | | INSERT INTO `alarmmg` VALUES (1521, 'A02 servo turn error', '2023-12-07 15:31:48', '2023-12-07 15:32:20');
|
| | | INSERT INTO `alarmmg` VALUES (1522, 'A02 servo travel error', '2023-12-07 15:32:10', '2023-12-07 15:32:13');
|
| | | INSERT INTO `alarmmg` VALUES (1523, 'A01 servo travel error', '2023-12-07 15:32:17', '2023-12-07 15:32:18');
|
| | | INSERT INTO `alarmmg` VALUES (1524, 'A02 conveyor Left safety alarm', '2023-12-07 15:33:06', '2023-12-07 15:33:09');
|
| | | INSERT INTO `alarmmg` VALUES (1525, 'A01 servo turn error', '2023-12-07 15:33:21', '2023-12-07 15:35:32');
|
| | | INSERT INTO `alarmmg` VALUES (1526, 'A02 servo turn error', '2023-12-07 15:33:21', '2023-12-07 15:35:32');
|
| | | INSERT INTO `alarmmg` VALUES (1527, 'A02 servo travel error', '2023-12-07 15:33:47', '2023-12-07 15:35:34');
|
| | | INSERT INTO `alarmmg` VALUES (1528, 'A02 conveyor Left safety alarm', '2023-12-07 15:33:47', '2023-12-07 15:35:34');
|
| | | INSERT INTO `alarmmg` VALUES (1529, 'A01 servo travel error', '2023-12-07 15:33:53', '2023-12-07 15:35:34');
|
| | | INSERT INTO `alarmmg` VALUES (1530, 'A01 servo turn error', '2023-12-07 15:37:15', '2023-12-07 15:38:14');
|
| | | INSERT INTO `alarmmg` VALUES (1531, 'A02 servo turn error', '2023-12-07 15:37:15', '2023-12-07 15:38:14');
|
| | | INSERT INTO `alarmmg` VALUES (1532, 'A01 servo travel error', '2023-12-07 15:37:45', '2023-12-07 15:38:13');
|
| | | INSERT INTO `alarmmg` VALUES (1533, 'A01 conveyor right safety alarm', '2023-12-07 16:01:56', '2023-12-07 16:01:59');
|
| | | INSERT INTO `alarmmg` VALUES (1534, 'D02 VFD error', '2023-12-07 16:01:58', '2023-12-07 16:01:59');
|
| | | INSERT INTO `alarmmg` VALUES (1535, 'A01 VFD error', '2023-12-07 16:01:58', '2023-12-07 16:01:59');
|
| | | INSERT INTO `alarmmg` VALUES (1536, 'A01 servo turn error', '2023-12-07 16:05:46', '2023-12-07 16:06:22');
|
| | | INSERT INTO `alarmmg` VALUES (1537, 'A02 servo turn error', '2023-12-07 16:05:46', '2023-12-07 16:06:22');
|
| | | INSERT INTO `alarmmg` VALUES (1538, 'A01 servo travel error', '2023-12-07 16:06:12', '2023-12-07 16:06:21');
|
| | | INSERT INTO `alarmmg` VALUES (1539, 'A02 servo travel error', '2023-12-07 16:06:12', '2023-12-07 16:06:21');
|
| | | INSERT INTO `alarmmg` VALUES (1540, 'A01 conveyor right safety alarm', '2023-12-07 16:10:13', '2023-12-07 16:10:15');
|
| | | INSERT INTO `alarmmg` VALUES (1541, 'A01 conveyor right safety alarm', '2023-12-07 16:10:34', '2023-12-07 16:10:35');
|
| | | INSERT INTO `alarmmg` VALUES (1542, 'A01 servo turn error', '2023-12-07 16:12:10', '2023-12-07 16:12:36');
|
| | | INSERT INTO `alarmmg` VALUES (1543, 'A02 servo turn error', '2023-12-07 16:12:10', '2023-12-07 16:12:36');
|
| | | INSERT INTO `alarmmg` VALUES (1544, 'A01 servo turn error', '2023-12-07 16:13:28', '2023-12-07 16:14:06');
|
| | | INSERT INTO `alarmmg` VALUES (1545, 'A02 servo turn error', '2023-12-07 16:13:28', '2023-12-07 16:14:06');
|
| | | INSERT INTO `alarmmg` VALUES (1546, 'A01 servo travel error', '2023-12-07 16:13:57', '2023-12-07 16:14:06');
|
| | | INSERT INTO `alarmmg` VALUES (1547, 'A02 servo travel error', '2023-12-07 16:13:57', '2023-12-07 16:14:06');
|
| | | INSERT INTO `alarmmg` VALUES (1548, 'A01 conveyor right safety alarm', '2023-12-07 16:15:51', '2023-12-07 16:15:54');
|
| | | INSERT INTO `alarmmg` VALUES (1549, 'A01 conveyor right safety alarm', '2023-12-07 16:16:12', '2023-12-07 16:16:14');
|
| | | INSERT INTO `alarmmg` VALUES (1550, '1# buffer safety alarm', '2023-12-07 16:16:13', '2023-12-07 16:19:27');
|
| | | INSERT INTO `alarmmg` VALUES (1551, 'A01 servo turn error', '2023-12-07 16:16:27', '2023-12-07 16:16:59');
|
| | | INSERT INTO `alarmmg` VALUES (1552, 'A02 servo turn error', '2023-12-07 16:16:27', '2023-12-07 16:17:11');
|
| | | INSERT INTO `alarmmg` VALUES (1553, 'A01 servo travel error', '2023-12-07 16:16:58', '2023-12-07 16:16:59');
|
| | | INSERT INTO `alarmmg` VALUES (1554, 'A02 servo travel error', '2023-12-07 16:16:58', '2023-12-07 16:16:59');
|
| | | INSERT INTO `alarmmg` VALUES (1555, 'A01 conveyor right safety alarm', '2023-12-07 16:16:58', '2023-12-07 16:18:35');
|
| | | INSERT INTO `alarmmg` VALUES (1556, 'A01 servo turn error', '2023-12-07 16:17:00', '2023-12-07 16:17:10');
|
| | | INSERT INTO `alarmmg` VALUES (1557, 'B01 VFD error', '2023-12-07 16:18:35', '2023-12-07 16:18:36');
|
| | | INSERT INTO `alarmmg` VALUES (1558, 'A01 servo turn error', '2023-12-07 16:18:53', '2023-12-07 16:19:05');
|
| | | INSERT INTO `alarmmg` VALUES (1559, 'A02 servo turn error', '2023-12-07 16:18:53', '2023-12-07 16:19:05');
|
| | | INSERT INTO `alarmmg` VALUES (1560, 'D02 VFD error', '2023-12-07 16:18:58', '2023-12-07 16:19:06');
|
| | | INSERT INTO `alarmmg` VALUES (1561, 'D03 VFD error', '2023-12-07 16:18:58', '2023-12-07 16:19:06');
|
| | | INSERT INTO `alarmmg` VALUES (1562, 'D04 VFD error', '2023-12-07 16:18:58', '2023-12-07 16:19:06');
|
| | | INSERT INTO `alarmmg` VALUES (1563, 'D05 VFD error', '2023-12-07 16:18:58', '2023-12-07 16:19:06');
|
| | | INSERT INTO `alarmmg` VALUES (1564, 'D06 VFD error', '2023-12-07 16:18:58', '2023-12-07 16:19:06');
|
| | | INSERT INTO `alarmmg` VALUES (1565, 'A01 servo turn error', '2023-12-07 16:21:09', '2023-12-07 16:23:03');
|
| | | INSERT INTO `alarmmg` VALUES (1566, 'A02 servo turn error', '2023-12-07 16:21:09', '2023-12-07 16:23:03');
|
| | | INSERT INTO `alarmmg` VALUES (1567, 'A01 servo travel error', '2023-12-07 16:21:41', '2023-12-07 16:23:03');
|
| | | INSERT INTO `alarmmg` VALUES (1568, 'A01 conveyor right safety alarm', '2023-12-07 16:27:01', '2023-12-07 16:27:03');
|
| | | INSERT INTO `alarmmg` VALUES (1569, 'A01 conveyor right safety alarm', '2023-12-07 16:27:22', '2023-12-07 16:27:24');
|
| | | INSERT INTO `alarmmg` VALUES (1570, '1# buffer safety alarm', '2023-12-07 16:27:22', '2023-12-07 16:34:37');
|
| | | INSERT INTO `alarmmg` VALUES (1571, 'B01 VFD error', '2023-12-07 16:27:23', '2023-12-07 16:27:24');
|
| | | INSERT INTO `alarmmg` VALUES (1572, 'A01 VFD error', '2023-12-07 16:27:23', '2023-12-07 16:27:24');
|
| | | INSERT INTO `alarmmg` VALUES (1573, 'A01 servo travel error', '2023-12-07 16:28:02', '2023-12-07 16:28:22');
|
| | | INSERT INTO `alarmmg` VALUES (1574, 'A02 servo travel error', '2023-12-07 16:28:02', '2023-12-07 16:28:22');
|
| | | INSERT INTO `alarmmg` VALUES (1575, 'A01 conveyor right safety alarm', '2023-12-07 16:28:02', '2023-12-07 16:34:37');
|
| | | INSERT INTO `alarmmg` VALUES (1576, 'A02 servo turn error', '2023-12-07 16:28:22', '2023-12-07 16:28:23');
|
| | | INSERT INTO `alarmmg` VALUES (1577, 'A01 servo turn error', '2023-12-07 16:34:41', '2023-12-07 16:39:08');
|
| | | INSERT INTO `alarmmg` VALUES (1578, 'A01 servo turn error', '2023-12-07 16:39:22', '2023-12-07 16:40:18');
|
| | | INSERT INTO `alarmmg` VALUES (1579, 'A02 servo turn error', '2023-12-07 16:39:22', '2023-12-07 16:40:18');
|
| | | INSERT INTO `alarmmg` VALUES (1580, 'A02 servo travel error', '2023-12-07 16:39:49', '2023-12-07 16:40:16');
|
| | | INSERT INTO `alarmmg` VALUES (1581, 'A01 servo travel error', '2023-12-07 16:39:52', '2023-12-07 16:40:16');
|
| | | INSERT INTO `alarmmg` VALUES (1582, 'A01 conveyor right safety alarm', '2023-12-07 16:44:24', '2023-12-07 16:44:27');
|
| | | INSERT INTO `alarmmg` VALUES (1583, 'A01 conveyor right safety alarm', '2023-12-07 16:44:36', '2023-12-07 16:44:39');
|
| | | INSERT INTO `alarmmg` VALUES (1584, '1# buffer safety alarm', '2023-12-07 16:44:37', '2023-12-07 16:46:27');
|
| | | INSERT INTO `alarmmg` VALUES (1585, 'A01 servo turn error', '2023-12-07 16:44:58', '2023-12-07 16:45:31');
|
| | | INSERT INTO `alarmmg` VALUES (1586, 'A02 servo turn error', '2023-12-07 16:44:58', '2023-12-07 16:45:32');
|
| | | INSERT INTO `alarmmg` VALUES (1587, 'A01 servo travel error', '2023-12-07 16:45:25', '2023-12-07 16:45:31');
|
| | | INSERT INTO `alarmmg` VALUES (1588, 'A02 servo travel error', '2023-12-07 16:45:25', '2023-12-07 16:45:31');
|
| | | INSERT INTO `alarmmg` VALUES (1589, 'A01 conveyor right safety alarm', '2023-12-07 16:45:25', '2023-12-07 16:46:27');
|
| | | INSERT INTO `alarmmg` VALUES (1590, 'A01 servo turn error', '2023-12-07 16:46:30', '2023-12-07 16:47:59');
|
| | | INSERT INTO `alarmmg` VALUES (1591, 'A01 servo turn error', '2023-12-07 16:48:00', '2023-12-07 16:48:46');
|
| | | INSERT INTO `alarmmg` VALUES (1592, 'A02 servo turn error', '2023-12-07 16:48:00', '2023-12-07 16:48:46');
|
| | | INSERT INTO `alarmmg` VALUES (1593, 'A01 servo travel error', '2023-12-07 16:48:32', '2023-12-07 16:48:34');
|
| | | INSERT INTO `alarmmg` VALUES (1594, 'A02 servo travel error', '2023-12-07 16:48:32', '2023-12-07 16:48:34');
|
| | | INSERT INTO `alarmmg` VALUES (1595, 'A01 conveyor right safety alarm', '2023-12-07 16:50:42', '2023-12-07 16:50:44');
|
| | | INSERT INTO `alarmmg` VALUES (1596, 'A01 conveyor right safety alarm', '2023-12-07 16:50:53', '2023-12-07 16:50:56');
|
| | | INSERT INTO `alarmmg` VALUES (1597, 'B01 VFD error', '2023-12-07 16:50:54', '2023-12-07 16:50:56');
|
| | | INSERT INTO `alarmmg` VALUES (1598, '1# buffer safety alarm', '2023-12-07 16:50:54', '2023-12-07 17:01:21');
|
| | | INSERT INTO `alarmmg` VALUES (1599, 'A01 servo turn error', '2023-12-07 16:51:07', '2023-12-07 16:59:23');
|
| | | INSERT INTO `alarmmg` VALUES (1600, 'A02 servo turn error', '2023-12-07 16:51:07', '2023-12-07 16:59:23');
|
| | | INSERT INTO `alarmmg` VALUES (1601, 'A01 servo travel error', '2023-12-07 16:51:36', '2023-12-07 16:59:23');
|
| | | INSERT INTO `alarmmg` VALUES (1602, 'A01 conveyor right safety alarm', '2023-12-07 16:51:36', '2023-12-07 17:01:21');
|
| | | INSERT INTO `alarmmg` VALUES (1603, 'A02 servo turn error', '2023-12-08 08:37:43', '2023-12-08 08:51:23');
|
| | | INSERT INTO `alarmmg` VALUES (1604, 'A01 servo travel error', '2023-12-08 08:37:43', '2023-12-08 08:51:23');
|
| | | INSERT INTO `alarmmg` VALUES (1605, 'A02 servo travel error', '2023-12-08 08:37:43', '2023-12-08 08:51:23');
|
| | | INSERT INTO `alarmmg` VALUES (1606, 'A01 conveyor right safety alarm', '2023-12-08 08:58:27', '2023-12-08 08:58:30');
|
| | | INSERT INTO `alarmmg` VALUES (1607, 'A01 conveyor right safety alarm', '2023-12-08 08:58:39', '2023-12-08 08:58:42');
|
| | | INSERT INTO `alarmmg` VALUES (1608, '1# buffer safety alarm', '2023-12-08 08:58:39', '2023-12-08 09:00:30');
|
| | | INSERT INTO `alarmmg` VALUES (1609, 'B01 VFD error', '2023-12-08 08:58:40', '2023-12-08 08:58:42');
|
| | | INSERT INTO `alarmmg` VALUES (1610, 'A01 VFD error', '2023-12-08 08:58:40', '2023-12-08 08:58:42');
|
| | | INSERT INTO `alarmmg` VALUES (1611, 'A01 servo turn error', '2023-12-08 08:58:52', '2023-12-08 08:59:36');
|
| | | INSERT INTO `alarmmg` VALUES (1612, 'A02 servo turn error', '2023-12-08 08:58:52', '2023-12-08 08:59:36');
|
| | | INSERT INTO `alarmmg` VALUES (1613, 'A01 servo travel error', '2023-12-08 08:59:19', '2023-12-08 08:59:36');
|
| | | INSERT INTO `alarmmg` VALUES (1614, 'A01 conveyor right safety alarm', '2023-12-08 08:59:19', '2023-12-08 09:00:28');
|
| | | INSERT INTO `alarmmg` VALUES (1615, 'A02 servo travel error', '2023-12-08 08:59:22', '2023-12-08 08:59:36');
|
| | | INSERT INTO `alarmmg` VALUES (1616, 'A01 conveyor right safety alarm', '2023-12-08 09:02:34', '2023-12-08 09:02:37');
|
| | | INSERT INTO `alarmmg` VALUES (1617, 'A01 conveyor right safety alarm', '2023-12-08 09:02:46', '2023-12-08 09:02:48');
|
| | | INSERT INTO `alarmmg` VALUES (1618, 'A01 servo turn error', '2023-12-08 09:03:01', '2023-12-08 09:03:42');
|
| | | INSERT INTO `alarmmg` VALUES (1619, 'A02 servo turn error', '2023-12-08 09:03:01', '2023-12-08 09:03:31');
|
| | | INSERT INTO `alarmmg` VALUES (1620, 'A02 servo travel error', '2023-12-08 09:03:25', '2023-12-08 09:03:31');
|
| | | INSERT INTO `alarmmg` VALUES (1621, 'A01 servo travel error', '2023-12-08 09:03:28', '2023-12-08 09:03:31');
|
| | | INSERT INTO `alarmmg` VALUES (1622, 'A01 conveyor right safety alarm', '2023-12-08 09:03:28', '2023-12-08 09:04:06');
|
| | | INSERT INTO `alarmmg` VALUES (1623, 'A02 conveyor Left safety alarm', '2023-12-08 09:06:48', '2023-12-08 09:06:50');
|
| | | INSERT INTO `alarmmg` VALUES (1624, '2# buffer safety alarm', '2023-12-08 09:06:48', '2023-12-08 09:06:50');
|
| | | INSERT INTO `alarmmg` VALUES (1625, 'A02 conveyor Left safety alarm', '2023-12-08 09:07:18', '2023-12-08 09:07:21');
|
| | | INSERT INTO `alarmmg` VALUES (1626, 'D03 VFD error', '2023-12-08 09:07:20', '2023-12-08 09:07:21');
|
| | | INSERT INTO `alarmmg` VALUES (1627, 'A02 VFD error', '2023-12-08 09:07:20', '2023-12-08 09:07:21');
|
| | | INSERT INTO `alarmmg` VALUES (1628, 'A01 servo turn error', '2023-12-08 09:07:53', '2023-12-08 09:08:10');
|
| | | INSERT INTO `alarmmg` VALUES (1629, 'A02 servo turn error', '2023-12-08 09:07:53', '2023-12-08 09:08:08');
|
| | | INSERT INTO `alarmmg` VALUES (1630, 'A01 servo travel error', '2023-12-08 09:08:01', '2023-12-08 09:08:08');
|
| | | INSERT INTO `alarmmg` VALUES (1631, 'A02 conveyor Left safety alarm', '2023-12-08 09:08:01', '2023-12-08 09:11:19');
|
| | | INSERT INTO `alarmmg` VALUES (1632, 'A02 servo travel error', '2023-12-08 09:08:03', '2023-12-08 09:08:08');
|
| | | INSERT INTO `alarmmg` VALUES (1633, 'A02 conveyor Left safety alarm', '2023-12-08 09:16:57', '2023-12-08 09:17:00');
|
| | | INSERT INTO `alarmmg` VALUES (1634, 'A02 conveyor Left safety alarm', '2023-12-08 09:17:27', '2023-12-08 09:17:30');
|
| | | INSERT INTO `alarmmg` VALUES (1635, 'A01 servo turn error', '2023-12-08 09:17:54', '2023-12-08 09:18:23');
|
| | | INSERT INTO `alarmmg` VALUES (1636, 'A02 servo turn error', '2023-12-08 09:17:54', '2023-12-08 09:18:14');
|
| | | INSERT INTO `alarmmg` VALUES (1637, 'A02 servo travel error', '2023-12-08 09:18:10', '2023-12-08 09:18:14');
|
| | | INSERT INTO `alarmmg` VALUES (1638, 'A02 conveyor Left safety alarm', '2023-12-08 09:18:10', '2023-12-08 09:18:37');
|
| | | INSERT INTO `alarmmg` VALUES (1639, 'A01 servo travel error', '2023-12-08 09:18:12', '2023-12-08 09:18:14');
|
| | | INSERT INTO `alarmmg` VALUES (1640, 'A02 servo turn error', '2023-12-08 09:18:15', '2023-12-08 09:18:18');
|
| | | INSERT INTO `alarmmg` VALUES (1641, 'A01 conveyor right safety alarm', '2023-12-08 09:37:04', '2023-12-08 09:37:08');
|
| | | INSERT INTO `alarmmg` VALUES (1642, 'A01 servo turn error', '2023-12-08 09:45:50', '2023-12-08 09:46:38');
|
| | | INSERT INTO `alarmmg` VALUES (1643, 'A02 servo turn error', '2023-12-08 09:45:50', '2023-12-08 09:46:38');
|
| | | INSERT INTO `alarmmg` VALUES (1644, 'A02 servo travel error', '2023-12-08 09:46:17', '2023-12-08 09:46:37');
|
| | | INSERT INTO `alarmmg` VALUES (1645, 'A01 servo travel error', '2023-12-08 09:46:25', '2023-12-08 09:46:37');
|
| | | INSERT INTO `alarmmg` VALUES (1646, 'More glass than known', '2023-12-08 09:47:13', '2023-12-08 09:57:18');
|
| | | INSERT INTO `alarmmg` VALUES (1647, 'A01 servo turn error', '2023-12-08 09:57:18', '2023-12-08 09:57:22');
|
| | | INSERT INTO `alarmmg` VALUES (1648, 'A02 servo turn error', '2023-12-08 09:57:18', '2023-12-08 09:57:22');
|
| | | INSERT INTO `alarmmg` VALUES (1649, 'A01 servo turn error', '2023-12-08 09:57:43', '2023-12-08 09:58:47');
|
| | | INSERT INTO `alarmmg` VALUES (1650, 'A02 servo turn error', '2023-12-08 09:57:43', '2023-12-08 09:58:47');
|
| | | INSERT INTO `alarmmg` VALUES (1651, 'A01 servo travel error', '2023-12-08 09:58:14', '2023-12-08 09:58:45');
|
| | | INSERT INTO `alarmmg` VALUES (1652, 'less glass than known', '2023-12-08 10:33:05', '2023-12-08 10:40:57');
|
| | | INSERT INTO `alarmmg` VALUES (1653, 'D01 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1654, 'D02 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1655, 'D03 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1656, 'D04 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1657, 'D05 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1658, 'D06 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1659, 'B01 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1660, 'B02 VFD error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1661, 'A01 servo travel error', '2023-12-08 10:41:52', '2023-12-08 10:42:20');
|
| | | INSERT INTO `alarmmg` VALUES (1662, 'A02 servo travel error', '2023-12-08 10:41:52', '2023-12-08 10:42:21');
|
| | | INSERT INTO `alarmmg` VALUES (1663, 'A01 servo turn error', '2023-12-08 10:42:29', '2023-12-08 10:43:17');
|
| | | INSERT INTO `alarmmg` VALUES (1664, 'A02 servo turn error', '2023-12-08 10:42:29', '2023-12-08 10:43:17');
|
| | | INSERT INTO `alarmmg` VALUES (1665, 'A02 servo travel error', '2023-12-08 10:43:01', '2023-12-08 10:43:16');
|
| | | INSERT INTO `alarmmg` VALUES (1666, 'less glass than known', '2023-12-08 10:46:25', '2023-12-08 10:49:17');
|
| | | INSERT INTO `alarmmg` VALUES (1667, 'A01 conveyor right safety alarm', '2023-12-08 11:02:49', '2023-12-08 11:02:51');
|
| | | INSERT INTO `alarmmg` VALUES (1668, 'A01 conveyor right safety alarm', '2023-12-08 11:03:01', '2023-12-08 11:03:03');
|
| | | INSERT INTO `alarmmg` VALUES (1669, '2# buffer safety alarm', '2023-12-08 11:03:03', '2023-12-08 11:10:41');
|
| | | INSERT INTO `alarmmg` VALUES (1670, 'More glass than known', '2023-12-08 11:15:18', '2023-12-08 11:17:01');
|
| | | INSERT INTO `alarmmg` VALUES (1671, '1# buffer safety alarm', '2023-12-08 11:16:30', '2023-12-08 11:16:31');
|
| | | INSERT INTO `alarmmg` VALUES (1672, 'A01 servo turn error', '2023-12-08 11:17:02', '2023-12-08 11:18:24');
|
| | | INSERT INTO `alarmmg` VALUES (1673, 'A02 servo turn error', '2023-12-08 11:17:02', '2023-12-08 11:18:24');
|
| | | INSERT INTO `alarmmg` VALUES (1674, 'A01 servo travel error', '2023-12-08 11:17:34', '2023-12-08 11:18:23');
|
| | | INSERT INTO `alarmmg` VALUES (1675, 'A02 servo travel error', '2023-12-08 11:17:34', '2023-12-08 11:18:23');
|
| | | INSERT INTO `alarmmg` VALUES (1676, 'A01 conveyor right safety alarm', '2023-12-08 11:21:07', '2023-12-08 11:21:10');
|
| | | INSERT INTO `alarmmg` VALUES (1677, 'More glass than known', '2023-12-08 11:21:14', '2023-12-08 11:22:33');
|
| | | INSERT INTO `alarmmg` VALUES (1678, 'A01 servo turn error', '2023-12-08 13:51:58', '2023-12-08 13:52:37');
|
| | | INSERT INTO `alarmmg` VALUES (1679, 'A02 servo turn error', '2023-12-08 13:51:58', '2023-12-08 13:52:37');
|
| | | INSERT INTO `alarmmg` VALUES (1680, 'A01 servo travel error', '2023-12-08 13:52:26', '2023-12-08 13:52:31');
|
| | | INSERT INTO `alarmmg` VALUES (1681, 'A02 servo travel error', '2023-12-08 13:52:26', '2023-12-08 13:52:31');
|
| | | INSERT INTO `alarmmg` VALUES (1682, 'A01 servo turn error', '2023-12-08 13:56:08', '2023-12-08 13:56:43');
|
| | | INSERT INTO `alarmmg` VALUES (1683, 'A02 servo turn error', '2023-12-08 13:56:08', '2023-12-08 13:56:43');
|
| | | INSERT INTO `alarmmg` VALUES (1684, 'A02 servo travel error', '2023-12-08 13:56:32', '2023-12-08 13:56:35');
|
| | | INSERT INTO `alarmmg` VALUES (1685, 'A01 servo turn error', '2023-12-08 14:02:20', '2023-12-08 14:02:33');
|
| | | INSERT INTO `alarmmg` VALUES (1686, 'A02 servo turn error', '2023-12-08 14:02:20', '2023-12-08 14:02:29');
|
| | | INSERT INTO `alarmmg` VALUES (1687, 'A01 servo travel error', '2023-12-08 14:02:22', '2023-12-08 14:02:27');
|
| | | INSERT INTO `alarmmg` VALUES (1688, 'A01 conveyor right safety alarm', '2023-12-08 14:04:06', '2023-12-08 14:04:09');
|
| | | INSERT INTO `alarmmg` VALUES (1689, 'less glass than known', '2023-12-08 14:12:29', '2023-12-08 14:13:51');
|
| | | INSERT INTO `alarmmg` VALUES (1690, 'A01 servo travel error', '2023-12-08 14:13:45', '2023-12-08 14:13:51');
|
| | | INSERT INTO `alarmmg` VALUES (1691, 'A02 servo travel error', '2023-12-08 14:13:45', '2023-12-08 14:13:51');
|
| | | INSERT INTO `alarmmg` VALUES (1692, 'A01 servo turn error', '2023-12-08 14:13:52', '2023-12-08 14:14:03');
|
| | | INSERT INTO `alarmmg` VALUES (1693, 'A02 servo turn error', '2023-12-08 14:13:52', '2023-12-08 14:14:03');
|
| | | INSERT INTO `alarmmg` VALUES (1694, '1# buffer safety alarm', '2023-12-08 14:14:57', '2023-12-08 14:15:06');
|
| | | INSERT INTO `alarmmg` VALUES (1695, 'A01 servo turn error', '2023-12-08 14:15:58', '2023-12-08 14:16:30');
|
| | | INSERT INTO `alarmmg` VALUES (1696, 'A02 servo turn error', '2023-12-08 14:15:58', '2023-12-08 14:16:31');
|
| | | INSERT INTO `alarmmg` VALUES (1697, 'A01 servo travel error', '2023-12-08 14:16:17', '2023-12-08 14:16:18');
|
| | | INSERT INTO `alarmmg` VALUES (1698, 'A02 servo travel error', '2023-12-08 14:16:17', '2023-12-08 14:16:18');
|
| | | INSERT INTO `alarmmg` VALUES (1699, 'A01 conveyor right safety alarm', '2023-12-08 14:20:24', '2023-12-08 14:20:26');
|
| | | INSERT INTO `alarmmg` VALUES (1700, 'less glass than known', '2023-12-08 14:20:37', '2023-12-08 14:21:58');
|
| | | INSERT INTO `alarmmg` VALUES (1701, 'A01 servo turn error', '2023-12-08 14:21:58', '2023-12-08 14:22:34');
|
| | | INSERT INTO `alarmmg` VALUES (1702, 'A02 servo turn error', '2023-12-08 14:21:58', '2023-12-08 14:22:37');
|
| | | INSERT INTO `alarmmg` VALUES (1703, 'A01 servo travel error', '2023-12-08 14:22:25', '2023-12-08 14:22:33');
|
| | | INSERT INTO `alarmmg` VALUES (1704, 'A02 servo travel error', '2023-12-08 14:22:27', '2023-12-08 14:22:33');
|
| | | INSERT INTO `alarmmg` VALUES (1705, 'less glass than known', '2023-12-08 14:28:18', '2023-12-08 14:29:07');
|
| | | INSERT INTO `alarmmg` VALUES (1706, 'A01 servo turn error', '2023-12-08 14:29:08', '2023-12-08 14:30:26');
|
| | | INSERT INTO `alarmmg` VALUES (1707, 'A02 servo turn error', '2023-12-08 14:29:08', '2023-12-08 14:30:26');
|
| | | INSERT INTO `alarmmg` VALUES (1708, 'less glass than known', '2023-12-08 14:33:25', '2023-12-08 14:33:42');
|
| | | INSERT INTO `alarmmg` VALUES (1709, 'less glass than known', '2023-12-08 14:33:43', '2023-12-08 14:33:46');
|
| | | INSERT INTO `alarmmg` VALUES (1710, 'A01 servo turn error', '2023-12-08 14:33:47', '2023-12-08 14:34:27');
|
| | | INSERT INTO `alarmmg` VALUES (1711, 'A02 servo turn error', '2023-12-08 14:33:47', '2023-12-08 14:34:27');
|
| | | INSERT INTO `alarmmg` VALUES (1712, 'A02 servo travel error', '2023-12-08 14:34:21', '2023-12-08 14:34:24');
|
| | | INSERT INTO `alarmmg` VALUES (1713, 'A01 servo travel error', '2023-12-08 14:34:23', '2023-12-08 14:34:24');
|
| | | INSERT INTO `alarmmg` VALUES (1714, 'less glass than known', '2023-12-08 14:35:31', '2023-12-08 14:36:20');
|
| | | INSERT INTO `alarmmg` VALUES (1715, 'A01 servo turn error', '2023-12-08 14:36:20', '2023-12-08 14:37:04');
|
| | | INSERT INTO `alarmmg` VALUES (1716, 'A02 servo turn error', '2023-12-08 14:36:20', '2023-12-08 14:37:04');
|
| | | INSERT INTO `alarmmg` VALUES (1717, 'A01 servo turn error', '2023-12-08 14:40:35', '2023-12-08 14:41:16');
|
| | | INSERT INTO `alarmmg` VALUES (1718, 'A02 servo turn error', '2023-12-08 14:40:35', '2023-12-08 14:41:16');
|
| | | INSERT INTO `alarmmg` VALUES (1719, 'A01 servo travel error', '2023-12-08 14:41:05', '2023-12-08 14:41:08');
|
| | | INSERT INTO `alarmmg` VALUES (1720, 'less glass than known', '2023-12-08 15:03:34', '2023-12-08 15:04:26');
|
| | | INSERT INTO `alarmmg` VALUES (1721, 'A02 conveyor Left safety alarm', '2023-12-08 15:10:39', '2023-12-08 15:10:42');
|
| | | INSERT INTO `alarmmg` VALUES (1722, '2# buffer safety alarm', '2023-12-08 15:10:39', '2023-12-08 15:10:42');
|
| | | INSERT INTO `alarmmg` VALUES (1723, 'less glass than known', '2023-12-08 15:10:51', '2023-12-08 15:12:08');
|
| | | INSERT INTO `alarmmg` VALUES (1724, 'A01 servo turn error', '2023-12-08 15:12:30', '2023-12-08 15:13:20');
|
| | | INSERT INTO `alarmmg` VALUES (1725, 'A02 servo turn error', '2023-12-08 15:12:30', '2023-12-08 15:13:01');
|
| | | INSERT INTO `alarmmg` VALUES (1726, 'A02 servo turn error', '2023-12-08 15:13:02', '2023-12-08 15:13:20');
|
| | | INSERT INTO `alarmmg` VALUES (1727, 'A02 conveyor Left safety alarm', '2023-12-08 15:14:13', '2023-12-08 15:14:55');
|
| | | INSERT INTO `alarmmg` VALUES (1728, 'More glass than known', '2023-12-08 15:14:14', '2023-12-08 15:16:56');
|
| | | INSERT INTO `alarmmg` VALUES (1729, 'B01 VFD error', '2023-12-08 15:14:54', '2023-12-08 15:14:55');
|
| | | INSERT INTO `alarmmg` VALUES (1730, '1# buffer safety alarm', '2023-12-08 15:16:13', '2023-12-08 15:16:24');
|
| | | INSERT INTO `alarmmg` VALUES (1731, 'A01 servo turn error', '2023-12-08 15:16:56', '2023-12-08 15:18:54');
|
| | | INSERT INTO `alarmmg` VALUES (1732, 'A02 servo turn error', '2023-12-08 15:16:56', '2023-12-08 15:18:54');
|
| | | INSERT INTO `alarmmg` VALUES (1733, 'A01 servo travel error', '2023-12-08 15:17:29', '2023-12-08 15:18:54');
|
| | | INSERT INTO `alarmmg` VALUES (1734, 'A02 servo travel error', '2023-12-08 15:17:29', '2023-12-08 15:18:54');
|
| | | INSERT INTO `alarmmg` VALUES (1735, 'A01 servo turn error', '2023-12-08 15:20:41', '2023-12-08 15:21:22');
|
| | | INSERT INTO `alarmmg` VALUES (1736, 'A02 servo turn error', '2023-12-08 15:20:41', '2023-12-08 15:21:22');
|
| | | INSERT INTO `alarmmg` VALUES (1737, 'A02 servo travel error', '2023-12-08 15:21:11', '2023-12-08 15:21:14');
|
| | | INSERT INTO `alarmmg` VALUES (1738, 'A01 servo turn error', '2023-12-08 15:23:23', '2023-12-08 15:24:02');
|
| | | INSERT INTO `alarmmg` VALUES (1739, 'A02 servo turn error', '2023-12-08 15:23:23', '2023-12-08 15:24:01');
|
| | | INSERT INTO `alarmmg` VALUES (1740, 'A01 servo travel error', '2023-12-08 15:23:55', '2023-12-08 15:23:59');
|
| | | INSERT INTO `alarmmg` VALUES (1741, 'A02 servo turn error', '2023-12-08 15:24:02', '2023-12-08 15:24:03');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for car_position
|
| | |
| | | `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 = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品分类' ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of category
|
| | |
| | | `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 = 47 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of device
|
| | |
| | | `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 = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of glass
|
| | |
| | | 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/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');
|
| | | INSERT INTO `menu_list` VALUES (54, 2, 'IO状态', NULL, 54, 'Electrical/Sign', 1, '2023-08-25 13:29:22', '2023-12-08 11:35:20');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for north_glass_buffer1
|
| | |
| | | `datecreated` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
| | | `FrameBarcode` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
|
| | | PRIMARY KEY (`id`) USING BTREE
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1393 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1394 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of north_glass_buffer1
|
| | |
| | | `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 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of order_out
|
| | |
| | | `sequence` int NULL DEFAULT NULL COMMENT '序列',
|
| | | `position` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '铝框摆放',
|
| | | PRIMARY KEY (`id`) USING BTREE
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 102 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 111 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of out_slice
|
| | |
| | | `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 = 36 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '权限' ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of permission
|
| | |
| | | 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 (32, 'hom:ManuallyInfeedGlass', '上片信息', 1, '2023-12-08 11:07:18', '2023-12-08 11:07:18');
|
| | | 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');
|
| | |
| | | -- ----------------------------
|
| | | -- Records of queue
|
| | | -- ----------------------------
|
| | | 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');
|
| | | INSERT INTO `queue` VALUES (1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 0, '2023-12-08 14:03:55');
|
| | | INSERT INTO `queue` VALUES (2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 0, '2023-12-08 14:04:09');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for role
|
| | |
| | | `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 = 62 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of role_menu_list
|
| | | -- ----------------------------
|
| | | INSERT INTO `role_menu_list` VALUES (1, 1, 1, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (2, 1, 2, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (3, 1, 3, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (4, 1, 4, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (5, 1, 5, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (6, 1, 6, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (7, 1, 7, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (8, 1, 8, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (9, 1, 9, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (10, 1, 10, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (11, 1, 11, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (12, 1, 12, 1, '2021-11-28 15:10:03', '2021-11-28 15:10:03');
|
| | | INSERT INTO `role_menu_list` VALUES (19, 1, 50, 1, '2023-08-24 09:13:00', '2023-08-24 09:13:00');
|
| | | INSERT INTO `role_menu_list` VALUES (20, 1, 49, 1, '2023-08-24 10:08:38', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (21, 1, 51, 1, '2023-08-24 10:08:56', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (22, 1, 52, 1, '2023-08-24 10:08:56', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (23, 1, 53, 1, '2023-08-24 10:08:56', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (25, 1, 60, 1, '2023-08-25 13:05:53', '2023-08-25 13:05:53');
|
| | | INSERT INTO `role_menu_list` VALUES (26, 1, 1, 1, '2023-08-28 14:29:17', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (27, 1, 7, 1, '2023-08-28 15:11:09', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (28, 1, 2, 1, '2023-08-28 15:14:19', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (29, 1, 49, 1, '2023-08-28 15:14:27', '2023-08-28 15:39:54');
|
| | | INSERT INTO `role_menu_list` VALUES (31, 2, 2, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (32, 2, 3, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (33, 2, 4, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (37, 2, 8, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (38, 2, 9, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (39, 2, 10, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (42, 2, 50, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (43, 2, 49, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (44, 2, 51, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (45, 2, 52, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (46, 2, 53, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (47, 2, 60, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (50, 2, 2, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (51, 2, 49, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (52, 2, 1, 1, '2023-08-30 16:28:57', '2023-08-30 16:28:57');
|
| | | INSERT INTO `role_menu_list` VALUES (53, 2, 7, 1, '2023-08-30 16:29:05', '2023-08-30 16:29:05');
|
| | | INSERT INTO `role_menu_list` VALUES (54, 1, 9, 1, '2023-09-08 10:55:54', '2023-09-08 11:02:55');
|
| | | INSERT INTO `role_menu_list` VALUES (55, 1, 8, 1, '2023-09-08 10:56:45', '2023-09-08 11:01:43');
|
| | | INSERT INTO `role_menu_list` VALUES (56, 2, 54, 1, '2023-09-11 17:09:17', '2023-09-11 17:09:24');
|
| | | INSERT INTO `role_menu_list` VALUES (1, 1, 1, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (2, 1, 2, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (3, 1, 3, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (4, 1, 4, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (5, 1, 5, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (6, 1, 6, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (7, 1, 7, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (8, 1, 8, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (9, 1, 9, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (10, 1, 10, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (11, 1, 11, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (12, 1, 12, 1, '2021-11-28 15:10:03', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (19, 1, 50, 1, '2023-08-24 09:13:00', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (20, 1, 49, 1, '2023-08-24 10:08:38', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (21, 1, 51, 1, '2023-08-24 10:08:56', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (22, 1, 52, 1, '2023-08-24 10:08:56', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (23, 1, 53, 1, '2023-08-24 10:08:56', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (25, 1, 60, 1, '2023-08-25 13:05:53', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (26, 1, 1, 1, '2023-08-28 14:29:17', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (27, 1, 7, 1, '2023-08-28 15:11:09', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (29, 1, 49, 1, '2023-08-28 15:14:27', '2023-12-08 11:55:22');
|
| | | INSERT INTO `role_menu_list` VALUES (31, 2, 2, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (32, 2, 3, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (33, 2, 4, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (37, 2, 8, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (38, 2, 9, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (39, 2, 10, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (42, 2, 50, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (43, 2, 49, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (44, 2, 51, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (45, 2, 52, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (46, 2, 53, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (47, 2, 60, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (51, 2, 49, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (52, 2, 1, 1, '2023-08-30 16:28:57', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (53, 2, 7, 1, '2023-08-30 16:29:05', '2023-12-08 14:18:20');
|
| | | INSERT INTO `role_menu_list` VALUES (54, 1, 9, 1, '2023-09-08 10:55:54', '2023-12-08 11:55:27');
|
| | | INSERT INTO `role_menu_list` VALUES (55, 1, 8, 1, '2023-09-08 10:56:45', '2023-12-08 11:55:27');
|
| | | INSERT INTO `role_menu_list` VALUES (56, 2, 54, 1, '2023-09-11 17:09:17', '2023-12-08 11:38:39');
|
| | | INSERT INTO `role_menu_list` VALUES (57, 5, 8, 1, '2023-12-08 11:32:37', '2023-12-08 11:48:14');
|
| | | INSERT INTO `role_menu_list` VALUES (58, 5, 9, 1, '2023-12-08 11:32:44', '2023-12-08 11:48:14');
|
| | | INSERT INTO `role_menu_list` VALUES (59, 5, 49, 1, '2023-12-08 11:33:13', '2023-12-08 11:48:14');
|
| | | INSERT INTO `role_menu_list` VALUES (60, 5, 1, 1, '2023-12-08 11:47:23', '2023-12-08 11:48:14');
|
| | | INSERT INTO `role_menu_list` VALUES (61, 5, 7, 1, '2023-12-08 11:47:34', '2023-12-08 11:48:14');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for role_permission
|
| | |
| | | `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 = 108 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', '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 (1, 1, 1, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (2, 1, 2, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (3, 1, 3, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (7, 1, 7, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (8, 1, 8, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (9, 1, 9, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (10, 1, 10, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (11, 1, 11, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (12, 1, 12, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (13, 1, 13, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (16, 1, 16, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (17, 1, 17, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (18, 1, 18, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (19, 1, 19, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (20, 1, 20, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (22, 1, 22, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (25, 1, 25, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (26, 1, 26, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (27, 1, 27, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (28, 1, 28, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (37, 2, 25, 1, '2021-11-28 16:30:57', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (38, 2, 26, 1, '2021-11-28 16:30:57', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (39, 2, 27, 1, '2021-11-28 16:30:57', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (40, 2, 28, 1, '2021-11-28 16:32:35', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (41, 2, 22, 1, '2021-11-28 19:57:35', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (42, 1, 30, 1, '2023-08-24 08:55:34', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (43, 1, 29, 1, '2023-08-24 08:56:15', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (44, 1, 31, 1, '2023-08-24 08:56:23', '2023-12-08 11:53:19', NULL);
|
| | | INSERT INTO `role_permission` VALUES (53, 2, 2, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (54, 2, 3, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (56, 2, 8, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (57, 2, 9, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (58, 2, 10, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (61, 2, 13, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (62, 2, 16, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (63, 2, 17, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (64, 2, 18, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (65, 2, 19, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (66, 2, 20, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (67, 2, 22, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (68, 2, 25, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (70, 2, 27, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (71, 2, 28, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (72, 2, 30, 1, '2023-08-24 08:55:34', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (73, 2, 29, 1, '2023-08-24 08:56:15', '2023-12-08 14:19:11', NULL);
|
| | | INSERT INTO `role_permission` VALUES (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-12-08 14:19:11', NULL);
|
| | | 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);
|
| | | INSERT INTO `role_permission` VALUES (79, 2, 33, 1, '2023-12-08 10:58:25', '2023-12-08 11:42:12', NULL);
|
| | | INSERT INTO `role_permission` VALUES (80, 2, 34, 1, '2023-12-08 10:59:15', '2023-12-08 11:42:12', NULL);
|
| | | INSERT INTO `role_permission` VALUES (81, 2, 35, 1, '2023-12-08 10:59:23', '2023-12-08 11:42:12', NULL);
|
| | | INSERT INTO `role_permission` VALUES (82, 5, 33, 1, '2023-12-08 10:59:33', '2023-12-08 11:48:26', NULL);
|
| | | INSERT INTO `role_permission` VALUES (83, 5, 34, 0, '2023-12-08 10:59:39', '2023-12-08 11:48:26', NULL);
|
| | | INSERT INTO `role_permission` VALUES (84, 5, 35, 0, '2023-12-08 10:59:51', '2023-12-08 11:48:26', NULL);
|
| | | INSERT INTO `role_permission` VALUES (85, 5, 32, 0, '2023-12-08 11:08:54', '2023-12-08 11:48:26', NULL);
|
| | | INSERT INTO `role_permission` VALUES (86, 5, 1, 1, '2023-12-08 11:45:47', '2023-12-08 11:48:26', NULL);
|
| | | INSERT INTO `role_permission` VALUES (87, 5, 7, 1, '2023-12-08 11:45:55', '2023-12-08 11:48:26', NULL);
|
| | | INSERT INTO `role_permission` VALUES (89, 5, 2, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (90, 5, 3, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (91, 5, 8, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (92, 5, 9, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (93, 5, 10, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (94, 5, 13, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (95, 5, 16, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (96, 5, 17, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (97, 5, 18, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (98, 5, 19, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (99, 5, 20, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (100, 5, 22, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (101, 5, 25, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (102, 5, 26, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (103, 5, 27, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (104, 5, 28, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (105, 5, 30, 1, '2023-08-24 08:55:34', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (106, 5, 29, 1, '2023-08-24 08:56:15', '2023-12-08 14:18:38', NULL);
|
| | | INSERT INTO `role_permission` VALUES (107, 5, 1, 1, '2023-08-30 16:29:46', '2023-12-08 14:18:38', NULL);
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for storage_cage
|
| | |
| | | `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 = 492 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of storage_rack
|
| | |
| | | `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 = 67 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of storage_task
|
| | |
| | | `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 = 23 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of user
|
| | | -- ----------------------------
|
| | | INSERT INTO `user` VALUES (1, 0, '', 0, 1, 'admin', 'b2f0c414a5ffb6944c424bc18ae3a8a0', NULL, NULL, NULL, 1, '2023-08-25 08:58:58', '2023-09-18 20:38:44', '112');
|
| | | INSERT INTO `user` VALUES (2, 1, '1-', 1, 2, 'user1', 'b2f0c414a5ffb6944c424bc18ae3a8a0', 'user1@qq.com', NULL, NULL, 1, '2021-11-28 14:31:39', '2023-11-27 16:34:51', NULL);
|
| | | INSERT INTO `user` VALUES (3, 1, '1-', 1, 2, 'user2', 'f403c87893db29eb71b21905b57bbd0d', 'user2@qq.com', NULL, NULL, 1, '2021-11-28 14:31:39', '2021-11-28 15:09:36', NULL);
|
| | | INSERT INTO `user` VALUES (9, 1, '1-', 1, 1, 'yttttttttttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '666@qq.com', NULL, NULL, 1, '2023-08-23 20:35:32', '2023-08-23 20:35:32', NULL);
|
| | | INSERT INTO `user` VALUES (10, 1, '1-', 1, 2, '767655555', '500637c0d48b442a3be6d4fce12e0910', NULL, NULL, NULL, 1, '2023-08-23 20:42:58', '2023-08-23 20:42:58', NULL);
|
| | | INSERT INTO `user` VALUES (11, 1, '1-', 1, 5, 'uiuyiuy', 'e046c4175152aa3001d2c71c5bc1aee5', '767676767tt@qq.com', NULL, NULL, 1, '2023-08-23 20:43:42', '2023-08-23 20:43:42', NULL);
|
| | | INSERT INTO `user` VALUES (13, 1, '1-', 1, 2, 'user3', '500637c0d48b442a3be6d4fce12e0910', '2265557345@qq.com', NULL, NULL, 1, '2023-08-24 09:58:40', '2023-08-24 09:58:40', NULL);
|
| | | INSERT INTO `user` VALUES (15, 1, '1-', 1, 2, '99999', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '2267666@qq.com', NULL, NULL, 1, '2023-08-25 09:37:05', '2023-08-28 14:37:27', NULL);
|
| | | INSERT INTO `user` VALUES (16, 1, '1-', 1, 2, '5656tttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '5454@qq.com', NULL, NULL, 1, '2023-08-28 14:17:44', '2023-08-28 14:37:24', NULL);
|
| | | INSERT INTO `user` VALUES (17, 1, '1-', 1, 2, '6767ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '225@qq.com', NULL, NULL, 1, '2023-08-28 14:20:05', '2023-08-28 14:23:53', NULL);
|
| | | INSERT INTO `user` VALUES (18, 1, '1-', 1, 2, '8989ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '224@qq.com', NULL, NULL, 1, '2023-08-28 14:26:17', '2023-08-28 14:37:22', NULL);
|
| | | INSERT INTO `user` VALUES (19, 1, '1-', 1, 5, '8080ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '87@qq.com', NULL, NULL, 1, '2023-08-28 14:34:39', '2023-08-29 16:03:38', NULL);
|
| | | INSERT INTO `user` VALUES (2, 1, '1-', 1, 5, 'user1', 'b2f0c414a5ffb6944c424bc18ae3a8a0', 'user1@qq.com', NULL, NULL, 1, '2021-11-28 14:31:39', '2023-11-27 16:34:51', NULL);
|
| | | INSERT INTO `user` VALUES (3, 1, '1-', 1, 2, 'user2', 'b2f0c414a5ffb6944c424bc18ae3a8a0', 'user2@qq.com', NULL, NULL, 1, '2021-11-28 14:31:39', '2023-12-08 11:18:52', NULL);
|
| | | INSERT INTO `user` VALUES (22, 1, '1-', 1, 5, 'user3', 'b2f0c414a5ffb6944c424bc18ae3a8a0', NULL, NULL, NULL, 1, '2023-12-08 11:40:31', '2023-12-08 11:40:31', NULL);
|
| | |
|
| | | -- ----------------------------
|
| | | -- Procedure structure for Your_Stored_Procedure
|