wu
2024-03-19 14f5a33b351e1e73d4455fd00ff6327944f27f0e
Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes

# Conflicts:
# Albania_Mes-ui/src/views/home/index.vue
# springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
# springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
# springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java
21个文件已修改
8个文件已删除
956 ■■■■ 已修改文件
Albania_Mes-ui/package-lock.json 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Albania_Mes-ui/package.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Albania_Mes-ui/src/lang/locales/en-US.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Albania_Mes-ui/src/views/home/index.vue 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/effective-pom.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/common/MessageReceiver.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/common/MessageSender.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/common/RabbitConfig.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/MessageQueueReader.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/ModuleA.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/ModuleB.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/RabbitMQUtils.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/MessageController.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/FlowCard.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/flowcard.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/north_glass_buffer1.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/GlassInfoMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/QueueMapper.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/application.properties 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Albania_Mes-ui/package-lock.json
@@ -19,7 +19,8 @@
        "moment": "^2.29.4",
        "vue": "^2.6.11",
        "vue-i18n": "^8.26.5",
        "vue-router": "^3.3.4"
        "vue-router": "^3.3.4",
        "xlsx": "^0.18.5"
      },
      "devDependencies": {
        "@vue/cli-plugin-babel": "~4.5.0",
@@ -2599,6 +2600,14 @@
        "node": ">= 0.12.0"
      }
    },
    "node_modules/adler-32": {
      "version": "1.3.1",
      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/aggregate-error": {
      "version": "3.1.0",
      "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.1.0.tgz",
@@ -3681,6 +3690,18 @@
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
      "dev": true
    },
    "node_modules/cfb": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
      "dependencies": {
        "adler-32": "~1.3.0",
        "crc-32": "~1.2.0"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/chalk": {
      "version": "2.4.2",
      "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
@@ -4076,6 +4097,14 @@
      },
      "engines": {
        "node": ">= 4.0"
      }
    },
    "node_modules/codepage": {
      "version": "1.15.0",
      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/collection-visit": {
@@ -4574,6 +4603,17 @@
      },
      "engines": {
        "node": ">=4"
      }
    },
    "node_modules/crc-32": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
      "bin": {
        "crc32": "bin/crc32.njs"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/create-ecdh": {
@@ -6639,6 +6679,14 @@
      "dev": true,
      "engines": {
        "node": ">= 0.6"
      }
    },
    "node_modules/frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/fragment-cache": {
@@ -12023,6 +12071,17 @@
      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
      "dev": true
    },
    "node_modules/ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "dependencies": {
        "frac": "~1.1.2"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/sshpk": {
      "version": "1.16.1",
      "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
