Merge branch 'master' of ssh://10.153.19.150:29418/CanadaMes
| | |
| | | */
|
| | | export function home(data) {
|
| | | return request({
|
| | | url: '/storageRack/load',
|
| | | url: '/home/load',
|
| | | method: 'get',
|
| | | data
|
| | | })
|
| | | }
|
| | | export function home2(data) {
|
| | | return request({
|
| | | url: '/storageRack/loads',
|
| | | url: '/home/loads',
|
| | | method: 'get',
|
| | | data
|
| | | })
|
| | | }
|
| | |
|
| | | export function loadtask(type) {
|
| | | return request({
|
| | | url: '/home/loadinout?types=' + type,
|
| | | method: 'get',
|
| | | })
|
| | | }
|
| | |
|
| | | export function InsertOrder(orderid) {
|
| | | return request({
|
| | | url: '/home/InsertOrder?orderid=' + orderid,
|
| | | method: 'get',
|
| | | data :""
|
| | | })
|
| | | }
|
| | |
| | | data() {
|
| | | return {
|
| | | record: {
|
| | | params: [0, 0, 0, 0, 0, 0],
|
| | | xyData: [{ name: "conveyor Velocity(Auto SLOW)", value: 0 },
|
| | | { name: "B01 B02 TRAVEL POS Velocity AUTO", value: 0 },
|
| | | { name: "B01 B02 TRAVEL JOG Velocity", value: 0 },
|
| | | { name: "conveyor Velocity(Manual)", value: 0},
|
| | | { name: "B01 B02 TRAVEL JOG Velocity", value: 0},
|
| | | { name: "conveyor Velocity(Manual)", value: 0 }],
|
| | | params: [100, 200, 10, 10, 10, 10],
|
| | | xyData: [{ name: "conveyor Velocity(Auto SLOW)", value: 100 },
|
| | | { name: "B01 B02 TRAVEL POS Velocity AUTO", value: 10 },
|
| | | { name: "B01 B02 TRAVEL JOG Velocity", value: 10 },
|
| | | { name: "conveyor Velocity(Manual)", value: 10},
|
| | | { name: "B01 B02 TRAVEL JOG Velocity", value: 10},
|
| | | { name: "conveyor Velocity(Manual)", value: 10 }],
|
| | | canshu: [
|
| | | 'conveyor Velocity(Auto SLOW)',
|
| | | 'B01 B02 TRAVEL POS Velocity AUTO',
|
| | |
| | | <style>
|
| | | *{
|
| | | margin:0;
|
| | | padding:0;
|
| | | |
| | | * {
|
| | | margin: 0;
|
| | | padding: 0;
|
| | | }
|
| | | .occupy{
|
| | | height:100%;
|
| | | width:10%;
|
| | | background-color:white;
|
| | |
|
| | | .occupy {
|
| | | height: 100%;
|
| | | width: 10%;
|
| | | background-color: white;
|
| | | margin: 0px 8px 0px 8px;
|
| | | border:1px black solid;
|
| | | text-align:center;
|
| | | border: 1px black solid;
|
| | | text-align: center;
|
| | | padding: 5px;
|
| | | }
|
| | | .el-col{
|
| | | margin-top:7px;
|
| | |
|
| | | .el-col {
|
| | | margin-top: 4px;
|
| | | }
|
| | | .biao{
|
| | | font-size:12px;
|
| | |
|
| | | .biao {
|
| | | font-size: 12px;
|
| | | }
|
| | | .zhi{
|
| | | font-size:18px;
|
| | |
|
| | | .zhi {
|
| | | font-size: 18px;
|
| | | font-weight: bold;
|
| | | }
|
| | | .el-main{
|
| | | --el-main-padding: 0px;
|
| | |
|
| | | .el-main {
|
| | | padding: 3px;
|
| | | min-height: 40vh;
|
| | | }
|
| | | .green{
|
| | | background-color:green;
|
| | | .el-footer {
|
| | | max-height: 60vh;
|
| | | padding: 0px;
|
| | | margin: 0px;
|
| | | }
|
| | | .blue{
|
| | | background-color:blue;
|
| | | .green {
|
| | | background-color: green;
|
| | | }
|
| | | .red{
|
| | | background-color:red;
|
| | |
|
| | | .blue {
|
| | | background-color: blue;
|
| | | }
|
| | | .yellow{
|
| | | background-color:yellow;
|
| | |
|
| | | .red {
|
| | | background-color: red;
|
| | | }
|
| | | .gezi{
|
| | | height:25px;
|
| | | width: 2.02px;
|
| | |
|
| | | .yellow {
|
| | | background-color: yellow;
|
| | | }
|
| | |
|
| | | .black {
|
| | | background-color: black;
|
| | | }
|
| | |
|
| | | .gezi {
|
| | | height: 23px;
|
| | | width: 1.74px;
|
| | | }
|
| | |
|
| | | .gezi:nth-child(22) {
|
| | | margin-left:4px;
|
| | | margin-left: 4px;
|
| | | }
|
| | |
|
| | | .gezi:nth-child(43) {
|
| | | margin-left:4px;
|
| | | margin-left: 4px;
|
| | | }
|
| | |
|
| | | .gezi:nth-child(64) {
|
| | | margin-left:4px;
|
| | | margin-left: 4px;
|
| | | }
|
| | |
|
| | | .gezi:nth-child(85) {
|
| | | margin-left:4px;
|
| | | margin-left: 4px;
|
| | | }
|
| | |
|
| | | .block {
|
| | | min-height: 50vh;
|
| | | max-width: 100vw; |
| | | background-image: url('xmjc.png');
|
| | | margin: 0px;
|
| | | background-repeat:no-repeat ;
|
| | | background-size:100% 100%;
|
| | | background-attachment:local;
|
| | | }
|
| | | </style>
|
| | | <template>
|
| | | <el-container style=" height:90%;
|
| | | width:100%;">
|
| | | <!-- <el-header style="padding: 10px;"></el-header> -->
|
| | | <el-main>
|
| | | <div style="display:flex;justify-content: space-around;width: 75%;margin: 0 auto;">
|
| | | <el-input style="width:15%;" placeholder="Enter the glass lD"></el-input>
|
| | | <el-button type="primary">Manually feed the glass</el-button>
|
| | | <el-input style="width:15%;" placeholder="Enter the order number"></el-input>
|
| | | <el-button type="warning">Exit the glass by order number</el-button>
|
| | | </div>
|
| | | <div>
|
| | | <el-table :data="tableData" border style="width: 100%">
|
| | | <el-table-column prop="date" label="Coming out glass ID"></el-table-column>
|
| | | <el-table-column prop="name" label="The Grille number being used"></el-table-column>
|
| | | <el-table-column prop="address" label="Order number"></el-table-column>
|
| | | <el-table-column prop="address" label="Length and width"></el-table-column>
|
| | | <el-table-column prop="address" label="coating"></el-table-column>
|
| | | </el-table>
|
| | | <el-table :data="tableData" border style="width: 100%">
|
| | | <el-table-column prop="date" label="Incoming glass ID"></el-table-column>
|
| | | <el-table-column prop="name" label="The Grille number being used"></el-table-column>
|
| | | <el-table-column prop="address" label="Order number"></el-table-column>
|
| | | <el-table-column prop="address" label="Length and width"></el-table-column>
|
| | | <el-table-column prop="address" label="coating"></el-table-column>
|
| | | </el-table>
|
| | | </div>
|
| | | <div style="padding: 10px;display: flex;height:120px;">
|
| | | <div v-for="item in tableData" :key="item['cageno']" class="occupy">
|
| | | <el-col style="text-align:left;font-weight: bold;">#{{ item['cageno'] }}</el-col>
|
| | | <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
|
| | | <span class="biao">Usage</span><span class="zhi">{{ item['cell'] }}%</span>
|
| | | </el-col>
|
| | | <hr style="width:80%;margin: 0 auto;"/>
|
| | | <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
|
| | | <span class="biao">Space (Pieces)</span><span class="zhi">{{ item['falg'] }}</span>
|
| | | </el-col>
|
| | | </div>
|
| | | </div>
|
| | | </el-main>
|
| | | <el-footer>
|
| | | <div class="demo-image__placeholder" style="text-align: center;">
|
| | | <div class="block">
|
| | | <el-image :src="require('@/img/xmjc.png')" style="height: 400px;"></el-image>
|
| | | </div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:435px;left:531px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist1" :key="item['date']"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:435px;left: 794.2px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist2" :key="item['date']"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:462px;left:531px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist3" :key="item['date']"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:462px;left: 794.2px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist4" :key="item['date']"></div>
|
| | | </div>
|
| | | </el-footer>
|
| | | </el-container>
|
| | | </template>
|
| | | <el-container>
|
| | | <!-- <el-header style="padding: 10px;"></el-header> -->
|
| | | <el-main>
|
| | | <div style="display:flex;justify-content: space-around;width: 95%;margin: 0 auto;">
|
| | | <el-input style="width:15%;" placeholder="Enter the glass lD"></el-input>
|
| | | <el-button type="primary">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="getOrder()">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 prop="cage" label="The Grille number being used"></el-table-column>
|
| | | <el-table-column label="Order number">orderNo</el-table-column>
|
| | | <el-table-column prop="address" label="Length and width"></el-table-column>
|
| | | <el-table-column prop="address" label="coating"></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 prop="cage" label="The Grille number being used"></el-table-column>
|
| | | <el-table-column label="Order number">orderNo</el-table-column>
|
| | | <el-table-column prop="address" label="Length and width"></el-table-column>
|
| | | <el-table-column prop="address" label="coating"></el-table-column>
|
| | | </el-table>
|
| | | </div>
|
| | | <div style="padding: 10px;display: flex;height:85px;">
|
| | | <div v-for="item in tableData" :key="item['cageno']" class="occupy">
|
| | | <el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
|
| | | <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
|
| | | <span class="biao">Usage</span><span class="zhi">{{ item['cell'] }}%</span>
|
| | | </el-col>
|
| | | <hr style="width:80%;margin: 0 auto;" />
|
| | | <el-col style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
|
| | | <span class="biao">Space (Pieces)</span><span class="zhi">{{ item['state'] }}</span>
|
| | | </el-col>
|
| | | </div>
|
| | | </div>
|
| | | </el-main>
|
| | | <el-footer> |
| | | <div class="block" style="text-align: center;position: relative;">
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:71px;left:136px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist1" :key="item['date']"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:71px;left:366px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist2" :key="item['date']"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:96px;left:136px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist3" :key="item['date']"></div>
|
| | | </div>
|
| | | <div style="display:flex;position: absolute;float:left;z-index: 999;top:96px;left:366px;">
|
| | | <div :class="getStatusClass(item.state)" v-for="item in cagelist4" :key="item['date']"></div>
|
| | | </div>
|
| | | </div> |
| | | </el-footer>
|
| | | </el-container>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | <script>
|
| | |
|
| | | import {home,home2} from "../../api/home";
|
| | | import { home, home2, loadtask, InsertOrder } from "../../api/home";
|
| | |
|
| | | |
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | tableData: [],
|
| | | cagelist1: [],
|
| | | cagelist2: [],
|
| | | cagelist3: [],
|
| | | cagelist4: [],
|
| | | form: {},
|
| | | src: "./img/xmjc.png"
|
| | | };
|
| | | },
|
| | | created() {
|
| | | this.load();
|
| | | },
|
| | | methods: {
|
| | | load() {
|
| | | // request.get("api/storageRack/load").then((res) => {
|
| | | // this.tableData = res.data.list;
|
| | | // });
|
| | | // request.get("/storageRack/loads").then((res) => {
|
| | | // this.cagelist1 = res.data.list1;
|
| | | // this.cagelist2 = res.data.list2;
|
| | | // this.cagelist3 = res.data.list3;
|
| | | // this.cagelist4 = res.data.list4;
|
| | | // });
|
| | |
|
| | | home().then(res => {
|
| | | console.log(res.data.list);
|
| | | this.tableData = res.data.list;
|
| | | });
|
| | | home2().then(res => {
|
| | | this.cagelist1 = res.data.list1;
|
| | | this.cagelist2 = res.data.list2;
|
| | | this.cagelist3 = res.data.list3;
|
| | | this.cagelist4 = res.data.list4;
|
| | | });
|
| | | },
|
| | | getStatusClass(state) {
|
| | | if (state === 0) {
|
| | | return "green gezi";
|
| | | } else if (state === 1) {
|
| | | return "blue gezi";
|
| | | } else if (state === 2) {
|
| | | return "red gezi";
|
| | | } else {
|
| | | return "yellow gezi";
|
| | | }
|
| | | }
|
| | | }
|
| | | };
|
| | | </script> |
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | tableData: [],
|
| | | cagelist1: [],
|
| | | cagelist2: [],
|
| | | cagelist3: [],
|
| | | cagelist4: [],
|
| | | form: {},
|
| | | task1: 3,
|
| | | task2: 4,
|
| | | tasklist1: [],
|
| | | tasklist2: [],
|
| | | src: "./img/xmjc.png",
|
| | | order: ""
|
| | | };
|
| | | },
|
| | | created() {
|
| | | this.load();
|
| | | },
|
| | | methods: {
|
| | | load() {
|
| | | home().then(res => {
|
| | | this.tableData = res.data.list;
|
| | | });
|
| | | home2().then(res => {
|
| | | this.cagelist1 = res.data.list1;
|
| | | this.cagelist2 = res.data.list2;
|
| | | this.cagelist3 = res.data.list3;
|
| | | this.cagelist4 = res.data.list4;
|
| | | });
|
| | | loadtask(this.task1).then(res => {
|
| | | this.tasklist1 = res.data.list;
|
| | | });
|
| | | loadtask(this.task2).then(res => {
|
| | | this.tasklist2 = res.data.list;
|
| | | });
|
| | | },
|
| | | getStatusClass(state) {
|
| | | //每各格子不同状态不同颜色
|
| | | if (state == 0) {
|
| | | return "green gezi";
|
| | | } else if (state == 1) {
|
| | | return "blue gezi";
|
| | | } else if (state == 2) {
|
| | | return "yellow gezi";
|
| | | } else if (state == 3) {
|
| | | return "red gezi";
|
| | | } else {
|
| | | return "black gezi";
|
| | | }
|
| | | },
|
| | | getOrder() {
|
| | | if(this.order!=""){
|
| | | InsertOrder(this.order).then(res => {
|
| | | if (res.data.message == 200) {
|
| | | this.$message.success("Operation successful");
|
| | | } else {
|
| | | this.$message.success("operation failed");
|
| | | }
|
| | | this.load();
|
| | | });
|
| | | }
|
| | | |
| | | }
|
| | | }
|
| | | };
|
| | |
|
| | |
|
| | | </script> |
| | |
| | | <artifactId>poi-tl</artifactId> |
| | | <version>1.12.1</version> |
| | | </dependency> |
| | | |
| | | |
| | | |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-websocket</artifactId> |
| | |
| | | if (webSocketServer != null) {
|
| | | List<String> messages = webSocketServer.getMessages();
|
| | |
|
| | | List<String> addressList = new ArrayList<>();
|
| | | addressList.add("DB100.DBW0");
|
| | | addressList.add("DB100.DBW2");
|
| | | addressList.add("DB100.DBW4");
|
| | | addressList.add("DB100.DBW6");
|
| | | addressList.add("DB100.DBW8");
|
| | | addressList.add("DB100.DBW10");
|
| | | addressList.add("DB100.DBW12");
|
| | | addressList.add("DB100.DBW14");
|
| | | addressList.add("DB100.DBW16");
|
| | | addressList.add("DB100.DBW18");
|
| | | addressList.add("DB100.DBW20");
|
| | | addressList.add("DB100.DBW22");
|
| | | String addressList = "DB100.DBW0";
|
| | | // addressList.add("DB100.DBW0");
|
| | | // addressList.add("DB100.DBW2");
|
| | | // addressList.add("DB100.DBW4");
|
| | | // addressList.add("DB100.DBW6");
|
| | | // addressList.add("DB100.DBW8");
|
| | | // addressList.add("DB100.DBW10");
|
| | | // addressList.add("DB100.DBW12");
|
| | | // addressList.add("DB100.DBW14");
|
| | | // addressList.add("DB100.DBW16");
|
| | | // addressList.add("DB100.DBW18");
|
| | | // addressList.add("DB100.DBW20");
|
| | | // addressList.add("DB100.DBW22");
|
| | |
|
| | | if (!messages.isEmpty()) {
|
| | | // 将最后一个消息转换为 short 类型的列表
|
| | |
| | | // 将消息值写入 PLC
|
| | | // S7control.getinstance().WriteWord(addressList, messageValues);
|
| | | System.out.println("messageValues:" + messageValues);
|
| | | System.out.println("addressList:" + addressList);
|
| | | // 清空消息列表
|
| | | messages.clear();
|
| | | }
|
| | |
| | | |
| | | |
| | | new Plcaction().start(); |
| | | |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | package com.example.springboot.controller; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | |
| | | import com.example.springboot.mapper.HomeMapper; |
| | | import com.example.springboot.service.HomeService; |
| | | import com.example.springboot.common.Result; |
| | | import com.example.springboot.entity.StorageCage; |
| | | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | @RestController |
| | | @RequestMapping("/home") |
| | | public class HomeController { |
| | | @Autowired |
| | | HomeMapper homeMapper; |
| | | |
| | | @Autowired |
| | | HomeService storageRackService; |
| | | |
| | | @GetMapping("/load") |
| | | public Result selectAll(){ |
| | | List<StorageCage> storageCagelist=homeMapper.selectAll(); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("list",storageCagelist); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | @GetMapping("/loads") |
| | | public Result selectRack(){ |
| | | List<StorageCage> storageCagelist1=homeMapper.selectRack1(); |
| | | List<StorageCage> storageCagelist2=homeMapper.selectRack2(); |
| | | List<StorageCage> storageCagelist3=homeMapper.selectRack3(); |
| | | List<StorageCage> storageCagelist4=homeMapper.selectRack4(); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("list1",storageCagelist1); |
| | | map.put("list2",storageCagelist2); |
| | | map.put("list3",storageCagelist3); |
| | | map.put("list4",storageCagelist4); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | @GetMapping("/loadinout") |
| | | public Result selectinout(Integer types){ |
| | | List<StorageCage> storageCageinout=homeMapper.selectinout(types); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("list",storageCageinout); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | @GetMapping("/InsertOrder") |
| | | public Result InsertOrder(String orderid){ |
| | | short result=homeMapper.SelectOrder(orderid); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if(result>0){ |
| | | homeMapper.updateOrder(); |
| | | homeMapper.InsertOrder(orderid); |
| | | map.put("message","200"); |
| | | }else{ |
| | | map.put("message","500"); |
| | | } |
| | | return Result.success(map); |
| | | } |
| | | } |
New file |
| | |
| | | package com.example.springboot.entity; |
| | | |
| | | import java.sql.Date; |
| | | |
| | | public class OrderOut { |
| | | private Integer id; |
| | | private String orderid; |
| | | private Integer state; |
| | | private Date modtime; |
| | | |
| | | public Integer id() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setOrderId(String orderid) { |
| | | this.orderid = orderid; |
| | | } |
| | | |
| | | public String getOrderId() { |
| | | return orderid; |
| | | } |
| | | |
| | | public void setState(Integer state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public Integer getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setModTime(Date modtime) { |
| | | this.modtime = modtime; |
| | | } |
| | | |
| | | public Date getModTime() { |
| | | return modtime; |
| | | } |
| | | } |
New file |
| | |
| | | package com.example.springboot.entity; |
| | | |
| | | public class StorageCage { |
| | | private Integer id; |
| | | private String glassId; |
| | | private String cage; |
| | | private String cell; |
| | | //private String height; |
| | | private String width; |
| | | private String state; |
| | | private String tier; |
| | | |
| | | |
| | | public Integer id() { |
| | | return id; |
| | | } |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public String getGlassId() { |
| | | return glassId; |
| | | } |
| | | |
| | | public void setGlassId(String glassId) { |
| | | this.glassId = glassId; |
| | | } |
| | | |
| | | public String getCage() { |
| | | return cage; |
| | | } |
| | | |
| | | public void setGage(String cage) { |
| | | this.cage = cage; |
| | | } |
| | | |
| | | public void setCell(String cell) { |
| | | this.cell = cell; |
| | | } |
| | | |
| | | public String getCell() { |
| | | return cell; |
| | | } |
| | | |
| | | |
| | | |
| | | // public String getHeighth() { |
| | | // return height; |
| | | // } |
| | | |
| | | // public void setHeight(String height) { |
| | | // this.height = height; |
| | | // } |
| | | |
| | | public String getWidth() { |
| | | return width; |
| | | } |
| | | |
| | | public void setWidth(String width) { |
| | | this.width = width; |
| | | } |
| | | |
| | | public String getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setState(String state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public String getTier() { |
| | | return tier; |
| | | } |
| | | |
| | | public void setTier(String tier) { |
| | | this.tier = tier; |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.example.springboot.entity; |
| | | |
| | | public class StorageTask{ |
| | | private Integer id; |
| | | private String taskType; |
| | | private String cataskStatege; |
| | | private String shelfRack; |
| | | private String loadrack; |
| | | |
| | | public Integer id() { |
| | | return id; |
| | | } |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public String getTaskType() { |
| | | return taskType; |
| | | } |
| | | |
| | | public void setTaskType(String taskType) { |
| | | this.taskType = taskType; |
| | | } |
| | | |
| | | public String getCataskStatege() { |
| | | return cataskStatege; |
| | | } |
| | | |
| | | public void setCataskStatege(String cataskStatege) { |
| | | this.cataskStatege = cataskStatege; |
| | | } |
| | | |
| | | public String getShelfRack() { |
| | | return shelfRack; |
| | | } |
| | | |
| | | public void setShelfRack(String shelfRack) { |
| | | this.shelfRack = shelfRack; |
| | | } |
| | | |
| | | public String getLoadrack() { |
| | | return loadrack; |
| | | } |
| | | |
| | | public void setLoadrack(String loadrack) { |
| | | this.loadrack = loadrack; |
| | | } |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.example.springboot.mapper; |
| | | |
| | | import org.apache.ibatis.annotations.*; |
| | | |
| | | import com.example.springboot.entity.StorageCage; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface HomeMapper { |
| | | @Select("SELECT cage,round(round(sum(state)/42,2)*100) as cell,42-sum(state) as state FROM storage_cage group by cage") |
| | | List<StorageCage> selectAll(); |
| | | |
| | | //查询1-5笼内层格子状态 |
| | | @Select("SELECT state from storage_cage where cage<=5 and tier=1") |
| | | List<StorageCage> selectRack1(); |
| | | |
| | | //查询6-10笼内层格子状态 |
| | | @Select("SELECT state from storage_cage where cage>5 and tier=1") |
| | | List<StorageCage> selectRack2(); |
| | | |
| | | //查询1-5笼外层格子状态 |
| | | @Select("SELECT state from storage_cage where cage<=5 and tier=2") |
| | | List<StorageCage> selectRack3(); |
| | | |
| | | //查询6-10笼外层格子状态 |
| | | @Select("SELECT state from storage_cage where cage>5 and tier=2") |
| | | List<StorageCage> selectRack4(); |
| | | |
| | | // 根据任务类型查询当前正在出片,进片的玻璃信息 |
| | | @Select("select * from storage_cage where state=#{task_type} limit 1") |
| | | List<StorageCage> selectinout(@Param("task_type") Integer task_type); |
| | | |
| | | // 查询是否存在此订单 |
| | | @Select("select count(*) from storage_cage where order_id=#{orderid} and state=0") |
| | | short SelectOrder(@Param("orderid") String orderid); |
| | | |
| | | // @Insert("insert into order_out(orderid) values('#{orderid}')") |
| | | @Insert("INSERT INTO `canadames`.`order_out`( `orderid`,`mod_time`) VALUES ( #{orderid},now())") |
| | | void InsertOrder(String orderid); |
| | | |
| | | @Update("update order_out set state=1 where state=0") |
| | | void updateOrder(); |
| | | } |
New file |
| | |
| | | package com.example.springboot.service; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | |
| | | @Service |
| | | public class HomeService { |
| | | |
| | | } |
| | |
| | | #\u6570\u636E\u5E93\u9A71\u52A8 |
| | | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver |
| | | #\u6570\u636E\u5E93\u8FDE\u63A5\u5730\u5740 |
| | | spring.datasource.url=jdbc:mysql://localhost:3306/canadames?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai |
| | | spring.datasource.url=jdbc:mysql://10.153.19.150:3306/canadames?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai |
| | | #\u6570\u636E\u5E93\u7528\u6237\u540D |
| | | spring.datasource.username=root |
| | | #\u6570\u636E\u5E93\u7528\u6237\u5BC6\u7801 |
| | |
| | | Target Server Version : 80022
|
| | | File Encoding : 65001
|
| | |
|
| | | Date: 30/08/2023 16:14:36
|
| | | Date: 05/09/2023 16:20:45
|
| | | */
|
| | |
|
| | | SET NAMES utf8mb4;
|
| | |
| | | `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 = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品分类' ROW_FORMAT = Dynamic;
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品分类' ROW_FORMAT = Dynamic;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of category
|
| | |
| | | `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 = 53 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 46 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of device
|
| | |
| | | -- Records of menu_list
|
| | | -- ----------------------------
|
| | | INSERT INTO `menu_list` VALUES (1, NULL, '用户管理', 'el-icon-user-solid', 1, '', 1, '2021-11-28 14:30:27', '2021-11-28 15:06:04');
|
| | | INSERT INTO `menu_list` VALUES (2, NULL, '设备管理', 'el-icon-lollipop', 2, '', 1, '2023-08-23 20:11:38', '2023-08-28 08:16:00');
|
| | | INSERT INTO `menu_list` VALUES (2, NULL, '电气管理', 'el-icon-lollipop', 2, '', 1, '2023-08-23 20:11:38', '2023-09-01 16:34:36');
|
| | | 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 (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, 'device/alarm', 1, '2021-11-28 14:30:28', '2023-08-25 14:05:05');
|
| | | INSERT INTO `menu_list` VALUES (51, 2, 'I/O状态', NULL, 51, 'device/iostate', 1, '2023-08-25 13:29:13', '2023-08-25 14:07:04');
|
| | | INSERT INTO `menu_list` VALUES (52, 2, '开关控制', NULL, 52, 'device/control', 1, '2023-08-25 13:29:18', '2023-08-25 14:06:48');
|
| | | INSERT INTO `menu_list` VALUES (53, 2, '参数下发', NULL, 53, 'device/parameter', 1, '2023-08-25 13:29:22', '2023-08-25 14:06:33');
|
| | | 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 (53, 2, '参数下发', NULL, 53, 'Electrical/Parameter', 1, '2023-08-25 13:29:22', '2023-09-01 16:32:29');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for permission
|
| | |
| | | `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 = 52 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 54 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of role_menu_list
|
| | |
| | | INSERT INTO `role_menu_list` VALUES (47, 2, 60, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (50, 2, 2, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (51, 2, 49, 1, '2023-08-28 15:14:27', '2023-08-28 15:53:34');
|
| | | INSERT INTO `role_menu_list` VALUES (52, 2, 1, 1, '2023-08-30 16:28:57', '2023-08-30 16:28:57');
|
| | | INSERT INTO `role_menu_list` VALUES (53, 2, 7, 1, '2023-08-30 16:29:05', '2023-08-30 16:29:05');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for role_permission
|
| | |
| | | `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 = 74 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限' ROW_FORMAT = Dynamic;
|
| | | ) ENGINE = InnoDB AUTO_INCREMENT = 76 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色权限' ROW_FORMAT = Dynamic;
|
| | |
|
| | | -- ----------------------------
|
| | | -- Records of role_permission
|
| | |
| | | INSERT INTO `role_permission` VALUES (43, 1, 29, 1, '2023-08-24 08:56:15', '2023-08-24 08:56:15');
|
| | | INSERT INTO `role_permission` VALUES (44, 1, 31, 1, '2023-08-24 08:56:23', '2023-08-24 08:56:23');
|
| | | INSERT INTO `role_permission` VALUES (53, 2, 2, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (54, 2, 3, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (54, 2, 3, 0, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (56, 2, 8, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (57, 2, 9, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (58, 2, 10, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | |
| | | INSERT INTO `role_permission` VALUES (63, 2, 17, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (64, 2, 18, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (65, 2, 19, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (66, 2, 20, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (66, 2, 20, 0, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (67, 2, 22, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (68, 2, 25, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | | INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
|
| | |
| | | INSERT INTO `role_permission` VALUES (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 (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-08-30 16:29:46');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Table structure for storage_rack
|
| | |
| | | -- ----------------------------
|
| | | -- Records of user
|
| | | -- ----------------------------
|
| | | INSERT INTO `user` VALUES (1, 0, '', 0, 1, 'admin', 'b2f0c414a5ffb6944c424bc18ae3a8a0', NULL, NULL, NULL, 1, '2023-08-25 08:58:58', '2023-08-29 16:02:56');
|
| | | 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', '16de30ab81d69e8cc479a05cad599657', '666@qq.com', NULL, NULL, 1, '2023-08-23 20:35:32', '2023-08-23 20:35:32');
|
| | | 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');
|
| | | INSERT INTO `user` VALUES (13, 1, '1-', 1, 2, 'user3', '500637c0d48b442a3be6d4fce12e0910', '2265557345@qq.com', NULL, NULL, 1, '2023-08-24 09:58:40', '2023-08-24 09:58:40');
|
| | | INSERT INTO `user` VALUES (15, 1, '1-', 1, 2, '99999', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '2267666@qq.com', NULL, NULL, 1, '2023-08-25 09:37:05', '2023-08-28 14:37:27');
|
| | | INSERT INTO `user` VALUES (16, 1, '1-', 1, 1, '5656tttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '5454@qq.com', NULL, NULL, 1, '2023-08-28 14:17:44', '2023-08-28 14:37:24');
|
| | | INSERT INTO `user` VALUES (16, 1, '1-', 1, 2, '5656tttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '5454@qq.com', NULL, NULL, 1, '2023-08-28 14:17:44', '2023-08-28 14:37:24');
|
| | | INSERT INTO `user` VALUES (17, 1, '1-', 1, 2, '6767ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '225@qq.com', NULL, NULL, 1, '2023-08-28 14:20:05', '2023-08-28 14:23:53');
|
| | | INSERT INTO `user` VALUES (18, 1, '1-', 1, 2, '8989ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '224@qq.com', NULL, NULL, 1, '2023-08-28 14:26:17', '2023-08-28 14:37:22');
|
| | | INSERT INTO `user` VALUES (19, 1, '1-', 1, 2, '8080ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '87@qq.com', NULL, NULL, 1, '2023-08-28 14:34:39', '2023-08-29 16:03:38');
|
| | | INSERT INTO `user` VALUES (19, 1, '1-', 1, 5, '8080ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '87@qq.com', NULL, NULL, 1, '2023-08-28 14:34:39', '2023-08-29 16:03:38');
|
| | |
|
| | | -- ----------------------------
|
| | | -- Procedure structure for Your_Stored_Procedure
|