wu
2023-09-13 be5351fe3cc2714756ae43ab272cf8813cb0fe98
Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

# Conflicts:
# springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
# springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
# springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
32个文件已修改
2个文件已添加
1个文件已删除
1654 ■■■■ 已修改文件
CanadaMes-ui/.env 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/package-lock.json 320 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/en-US.json 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/zh-CN.json 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/layout/index.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/main.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/router/index.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/utils/request.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Action.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Parameter.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Sign.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/State.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/alarm.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/power/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/register/index.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/user/index.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/vue.config.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/.idea/artifacts/springboot_vue3_war.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/.idea/artifacts/springboot_vue3_war_exploded.xml 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/.idea/misc.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/pom.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/springboot-vue3.iml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/DefaultController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/application.properties 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/sql/canadames.sql 605 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/test/java/com/example/springboot/AuthorityApplicationTests.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/.env
CanadaMes-ui/package-lock.json
@@ -11,6 +11,7 @@
        "axios": "^0.19.2",
        "core-js": "^3.6.5",
        "element-ui": "^2.13.2",
        "http-proxy-middleware": "^2.0.6",
        "js-cookie": "^3.0.1",
        "less": "^3.12.2",
        "less-loader": "^6.2.0",
@@ -1474,7 +1475,7 @@
      "version": "1.19.0",
      "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz?cache=0&sync_timestamp=1613378063000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbody-parser%2Fdownload%2F%40types%2Fbody-parser-1.19.0.tgz",
      "integrity": "sha1-BoWzxH6zAG/+0RfN1VFkth+AU48=",
      "dev": true,
      "devOptional": true,
      "dependencies": {
        "@types/connect": "*",
        "@types/node": "*"
@@ -1484,7 +1485,7 @@
      "version": "3.4.34",
      "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.34.tgz?cache=0&sync_timestamp=1613378229103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fconnect%2Fdownload%2F%40types%2Fconnect-3.4.34.tgz",
      "integrity": "sha1-FwpAIjptZmAG2TyhKK8r6x2bGQE=",
      "dev": true,
      "devOptional": true,
      "dependencies": {
        "@types/node": "*"
      }
@@ -1500,26 +1501,27 @@
      }
    },
    "node_modules/@types/express": {
      "version": "4.17.11",
      "resolved": "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.11.tgz?cache=0&sync_timestamp=1613378493388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fexpress%2Fdownload%2F%40types%2Fexpress-4.17.11.tgz",
      "integrity": "sha1-3r48qm+OX82pa0e9VOL0DE7llUU=",
      "dev": true,
      "version": "4.17.17",
      "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz",
      "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
      "devOptional": true,
      "dependencies": {
        "@types/body-parser": "*",
        "@types/express-serve-static-core": "^4.17.18",
        "@types/express-serve-static-core": "^4.17.33",
        "@types/qs": "*",
        "@types/serve-static": "*"
      }
    },
    "node_modules/@types/express-serve-static-core": {
      "version": "4.17.18",
      "resolved": "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.18.tgz",
      "integrity": "sha1-g3HiYPQODhygwRapr82UJvoJTEA=",
      "dev": true,
      "version": "4.17.36",
      "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz",
      "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==",
      "devOptional": true,
      "dependencies": {
        "@types/node": "*",
        "@types/qs": "*",
        "@types/range-parser": "*"
        "@types/range-parser": "*",
        "@types/send": "*"
      }
    },
    "node_modules/@types/glob": {
@@ -1533,10 +1535,9 @@
      }
    },
    "node_modules/@types/http-proxy": {
      "version": "1.17.5",
      "resolved": "https://registry.npm.taobao.org/@types/http-proxy/download/@types/http-proxy-1.17.5.tgz",
      "integrity": "sha1-wgPF5uncaCDSekDrHlEccKIgQj0=",
      "dev": true,
      "version": "1.17.11",
      "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.11.tgz",
      "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
      "dependencies": {
        "@types/node": "*"
      }
@@ -1561,7 +1562,7 @@
      "version": "1.3.2",
      "resolved": "https://registry.npm.taobao.org/@types/mime/download/@types/mime-1.3.2.tgz?cache=0&sync_timestamp=1613379303907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmime%2Fdownload%2F%40types%2Fmime-1.3.2.tgz",
      "integrity": "sha1-k+Jb+e51/g/YC1lLxP6w6GIRG1o=",
      "dev": true
      "devOptional": true
    },
    "node_modules/@types/minimatch": {
      "version": "3.0.3",
@@ -1578,8 +1579,7 @@
    "node_modules/@types/node": {
      "version": "14.14.31",
      "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.31.tgz?cache=0&sync_timestamp=1613758409994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.31.tgz",
      "integrity": "sha1-cihr0z0TeqDRUtR+x8F2JWPTQFU=",
      "dev": true
      "integrity": "sha1-cihr0z0TeqDRUtR+x8F2JWPTQFU="
    },
    "node_modules/@types/normalize-package-data": {
      "version": "2.4.0",
@@ -1597,19 +1597,29 @@
      "version": "6.9.5",
      "resolved": "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.5.tgz",
      "integrity": "sha1-Q0cRvdSete5p2QwdZ8NUqajssYs=",
      "dev": true
      "devOptional": true
    },
    "node_modules/@types/range-parser": {
      "version": "1.2.3",
      "resolved": "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz",
      "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=",
      "dev": true
      "devOptional": true
    },
    "node_modules/@types/send": {
      "version": "0.17.1",
      "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz",
      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
      "devOptional": true,
      "dependencies": {
        "@types/mime": "^1",
        "@types/node": "*"
      }
    },
    "node_modules/@types/serve-static": {
      "version": "1.13.9",
      "resolved": "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.9.tgz",
      "integrity": "sha1-qs8oqFoF7imhH7fD6tk1rFbzPk4=",
      "dev": true,
      "devOptional": true,
      "dependencies": {
        "@types/mime": "^1",
        "@types/node": "*"
@@ -6032,8 +6042,7 @@
    "node_modules/eventemitter3": {
      "version": "4.0.7",
      "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz",
      "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=",
      "dev": true
      "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8="
    },
    "node_modules/events": {
      "version": "3.2.0",
@@ -6583,7 +6592,6 @@
      "version": "1.13.2",
      "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.2.tgz",
      "integrity": "sha1-3XPI7/wScoulz0JZ12DqX7g+MUc=",
      "dev": true,
      "engines": {
        "node": ">=4.0"
      },
@@ -7272,7 +7280,6 @@
      "version": "1.18.1",
      "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz",
      "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=",
      "dev": true,
      "dependencies": {
        "eventemitter3": "^4.0.0",
        "follow-redirects": "^1.0.0",
@@ -7283,18 +7290,87 @@
      }
    },
    "node_modules/http-proxy-middleware": {
      "version": "0.19.1",
      "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz",
      "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=",
      "dev": true,
      "version": "2.0.6",
      "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
      "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
      "dependencies": {
        "http-proxy": "^1.17.0",
        "is-glob": "^4.0.0",
        "lodash": "^4.17.11",
        "micromatch": "^3.1.10"
        "@types/http-proxy": "^1.17.8",
        "http-proxy": "^1.18.1",
        "is-glob": "^4.0.1",
        "is-plain-obj": "^3.0.0",
        "micromatch": "^4.0.2"
      },
      "engines": {
        "node": ">=4.0.0"
        "node": ">=12.0.0"
      },
      "peerDependencies": {
        "@types/express": "^4.17.13"
      },
      "peerDependenciesMeta": {
        "@types/express": {
          "optional": true
        }
      }
    },
    "node_modules/http-proxy-middleware/node_modules/braces": {
      "version": "3.0.2",
      "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
      "dependencies": {
        "fill-range": "^7.0.1"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/http-proxy-middleware/node_modules/fill-range": {
      "version": "7.0.1",
      "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
      "dependencies": {
        "to-regex-range": "^5.0.1"
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/http-proxy-middleware/node_modules/is-number": {
      "version": "7.0.0",
      "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
      "engines": {
        "node": ">=0.12.0"
      }
    },
    "node_modules/http-proxy-middleware/node_modules/is-plain-obj": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
      "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
      "engines": {
        "node": ">=10"
      }
    },
    "node_modules/http-proxy-middleware/node_modules/micromatch": {
      "version": "4.0.5",
      "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
      "dependencies": {
        "braces": "^3.0.2",
        "picomatch": "^2.3.1"
      },
      "engines": {
        "node": ">=8.6"
      }
    },
    "node_modules/http-proxy-middleware/node_modules/to-regex-range": {
      "version": "5.0.1",
      "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
      "dependencies": {
        "is-number": "^7.0.0"
      },
      "engines": {
        "node": ">=8.0"
      }
    },
    "node_modules/http-signature": {
@@ -7913,7 +7989,6 @@
      "version": "2.1.1",
      "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
      "devOptional": true,
      "engines": {
        "node": ">=0.10.0"
      }
@@ -7931,7 +8006,6 @@
      "version": "4.0.1",
      "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
      "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
      "devOptional": true,
      "dependencies": {
        "is-extglob": "^2.1.1"
      },
@@ -9895,10 +9969,9 @@
      "dev": true
    },
    "node_modules/picomatch": {
      "version": "2.2.2",
      "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
      "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
      "optional": true,
      "version": "2.3.1",
      "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
      "engines": {
        "node": ">=8.6"
      }
@@ -11159,8 +11232,7 @@
    "node_modules/requires-port": {
      "version": "1.0.0",
      "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
      "dev": true
      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
    },
    "node_modules/resize-observer-polyfill": {
      "version": "1.5.1",
@@ -13754,6 +13826,21 @@
        "node": ">=0.10.0"
      }
    },
    "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": {
      "version": "0.19.1",
      "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
      "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
      "dev": true,
      "dependencies": {
        "http-proxy": "^1.17.0",
        "is-glob": "^4.0.0",
        "lodash": "^4.17.11",
        "micromatch": "^3.1.10"
      },
      "engines": {
        "node": ">=4.0.0"
      }
    },
    "node_modules/webpack-dev-server/node_modules/is-absolute-url": {
      "version": "3.0.3",
      "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz",
@@ -15501,7 +15588,7 @@
      "version": "1.19.0",
      "resolved": "https://registry.npm.taobao.org/@types/body-parser/download/@types/body-parser-1.19.0.tgz?cache=0&sync_timestamp=1613378063000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fbody-parser%2Fdownload%2F%40types%2Fbody-parser-1.19.0.tgz",
      "integrity": "sha1-BoWzxH6zAG/+0RfN1VFkth+AU48=",
      "dev": true,
      "devOptional": true,
      "requires": {
        "@types/connect": "*",
        "@types/node": "*"
@@ -15511,7 +15598,7 @@
      "version": "3.4.34",
      "resolved": "https://registry.npm.taobao.org/@types/connect/download/@types/connect-3.4.34.tgz?cache=0&sync_timestamp=1613378229103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fconnect%2Fdownload%2F%40types%2Fconnect-3.4.34.tgz",
      "integrity": "sha1-FwpAIjptZmAG2TyhKK8r6x2bGQE=",
      "dev": true,
      "devOptional": true,
      "requires": {
        "@types/node": "*"
      }
@@ -15527,26 +15614,27 @@
      }
    },
    "@types/express": {
      "version": "4.17.11",
      "resolved": "https://registry.npm.taobao.org/@types/express/download/@types/express-4.17.11.tgz?cache=0&sync_timestamp=1613378493388&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fexpress%2Fdownload%2F%40types%2Fexpress-4.17.11.tgz",
      "integrity": "sha1-3r48qm+OX82pa0e9VOL0DE7llUU=",
      "dev": true,
      "version": "4.17.17",
      "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz",
      "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
      "devOptional": true,
      "requires": {
        "@types/body-parser": "*",
        "@types/express-serve-static-core": "^4.17.18",
        "@types/express-serve-static-core": "^4.17.33",
        "@types/qs": "*",
        "@types/serve-static": "*"
      }
    },
    "@types/express-serve-static-core": {
      "version": "4.17.18",
      "resolved": "https://registry.npm.taobao.org/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.18.tgz",
      "integrity": "sha1-g3HiYPQODhygwRapr82UJvoJTEA=",
      "dev": true,
      "version": "4.17.36",
      "resolved": "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz",
      "integrity": "sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==",
      "devOptional": true,
      "requires": {
        "@types/node": "*",
        "@types/qs": "*",
        "@types/range-parser": "*"
        "@types/range-parser": "*",
        "@types/send": "*"
      }
    },
    "@types/glob": {
@@ -15560,10 +15648,9 @@
      }
    },
    "@types/http-proxy": {
      "version": "1.17.5",
      "resolved": "https://registry.npm.taobao.org/@types/http-proxy/download/@types/http-proxy-1.17.5.tgz",
      "integrity": "sha1-wgPF5uncaCDSekDrHlEccKIgQj0=",
      "dev": true,
      "version": "1.17.11",
      "resolved": "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.11.tgz",
      "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
      "requires": {
        "@types/node": "*"
      }
@@ -15588,7 +15675,7 @@
      "version": "1.3.2",
      "resolved": "https://registry.npm.taobao.org/@types/mime/download/@types/mime-1.3.2.tgz?cache=0&sync_timestamp=1613379303907&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fmime%2Fdownload%2F%40types%2Fmime-1.3.2.tgz",
      "integrity": "sha1-k+Jb+e51/g/YC1lLxP6w6GIRG1o=",
      "dev": true
      "devOptional": true
    },
    "@types/minimatch": {
      "version": "3.0.3",
@@ -15605,8 +15692,7 @@
    "@types/node": {
      "version": "14.14.31",
      "resolved": "https://registry.npm.taobao.org/@types/node/download/@types/node-14.14.31.tgz?cache=0&sync_timestamp=1613758409994&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-14.14.31.tgz",
      "integrity": "sha1-cihr0z0TeqDRUtR+x8F2JWPTQFU=",
      "dev": true
      "integrity": "sha1-cihr0z0TeqDRUtR+x8F2JWPTQFU="
    },
    "@types/normalize-package-data": {
      "version": "2.4.0",
@@ -15624,19 +15710,29 @@
      "version": "6.9.5",
      "resolved": "https://registry.npm.taobao.org/@types/qs/download/@types/qs-6.9.5.tgz",
      "integrity": "sha1-Q0cRvdSete5p2QwdZ8NUqajssYs=",
      "dev": true
      "devOptional": true
    },
    "@types/range-parser": {
      "version": "1.2.3",
      "resolved": "https://registry.npm.taobao.org/@types/range-parser/download/@types/range-parser-1.2.3.tgz",
      "integrity": "sha1-fuMwunyq+5gJC+zoal7kQRWQTCw=",
      "dev": true
      "devOptional": true
    },
    "@types/send": {
      "version": "0.17.1",
      "resolved": "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz",
      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
      "devOptional": true,
      "requires": {
        "@types/mime": "^1",
        "@types/node": "*"
      }
    },
    "@types/serve-static": {
      "version": "1.13.9",
      "resolved": "https://registry.npm.taobao.org/@types/serve-static/download/@types/serve-static-1.13.9.tgz",
      "integrity": "sha1-qs8oqFoF7imhH7fD6tk1rFbzPk4=",
      "dev": true,
      "devOptional": true,
      "requires": {
        "@types/mime": "^1",
        "@types/node": "*"
@@ -19319,8 +19415,7 @@
    "eventemitter3": {
      "version": "4.0.7",
      "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz",
      "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=",
      "dev": true
      "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8="
    },
    "events": {
      "version": "3.2.0",
@@ -19788,8 +19883,7 @@
    "follow-redirects": {
      "version": "1.13.2",
      "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.2.tgz",
      "integrity": "sha1-3XPI7/wScoulz0JZ12DqX7g+MUc=",
      "dev": true
      "integrity": "sha1-3XPI7/wScoulz0JZ12DqX7g+MUc="
    },
    "for-in": {
      "version": "1.0.2",
@@ -20353,7 +20447,6 @@
      "version": "1.18.1",
      "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz",
      "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=",
      "dev": true,
      "requires": {
        "eventemitter3": "^4.0.0",
        "follow-redirects": "^1.0.0",
@@ -20361,15 +20454,60 @@
      }
    },
    "http-proxy-middleware": {
      "version": "0.19.1",
      "resolved": "https://registry.npm.taobao.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz",
      "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=",
      "dev": true,
      "version": "2.0.6",
      "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
      "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
      "requires": {
        "http-proxy": "^1.17.0",
        "is-glob": "^4.0.0",
        "lodash": "^4.17.11",
        "micromatch": "^3.1.10"
        "@types/http-proxy": "^1.17.8",
        "http-proxy": "^1.18.1",
        "is-glob": "^4.0.1",
        "is-plain-obj": "^3.0.0",
        "micromatch": "^4.0.2"
      },
      "dependencies": {
        "braces": {
          "version": "3.0.2",
          "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
          "requires": {
            "fill-range": "^7.0.1"
          }
        },
        "fill-range": {
          "version": "7.0.1",
          "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
          "requires": {
            "to-regex-range": "^5.0.1"
          }
        },
        "is-number": {
          "version": "7.0.0",
          "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
        },
        "is-plain-obj": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
          "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA=="
        },
        "micromatch": {
          "version": "4.0.5",
          "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
          "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
          "requires": {
            "braces": "^3.0.2",
            "picomatch": "^2.3.1"
          }
        },
        "to-regex-range": {
          "version": "5.0.1",
          "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
          "requires": {
            "is-number": "^7.0.0"
          }
        }
      }
    },
    "http-signature": {
@@ -20851,8 +20989,7 @@
    "is-extglob": {
      "version": "2.1.1",
      "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz",
      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
      "devOptional": true
      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
    },
    "is-fullwidth-code-point": {
      "version": "3.0.0",
@@ -20864,7 +21001,6 @@
      "version": "4.0.1",
      "resolved": "https://registry.npm.taobao.org/is-glob/download/is-glob-4.0.1.tgz",
      "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=",
      "devOptional": true,
      "requires": {
        "is-extglob": "^2.1.1"
      }
@@ -22471,10 +22607,9 @@
      "dev": true
    },
    "picomatch": {
      "version": "2.2.2",
      "resolved": "https://registry.npm.taobao.org/picomatch/download/picomatch-2.2.2.tgz",
      "integrity": "sha1-IfMz6ba46v8CRo9RRupAbTRfTa0=",
      "optional": true
      "version": "2.3.1",
      "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
    },
    "pify": {
      "version": "4.0.1",
@@ -23553,8 +23688,7 @@
    "requires-port": {
      "version": "1.0.0",
      "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz",
      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
      "dev": true
      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
    },
    "resize-observer-polyfill": {
      "version": "1.5.1",
@@ -25717,6 +25851,18 @@
            }
          }
        },
        "http-proxy-middleware": {
          "version": "0.19.1",
          "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz",
          "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==",
          "dev": true,
          "requires": {
            "http-proxy": "^1.17.0",
            "is-glob": "^4.0.0",
            "lodash": "^4.17.11",
            "micromatch": "^3.1.10"
          }
        },
        "is-absolute-url": {
          "version": "3.0.3",
          "resolved": "https://registry.npm.taobao.org/is-absolute-url/download/is-absolute-url-3.0.3.tgz",
CanadaMes-ui/package.json
@@ -11,6 +11,7 @@
    "axios": "^0.19.2",
    "core-js": "^3.6.5",
    "element-ui": "^2.13.2",
    "http-proxy-middleware": "^2.0.6",
    "js-cookie": "^3.0.1",
    "less": "^3.12.2",
    "less-loader": "^6.2.0",
CanadaMes-ui/src/lang/locales/en-US.json
@@ -171,5 +171,87 @@
  "State": "State",
  "Alarm": "Alarm",
  "Distribute": "Distribute",
  "Search": "Search"
  "Search": "Search",
  "langUsernameLabel": "Username",
  "langPasswordLabel": "Password",
  "langPasswordPlaceholder": "Please enter your password",
  "langConfirmPasswordLabel": "Confirm Password",
  "langConfirmPasswordPlaceholder": "Please confirm your password",
  "langEmailLabel": "Email",
  "langQQLabel": "QQ",
  "langQQPlaceholder": "Please enter your QQ number",
  "langPhoneNumberLabel": "Phone Number",
  "langPhoneNumberPlaceholder": "Please enter your phone number",
  "langUsernameRequiredMessage": "Please enter your username",
  "langUsernameLengthMessage": "Username length should be between 5 and 15 characters",
  "langPasswordRequiredMessage": "Please enter your password",
  "langPasswordLengthMessage": "Password length should be between 5 and 15 characters",
  "langEmailRequiredMessage": "Please enter your email",
  "langEmailFormatMessage": "Invalid email format",
  "langRegisterButton": "Register",
  "langResetButton": "Reset",
  "langCancelButton": "Cancel",
  "langRegisterSuccessMessage": "Registration successful",
  "添加用户成功":"Successfully add user ",
  "confirmResetPassword": "Are you sure you want to reset the password to the default value?",
  "confirm": "Confirm",
  "cancel": "Cancel",
  "passwordResetSuccess": "Password has been reset to the default value",
  "confirmDeleteCategory": "This operation will permanently delete the category. Do you want to continue?",
  "prompt": "Prompt",
  "userDeleteSuccess": "User deleted successfully",
  "deleteCanceled": "Deletion canceled",
  "addUserSuccess": "User added successfully",
  "editUserSuccess": "User edited successfully",
  "addSuccessMessage": "Added successfully",
"deleteConfirmMessage": "Are you sure you want to delete this permission?",
"confirmButtonText": "Confirm",
"cancelButtonText": "Cancel",
"deleteSuccessMessage": "Deleted successfully",
"deleteCancelledMessage": "Deletion cancelled",
  "Enter the glass lD":"Enter the glass lD",
  "Manually feed the glass":"Manually feed the glass",
  "Enter the order number":"Enter the order number",
  "Exit the glass by order number":"Exit the glass by order number",
  "Please confirm the glass information":"Please confirm the glass information",
  "Please confirm the Ordering Information":"Please confirm the Ordering Information",
  "Alarm Information":"Alarm Information",
  "Cage Details":"Cage Details",
  "order":"order",
  "length":"length",
  "width":"width",
  "coating":"coating",
  "Operate":"Operate",
  "end task":"end task",
  "cancal":"cancal",
  "confirm":"confirm",
  "number":"number",
  "Coming out glass ID":"Coming out glass ID",
  "Incoming glass ID":"Incoming glass ID",
  "The Cage number being used":"The Cage number being used",
  "The Grille number being used":"The Grille number being used",
  "Order Nmuber":"Order Nmuber",
  "Length and width":"Length and width",
  "id":"id",
  "content":"content",
  "timeon":"timeon",
  "endTime":"endTime",
  "The Cage number":"The Cage number",
  "tier":"tier",
  "cell":"cell",
  "glassid":"glassid",
  "order number":"order number",
  "delete":"delete",
  "out":"out"
}
CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -171,5 +171,88 @@
  "State": "State",
  "Alarm": "报警信息",
  "Distribute": "下发",
  "Search": "搜索"
  "Search": "搜索",
  "langUsernameLabel": "用户名",
  "langPasswordLabel": "密码",
  "langPasswordPlaceholder": "请输入密码",
  "langConfirmPasswordLabel": "确认密码",
  "langConfirmPasswordPlaceholder": "请确认密码",
  "langEmailLabel": "邮箱",
  "langQQLabel": "QQ",
  "langQQPlaceholder": "请输入QQ号码",
  "langPhoneNumberLabel": "手机号码",
  "langPhoneNumberPlaceholder": "请输入手机号码",
  "langUsernameRequiredMessage": "请输入用户名",
  "langUsernameLengthMessage": "用户名长度在5到15个字符之间",
  "langPasswordRequiredMessage": "请输入密码",
  "langPasswordLengthMessage": "密码长度在5到15个字符之间",
  "langEmailRequiredMessage": "请输入邮箱",
  "langEmailFormatMessage": "邮箱格式不正确",
  "langRegisterButton": "注册",
  "langResetButton": "重置",
  "langCancelButton": "取消",
  "langRegisterSuccessMessage": "注册成功",
  "添加用户成功":"添加用户成功",
  "confirmResetPassword": "确认重置密码为默认值吗?",
  "confirm": "确定",
  "cancel": "取消",
  "passwordResetSuccess": "密码已重置为默认值",
  "confirmDeleteCategory": "此操作将永久删除该分类, 是否继续?",
  "prompt": "提示",
  "userDeleteSuccess": "删除用户成功",
  "deleteCanceled": "已取消删除",
  "addUserSuccess": "添加用户成功",
  "editUserSuccess": "修改用户成功",
  "effective": "有效",
"invalid": "无效",
"addSuccessMessage": "添加成功",
"deleteConfirmMessage": "确定要删除该权限吗?",
"confirmButtonText": "确定",
"cancelButtonText": "取消",
"deleteSuccessMessage": "删除成功",
"deleteCancelledMessage": "已取消删除操作",
  "Enter the glass lD":"输入玻璃id",
  "Manually feed the glass":"手动上片",
  "Enter the order number":"输入订单号",
  "Exit the glass by order number":"按订单出片",
  "Please confirm the glass information":"请确认玻璃信息",
  "Please confirm the Ordering Information":"请确认订单信息",
  "Alarm Information":"报警信息",
  "Cage Details":"理片笼详情",
  "order":"订单",
  "length":"长",
  "width":"宽",
  "coating":"涂层",
  "Operate":"操作",
  "end task":"完成任务",
  "cancal":"取消",
  "confirm":"确认",
  "number":"数量",
  "Coming out glass ID":"进片玻璃id",
  "Incoming glass ID":"出片玻璃id",
  "The Cage number being used":"笼子",
  "The Grille number being used":"格子",
  "Order Nmuber":"订单编号",
  "Length and width":"尺寸",
  "id":"id",
  "content":"内容",
  "timeon":"报警时间",
  "endTime":"结束时间",
  "The Cage number":"笼子",
  "tier":"层",
  "cell":"格子",
  "glassid":"玻璃id",
  "order number":"订单",
  "delete":"删除",
  "out":"出片"
}
CanadaMes-ui/src/layout/index.vue
@@ -1,5 +1,5 @@
<template>
  <el-container style="flex: 1;">
  <el-container style="flex: 1;height:100%;">
    <div style="width: 200px;background-color: #222f3e" :style="{width: isCollapse?'70px':'250px'}">
      <el-aside :width="isCollapse?'70px':'250px'">
        <el-col :gutter="20">
@@ -207,12 +207,15 @@
        '报警信息': 'AlarmInformation',
        '参数下发': 'ParameterSetting',
        '开关控制': 'SwitchControl',
        'I/O状态': 'I/O Status',
        'IO状态': 'Sign',
        '权限管理': 'PermissionManagement',
        '权限列表': 'PermissionList',
        '角色管理': 'RoleManagement',
        '角色列表': 'RoleList',
        '电气管理': 'Electrical management'
        '电气管理': 'Electrical management',
        '设备状态':'State',
        '主页': 'Home'
        // 根据实际需求继续添加对照关系
      };
CanadaMes-ui/src/main.js
@@ -2,6 +2,8 @@
import App from './App.vue'
import router from './router'
import ElementUI, {Message, MessageBox} from 'element-ui';
import locale from 'element-ui/lib/locale/lang/en' // lang i18n
import 'element-ui/lib/theme-chalk/index.css';
// 导入全局样式表
import './assets/css/global.css'
@@ -23,7 +25,7 @@
const EventBus = new Vue();
Vue.prototype.$bus = EventBus;
Vue.use(ElementUI);
Vue.use(ElementUI,{locale});
Vue.config.productionTip = false;
CanadaMes-ui/src/router/index.js
@@ -97,7 +97,10 @@
  }
];
const router = new VueRouter({
  // base: '/canadames/',
  routes
});
CanadaMes-ui/src/utils/request.js
@@ -3,7 +3,8 @@
const service = axios.create({
    baseURL: process.env.VUE_APP_BASE_API,
    timeout: 5000
    timeout: 5000,
    withCredentials: true // 添加此行配置
})
service.interceptors.response.use(
CanadaMes-ui/src/views/Electrical/Action.vue
@@ -2,13 +2,12 @@
  <div class="app">
    <!--面包屑导航区域-->
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
      <el-button type="text">Electrical</el-button>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text">Parameter</router-link>
      <router-link to="/Electrical/Action" tag="el-button" type="text">Action</router-link>
      <router-link to="/Electrical/Sign" tag="el-button" type="text">Sign</router-link>
      <router-link to="/Electrical/State" tag="el-button" type="text">State</router-link>
      <router-link to="/Electrical/alarm" tag="el-button" type="text">Alarm</router-link>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') }}</router-link>
    <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link>
    <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link>
    <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') }}</router-link>
    <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') }}</router-link>
    </el-breadcrumb>
    <div>Action</div>
    <el-form label-width="100px" style="display: flex;flex-wrap: wrap;" :model="{ messagepack }">
@@ -31,12 +30,13 @@
import LanguageMixin from '../../lang/LanguageMixin'
let socket;
export default {
  name: "action",
  name: "Action",
  mixins: [LanguageMixin],
  data () {
    return {
      activeButton: '',
      record: {
        params: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        params: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
        canshu: [
          'D01 VFD conveyor',
          'D02 VFD conveyor',
@@ -68,7 +68,7 @@
        xyData: [
          { name: 'D01 VFD conveyor', value: "0" },
          { name: 'D02 VFD conveyor', value: "0" },
          { name: 'D03 VFD conveyor', value: "1" },
          { name: 'D03 VFD conveyor', value: "0" },
          { name: 'D04 VFD conveyor', value: "0" },
          { name: 'D05 VFD conveyor', value: "0" },
          { name: 'D06 VFD conveyor', value: "0" },
@@ -111,6 +111,9 @@
    this.init();
  },
  methods: {
    setActiveButton(buttonName) {
    this.activeButton = buttonName;
  },
    init () {
      let viewname = "action";
@@ -203,4 +206,7 @@
.el-input__inner {
  border: none;
}
.blue-button {
  background-color: skyblue;
}
</style>
CanadaMes-ui/src/views/Electrical/Parameter.vue
@@ -2,13 +2,11 @@
  <div class="app">
    <!-- 面包屑导航区域 -->
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
      <el-button type="text">Electrical</el-button>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text">Parameter</router-link>
      <router-link to="/Electrical/Action" tag="el-button" type="text">Action</router-link>
      <router-link to="/Electrical/Sign" tag="el-button" type="text">Sign</router-link>
      <router-link to="/Electrical/State" tag="el-button" type="text">State</router-link>
      <router-link to="/Electrical/alarm" tag="el-button" type="text">Alarm</router-link>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') }}</router-link>
    <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link>
    <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link>
    <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') }}</router-link>
    <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') }}</router-link>
    </el-breadcrumb>
    <div>Parameter</div>
@@ -31,11 +29,13 @@
<script>
let socket;
import LanguageMixin from '../../lang/LanguageMixin'
export default {
  name: "Parameter",
  mixins: [LanguageMixin],
  data () {
    return {
      activeButton: '',
      record: {
        params: [100, 200, 10, 10, 10, 10],
        xyData: [
@@ -70,6 +70,9 @@
    this.isButtonDisabled = true;
  },
  methods: {
    setActiveButton(buttonName) {
      this.activeButton = buttonName;
    },
    initWebSocket () {
      let viewname = "Parameter";
@@ -156,7 +159,10 @@
  border: none;
}
.blue-button {
  background-color: skyblue;
  color: #fff;
}
#btn_div {
  width: 100%;
}
CanadaMes-ui/src/views/Electrical/Sign.vue
@@ -2,13 +2,11 @@
  <div class="app">
    <!--面包屑导航区域-->
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
      <el-button type="text">{{ $t('Electrical') }}</el-button>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text">{{ $t('Parameter') }}</router-link>
      <router-link to="/Electrical/Action" tag="el-button" type="text">{{ $t('Action') }}</router-link>
      <router-link to="/Electrical/Sign" tag="el-button" type="text">{{ $t('Sign') }}</router-link>
      <router-link to="/Electrical/State" tag="el-button" type="text">{{ $t('State') }}</router-link>
      <router-link to="/Electrical/alarm" tag="el-button" type="text">{{ $t('Alarm') }}</router-link>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') }}</router-link>
    <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link>
    <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link>
    <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') }}</router-link>
    <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') }}</router-link>
    </el-breadcrumb>
    <div>Sign</div>
    <div style="padding-right: 30px;display: flex;flex-wrap: wrap;" class="neir">
@@ -32,6 +30,7 @@
  mixins: [LanguageMixin],
  data () {
    return {
      activeButton: '',
      record: {
        //定义数组,并添加默认值
        params: [1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
@@ -148,6 +147,12 @@
    this.init();
  },
  methods: {
    onButtonClick() {
      this.isButtonClicked = true; // 将按钮颜色设置为蓝色
      setTimeout(() => {
        this.isButtonClicked = false; // 重置按钮颜色
      }, 500); // 这里的500毫秒是根据您希望按钮颜色持续多长时间来定的,可以根据需求进行调整
    },
    //根据读取PLC的值,根据名称改变颜色
    getStatusClass (zhuangtai) {
      if (zhuangtai === 0) {
@@ -289,4 +294,7 @@
.yellow {
  background-color: yellow;
}
.blue-button {
  background-color: skyblue;
}
</style>
CanadaMes-ui/src/views/Electrical/State.vue
@@ -2,13 +2,11 @@
  <div class="app">
    <!--面包屑导航区域-->
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
      <el-button type="text">{{ $t('Electrical') }}</el-button>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text">{{ $t('Parameter') }}</router-link>
      <router-link to="/Electrical/Action" tag="el-button" type="text">{{ $t('Action') }}</router-link>
      <router-link to="/Electrical/Sign" tag="el-button" type="text">{{ $t('Sign') }}</router-link>
      <router-link to="/Electrical/State" tag="el-button" type="text">{{ $t('State') }}</router-link>
      <router-link to="/Electrical/alarm" tag="el-button" type="text">{{ $t('Alarm') }}</router-link>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') }}</router-link>
    <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link>
    <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link>
    <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') }}</router-link>
    <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') }}</router-link>
    </el-breadcrumb>
    <div>State</div>
@@ -38,6 +36,7 @@
  mixins: [LanguageMixin],
  data () {
    return {
      activeButton: '',
      record: {
        params: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1,],
        xyData: [
@@ -82,6 +81,12 @@
    this.init();
  },
  methods: {
    onButtonClick() {
      this.isButtonClicked = true; // 将按钮颜色设置为蓝色
      setTimeout(() => {
        this.isButtonClicked = false; // 重置按钮颜色
      }, 500); // 这里的500毫秒是根据您希望按钮颜色持续多长时间来定的,可以根据需求进行调整
    },
    init () {
      let viewname = "State";
@@ -186,4 +191,7 @@
#btn_div .el-button {
  float: right;
}
.blue-button {
  background-color: skyblue;
}
</style>
CanadaMes-ui/src/views/Electrical/alarm.vue
@@ -2,13 +2,11 @@
  <div class="app">
    <!--面包屑导航区域-->
    <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
      <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
      <el-button type="text">{{ $t('Electrical') }}</el-button>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text">{{ $t('Parameter') }}</router-link>
      <router-link to="/Electrical/Action" tag="el-button" type="text">{{ $t('Action') }}</router-link>
      <router-link to="/Electrical/Sign" tag="el-button" type="text">{{ $t('Sign') }}</router-link>
      <router-link to="/Electrical/State" tag="el-button" type="text">{{ $t('State') }}</router-link>
      <router-link to="/Electrical/alarm" tag="el-button" type="text">{{ $t('Alarm') }}</router-link>
      <router-link to="/Electrical/Parameter" tag="el-button" type="text" active-class="blue-button">{{ $t('Parameter') }}</router-link>
    <router-link to="/Electrical/Action" tag="el-button" type="text" active-class="blue-button">{{ $t('Action') }}</router-link>
    <router-link to="/Electrical/Sign" tag="el-button" type="text" active-class="blue-button">{{ $t('Sign') }}</router-link>
    <router-link to="/Electrical/State" tag="el-button" type="text" active-class="blue-button">{{ $t('State') }}</router-link>
    <router-link to="/Electrical/alarm" tag="el-button" type="text" active-class="blue-button">{{ $t('Alarm') }}</router-link>
    </el-breadcrumb>
    <div>Alarm</div>
    <div class="block">
@@ -49,6 +47,7 @@
  mixins: [LanguageMixin],
  data () {
    return {
      activeButton: '',
      record: {
        params: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@@ -110,6 +109,12 @@
  },
  methods: {
    onButtonClick() {
      this.isButtonClicked = true; // 将按钮颜色设置为蓝色
      setTimeout(() => {
        this.isButtonClicked = false; // 重置按钮颜色
      }, 500); // 这里的500毫秒是根据您希望按钮颜色持续多长时间来定的,可以根据需求进行调整
    },
    load () {
      setAll().then(res => {
@@ -232,4 +237,7 @@
th div {
  text-align: center;
}
.blue-button {
  background-color: skyblue;
}
</style>
CanadaMes-ui/src/views/home/index.vue
@@ -151,37 +151,37 @@
                </div>
            </div>
            <div style="display:flex;justify-content: space-around;width: 95%;margin: 0 auto;">
                <el-input style="width:15%;" placeholder="Enter the glass lD" v-model="glassid"></el-input>
                <el-button type="primary" @click="showform()">Manually feed the glass</el-button>
                <el-input style="width:15%;" placeholder="Enter the order number" v-model="order"></el-input>
                <el-button type="warning" @click="showform1();">Exit the glass by order number</el-button>
                <el-input style="width:15%;" :placeholder="$t('Enter the glass lD')" v-model="glassid"></el-input>
                <el-button type="primary" @click="showform()">{{ $t('Manually feed the glass') }}</el-button>
                <el-input style="width:15%;" :placeholder="$t('Enter the order number')" v-model="order"></el-input>
                <el-button type="warning" @click="showform1();">{{ $t('Exit the glass by order number') }}</el-button>
            </div>
            <div>
                <el-table :data="this.tasklist1" border style="width: 100%">
                    <el-table-column prop="glassId" label="Coming out glass ID"></el-table-column>
                    <el-table-column :width="250" prop="cell" label="The Grille number being used"></el-table-column>
                    <el-table-column prop="orderId" label="Order Nmuber"></el-table-column>
                    <el-table-column prop="lengthWidth" label="Length and width"></el-table-column>
                    <el-table-column prop="coating" label="coating"></el-table-column>
                    <el-table-column label="Operate">
                    <el-table-column prop="glassId" :label="$t('Coming out glass ID')"></el-table-column>
                    <el-table-column :width="250" prop="cage" :label="$t('The Cage number being used')"></el-table-column>
                    <el-table-column :width="250" prop="cell" :label="$t('The Grille number being used')"></el-table-column>
                    <el-table-column prop="orderId" :label="$t('Order Nmuber')"></el-table-column>
                    <el-table-column prop="lengthWidth" :label="$t('Length and width')"></el-table-column>
                    <el-table-column prop="coating" :label="$t('coating')"></el-table-column>
                    <el-table-column :label="$t('Operate')">
                        <template slot-scope='scope'>
                            <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                                @click="endtask(0, scope.row.glassId, scope.row.cell)">end
                                task</el-button>
                                @click="endtask(0, scope.row.glassId, scope.row.cell)">{{$t('end task')}}</el-button>
                        </template>
                    </el-table-column>
                </el-table>
                <el-table :data="this.tasklist2" border style="width: 100%">
                    <el-table-column prop="glassId" label="Incoming glass ID"></el-table-column>
                    <el-table-column :width="250" prop="cell" label="The Grille number being used"></el-table-column>
                    <el-table-column prop="orderId" label="Order Nmuber"></el-table-column>
                    <el-table-column prop="lengthWidth" label="Length and width"></el-table-column>
                    <el-table-column prop="coating" label="coating"></el-table-column>
                    <el-table-column label="Operate">
                    <el-table-column prop="glassId" :label="$t('Incoming glass ID')"></el-table-column>
                    <el-table-column :width="250" prop="cage" :label="$t('The Cage number being used')"></el-table-column>
                    <el-table-column :width="250" prop="cell" :label="$t('The Grille number being used')"></el-table-column>
                    <el-table-column prop="orderId" :label="$t('Order Nmuber')"></el-table-column>
                    <el-table-column prop="lengthWidth" :label="$t('Length and width')"></el-table-column>
                    <el-table-column prop="coating" :label="$t('coating')"></el-table-column>
                    <el-table-column :label="$t('Operate')">
                        <template slot-scope='scope'>
                            <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                                @click="endtask(1, scope.row.glassId, scope.row.cell)">end
                                task</el-button>
                                @click="endtask(1, scope.row.glassId, scope.row.cell)">{{$t('end task')}}</el-button>
                        </template>
                    </el-table-column>
                </el-table>
@@ -221,68 +221,67 @@
                <div class="blocks-img" :style="{ left: car2 + 'px', top: '194px' }"></div>
            </div>
        </el-footer>
        <el-dialog :visible.sync="dialogFormVisible" title="Please confirm the information">
        <el-dialog :visible.sync="dialogFormVisible" :title="$t('Please confirm the glass information')">
            <el-form :model="form" label-width="100px" style="padding-right: 30px">
                <el-form-item label="order">
                <el-form-item :label="$t('order')">
                    <el-input v-model="form.orderno" autocomplete="off" />
                </el-form-item>
                <el-form-item label="length">
                <el-form-item :label="$t('length')">
                    <el-input v-model="form.length" autocomplete="off" />
                </el-form-item>
                <el-form-item label="width">
                <el-form-item :label="$t('width')">
                    <el-input v-model="form.width" autocomplete="off" />
                </el-form-item>
                <el-form-item label="coating">
                <el-form-item :label="$t('coating')">
                    <el-input v-model="form.coating" autocomplete="off" />
                </el-form-item>
            </el-form>
            <template #footer>
                <span class="dialog-footer">
                    <el-button @click="cancal()">cancal</el-button>
                    <el-button @click="sbumitglassid()" type="primary">confirm</el-button>
                    <el-button @click="cancal()">{{ $t('cancal') }}</el-button>
                    <el-button @click="sbumitglassid()" type="primary">{{ $t('confirm') }}</el-button>
                </span>
            </template>
        </el-dialog>
        <el-dialog :visible.sync="dialogFormVisible1" title="Ordering Information">
        <el-dialog :visible.sync="dialogFormVisible1" :title="$t('Please confirm the Ordering Information')">
            <el-form :model="form1" label-width="100px" style="padding-right: 30px">
                <el-form-item label="order">
                <el-form-item :label="$t('order')">
                    <el-input v-model="form1.order" autocomplete="off" />
                </el-form-item>
                <el-form-item label="number">
                <el-form-item :label="$t('number')">
                    <el-input v-model="form1.number" autocomplete="off" />
                </el-form-item>
            </el-form>
            <template #footer>
                <span class="dialog-footer">
                    <el-button @click="cancal1()">cancal</el-button>
                    <el-button @click="getOrder();" type="primary">confirm</el-button>
                    <el-button @click="cancal1()">{{ $t('cancal') }}</el-button>
                    <el-button @click="getOrder();" type="primary">{{ $t('confirm') }}</el-button>
                </span>
            </template>
        </el-dialog>
        <el-dialog :visible.sync="dialogFormVisible2" title="Ordering Information">
        <el-dialog :visible.sync="dialogFormVisible2" :title="$t('Alarm Information')">
            <el-table :data="this.alarm" border style="width: 100%;">
                <el-table-column prop="id" label="id"></el-table-column>
                <el-table-column prop="content" label="content"></el-table-column>
                <el-table-column prop="timeons" label="timeon"></el-table-column>
                <el-table-column prop="endTime" label="endTime"></el-table-column>
                <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>
        <el-dialog :visible.sync="dialogFormVisible3" title="Cage Details">
            <el-table :data="this.cageinfo" border style="width: 100%;height: 700px;overflow: auto;">
                <el-table-column :width="150" prop="cage" label="the grille number"></el-table-column>
                <el-table-column prop="cell" label="cell"></el-table-column>
                <el-table-column prop="tier" label="tier"></el-table-column>
                <el-table-column prop="glassId" label="glassid"></el-table-column>
                <el-table-column :width="130" prop="orderId" label="order number"></el-table-column>
                <el-table-column :width="150" prop="lengthWidth" label="length and width"></el-table-column>
                <el-table-column prop="coating" label="coating"></el-table-column>
                <el-table-column :width="150" label="operate">
        <el-dialog :visible.sync="dialogFormVisible3" :title="$t('Cage Details')">
            <el-table :data="this.cageinfo" :height="700" border style="width: 100%;overflow: auto;">
                <el-table-column :width="150" prop="cage" :label="$t('The Cage number')"></el-table-column>
                <el-table-column prop="cell" :label="$t('cell')"></el-table-column>
                <el-table-column prop="tier" :label="$t('tier')"></el-table-column>
                <el-table-column prop="glassId" :label="$t('glassid')"></el-table-column>
                <el-table-column :width="130" prop="orderId" :label="$t('order number')"></el-table-column>
                <el-table-column :width="150" prop="lengthWidth" :label="$t('Length and width')"></el-table-column>
                <el-table-column prop="coating" :label="$t('coating')"></el-table-column>
                <el-table-column :width="140" :label="$t('Operate')">
                    <template slot-scope='scope'>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            @click="deleteglass(scope.row.glassId, scope.row.state)">delete</el-button>
                            @click="deleteglass(scope.row.glassId, scope.row.state)">{{ $t('delete') }}</el-button>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            @click="outglass(scope.row.glassId, scope.row.state)">out</el-button>
                            @click="outglass(scope.row.glassId, scope.row.state)">{{ $t('out') }}</el-button>
                    </template>
                </el-table-column>
            </el-table>
@@ -442,7 +441,9 @@
            if (this.form1.order != "") {
                InsertOrder(this.order).then(res => {
                    if (res.data.message == 200) {
                        this.dialogFormVisible1=false;
                        this.$message.success("Operation successful");
                    } else {
                        this.$message.success("There is no such order");
                    }
@@ -462,7 +463,7 @@
                        this.$message.success("There are currently tasks");
                    }
                    else if(res.data.message2 == 300) {
                        this.$message.success("There is no such grid");
                        this.$message.success("There is no such glass");
                    }
                    else if(res.data.message2 == 400) {
                        this.$message.success("There is no such grid");
CanadaMes-ui/src/views/power/index.vue
@@ -219,7 +219,7 @@
    },
    stateChange(info) {
      saveOrUpdate(info).then(() => {
        this.$message.success("更新状态成功")
      this.$message.success(this.$t('updateSuccessMessage'))
      });
    },
    // 监听添加权限对话框的关闭事件
@@ -236,7 +236,7 @@
          this.getPowerList();
          // 隐藏添加权限对话框
          this.addDialogVisible = false;
          this.$message.success("添加权限成功");
        this.$message.success(this.$t('addSuccessMessage'));
        });
      })
    },
@@ -273,28 +273,29 @@
          this.getPowerList();
          // 隐藏添加权限对话框
          this.editDialogVisible = false;
          this.$message.success("修改权限成功");
        this.$message.success(this.$t('updateSuccessMessage'));
        });
      })
    },
    // 根据id删除权限信息
    removeById(power) {
      // 弹框询问用户是否删除权限
      this.$confirm('此操作将永久删除该权限, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
    this.$confirm(this.$t('deleteConfirmMessage'), this.$t('prompt'), {
      confirmButtonText: this.$t('confirmButtonText'),
      cancelButtonText: this.$t('cancelButtonText'),
        type: 'warning'
      }).then(() => {
        // 删除权限
        removeById({id: power.id}).then(() => {
          // 重新获取权限列表
          this.getPowerList();
          this.$message.success("删除权限成功");
        this.$message.success(this.$t('deleteSuccessMessage'));
        });
      }).catch(() => {
        this.$message.info('已取消删除');
      this.$message.info(this.$t('deleteCancelledMessage'));
      })
    }
  }
}
</script>
CanadaMes-ui/src/views/register/index.vue
@@ -7,28 +7,28 @@
      </div>
      <el-form ref="registerRef" :model="registerForm" label-width="80px" :rules="registerRules"
               class="login_form">
        <el-form-item label="用户名" prop="username">
          <el-input v-model="registerForm.username" placeholder="请输入用户名"></el-input>
  <el-form-item :label="$t('langUsernameLabel')" prop="username">
            <el-input v-model="registerForm.username" :placeholder="$t('langUsernamePlaceholder')"></el-input>
        </el-form-item>
        <el-form-item label="密码" prop="password1">
          <el-input v-model="registerForm.password1" placeholder="请输入密码" type="password"></el-input>
  <el-form-item :label="$t('langPasswordLabel')" prop="password1">
            <el-input v-model="registerForm.password1" :placeholder="$t('langPasswordPlaceholder')" type="password"></el-input>
        </el-form-item>
        <el-form-item label="确认密码" prop="password">
          <el-input v-model="registerForm.password" placeholder="请再次输入用户名" type="password"></el-input>
  <el-form-item :label="$t('langConfirmPasswordLabel')" prop="password">
            <el-input v-model="registerForm.password" :placeholder="$t('langConfirmPasswordPlaceholder')" type="password"></el-input>
        </el-form-item>
        <el-form-item label="邮箱" prop="email">
          <el-input v-model="registerForm.email" placeholder="请输入邮箱" type="text"></el-input>
  <el-form-item :label="$t('langEmailLabel')" prop="email">
            <el-input v-model="registerForm.email" :placeholder="$t('langEmailPlaceholder')" type="text"></el-input>
        </el-form-item>
        <el-form-item label="QQ" prop="qq">
          <el-input v-model="registerForm.qq" placeholder="请输入QQ" type="text"></el-input>
  <el-form-item :label="$t('langQQLabel')" prop="qq">
            <el-input v-model="registerForm.qq" :placeholder="$t('langQQPlaceholder')" type="text"></el-input>
        </el-form-item>
        <el-form-item label="手机号码" prop="phone">
          <el-input v-model="registerForm.phone" placeholder="请输入手机号码" type="text"></el-input>
  <el-form-item :label="$t('langPhoneNumberLabel')" prop="phone">
            <el-input v-model="registerForm.phone" :placeholder="$t('langPhoneNumberPlaceholder')" type="text"></el-input>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="register">注册</el-button>
          <el-button @click="reset">重设</el-button>
          <el-button @click="toLogin">取消</el-button>
  <el-button type="primary" @click="register">{{$t('langRegisterButton')}}</el-button>
            <el-button @click="reset">{{$t('langResetButton')}}</el-button>
  <el-button @click="toLogin">{{$t('langCancelButton')}}</el-button>
        </el-form-item>
      </el-form>
    </div>
@@ -37,9 +37,11 @@
<script>
import {register} from '../../api/user'
  import LanguageMixin from '../../lang/LanguageMixin'
export default {
  name: 'Register',
  mixins: [LanguageMixin],
  data() {
    // 自定义校验规则
    const validatePassword = (rule, value, callback) => {
@@ -84,10 +86,10 @@
      })
    },
    reset() {
      this.$refs['registerRef'].resetFields();
  this.refs['registerRef'].resetFields();
    },
    toLogin() {
      this.$router.push('/login')
        this.router.push('/login')
    }
  }
}
CanadaMes-ui/src/views/user/index.vue
@@ -40,7 +40,7 @@
            </el-switch>
          </template>
        </el-table-column>
        <el-table-column label="操作">
        <el-table-column :label="$t('langOperation')">
          <template slot-scope="scope">
            <el-button type="primary" icon="el-icon-refresh" @click="resetPassword(scope.row)">
@@ -241,14 +241,14 @@
      });
    },
    resetPassword (info) {
      this.$confirm('确认重置密码为默认值吗?', '重置密码', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
  this.$confirm(this.$t('confirmResetPassword'), this.$t('resetPassword'), {
    confirmButtonText: this.$t('confirm'),
    cancelButtonText: this.$t('cancel'),
        type: 'warning',
      })
        .then(() => {
          resetPass(info).then(() => {
            this.$message.success('密码已重置为默认值');
        this.$message.success(this.$t('passwordResetSuccess'));
          });
        })
        .catch(() => {
@@ -261,25 +261,24 @@
        this.editDialogVisible = true;
      });
      select().then(res => {
        this.roleList = res.data;
      });
    },
    removeUserById (user) {
      // 弹框询问用户是否删除分类
      this.$confirm('此操作将永久删除该分类, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
  this.$confirm(this.$t('confirmDeleteCategory'), this.$t('prompt'), {
    confirmButtonText: this.$t('confirm'),
    cancelButtonText: this.$t('cancel'),
        type: 'warning'
      }).then(() => {
        removeById({ id: user.id }).then(() => {
          // 重新获取分类列表
          this.getUserList();
          this.$message.success("删除用户成功");
      this.$message.success(this.$t('userDeleteSuccess'));
        });
      }).catch(() => {
        this.$message.info('已取消删除');
    this.$message.info(this.$t('deleteCanceled'));
      });
    },
    handleSizeChange (newSize) {
@@ -297,7 +296,8 @@
      this.$refs.addUserRef.validate(async valid => {
        if (!valid) return;
        saveOrUpdate(this.addUserForm).then(() => {
          this.$message.success("添加用户成功");
      const successMessage = this.$t('addUserSuccess');
      this.$message.success(successMessage);
          // 隐藏添加分类对话框
          this.addDialogVisible = false;
          // 重新获取分类列表
@@ -310,8 +310,8 @@
        if (!valid) return;
        saveOrUpdate(this.editUserForm).then(() => {
          const 修改用户成功 = this.$t('修改用户成功');
          this.$message.success(修改用户成功);
      const successMessage = this.$t('editUserSuccess');
      this.$message.success(successMessage);
          // 隐藏添加分类对话框
          this.editDialogVisible = false;
          // 重新获取分类列表
CanadaMes-ui/vue.config.js
@@ -13,6 +13,7 @@
                pathRewrite: {
                    '^/api': ''
                }
            }
        }
    },
springboot-vue3/.idea/artifacts/springboot_vue3_war.xml
New file
@@ -0,0 +1,14 @@
<component name="ArtifactManager">
  <artifact type="war" name="springboot-vue3:war">
    <output-path>$PROJECT_DIR$/target</output-path>
    <properties id="maven-jee-properties">
      <options>
        <module>springboot-vue3</module>
        <packaging>war</packaging>
      </options>
    </properties>
    <root id="archive" name="springboot-vue3-0.0.1-SNAPSHOT.war">
      <element id="artifact" artifact-name="springboot-vue3:war exploded" />
    </root>
  </artifact>
</component>
springboot-vue3/.idea/artifacts/springboot_vue3_war_exploded.xml
New file
@@ -0,0 +1,150 @@
<component name="ArtifactManager">
  <artifact type="exploded-war" name="springboot-vue3:war exploded">
    <output-path>$PROJECT_DIR$/target/springboot-vue3-0.0.1-SNAPSHOT</output-path>
    <properties id="maven-jee-properties">
      <options>
        <exploded>true</exploded>
        <module>springboot-vue3</module>
        <packaging>war</packaging>
      </options>
    </properties>
    <root id="root">
      <element id="directory" name="WEB-INF">
        <element id="directory" name="classes">
          <element id="module-output" name="springboot-vue3" />
        </element>
        <element id="directory" name="lib">
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter-web:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: ch.qos.logback:logback-classic:1.2.3" />
          <element id="library" level="project" name="Maven: ch.qos.logback:logback-core:1.2.3" />
          <element id="library" level="project" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" />
          <element id="library" level="project" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" />
          <element id="library" level="project" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" />
          <element id="library" level="project" name="Maven: org.yaml:snakeyaml:1.26" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter-json:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.1" />
          <element id="library" level="project" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.1" />
          <element id="library" level="project" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.1" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.37" />
          <element id="library" level="project" name="Maven: org.glassfish:jakarta.el:3.0.3" />
          <element id="library" level="project" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.37" />
          <element id="library" level="project" name="Maven: org.springframework:spring-web:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-beans:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-webmvc:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-aop:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-context:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-expression:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: mysql:mysql-connector-java:8.0.21" />
          <element id="library" level="project" name="Maven: net.bytebuddy:byte-buddy:1.10.13" />
          <element id="library" level="project" name="Maven: org.springframework:spring-core:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-jcl:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: cn.hutool:hutool-all:5.5.4" />
          <element id="library" level="project" name="Maven: org.hibernate.validator:hibernate-validator:6.1.5.Final" />
          <element id="library" level="project" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" />
          <element id="library" level="project" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" />
          <element id="library" level="project" name="Maven: com.fasterxml:classmate:1.5.1" />
          <element id="library" level="project" name="Maven: io.jsonwebtoken:jjwt-api:0.10.7" />
          <element id="library" level="project" name="Maven: io.jsonwebtoken:jjwt-impl:0.10.7" />
          <element id="library" level="project" name="Maven: io.jsonwebtoken:jjwt-jackson:0.10.7" />
          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.1" />
          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.1" />
          <element id="library" level="project" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.1" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-spring-boot-starter:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-spring:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-core:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-lang:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-cache:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-crypto-hash:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-crypto-core:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-crypto-cipher:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-config-core:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-config-ogdl:1.8.0" />
          <element id="library" level="project" name="Maven: commons-beanutils:commons-beanutils:1.9.4" />
          <element id="library" level="project" name="Maven: commons-collections:commons-collections:3.2.2" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-event:1.8.0" />
          <element id="library" level="project" name="Maven: org.apache.shiro:shiro-web:1.8.0" />
          <element id="library" level="project" name="Maven: org.owasp.encoder:encoder:1.2.2" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.2.0" />
          <element id="library" level="project" name="Maven: com.baomidou:mybatis-plus:3.2.0" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: com.zaxxer:HikariCP:3.4.5" />
          <element id="library" level="project" name="Maven: org.springframework:spring-jdbc:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-tx:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: com.baomidou:mybatis-plus-core:3.2.0" />
          <element id="library" level="project" name="Maven: com.baomidou:mybatis-plus-annotation:3.2.0" />
          <element id="library" level="project" name="Maven: com.github.jsqlparser:jsqlparser:2.1" />
          <element id="library" level="project" name="Maven: org.mybatis:mybatis:3.5.2" />
          <element id="library" level="project" name="Maven: com.baomidou:mybatis-plus-generator:3.2.0" />
          <element id="library" level="project" name="Maven: com.baomidou:mybatis-plus-extension:3.2.0" />
          <element id="library" level="project" name="Maven: org.mybatis:mybatis-spring:2.0.2" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter-freemarker:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: org.freemarker:freemarker:2.3.30" />
          <element id="library" level="project" name="Maven: org.springframework:spring-context-support:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: io.springfox:springfox-swagger2:2.9.2" />
          <element id="library" level="project" name="Maven: io.swagger:swagger-annotations:1.5.20" />
          <element id="library" level="project" name="Maven: io.swagger:swagger-models:1.5.20" />
          <element id="library" level="project" name="Maven: io.springfox:springfox-spi:2.9.2" />
          <element id="library" level="project" name="Maven: io.springfox:springfox-core:2.9.2" />
          <element id="library" level="project" name="Maven: io.springfox:springfox-schema:2.9.2" />
          <element id="library" level="project" name="Maven: io.springfox:springfox-swagger-common:2.9.2" />
          <element id="library" level="project" name="Maven: io.springfox:springfox-spring-web:2.9.2" />
          <element id="library" level="project" name="Maven: com.google.guava:guava:20.0" />
          <element id="library" level="project" name="Maven: org.slf4j:slf4j-api:1.7.30" />
          <element id="library" level="project" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" />
          <element id="library" level="project" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" />
          <element id="library" level="project" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" />
          <element id="library" level="project" name="Maven: com.deepoove:poi-tl:1.12.1" />
          <element id="library" level="project" name="Maven: org.apache.commons:commons-lang3:3.10" />
          <element id="library" level="project" name="Maven: org.apache.poi:poi-ooxml:5.2.2" />
          <element id="library" level="project" name="Maven: org.apache.poi:poi:5.2.2" />
          <element id="library" level="project" name="Maven: commons-codec:commons-codec:1.14" />
          <element id="library" level="project" name="Maven: org.apache.commons:commons-math3:3.6.1" />
          <element id="library" level="project" name="Maven: com.zaxxer:SparseBitSet:1.2" />
          <element id="library" level="project" name="Maven: org.apache.poi:poi-ooxml-lite:5.2.2" />
          <element id="library" level="project" name="Maven: org.apache.xmlbeans:xmlbeans:5.0.3" />
          <element id="library" level="project" name="Maven: org.apache.commons:commons-compress:1.21" />
          <element id="library" level="project" name="Maven: commons-io:commons-io:2.11.0" />
          <element id="library" level="project" name="Maven: com.github.virtuald:curvesapi:1.07" />
          <element id="library" level="project" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" />
          <element id="library" level="project" name="Maven: org.apache.commons:commons-collections4:4.4" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-transcoder:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-anim:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-css:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-ext:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-parser:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-svg-dom:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-awt-util:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:xmlgraphics-commons:2.6" />
          <element id="library" level="project" name="Maven: commons-logging:commons-logging:1.0.4" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-bridge:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-script:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-dom:1.14" />
          <element id="library" level="project" name="Maven: xml-apis:xml-apis:1.4.01" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-gvt:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-shared-resources:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-svggen:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-util:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-constants:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-i18n:1.14" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-xml:1.14" />
          <element id="library" level="project" name="Maven: xml-apis:xml-apis-ext:1.3.04" />
          <element id="library" level="project" name="Maven: org.apache.xmlgraphics:batik-codec:1.14" />
          <element id="library" level="project" name="Maven: org.springframework.boot:spring-boot-starter-websocket:2.3.2.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-messaging:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: org.springframework:spring-websocket:5.2.8.RELEASE" />
          <element id="library" level="project" name="Maven: com.github.xingshuangs:iot-communication:1.4.2" />
        </element>
      </element>
      <element id="directory" name="META-INF">
        <element id="file-copy" path="$PROJECT_DIR$/target/springboot-vue3-0.0.1-SNAPSHOT/META-INF/MANIFEST.MF" />
      </element>
      <element id="javaee-facet-resources" facet="springboot-vue3/web/Web" />
    </root>
  </artifact>
</component>
springboot-vue3/.idea/misc.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="FrameworkDetectionExcludesConfiguration">
    <file type="web" url="file://$PROJECT_DIR$" />
  </component>
  <component name="MavenProjectsManager">
    <option name="originalFiles">
      <list>
springboot-vue3/pom.xml
@@ -9,12 +9,13 @@
        <version>2.3.2.RELEASE</version>
        <relativePath/>
    </parent>
<!--    <packaging>war</packaging>-->
    <groupId>com.canadames</groupId>
    <artifactId>canadames</artifactId>
    <groupId>com.springboot-vue3</groupId>
    <artifactId>springboot-vue3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>canadames</name>
    <description>canadames System</description>
    <name>springboot-vue3</name>
    <description>springboot-vue3 System</description>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
springboot-vue3/springboot-vue3.iml
@@ -3,7 +3,9 @@
  <component name="FacetManager">
    <facet type="web" name="Web">
      <configuration>
        <webroots />
        <webroots>
          <root url="file://$MODULE_DIR$/src/main/webapp" relative="/" />
        </webroots>
        <sourceRoots>
          <root url="file://$MODULE_DIR$/src/main/java" />
          <root url="file://$MODULE_DIR$/src/main/resources" />
springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java
@@ -6,7 +6,9 @@
import com.example.springboot.component.WebSocketServer;
@SpringBootApplication
public class AuthorityApplication {
  public static void main(String[] args) {
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -43,6 +43,7 @@
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
    
      spianService.selectout("11");  
      //判断进片请求 
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java
@@ -15,11 +15,12 @@
                e.printStackTrace();
            }
            List<Short> paramlist = S7control.getinstance().ReadWord("DB100.DBW", 12);
            List<Short> arraylist = S7control.getinstance().ReadWord("DB100.DBW0", 12);
            List<Short> state = S7control.getinstance().ReadWord("DB103.DBW0", 10);
            JSONObject jsonObject = new JSONObject();
            jsonObject.append("params", new short[]{1111,121, 3232, 0, 1, 0, 1, 0, 1, 0, 1, 0});
            jsonObject.append("state", new short[]{0, 1, 0, 0, 0, 0, 0,0, 0, 0});
//            new short[]{1111,121, 3232, 0, 1, 0, 1, 0, 1, 0, 1, 0}
            jsonObject.append("params",  arraylist );
            jsonObject.append("state", state);
            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
            if (sendwServer != null) {
                sendwServer.sendMessage(jsonObject.toString());
springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java
@@ -21,9 +21,9 @@
//      JSONObject jsonObject = new JSONObject();
//      jsonObject.append("params", new short[]{1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0});
//      List<Boolean> paramlist = S7control.getinstance().ReadBits("DB100.DBW", 12);
      Boolean[] values = {false, true,false, true,false, true,false, true,false, true,false, true,false, true,false, true,false, true,false, true,false, true};
      List<Boolean> paramlist = new ArrayList<>(Arrays.asList(values));
 List<Boolean> paramlist = S7control.getinstance().ReadBits("DB2.DBX0.0 ", 26);
//      Boolean[] values = {true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,false, true};
//      List<Boolean> paramlist = new ArrayList<>(Arrays.asList(values));
      if (paramlist == null) {
      } else {
@@ -70,7 +70,7 @@
            // 将消息值转换为布尔列表
            List<Boolean> messageBooleans = new ArrayList<>();
            for (Integer value : messageValues) {
              messageBooleans.add(value == 0 ? true : false);
              messageBooleans.add(value == 1 ? true : false);
            }
            // 将布尔列表写入 PLC
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -17,7 +17,7 @@
    public void run() {
        while (this != null) {
            try {
                Thread.sleep(10000);
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -25,10 +25,14 @@
    //
    System.out.println("启动完成");
    // new PlcHold().start();
    new Plcaction().start();
    new PlcParameter().start();
    new PlcHold().start();  
    new Plcaction().start();
    new Plchome().start();
    new PlcParameter().start();
springboot-vue3/src/main/java/com/example/springboot/controller/DefaultController.java
@@ -24,14 +24,12 @@
import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
@RestController
@Slf4j
@Api(tags = "登录和注册")
public class DefaultController {
@@ -57,6 +55,7 @@
    }
    @ApiOperation(value = "登录")
    @CrossOrigin(origins = "http://localhost:8080", allowCredentials = "true")
    @PostMapping("/login")
    public Result login(@RequestBody UserVo userVO) {
        ValidatorUtil.validateEntity(userVO);
springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java
@@ -67,4 +67,6 @@
            e.printStackTrace();
        }
    }
}
springboot-vue3/src/main/resources/application.properties
@@ -12,7 +12,7 @@
#\u6570\u636E\u5E93\u7528\u6237\u5BC6\u7801  
spring.datasource.password=beibo.123/
#\u6620\u5C04\u6587\u4EF6\u7684\u4F4D\u7F6E
mybatis-plus.mapper-locations=classpath:com/example/springboot/dao/*Dao.xml
mybatis-plus.mapper-locations=classpath:com/example/springboot/mapper/*Mapper.xml
#\u7C7B\u578B\u522B\u540D
mybatis-plus.type-aliases-package=com.example.springboot.entity
#\u914D\u7F6Esql\u6253\u5370
@@ -22,3 +22,8 @@
#\u683C\u5F0F\u5316date\u65E5\u671F\u683C\u5F0F
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.mvc.cors.enabled=true
spring.mvc.cors.allowed-origins=http://localhost:8080
spring.mvc.cors.allowed-methods=GET,POST
spring.mvc.cors.allowed-headers=*
springboot-vue3/src/main/resources/sql/canadames.sql
@@ -1,21 +1,79 @@
/*
 Navicat MySQL Data Transfer
 Source Server         : 本地
 Source Server         : server-150
 Source Server Type    : MySQL
 Source Server Version : 80022
 Source Host           : localhost:3306
 Source Server Version : 80019
 Source Host           : 10.153.19.150:3306
 Source Schema         : canadames
 Target Server Type    : MySQL
 Target Server Version : 80022
 Target Server Version : 80019
 File Encoding         : 65001
 Date: 05/09/2023 16:20:45
 Date: 13/09/2023 09:22:22
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for alarmmg
-- ----------------------------
DROP TABLE IF EXISTS `alarmmg`;
CREATE TABLE `alarmmg`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报警信息',
  `timeon` datetime(0) NULL DEFAULT NULL COMMENT '开始时间',
  `endTime` datetime(0) NULL DEFAULT NULL COMMENT '结束时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1338 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of alarmmg
-- ----------------------------
INSERT INTO `alarmmg` VALUES (1, 'D01 VFD error', '2023-09-11 10:07:17', '2023-09-11 10:07:51');
INSERT INTO `alarmmg` VALUES (2, 'D02 VFD error', '2023-09-07 10:07:17', '2023-09-07 10:07:51');
INSERT INTO `alarmmg` VALUES (1338, 'D02 VFD error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1339, 'D04 VFD error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1340, 'D06 VFD error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1341, 'B02 VFD error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1342, 'A02 VFD error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1343, 'A02 servo turn error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1344, 'A02 servo travel error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1345, 'B02 servo travel error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1346, 'D01 pos error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1347, 'D02 pos error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1348, 'D03 pos error', '2023-09-12 16:10:32', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1349, 'D04 pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1350, 'D05 pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1351, 'D06 pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1352, 'A01 pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1353, 'A02 pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1354, 'B01 IN pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1355, 'B01 OUT pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1356, 'B02 IN pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1357, 'B02 OUT pos error', '2023-09-12 16:16:48', '2023-09-12 16:22:36');
INSERT INTO `alarmmg` VALUES (1358, 'D01 VFD error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1359, 'D03 VFD error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1360, 'D05 VFD error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1361, 'B01 VFD error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1362, 'A01 VFD error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1363, 'A01 servo turn error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1364, 'A01 servo travel error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1365, 'B01 servo travel error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1366, 'D01 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1367, 'D02 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1368, 'D03 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1369, 'D04 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1370, 'D05 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1371, 'D06 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1372, 'A01 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1373, 'A02 DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1374, 'B01 IN DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1375, 'B01 OUT DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1376, 'B02 IN DEC error', '2023-09-12 16:22:36', NULL);
INSERT INTO `alarmmg` VALUES (1377, 'B02 OUT DEC error', '2023-09-12 16:22:36', NULL);
-- ----------------------------
-- Table structure for category
@@ -32,7 +90,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 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
@@ -62,7 +120,7 @@
  `last_product_count_date` date NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `device_id_idx`(`device_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 47 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of device
@@ -82,6 +140,26 @@
INSERT INTO `device` VALUES (46, 'FS220666-AU1B60', 'admin', '2023-04-04 11:38:34', '张勇AU1B60', '未启用', '{\"Ver\":\"1.0\",\"iTopDos\":[96],\"iTopRightMerge\":[],\"iBtmEnd\":[],\"iTopFront\":[],\"iBtmRow\":[12],\"iBtmLeftMerge\":[],\"iTopLeftMerge\":[],\"iTopColumn\":[8],\"iBtmDos\":[96],\"iBtmSingline\":[],\"iBtmFront\":[],\"iBtmRightMerge\":[],\"InterfaceName\":\"IDeviceInfor\",\"iTopEnd\":[],\"iTopRow\":[12],\"iTopSingline\":[],\"DeviceName\":\"FS220666-AU1B60\",\"iBtmColumn\":[8]}', '{\"Ver\":\"1.0\",\"Datas\":[{\"Binding\":\"Datas[0]\",\"Unit\":\"\",\"Name\":\"CurrentStatus\"},{\"Binding\":\"Datas[1]\",\"Unit\":\"℃\",\"Name\":\"RtTemperature\"},{\"Binding\":\"Datas[2]\",\"Unit\":\"%\",\"Name\":\"PvPower\"},{\"Binding\":\"Datas[3]\",\"Unit\":\"kw\",\"Name\":\"CurveTotalPower\"}],\"Segments\":[{\"Type\":\"O\",\"Controls\":[{\"Binding\":\"GlassLength[0]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":3,\"Unit\":\"mm\",\"Font\":\"黑体 14px black\",\"Name\":\"ToolGlassLength\"},{\"Binding\":\"YieldCount[0]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":4,\"Unit\":\"\",\"Font\":\"黑体 14px black\",\"Name\":\"GlassOutPut\"}],\"Width\":0.25,\"Name\":\"Load\"},{\"Type\":\"F\",\"Controls\":[{\"Binding\":\"GlassLength[1]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":3,\"Unit\":\"mm\",\"Font\":\"黑体 14px black\",\"Name\":\"ToolGlassLength\"},{\"Binding\":\"TopHeatFansFrequency[0]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":0,\"Unit\":\"Hz\",\"Font\":\"黑体 14px black\",\"Name\":\"\"},{\"Binding\":\"BtmHeatFansFrequency[0]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":4,\"Unit\":\"Hz\",\"Font\":\"黑体 14px black\",\"Name\":\"\"}],\"Width\":0.25,\"Name\":\"炉体段\"},{\"Type\":\"Q\",\"Controls\":[{\"Binding\":\"GlassLength[2]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":3,\"Unit\":\"mm\",\"Font\":\"黑体 14px black\",\"Name\":\"ToolGlassLength\"},{\"Binding\":\"TopQuenchDist[0]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":0,\"Unit\":\"mm\",\"Font\":\"黑体 14px black\",\"Name\":\"\"},{\"Binding\":\"BtmQuenchDist[0]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":4,\"Unit\":\"mm\",\"Font\":\"黑体 14px black\",\"Name\":\"\"}],\"Width\":0.25,\"Name\":\"风栅段\"},{\"Type\":\"O\",\"Controls\":[{\"Binding\":\"GlassLength[3]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":3,\"Unit\":\"mm\",\"Font\":\"黑体 14px black\",\"Name\":\"ToolGlassLength\"},{\"Binding\":\"YieldCount[1]\",\"Col\":1,\"Type\":\"var\",\"Foreground\":\"black\",\"Row\":4,\"Unit\":\"\",\"Font\":\"黑体 14px black\",\"Name\":\"GlassOutPut\"}],\"Width\":0.25,\"Name\":\"下片段\"}],\"InterfaceName\":\"IDeviceMapInfor\",\"DeviceName\":\"FS220666-AU1B60\"}', '2023-04-04 11:38:34', '', '', '2023-04-04', '2023-04-04', NULL, NULL, NULL);
-- ----------------------------
-- Table structure for glass
-- ----------------------------
DROP TABLE IF EXISTS `glass`;
CREATE TABLE `glass`  (
  `id` int NOT NULL AUTO_INCREMENT,
  `glassid` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `orderid` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `width` decimal(10, 2) NULL DEFAULT NULL,
  `height` decimal(10, 2) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of glass
-- ----------------------------
INSERT INTO `glass` VALUES (1, '001', '1145', 1400.00, 1200.00);
INSERT INTO `glass` VALUES (2, '002', '1145', 1500.00, 1100.00);
INSERT INTO `glass` VALUES (3, '112', '1145', 1220.00, 1500.00);
-- ----------------------------
-- Table structure for menu_list
-- ----------------------------
DROP TABLE IF EXISTS `menu_list`;
@@ -96,7 +174,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 61 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 61 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of menu_list
@@ -106,12 +184,32 @@
INSERT INTO `menu_list` VALUES (5, NULL, '权限管理', 'el-icon-collection-tag', 5, '', 1, '2021-11-28 14:30:27', '2021-11-28 15:06:04');
INSERT INTO `menu_list` VALUES (6, NULL, '角色管理', 'el-icon-s-flag', 6, '', 1, '2021-11-28 14:30:27', '2021-11-28 15:06:04');
INSERT INTO `menu_list` VALUES (7, 1, '用户列表', '', 7, 'user', 1, '2021-11-28 14:30:27', '2021-11-28 15:06:04');
INSERT INTO `menu_list` VALUES (8, 9, '主页', 'el-icon-menu', 8, 'home', 1, '2023-09-08 10:56:12', '2023-09-08 11:02:36');
INSERT INTO `menu_list` VALUES (9, NULL, '主页', 'el-icon-menu', 0, 'home', 1, '2023-09-08 10:43:34', '2023-09-08 11:02:32');
INSERT INTO `menu_list` VALUES (11, 5, '权限列表', '', 11, 'power', 1, '2021-11-28 14:30:28', '2021-11-28 15:06:04');
INSERT INTO `menu_list` VALUES (12, 6, '角色列表', '', 12, 'role', 1, '2021-11-28 14:30:28', '2021-11-28 15:06:04');
INSERT INTO `menu_list` VALUES (49, 2, '报警信息', '', 49, 'Electrical/Action', 1, '2021-11-28 14:30:28', '2023-09-01 16:33:29');
INSERT INTO `menu_list` VALUES (51, 2, 'I/O状态', NULL, 51, 'Electrical/State', 1, '2023-08-25 13:29:13', '2023-09-01 16:34:03');
INSERT INTO `menu_list` VALUES (52, 2, '开关控制', NULL, 52, 'Electrical/Sign', 1, '2023-08-25 13:29:18', '2023-09-01 16:33:48');
INSERT INTO `menu_list` VALUES (49, 2, '报警信息', '', 49, 'Electrical/alarm', 1, '2021-11-28 14:30:28', '2023-09-08 11:14:08');
INSERT INTO `menu_list` VALUES (51, 2, '设备状态', NULL, 51, 'Electrical/State', 1, '2023-08-25 13:29:13', '2023-09-11 17:07:08');
INSERT INTO `menu_list` VALUES (52, 2, '开关控制', NULL, 52, 'Electrical/Action', 1, '2023-08-25 13:29:18', '2023-09-12 17:02:54');
INSERT INTO `menu_list` VALUES (53, 2, '参数下发', NULL, 53, 'Electrical/Parameter', 1, '2023-08-25 13:29:22', '2023-09-01 16:32:29');
INSERT INTO `menu_list` VALUES (54, 2, 'IO状态', NULL, 53, 'Electrical/Sign', 1, '2023-08-25 13:29:22', '2023-09-11 17:06:16');
-- ----------------------------
-- Table structure for order_out
-- ----------------------------
DROP TABLE IF EXISTS `order_out`;
CREATE TABLE `order_out`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '序号',
  `order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单号',
  `state` int NULL DEFAULT NULL COMMENT '状态(0:按此订单号出片,1结束出片)',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of order_out
-- ----------------------------
INSERT INTO `order_out` VALUES (1, 'NG2202302', 1);
INSERT INTO `order_out` VALUES (2, 'NG2202302', 0);
-- ----------------------------
-- Table structure for permission
@@ -125,7 +223,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '权限' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '权限' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of permission
@@ -167,13 +265,13 @@
  `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 = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of role
-- ----------------------------
INSERT INTO `role` VALUES (1, NULL, 'admin', '系统管理员', 1, '2021-01-10 22:49:17', '2021-03-29 15:19:15');
INSERT INTO `role` VALUES (2, 1, 'user', '普通用户', 1, '2021-01-13 00:28:58', '2021-03-29 15:19:15');
INSERT INTO `role` VALUES (2, 1, 'user2', '普通用户', 1, '2021-01-13 00:28:58', '2021-03-29 15:19:15');
INSERT INTO `role` VALUES (5, 1, 'user3', '777', 1, '2023-08-24 10:02:58', '2023-08-28 14:28:22');
-- ----------------------------
@@ -188,7 +286,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 54 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 57 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of role_menu_list
@@ -231,6 +329,9 @@
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');
-- ----------------------------
-- Table structure for role_permission
@@ -244,7 +345,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限' ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of role_permission
@@ -293,9 +394,452 @@
INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (70, 2, 27, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (71, 2, 28, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
INSERT INTO `role_permission` VALUES (72, 2, 30, 1, '2023-08-24 08:55:34', '2023-08-24 08:55:34');
INSERT INTO `role_permission` VALUES (73, 2, 29, 1, '2023-08-24 08:56:15', '2023-08-28 15:33:14');
INSERT INTO `role_permission` VALUES (72, 2, 30, 0, '2023-08-24 08:55:34', '2023-08-24 08:55:34');
INSERT INTO `role_permission` VALUES (73, 2, 29, 0, '2023-08-24 08:56:15', '2023-08-28 15:33:14');
INSERT INTO `role_permission` VALUES (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-08-30 16:29:46');
-- ----------------------------
-- Table structure for storage_cage
-- ----------------------------
DROP TABLE IF EXISTS `storage_cage`;
CREATE TABLE `storage_cage`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '序号',
  `glass_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '玻璃id',
  `order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '订单id',
  `cage` int NULL DEFAULT NULL COMMENT '笼子id',
  `cell` int NULL DEFAULT NULL COMMENT '格子id',
  `tier` int NULL DEFAULT NULL COMMENT '格子层id',
  `width` decimal(7, 2) NULL DEFAULT NULL COMMENT '格子宽',
  `glasswidth` decimal(7, 2) NULL DEFAULT NULL COMMENT '玻璃宽',
  `glassheight` decimal(7, 2) NULL DEFAULT NULL COMMENT '玻璃高',
  `state` int NULL DEFAULT NULL COMMENT '状态(0:无玻璃,1:有玻璃,2:进片中,3:出片中,4:调度中)',
  `coating` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '涂层',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 421 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of storage_cage
-- ----------------------------
INSERT INTO `storage_cage` VALUES (1, NULL, NULL, 1, 1, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (2, NULL, NULL, 1, 1, 2, 1760.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (3, NULL, NULL, 1, 2, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (4, NULL, NULL, 1, 2, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (5, NULL, NULL, 1, 3, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (6, NULL, NULL, 1, 3, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (7, NULL, NULL, 1, 4, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (8, NULL, NULL, 1, 4, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (9, NULL, NULL, 1, 5, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (10, NULL, NULL, 1, 5, 2, 1600.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (11, NULL, NULL, 1, 6, 1, 1600.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (12, '12', 'NG2202301', 1, 6, 2, 1602.00, 0.00, 2.00, 2, '2');
INSERT INTO `storage_cage` VALUES (13, NULL, NULL, 1, 7, 1, 1600.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (14, '122', 'NG2202302', 1, 7, 2, 1500.00, 2.00, 2.00, 3, '3');
INSERT INTO `storage_cage` VALUES (15, NULL, NULL, 1, 8, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (16, NULL, NULL, 1, 8, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (17, NULL, NULL, 1, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (18, NULL, NULL, 1, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (19, NULL, NULL, 1, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (20, NULL, NULL, 1, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (21, NULL, NULL, 1, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (22, NULL, NULL, 1, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (23, NULL, NULL, 1, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (24, NULL, NULL, 1, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (25, NULL, NULL, 1, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (26, NULL, NULL, 1, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (27, NULL, NULL, 1, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (28, NULL, NULL, 1, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (29, NULL, NULL, 1, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (30, NULL, NULL, 1, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (31, NULL, NULL, 1, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (32, NULL, NULL, 1, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (33, NULL, NULL, 1, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (34, NULL, NULL, 1, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (35, NULL, NULL, 1, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (36, NULL, NULL, 1, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (37, NULL, NULL, 1, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (38, NULL, NULL, 1, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (39, NULL, NULL, 1, 20, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (40, NULL, NULL, 1, 20, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (41, NULL, NULL, 1, 21, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (42, NULL, NULL, 1, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (43, NULL, NULL, 2, 1, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (44, NULL, NULL, 2, 1, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (45, NULL, NULL, 2, 2, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (46, NULL, NULL, 2, 2, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (47, NULL, NULL, 2, 3, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (48, NULL, NULL, 2, 3, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (49, '112', '1145', 2, 4, 1, 330.00, 1220.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (50, NULL, NULL, 2, 4, 2, 1550.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (51, NULL, NULL, 2, 5, 1, 1550.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (52, NULL, NULL, 2, 5, 2, 1550.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (53, NULL, NULL, 2, 6, 1, 1550.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (54, NULL, NULL, 2, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (55, NULL, NULL, 2, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (56, NULL, NULL, 2, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (57, NULL, NULL, 2, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (58, NULL, NULL, 2, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (59, NULL, NULL, 2, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (60, NULL, NULL, 2, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (61, NULL, NULL, 2, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (62, NULL, NULL, 2, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (63, NULL, NULL, 2, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (64, NULL, NULL, 2, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (65, NULL, NULL, 2, 12, 1, 1760.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (66, NULL, NULL, 2, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (67, NULL, NULL, 2, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (68, NULL, NULL, 2, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (69, NULL, NULL, 2, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (70, NULL, NULL, 2, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (71, NULL, NULL, 2, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (72, NULL, NULL, 2, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (73, NULL, NULL, 2, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (74, NULL, NULL, 2, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (75, NULL, NULL, 2, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (76, NULL, NULL, 2, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (77, NULL, NULL, 2, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (78, NULL, NULL, 2, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (79, NULL, NULL, 2, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (80, NULL, NULL, 2, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (81, NULL, NULL, 2, 20, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (82, NULL, NULL, 2, 20, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (83, NULL, NULL, 2, 21, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (84, NULL, NULL, 2, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (85, NULL, NULL, 3, 1, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (86, NULL, NULL, 3, 1, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (87, NULL, NULL, 3, 2, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (88, '116', '112', 3, 2, 2, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (89, '117', '112', 3, 3, 1, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (90, '118', '112', 3, 3, 2, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (91, '119', '112', 3, 4, 1, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (92, '120', '112', 3, 4, 2, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (93, '121', '112', 3, 5, 1, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (94, '', '', 3, 5, 2, 2700.00, 0.00, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (95, NULL, NULL, 3, 6, 1, 280.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (96, NULL, NULL, 3, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (97, NULL, NULL, 3, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (98, NULL, NULL, 3, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (99, NULL, NULL, 3, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (100, NULL, NULL, 3, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (101, NULL, NULL, 3, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (102, NULL, NULL, 3, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (103, NULL, NULL, 3, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (104, NULL, NULL, 3, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (105, NULL, NULL, 3, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (106, NULL, NULL, 3, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (107, NULL, NULL, 3, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (108, NULL, NULL, 3, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (109, NULL, NULL, 3, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (110, NULL, NULL, 3, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (111, NULL, NULL, 3, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (112, NULL, NULL, 3, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (113, NULL, NULL, 3, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (114, NULL, NULL, 3, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (115, NULL, NULL, 3, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (116, NULL, NULL, 3, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (117, NULL, NULL, 3, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (118, NULL, NULL, 3, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (119, NULL, NULL, 3, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (120, NULL, NULL, 3, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (121, NULL, NULL, 3, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (122, NULL, NULL, 3, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (123, NULL, NULL, 3, 20, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (124, NULL, NULL, 3, 20, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (125, NULL, NULL, 3, 21, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (126, NULL, NULL, 3, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (127, NULL, NULL, 4, 1, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (128, NULL, NULL, 4, 1, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (129, NULL, NULL, 4, 2, 1, 1550.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (130, NULL, NULL, 4, 2, 2, 1550.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (131, NULL, NULL, 4, 3, 1, 1550.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (132, NULL, NULL, 4, 3, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (133, NULL, NULL, 4, 4, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (134, NULL, NULL, 4, 4, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (135, NULL, NULL, 4, 5, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (136, NULL, NULL, 4, 5, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (137, NULL, NULL, 4, 6, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (138, NULL, NULL, 4, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (139, NULL, NULL, 4, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (140, NULL, NULL, 4, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (141, '123', '112', 4, 8, 1, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (142, '124', '112', 4, 8, 2, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (143, '125', '112', 4, 9, 1, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (144, '126', '112', 4, 9, 2, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (145, '127', '112', 4, 10, 1, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (146, '128', '112', 4, 10, 2, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (147, NULL, NULL, 4, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (148, NULL, NULL, 4, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (149, NULL, NULL, 4, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (150, NULL, NULL, 4, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (151, NULL, NULL, 4, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (152, NULL, NULL, 4, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (153, NULL, NULL, 4, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (154, NULL, NULL, 4, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (155, NULL, NULL, 4, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (156, NULL, NULL, 4, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (157, NULL, NULL, 4, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (158, NULL, NULL, 4, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (159, NULL, NULL, 4, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (160, NULL, NULL, 4, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (161, NULL, NULL, 4, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (162, NULL, NULL, 4, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (163, NULL, NULL, 4, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (164, NULL, NULL, 4, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (165, NULL, NULL, 4, 20, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (166, NULL, NULL, 4, 20, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (167, NULL, NULL, 4, 21, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (168, NULL, NULL, 4, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (169, NULL, NULL, 5, 1, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (170, NULL, NULL, 5, 1, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (171, NULL, NULL, 5, 2, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (172, NULL, NULL, 5, 2, 2, 1550.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (173, NULL, NULL, 5, 3, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (174, NULL, NULL, 5, 3, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (175, NULL, NULL, 5, 4, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (176, NULL, NULL, 5, 4, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (177, NULL, NULL, 5, 5, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (178, NULL, NULL, 5, 5, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (179, NULL, NULL, 5, 6, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (180, NULL, NULL, 5, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (181, NULL, NULL, 5, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (182, NULL, NULL, 5, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (183, NULL, NULL, 5, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (184, NULL, NULL, 5, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (185, NULL, NULL, 5, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (186, NULL, NULL, 5, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (187, NULL, NULL, 5, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (188, NULL, NULL, 5, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (189, NULL, NULL, 5, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (190, NULL, NULL, 5, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (191, NULL, NULL, 5, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (192, NULL, NULL, 5, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (193, NULL, NULL, 5, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (194, NULL, NULL, 5, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (195, NULL, NULL, 5, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (196, NULL, NULL, 5, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (197, NULL, NULL, 5, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (198, NULL, NULL, 5, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (199, NULL, NULL, 5, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (200, NULL, NULL, 5, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (201, NULL, NULL, 5, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (202, NULL, NULL, 5, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (203, NULL, NULL, 5, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (204, NULL, NULL, 5, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (205, NULL, NULL, 5, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (206, NULL, NULL, 5, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (207, NULL, NULL, 5, 20, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (208, NULL, NULL, 5, 20, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (209, NULL, NULL, 5, 21, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (210, NULL, NULL, 5, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (211, '129', '112', 6, 1, 1, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (212, '130', '113', 6, 1, 2, 1500.00, 1200.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (213, '', '', 6, 2, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (214, NULL, NULL, 6, 2, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (215, NULL, NULL, 6, 3, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (216, NULL, NULL, 6, 3, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (217, NULL, NULL, 6, 4, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (218, NULL, NULL, 6, 4, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (219, NULL, NULL, 6, 5, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (220, NULL, NULL, 6, 5, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (221, NULL, NULL, 6, 6, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (222, NULL, NULL, 6, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (223, NULL, NULL, 6, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (224, NULL, NULL, 6, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (225, NULL, NULL, 6, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (226, NULL, NULL, 6, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (227, NULL, NULL, 6, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (228, NULL, NULL, 6, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (229, NULL, NULL, 6, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (230, NULL, NULL, 6, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (231, NULL, NULL, 6, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (232, NULL, NULL, 6, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (233, NULL, NULL, 6, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (234, NULL, NULL, 6, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (235, NULL, NULL, 6, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (236, NULL, NULL, 6, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (237, NULL, NULL, 6, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (238, NULL, NULL, 6, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (239, NULL, NULL, 6, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (240, NULL, NULL, 6, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (241, NULL, NULL, 6, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (242, NULL, NULL, 6, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (243, NULL, NULL, 6, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (244, NULL, NULL, 6, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (245, NULL, NULL, 6, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (246, NULL, NULL, 6, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (247, NULL, NULL, 6, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (248, NULL, NULL, 6, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (249, NULL, NULL, 6, 20, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (250, NULL, NULL, 6, 20, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (251, NULL, NULL, 6, 21, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (252, NULL, NULL, 6, 21, 2, 1788.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (253, '1', '1145', 7, 1, 1, 388.00, 1400.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (254, '112', '1145', 7, 1, 2, 568.00, 1220.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (255, '112', '1145', 7, 2, 1, 568.00, 1220.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (256, '001', '1145', 7, 2, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (257, NULL, NULL, 7, 3, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (258, '112', '1145', 7, 3, 2, 280.00, 1220.00, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (259, NULL, NULL, 7, 4, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (260, NULL, NULL, 7, 4, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (261, NULL, NULL, 7, 5, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (262, NULL, NULL, 7, 5, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (263, NULL, NULL, 7, 6, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (264, NULL, NULL, 7, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (265, NULL, NULL, 7, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (266, NULL, NULL, 7, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (267, NULL, NULL, 7, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (268, NULL, NULL, 7, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (269, NULL, NULL, 7, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (270, NULL, NULL, 7, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (271, NULL, NULL, 7, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (272, NULL, NULL, 7, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (273, NULL, NULL, 7, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (274, NULL, NULL, 7, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (275, NULL, NULL, 7, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (276, NULL, NULL, 7, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (277, NULL, NULL, 7, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (278, NULL, NULL, 7, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (279, NULL, NULL, 7, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (280, NULL, NULL, 7, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (281, NULL, NULL, 7, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (282, NULL, NULL, 7, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (283, NULL, NULL, 7, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (284, NULL, NULL, 7, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (285, NULL, NULL, 7, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (286, NULL, NULL, 7, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (287, NULL, NULL, 7, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (288, NULL, NULL, 7, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (289, NULL, NULL, 7, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (290, NULL, NULL, 7, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (291, NULL, NULL, 7, 20, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (292, NULL, NULL, 7, 20, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (293, NULL, NULL, 7, 21, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (294, NULL, NULL, 7, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (295, NULL, NULL, 8, 1, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (296, NULL, NULL, 8, 1, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (297, NULL, NULL, 8, 2, 1, 1788.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (298, NULL, NULL, 8, 2, 2, 1788.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (299, NULL, NULL, 8, 3, 1, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (300, NULL, NULL, 8, 3, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (301, NULL, NULL, 8, 4, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (302, NULL, NULL, 8, 4, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (303, NULL, NULL, 8, 5, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (304, NULL, NULL, 8, 5, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (305, NULL, NULL, 8, 6, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (306, NULL, NULL, 8, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (307, NULL, NULL, 8, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (308, NULL, NULL, 8, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (309, NULL, NULL, 8, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (310, NULL, NULL, 8, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (311, NULL, NULL, 8, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (312, NULL, NULL, 8, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (313, NULL, NULL, 8, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (314, NULL, NULL, 8, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (315, NULL, NULL, 8, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (316, NULL, NULL, 8, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (317, NULL, NULL, 8, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (318, NULL, NULL, 8, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (319, NULL, NULL, 8, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (320, NULL, NULL, 8, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (321, NULL, NULL, 8, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (322, NULL, NULL, 8, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (323, NULL, NULL, 8, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (324, NULL, NULL, 8, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (325, NULL, NULL, 8, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (326, NULL, NULL, 8, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (327, NULL, NULL, 8, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (328, NULL, NULL, 8, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (329, NULL, NULL, 8, 18, 1, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (330, NULL, NULL, 8, 18, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (331, NULL, NULL, 8, 19, 1, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (332, NULL, NULL, 8, 19, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (333, NULL, NULL, 8, 20, 1, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (334, NULL, NULL, 8, 20, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (335, NULL, NULL, 8, 21, 1, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (336, NULL, NULL, 8, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (337, NULL, NULL, 9, 1, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (338, NULL, NULL, 9, 1, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (339, NULL, NULL, 9, 2, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (340, NULL, NULL, 9, 2, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (341, NULL, NULL, 9, 3, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (342, NULL, NULL, 9, 3, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (343, NULL, NULL, 9, 4, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (344, NULL, NULL, 9, 4, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (345, NULL, NULL, 9, 5, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (346, NULL, NULL, 9, 5, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (347, NULL, NULL, 9, 6, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (348, NULL, NULL, 9, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (349, NULL, NULL, 9, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (350, NULL, NULL, 9, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (351, NULL, NULL, 9, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (352, NULL, NULL, 9, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (353, NULL, NULL, 9, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (354, NULL, NULL, 9, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (355, NULL, NULL, 9, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (356, NULL, NULL, 9, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (357, NULL, NULL, 9, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (358, NULL, NULL, 9, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (359, NULL, NULL, 9, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (360, NULL, NULL, 9, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (361, NULL, NULL, 9, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (362, NULL, NULL, 9, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (363, NULL, NULL, 9, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (364, NULL, NULL, 9, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (365, NULL, NULL, 9, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (366, NULL, NULL, 9, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (367, NULL, NULL, 9, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (368, NULL, NULL, 9, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (369, NULL, NULL, 9, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (370, NULL, NULL, 9, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (371, NULL, NULL, 9, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (372, NULL, NULL, 9, 18, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (373, NULL, NULL, 9, 19, 1, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (374, NULL, NULL, 9, 19, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (375, NULL, NULL, 9, 20, 1, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (376, NULL, NULL, 9, 20, 2, 1788.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (377, NULL, NULL, 9, 21, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (378, NULL, NULL, 9, 21, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (379, NULL, NULL, 10, 1, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (380, NULL, NULL, 10, 1, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (381, NULL, NULL, 10, 2, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (382, NULL, NULL, 10, 2, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (383, NULL, NULL, 10, 3, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (384, NULL, NULL, 10, 3, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (385, NULL, NULL, 10, 4, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (386, NULL, NULL, 10, 4, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (387, NULL, NULL, 10, 5, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (388, NULL, NULL, 10, 5, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (389, NULL, NULL, 10, 6, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (390, NULL, NULL, 10, 6, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (391, NULL, NULL, 10, 7, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (392, NULL, NULL, 10, 7, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (393, NULL, NULL, 10, 8, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (394, NULL, NULL, 10, 8, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (395, NULL, NULL, 10, 9, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (396, NULL, NULL, 10, 9, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (397, NULL, NULL, 10, 10, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (398, NULL, NULL, 10, 10, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (399, NULL, NULL, 10, 11, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (400, NULL, NULL, 10, 11, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (401, NULL, NULL, 10, 12, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (402, NULL, NULL, 10, 12, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (403, NULL, NULL, 10, 13, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (404, NULL, NULL, 10, 13, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (405, NULL, NULL, 10, 14, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (406, NULL, NULL, 10, 14, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (407, NULL, NULL, 10, 15, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (408, NULL, NULL, 10, 15, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (409, NULL, NULL, 10, 16, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (410, NULL, NULL, 10, 16, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (411, NULL, NULL, 10, 17, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (412, NULL, NULL, 10, 17, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (413, NULL, NULL, 10, 18, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (414, NULL, NULL, 10, 18, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (415, NULL, NULL, 10, 19, 1, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (416, NULL, NULL, 10, 19, 2, 1500.00, NULL, NULL, 1, NULL);
INSERT INTO `storage_cage` VALUES (417, NULL, NULL, 10, 20, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (418, NULL, NULL, 10, 20, 2, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (419, NULL, NULL, 10, 21, 1, 1500.00, NULL, NULL, 0, NULL);
INSERT INTO `storage_cage` VALUES (420, NULL, NULL, 10, 21, 2, 1500.00, NULL, NULL, 0, NULL);
-- ----------------------------
-- Table structure for storage_rack
@@ -739,6 +1283,28 @@
INSERT INTO `storage_rack` VALUES (491, 210, 1, NULL, NULL, NULL, 2, 10);
-- ----------------------------
-- Table structure for storage_task
-- ----------------------------
DROP TABLE IF EXISTS `storage_task`;
CREATE TABLE `storage_task`  (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '序号',
  `task_type` int NULL DEFAULT NULL COMMENT '任务类型(0:进片,1:出片,2:调度)',
  `task_state` int NULL DEFAULT NULL COMMENT '任务状态(0:未完成,1:完成)',
  `shelf_rack` int NULL DEFAULT NULL COMMENT '开始位置',
  `load_rack` int NULL DEFAULT NULL COMMENT '结束位置',
  `start_time` datetime(0) NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '任务开始时间',
  `finsh_time` datetime(0) NULL DEFAULT NULL COMMENT '任务结束时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of storage_task
-- ----------------------------
INSERT INTO `storage_task` VALUES (1, 0, 1, 6, 105, '2023-09-07 10:11:47', '2023-08-29 00:00:00');
INSERT INTO `storage_task` VALUES (2, 1, 1, 7, 99, '2023-09-07 16:53:35', '2023-08-29 00:00:00');
INSERT INTO `storage_task` VALUES (3, 2, 0, 26, 105, '2023-09-05 16:24:30', '2023-08-29 00:00:00');
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
@@ -757,7 +1323,7 @@
  `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
  `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of user
@@ -765,7 +1331,6 @@
INSERT INTO `user` VALUES (1, 0, '', 0, 1, 'admin', 'b2f0c414a5ffb6944c424bc18ae3a8a0', NULL, NULL, NULL, 1, '2023-08-25 08:58:58', '2023-09-05 16:12:28');
INSERT INTO `user` VALUES (2, 1, '1-', 1, 2, 'user1', '601b99523f82de29f87771d5f95accdc', 'user1@qq.com', NULL, NULL, 1, '2021-11-28 14:31:39', '2021-11-28 15:09:36');
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');
INSERT INTO `user` VALUES (8, 1, '1-', 1, 5, 'yyyyy', 'fca7e8e6b2fca165de912bd617c8df3c', '2265557248@qq.com', NULL, NULL, 1, '2023-08-23 20:08:44', '2023-08-23 20:08:44');
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');
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');
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');
springboot-vue3/src/test/java/com/example/springboot/AuthorityApplicationTests.java
File was deleted