@@ -14148,6 +14207,22 @@
      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
      "dev": true
    },
    "node_modules/wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/word-wrap": {
      "version": "1.2.3",
      "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz",
@@ -14233,6 +14308,26 @@
      "dev": true,
      "dependencies": {
        "async-limiter": "~1.0.0"
      }
    },
    "node_modules/xlsx": {
      "version": "0.18.5",
      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
      "dependencies": {
        "adler-32": "~1.3.0",
        "cfb": "~1.2.1",
        "codepage": "~1.15.0",
        "crc-32": "~1.2.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      },
      "bin": {
        "xlsx": "bin/xlsx.njs"
      },
      "engines": {
        "node": ">=0.8"
      }
    },
    "node_modules/xtend": {
@@ -16544,6 +16639,11 @@
      "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=",
      "dev": true
    },
    "adler-32": {
      "version": "1.3.1",
      "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
      "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A=="
    },
    "aggregate-error": {
      "version": "3.1.0",
      "resolved": "https://registry.npm.taobao.org/aggregate-error/download/aggregate-error-3.1.0.tgz",
@@ -17474,6 +17574,15 @@
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
      "dev": true
    },
    "cfb": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
      "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
      "requires": {
        "adler-32": "~1.3.0",
        "crc-32": "~1.2.0"
      }
    },
    "chalk": {
      "version": "2.4.2",
      "resolved": "https://registry.npm.taobao.org/chalk/download/chalk-2.4.2.tgz",
@@ -17792,6 +17901,11 @@
        "chalk": "^2.4.1",
        "q": "^1.1.2"
      }
    },
    "codepage": {
      "version": "1.15.0",
      "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
      "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA=="
    },
    "collection-visit": {
      "version": "1.0.0",
@@ -18210,6 +18324,11 @@
          }
        }
      }
    },
    "crc-32": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ=="
    },
    "create-ecdh": {
      "version": "4.0.4",
@@ -19903,6 +20022,11 @@
      "resolved": "https://registry.npm.taobao.org/forwarded/download/forwarded-0.1.2.tgz",
      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
      "dev": true
    },
    "frac": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
      "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA=="
    },
    "fragment-cache": {
      "version": "0.2.1",
@@ -24371,6 +24495,14 @@
      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
      "dev": true
    },
    "ssf": {
      "version": "0.11.2",
      "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
      "requires": {
        "frac": "~1.1.2"
      }
    },
    "sshpk": {
      "version": "1.16.1",
      "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz",
@@ -26092,6 +26224,16 @@
      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
      "dev": true
    },
    "wmf": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
    },
    "word": {
      "version": "0.3.0",
      "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
    },
    "word-wrap": {
      "version": "1.2.3",
      "resolved": "https://registry.npm.taobao.org/word-wrap/download/word-wrap-1.2.3.tgz",
@@ -26166,6 +26308,20 @@
        "async-limiter": "~1.0.0"
      }
    },
    "xlsx": {
      "version": "0.18.5",
      "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.18.5.tgz",
      "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==",
      "requires": {
        "adler-32": "~1.3.0",
        "cfb": "~1.2.1",
        "codepage": "~1.15.0",
        "crc-32": "~1.2.1",
        "ssf": "~0.11.2",
        "wmf": "~1.0.1",
        "word": "~0.3.0"
      }
    },
    "xtend": {
      "version": "4.0.2",
      "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz",
Albania_Mes-ui/package.json
@@ -19,7 +19,8 @@
    "moment": "^2.29.4",
    "vue": "^2.6.11",
    "vue-i18n": "^8.26.5",
    "vue-router": "^3.3.4"
    "vue-router": "^3.3.4",
    "xlsx": "^0.18.5"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
@@ -49,4 +50,4 @@
    "last 2 versions",
    "not dead"
  ]
}
}
Albania_Mes-ui/src/lang/locales/en-US.json
@@ -1,5 +1,5 @@
{
  "All Out":"All Out",
  "Operation failed":"Operation canceled",
  "Flowcard":"Flowcard",
  "Glasstype":"Glasstype",
Albania_Mes-ui/src/views/home/index.vue
@@ -237,6 +237,74 @@
    height: 15px;
    position: absolute;
}
/*
*/
#fileinput .container {
  width: 800px;
  margin: 0 auto;
}
#fileinput .header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
#fileinput table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid;
}
#fileinput tr,
#fileinput th,
#fileinput td {
  border: 1px solid #000;
  padding: 5px;
}
#fileinput button {
  border: none;
  padding: 5px;
  background-color: #00a297;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
  margin: 0 5px;
}
#fileinput tr:nth-child(2n) {
  background-color: #dcdcdc;
}
#fileinput .hide {
  display: none;
}
#fileinput .c1 {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, .5);
  z-index: 2;
}
#fileinput .c2 {
  background-color: white;
  position: fixed;
  width: 400px;
  height: 300px;
  top: 50%;
  left: 50%;
  z-index: 3;
  margin-top: -150px;
  margin-left: -200px;
}
</style>
<template>
    <el-container>
