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/home/index.vue
@@ -2,8 +2,8 @@ *{ margin:0; padding:0; } .occupy{ height:100%; width:10%; @@ -13,105 +13,133 @@ text-align:center; padding: 5px; } .el-col{ margin-top:7px; margin-top: 4px; } .biao{ font-size:12px; } .zhi{ font-size:18px; font-weight: bold; } .el-main{ --el-main-padding: 0px; padding: 3px; min-height: 40vh; } .el-footer { max-height: 60vh; padding: 0px; margin: 0px; } .green{ background-color:green; } .blue{ background-color:blue; } .red{ background-color:red; } .yellow{ background-color:yellow; } .gezi{ height:25px; width: 2.02px; .black { background-color: black; } .gezi { height: 23px; width: 1.74px; } .gezi:nth-child(22) { margin-left:4px; } .gezi:nth-child(43) { margin-left:4px; } .gezi:nth-child(64) { margin-left:4px; } .gezi:nth-child(85) { 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-container> <!-- <el-header style="padding: 10px;"></el-header> --> <el-main> <div style="display:flex;justify-content: space-around;width: 75%;margin: 0 auto;"> <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"></el-input> <el-button type="warning">Exit the glass by order number</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="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 :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="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 :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:120px;"> <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['cageno'] }}</el-col> <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['falg'] }}</span> <span class="biao">Space (Pieces)</span><span class="zhi">{{ item['state'] }}</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="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:435px;left: 794.2px;"> <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:462px;left:531px;"> <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:462px;left: 794.2px;"> <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> @@ -119,7 +147,7 @@ <script> import {home,home2} from "../../api/home"; import { home, home2, loadtask, InsertOrder } from "../../api/home"; export default { @@ -131,7 +159,12 @@ cagelist3: [], cagelist4: [], form: {}, src: "./img/xmjc.png" task1: 3, task2: 4, tasklist1: [], tasklist2: [], src: "./img/xmjc.png", order: "" }; }, created() { @@ -139,18 +172,7 @@ }, 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 => { @@ -159,18 +181,42 @@ 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) { //每各格子不同状态不同颜色 if (state == 0) { return "green gezi"; } else if (state === 1) { } else if (state == 1) { return "blue gezi"; } else if (state === 2) { } else if (state == 2) { return "yellow gezi"; } else if (state == 3) { return "red gezi"; } else { return "yellow gezi"; 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/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