wuyouming666
2023-09-05 c7df23be1f204458883088c18cbe33a451b8e50d
Merge branch 'master' of ssh://10.153.19.150:29418/CanadaMes
8个文件已修改
7个文件已添加
4个文件已删除
946 ■■■■■ 已修改文件
CanadaMes-ui/src/api/home.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/Electrical/Parameter.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/xmjc.png 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/pom.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/StorageRackController.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/OrderOut.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/StorageRack.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/StorageRackMapper.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/StorageRackService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/application.properties 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/sql/canadames.sql 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/api/home.js
@@ -7,17 +7,30 @@
 */
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 :""
    })
}
CanadaMes-ui/src/views/Electrical/Parameter.vue
@@ -31,13 +31,13 @@
  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',
CanadaMes-ui/src/views/home/index.vue
@@ -1,176 +1,222 @@
<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>
CanadaMes-ui/src/views/home/xmjc.png
springboot-vue3/pom.xml
@@ -118,6 +118,9 @@
            <artifactId>poi-tl</artifactId>
            <version>1.12.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java
@@ -28,19 +28,19 @@
            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 类型的列表
@@ -64,6 +64,7 @@
                    // 将消息值写入 PLC
//                    S7control.getinstance().WriteWord(addressList, messageValues);
                    System.out.println("messageValues:" + messageValues);
                    System.out.println("addressList:" + addressList);
                    // 清空消息列表
                    messages.clear();
                }
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -19,5 +19,7 @@
        new Plcaction().start();
    }
}
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
New file
@@ -0,0 +1,68 @@
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);
    }
}
springboot-vue3/src/main/java/com/example/springboot/controller/StorageRackController.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/entity/OrderOut.java
New file
@@ -0,0 +1,46 @@
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;
    }
}
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
New file
@@ -0,0 +1,83 @@
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;
    }
}
springboot-vue3/src/main/java/com/example/springboot/entity/StorageRack.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
New file
@@ -0,0 +1,54 @@
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;
    }
}
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
New file
@@ -0,0 +1,44 @@
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();
}
springboot-vue3/src/main/java/com/example/springboot/mapper/StorageRackMapper.java
File was deleted
springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java
New file
@@ -0,0 +1,9 @@
package com.example.springboot.service;
import org.springframework.stereotype.Service;
@Service
public class HomeService {
}
springboot-vue3/src/main/java/com/example/springboot/service/StorageRackService.java
File was deleted
springboot-vue3/src/main/resources/application.properties
@@ -6,7 +6,7 @@
#\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
springboot-vue3/src/main/resources/sql/canadames.sql
@@ -11,7 +11,7 @@
 Target Server Version : 80022
 File Encoding         : 65001
 Date: 30/08/2023 16:14:36
 Date: 05/09/2023 16:20:45
*/
SET NAMES utf8mb4;
@@ -32,7 +32,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 = 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
@@ -62,7 +62,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 = 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
@@ -102,16 +102,16 @@
-- 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
@@ -188,7 +188,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 = 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
@@ -229,6 +229,8 @@
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
@@ -242,7 +244,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 = 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
@@ -276,7 +278,7 @@
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');
@@ -285,7 +287,7 @@
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');
@@ -293,6 +295,7 @@
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
@@ -759,19 +762,19 @@
-- ----------------------------
-- 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