@@ -253,20 +321,20 @@
            </div>
            <div style="display:flex;justify-content: space-around;width: 95%;margin: 0 auto;">
                <el-button type="primary" @click="showform(1)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
                    >
                    :class="SoftEmergencyStopState == true ? 'hide' : ''">
                    {{ $t('Import order') }}</el-button>
                <el-button type="primary" @click="showform(2)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
                    >
                    :class="SoftEmergencyStopState == true ? 'hide' : ''">
                    {{ $t('Measure') }}</el-button>
                <el-button type="primary" @click="showform(3)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
                    >
                    :class="SoftEmergencyStopState == true ? 'hide' : ''">
                    {{ $t('StorageCage') }}</el-button>
                <el-button type="primary" @click="showform(4)" :disabled="SoftEmergencyStopState" style="z-index: 999;"
                   >
                    :class="SoftEmergencyStopState == true ? 'hide' : ''">
                    {{ $t('Task queue') }}</el-button>
            </div>
            <div style="display: flex;align-items: center;">
                <div class="blocks" style="position: relative;width: 100%;">
@@ -325,6 +393,60 @@
        </el-main>
        <el-dialog :visible.sync="Importorder" :title="$t('Import order')" top="5vh">
            <!--文件导入数据页面-->
            <div id="fileinput" class="container">
                <div class="header">
                    <div class="btn">
                        <button @click="AllAdd">保存</button>
                    </div>
                    <div class="inp">
                        <input type="file" id="uploadExcel" multiple @change="Change" />
                    </div>
                </div>
                <table id="table">
                    <thead>
                        <tr>
                            <th>Customer</th>
                            <th>order</th>
                            <th>base</th>
                            <th>height</th>
                            <th>thickness</th>
                            <th>films</th>
                            <th>quantity</th>
                            <th>tier</th>
                            <th>matching</th>
                            <th>glasstype</th>
                            <th>productname</th>
                        </tr>
                    </thead>
                    <tbody style="text-align: center">
                        <tr v-for="item in dataList" :key="item.id">
                            <!-- <td>{{ item[0] }}</td>
                            <td>{{ item[1] }}</td>
                            <td>{{ item[2] }}</td>
                            <td>{{ item[3] }}</td>
                            <td>{{ item[4] }}</td>
                            <td>{{ item[5] }}</td>
                            <td>{{ item[6] }}</td>
                            <td>{{ item[7] }}</td>
                            <td>{{ item[8] }}</td>
                            <td>{{ item[9] }}</td>
                            <td>{{ item[10] }}</td> -->
                            <td>{{ item.Customer }}</td>
                            <td>{{ item.order }}</td>
                            <td>{{ item.base }}</td>
                            <td>{{ item.height }}</td>
                            <td>{{ item.thickness }}</td>
                            <td>{{ item.films }}</td>
                            <td>{{ item.quantity }}</td>
                            <td>{{ item.tier }}</td>
                            <td>{{ item.matching}}</td>
                            <td>{{ item.glasstype }}</td>
                            <td>{{ item.productname }}</td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </el-dialog>
        <el-dialog :visible.sync="Measure" :title="$t('Measure')" top="5vh"><!--测量页面-->
@@ -332,16 +454,19 @@
            <div>
                <!--功能-->
                <div>
                        <el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState" style="z-index: 999;">
                    人工匹配</el-button>
                    <el-button type="primary" @click="ManualMatching()" :disabled="SoftEmergencyStopState"
                        style="z-index: 999;">人工匹配</el-button>
                    <el-button type="primary" @click="ManualTake()" :disabled="SoftEmergencyStopState"
                        style="z-index: 999;">人工匹配</el-button>
                </div>
                <!--显示-->
                <div style="width:100%;height: 600px;border: 1px solid black;">
                    <!--玻璃图-->
                    <div
                        style="top:0;bottom: 0;left: 0;right: 0;margin: auto;position:absolute;width: 100px;height: 200px;background-color: aqua;line-height: 200px;text-align: center;">
                        100*200
                <div style="width:1000px;height: 720px;border: 2px solid #d1d1d1;margin: auto auto;">
                    <!--玻璃图  #81b337-->
                    <div :style="'top:10px;bottom: 10px;left: 10px;right: 10px;margin: auto;position:absolute;width:'
                + (this.LastQueue.glasswidth / 25 * 7) + 'px;height:'
                + (this.LastQueue.glassheight / 25 * 7) + 'px;line-height: '
                + (this.LastQueue.glassheight / 25 * 7) + 'px;background-color: #93d2f3;text-align: center;'">
                        {{ this.LastQueue.glasswidth }}*{{ this.LastQueue.glassheight }}
                    </div>
                </div>
@@ -394,7 +519,7 @@
                </el-table-column>
                <el-table-column prop="number" :label="$t('Order No')">
                </el-table-column>
                <el-table-column prop="" :label="$t('No Of Cage')">
                <el-table-column prop="cageno" :label="$t('No Of Cage')">
                </el-table-column>
                <el-table-column prop="finishnumber" :label="$t('Finish No')">
                </el-table-column>
@@ -410,10 +535,14 @@
                </el-table-column>
                <el-table-column prop="state" :label="$t('Task State')">
                    <template slot-scope='scope'>
                        {{ scope.row.state >= 0?scope.row.state == 0 ? $t('Start') : $t('Stop'):"" }}
                        {{ scope.row.state >= 0 ? scope.row.state == 0 ? $t('Start') : $t('Stop') : "" }}
                    </template>
                </el-table-column>
                <el-table-column prop="method" :label="$t('Task Method')">
                    <template slot-scope='scope'>
                        {{ scope.row.state >= 0 ? scope.row.method == 0 ? $t('Out') : $t('All Out') : "" }}
                    </template>
                </el-table-column>
                <el-table-column prop="line" :label="$t('Task Line')">
                </el-table-column>
@@ -476,12 +605,14 @@
} from "../../api/home";
import LanguageMixin from '../../lang/LanguageMixin'
import LanguageMixin from '../../lang/LanguageMixin';
import * as XLSX from "../../../node_modules/xlsx/xlsx.mjs";
let socket;
export default {
    name: "Home",
    data() {
        return {
            dataList: [],
            tableData1: [],
            Measuermode: false,
            confirm1: false,
@@ -576,7 +707,8 @@
            DeviceList: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            GlassIdList: [],
            Scanningmethod: true,
            CurrrentGlassId: ""
            CurrrentGlassId: "",
            LastQueue: {}
        };
    },
    created() {
@@ -639,6 +771,7 @@
                    this.alarm = obj.alarmmg[0];
                    this.tableData1 = obj.OrderTask[0];
                    this.LastQueue = obj.LastQueue[0];
                    //是否允许出片
@@ -736,7 +869,7 @@
                UpdateQueue(this.StorageCageAddInfo[index]).then(res => {
                    if (res.data.message == 200) {
                        this.$message.success(this.$t('Operation successful'));
                    }else{
                    } else {
                        this.$message.error(this.$t('Operation failed'));
                    }
                });
@@ -854,9 +987,54 @@
        },
        //人工匹配
        ManualMatching() {
            this.StorageCageAdd=true;
            this.StorageCageAdd = true;
        },
        //人工拿走
        ManualTake() {
        },
        Change(event) {
            // 获取到文件夹
            let fileList = event.target.files;
            // 如果数据不为空
            if (fileList) {
                // FileReader是一种异步文件读取机制,结合input:file可以很方便的读取本地文件。
                let reader = new FileReader();
                let file = fileList[0]; //拿到第一条数据
                reader.readAsBinaryString(file)// 将文件以二进制形式读入页面
                let _this = this //把data里的数据赋值给新的变量
                // wb:wordbook 工作表
                reader.addEventListener("load", function (e) {
                    var data = e.target.result; //读取成功后result中的数据
                    var wb = XLSX.read(data, { type: "binary" });
                    let sheetName = wb.SheetNames[0]; //是获取Sheets中第一个Sheet的名字
                    let sheets = wb.Sheets[sheetName];
                    let dataList2 = JSON.stringify(XLSX.utils.sheet_to_json(sheets));
                    let dataList3 = (JSON.parse(dataList2));
                    _this.dataList = dataList3;//赋值
                    //console.log(dataList2);
                    console.log(dataList3);
                })
            }
        },
        Add() {
        },
        Hide() {
        },
        AllAdd() {
            //添加数据进后台
            console.log(this.dataList);
        },
        del() {
            this.StorageCageAdd = true;
        }
    }
}
</script>
springboot-vue3/effective-pom.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== -->
<!--                                                                        -->
<!-- Generated by Maven Help Plugin on 2024-03-07T14:06:55+08:00            -->
<!-- Generated by Maven Help Plugin on 2024-03-19T08:09:38+08:00            -->
<!-- See: http://maven.apache.org/plugins/maven-help-plugin/                -->
<!--                                                                        -->
<!-- ====================================================================== -->
@@ -5574,6 +5574,24 @@
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>4.1.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>4.1.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml-schemas</artifactId>
      <version>4.1.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-amqp</artifactId>
      <version>2.3.2.RELEASE</version>
springboot-vue3/src/main/java/com/example/springboot/AuthorityApplication.java
@@ -1,7 +1,7 @@
package com.example.springboot;
import com.example.springboot.common.MessageSender;
import org.springframework.amqp.rabbit.annotation.EnableRabbit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
@@ -19,12 +19,6 @@
    SpringApplication springApplication = new SpringApplication(AuthorityApplication.class);
    ConfigurableApplicationContext configurableApplicationContext = springApplication.run(args);
    WebSocketServer.setApplicationContext(configurableApplicationContext);
  }
springboot-vue3/src/main/java/com/example/springboot/common/MessageReceiver.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/common/MessageSender.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/common/RabbitConfig.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/component/MessageQueueReader.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/component/ModuleA.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/component/ModuleB.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -120,20 +120,11 @@
                //double width=plcmes.getPlcParameter("Height").getValue();//宽
                //double height=plcmes.getPlcParameter("width").getValue();//高
                //获取测量的长,宽
                String url="C:\\Users\\SNG-ZDH-012\\Desktop\\阿尔巴尼亚数据要求.xlsx";
                //List typecount= HomeService.ReadExecl2(s);
                // List xiaopian=HomeService.ReadExecl2(s);
                // //xiaopian   NG1{A:10,B20}   NG2{A:5,B5}
                // for(Object C:xiaopian){
                //     //看层数
                // }
                // for(int i=0;i<result.size();i++){
                //     System.out.println(result.get(i));
                // }
                //List result= HomeService.ReadExecl(url);
                //String url="C:\\Users\\SNG-ZDH-012\\Desktop\\阿尔巴尼亚数据要求.xlsx";E:\
                //String url="E:\\阿尔巴尼亚数据要求.xlsx";
                // List result= HomeService.ReadExecl(url);
                // for(int i=0;i<result.size();i++){
                //     System.out.println(result.get(i));
                // }
@@ -146,12 +137,15 @@
                
                //匹配
                if ("1".equals(PlcRequest)) {
                    boolean Result=HomeService.Normal(width, height, "1");
                    GlassInfo MesureGlassinfo=HomeService.Normal(width, height, "1");
                }
                Queue LastQueue= QueueMapper.selectLastQueue();
                // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
                // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
                jsonObject.append("LastQueue", LastQueue);
                //查询理片笼信息
                List<StorageCage> StorageCageInfo = storageCageService.SelectStorageCageInfo();
                jsonObject.append("StorageCageInfo", StorageCageInfo);
springboot-vue3/src/main/java/com/example/springboot/component/RabbitMQUtils.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -465,4 +465,8 @@
        }
        return addresslist;
    }
    public String readStrings(String addr) {
        return s7PLC.readString(addr);
    }
}
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -16,20 +16,17 @@
        // TODO Auto-generated method stub
        //
        System.out.println("启动完成");
        //  new PlcHold().start();
         new PlcHoldNew().start();
        // new PLCAutoMes().start();
        //  new PlcHold().start();
        //  new PlcHoldNew().start();
        new Plchome().start();
         new Plchome().start();
        //  new PlcLayout().start();
        //  new Plcalarm().start();
        //  new Plcsign().start();
        //  new Plcstate().start();
        //  new PlcPositioning1().start();
        //  new PlcParameter2().start();
        //  new PLCAutomaticParameterSetting().start();
springboot-vue3/src/main/java/com/example/springboot/controller/MessageController.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/entity/FlowCard.java
@@ -17,6 +17,7 @@
  private Integer state;// 状态
  private Integer method;// 出片方式
  private Date starttime;// 任务领取时间
  public List<GlassInfo> glassinfo;// 玻璃信息
springboot-vue3/src/main/java/com/example/springboot/entity/GlassInfo.java
@@ -21,4 +21,5 @@
  private Integer number;// 数量
  private Integer finishnumber;// 完成数量
  private Integer measurenumber;// 测量完成数量
  private Integer cageno;//笼内数量
}
springboot-vue3/src/main/java/com/example/springboot/entity/flowcard.java
@@ -17,6 +17,7 @@
  private Integer state;// 状态
  private Integer method;// 出片方式
  private Date starttime;// 任务领取时间
  public List<GlassInfo> glassinfo;// 玻璃信息
springboot-vue3/src/main/java/com/example/springboot/entity/glassinfo.java
@@ -21,4 +21,5 @@
  private Integer number;// 数量
  private Integer finishnumber;// 完成数量
  private Integer measurenumber;// 测量完成数量
  private Integer cageno;//笼内数量
}
springboot-vue3/src/main/java/com/example/springboot/entity/north_glass_buffer1.java
@@ -25,8 +25,6 @@
    public StorageCage storageCage;
    public void setstorageCage(StorageCage storageCage) {
        this.storageCage = storageCage;
    }
springboot-vue3/src/main/java/com/example/springboot/mapper/GlassInfoMapper.java
@@ -2,14 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.RolePermission;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Mapper
@Repository
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -239,7 +239,7 @@
  void DeleteStroageCageByCell(Integer cell);
  
  //修改格子玻璃数量
  @Update("update storage_cage set number=number+#{num} where cell=#{cell}")
  @Update("update storage_cage set number=ifnull(number,0)+#{num} where cell=#{cell}")
  void updateStroageCageByCell(Integer cell, Integer num);
  //计算格子内剩余宽度
@@ -271,7 +271,7 @@
  @Select("select * from flowcard where state!=2")
  List<FlowCard> SelectOrderTask();
  @Select("select * from glassinfo where flowcard=#{flowcard} order by mateid,tier")
  @Select("select gi.*,sum(sc.number) as cageno from glassinfo gi left join storage_cage sc on gi.glasstype=sc.glasstype where gi.flowcard=#{flowcard} group by gi.id order by gi.mateid,gi.tier")
  List<GlassInfo> SelectOrderView(String flowcard);
  @Update("update flowcard set state=#{state} where flowcard=#{flowcard}")
@@ -280,7 +280,7 @@
  @Update("update flowcard set method=#{method} where flowcard=#{flowcard}")
  void ModeChange(String flowcard, int method);
  @Update("update queue set flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},state=1 where state=0")
  @Update("update queue set flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},state=1 where state<=0")
  void UpdateQueue(String flowcard,double width,double height,Integer glasstype);
  @Update("update glassinfo set finishnumber=finishnumber+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
springboot-vue3/src/main/java/com/example/springboot/mapper/QueueMapper.java
@@ -17,6 +17,12 @@
    @Select("SELECT * FROM queue where glassid=#{glassid}")
    List<Queue> selectQueues(@Param("glassid") int glassid);
    @Select("SELECT * FROM queue order by time asc limit 1")
    Queue selectLastQueue();
    @Select("SELECT * FROM queue where state<=0")
    List<Queue> selectErrorQueues();
    // @Select("SELECT COUNT(*) FROM role_permission WHERE role_id = #{roleId} AND permission_id = #{permissionId}")
    // boolean checkExists(@Param("roleId") int roleId, @Param("permissionId") int permissionId);
@@ -27,9 +33,9 @@
    @Insert("insert into queue (glassid,flowcard,listid,boxid,glasswidth,glassheight,glasswidthmm,glassheightmm,glasstype,state,time) "+
                        "select glassid,flowcard,null,null,width,height,#{glasswidthmm},#{glassheightmm},glasstype,#{state},NOW() from glassinfo where glassid=#{glassid}")
    void insert(@Param("glassid") String glassid, @Param("glasswidthmm") double glasswidthmm, @Param("glassheightmm") double glassheightmm,@Param("state") int state);
    @Insert("insert into queue (glassid,flowcard,listid,boxid,glasswidth,glassheight,glasswidthmm,glassheightmm,glasstype,state,time) "+
                        "values (null,null,null,null,null,null,#{glasswidthmm},#{glassheightmm},null,null,NOW())")
    void insertMatchFailure(@Param("glasswidthmm") double glasswidthmm, @Param("glassheightmm") double glassheightmm);
                        "values (null,null,null,null,null,null,#{glasswidthmm},#{glassheightmm},null,#{state},NOW())")
    void insertMatchFailure(@Param("glasswidthmm") double glasswidthmm, @Param("glassheightmm") double glassheightmm,@Param("state") int state);
}
springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java
@@ -21,6 +21,7 @@
import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.MeasureSetting;
import com.example.springboot.entity.Queue;
import com.example.springboot.mapper.GlassInfoMapper;
import com.example.springboot.mapper.MeasureSettingMapper;
import com.example.springboot.mapper.QueueMapper;
@@ -62,7 +63,12 @@
    }
    // 匹配逻辑
    public boolean Normal(double width, double height, String line) {
    public GlassInfo Normal(double width, double height, String line) {
        List<Queue> ErrowQueues= QueueMapper.selectErrorQueues();
        if (ErrowQueues.size()>0) {
            //System.out.println("有匹配失败数据未去除");
            return new GlassInfo();
        }
        List<GlassInfo> Result = NormalGlassInfo(width, height, "1");
        if (Result.size() == 1) {
            // 匹配成功 就一种类型 添加数据
@@ -70,22 +76,19 @@
            QueueMapper.insert(GlassInfo.getGlassid(), width, height, 1);
            GlassInfoMapper.updatemeasurenumber(GlassInfo.getId());
            System.out.println("匹配成功");
            // S7control.getinstance().WriteWord(plcmes.getPlcParameter("GaToMES").getAddress(),
            // (short) 1);
            System.out.println(GlassInfo.getGlassid());
            return true;
            return GlassInfo;
        } else if (Result.size() > 1) {
            // 匹配失败 匹配到多条符合的数据 添加数据
            QueueMapper.insert(null, width, height, 2);
            QueueMapper.insertMatchFailure(width, height, 0);
            System.out.println("匹配失败");
            return false;
        } else {
            // 匹配失败 未找到符合的数据 添加数据
            QueueMapper.insert(null, width, height, 3);
            //System.out.println("未找到符合的数据");
            return false;
            QueueMapper.insertMatchFailure(width, height, -1);
            System.out.println("未找到符合的数据");
        }
        return new GlassInfo();
    }
    // Execl表格 传入文件路径
@@ -93,6 +96,10 @@
        try {
            // 创建文件对象
            File file = new File(filename);
            if (!file.exists()) {
                System.out.println("文件不存在! "+filename);
                return new ArrayList<>();
            }
            // 创建文件输入流对象
            FileInputStream inputStream = new FileInputStream(file);
            // 创建工作簿对象
springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java
@@ -19,7 +19,7 @@
     * driver,url,username,password
     */
    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost:3306/canadames";
    private static final String URL = "jdbc:mysql://10.153.19.150:3306/canadames";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "beibo.123/";
    
@@ -256,7 +256,7 @@
     */
    public static Connection getConn() throws SQLException {
        Connection conn = null;
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/canadames?serverTimezone=GMT%2B8&characterEncoding=utf-8", "root", "beibo.123/");
        conn = DriverManager.getConnection("jdbc:mysql://10.153.19.150:3306/canadames?serverTimezone=GMT%2B8&characterEncoding=utf-8", "root", "beibo.123/");
        return conn;
    }
springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json
@@ -1,6 +1,6 @@
{
   "plcAddressBegin":"DB14.0",
   "plcAddressLenght":"210",
   "plcAddressLenght":"208",
   "dataType":"word",
   "parameteInfor":[
      {
@@ -409,16 +409,6 @@
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MainControl",
         "addressIndex":"208",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
   ]
}
springboot-vue3/src/main/resources/application.properties
@@ -23,9 +23,6 @@
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.rabbitmq.host=10.153.19.150
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest