CanadaMes-ui/src/api/home.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
CanadaMes-ui/src/views/home/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
CanadaMes-ui/src/api/home.js
@@ -58,3 +58,27 @@ data :"" }) } export function SelectCageInfo(cage) { return request({ url: '/home/SelectCageInfo?cage='+cage, method: 'get', data :"" }) } export function DeleteByGlassID(glassid) { return request({ url: '/home/DeleteByGlassID?glassid='+glassid, method: 'get', data :"" }) } export function OutByGlassID(glassid) { return request({ url: '/home/OutByGlassID?glassid='+glassid, method: 'get', data :"" }) } CanadaMes-ui/src/views/home/index.vue
@@ -150,7 +150,6 @@ </label> </div> </div> <div style="display:flex;justify-content: space-around;width: 95%;margin: 0 auto;"> <el-input style="width:15%;" placeholder="Enter the glass lD" v-model="glassid"></el-input> <el-button type="primary" @click="showform()">Manually feed the glass</el-button> @@ -197,23 +196,23 @@ <el-footer> <div class="blocks" style="position: relative;"> <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:328px;"> <div :class="getStatusClass(item.state)" v-for="item in cagelist1" :key="item['date']"></div> <div :class="getStatusClass(item.state)" v-for="item in cagelist1" :key="item['date']" @click="showcageinfo(item['cage'])"></div> </div> <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:885px;"> <div :class="getStatusClass(item.state)" v-for="item in cagelist2" :key="item['date']"></div> <div :class="getStatusClass(item.state)" v-for="item in cagelist2" :key="item['date']" @click="showcageinfo(item['cage'])"></div> </div> <div style="display:flex;position: absolute;float:left;z-index: 999;top:154px;left:328px;"> <div :class="getStatusClass(item.state)" v-for="item in cagelist3" :key="item['date']"></div> <div :class="getStatusClass(item.state)" v-for="item in cagelist3" :key="item['date']" @click="showcageinfo(item['cage'])"></div> </div> <div style="display:flex;position: absolute;float:left;z-index: 999;top:154px;left:885px;"> <div :class="getStatusClass(item.state)" v-for="item in cagelist4" :key="item['date']"></div> <div :class="getStatusClass(item.state)" v-for="item in cagelist4" :key="item['date']" @click="showcageinfo(item['cage'])"></div> </div> <div class="blocks-img" :style="{ left: car1 + 'px', top: '16px' }"> </div> <div class="blocks-img" :style="{ left: car2 + 'px', top: '194px' }"> </div> <div class="blocks-img" :style="{ left: car1 + 'px', top: '16px' }"></div> <div class="blocks-img" :style="{ left: car2 + 'px', top: '194px' }"></div> </div> </el-footer> <el-dialog :visible.sync="dialogFormVisible" title="Please confirm the information"> @@ -263,12 +262,31 @@ <el-table-column prop="endTime" label="endTime"></el-table-column> </el-table> </el-dialog> <el-dialog :visible.sync="dialogFormVisible3" title="Ordering Information"> <el-table :data="this.cageinfo" border style="width: 100%;height: 700px;overflow: auto;"> <el-table-column :width="150" prop="cage" label="the grille number"></el-table-column> <el-table-column prop="cell" label="cell"></el-table-column> <el-table-column prop="tier" label="tier"></el-table-column> <el-table-column prop="glassId" label="glassid"></el-table-column> <el-table-column :width="130" prop="orderId" label="order number"></el-table-column> <el-table-column :width="150" prop="lengthWidth" label="length and width"></el-table-column> <el-table-column prop="coating" label="coating"></el-table-column> <el-table-column :width="150" label="operate"> <template slot-scope='scope'> <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" @click="deleteglass(scope.row.glassId, scope.row.state)">delete</el-button> <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" @click="outglass(scope.row.glassId,scope.row.state)">out</el-button> </template> </el-table-column> </el-table> </el-dialog> </el-container> </template> <script> import { home, home2, loadtask, InsertOrder, Addglassid, UpdateTask, SelectAlarmmgInfo } from "../../api/home"; import { home, home2, loadtask, InsertOrder, Addglassid, UpdateTask, SelectAlarmmgInfo, SelectCageInfo, DeleteByGlassID, OutByGlassID } from "../../api/home"; import LanguageMixin from '../../lang/LanguageMixin' let socket; @@ -280,6 +298,7 @@ dialogFormVisible: false, dialogFormVisible1: false, dialogFormVisible2: false, dialogFormVisible3: false, form: { orderno: "NG2210210", length: 800, @@ -306,7 +325,9 @@ car1: 150, car2: 242, incell: "", outcell: "" outcell: "", cageinfo: [], cage: 0 }; }, created() { @@ -337,9 +358,11 @@ //console.log("收到数据====" + msg.data); let obj = JSON.parse(msg.data); if (obj.params != null) { this.car1 = 150 + 24.6 * obj.params[0][0]; this.car2 = 242 + 24.6 * obj.params[0][1]; } this.car1 = 150 + 24.6 * obj.params[0][0]; this.car2 = 242 + 24.6 * obj.params[0][1]; this.tableData = obj.tableData[0]; this.cagelist1 = obj.cagelist1[0]; this.cagelist2 = obj.cagelist2[0]; @@ -354,16 +377,11 @@ this.outcell = this.tasklist2[0]['cell']; } this.alarm = obj.alarmmg[0]; // for (let a = 0; a <= this.record.params.length - 1; a++) { // // this.record.xyData[a] = [this.record.canshu[a], this.record.params[0][a]]; // // this.record.xyData[a] = { name: this.record.canshu[a], value: this.record.params[0][a] }; // // this.record.xyData[a].value = this.record.params[0][a]; // this.car1=this.record.params[0][a]; // console.log(this.record.params[0][a]); SelectCageInfo(this.cage).then(res => { this.cageinfo = res.data.cageinfo; }); // } this.$forceUpdate(); }.bind(this); @@ -496,17 +514,35 @@ }); } }, formatDate(timestamp) { const date = new Date(timestamp); const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const hours = date.getHours(); const minutes = date.getMinutes(); const seconds = date.getSeconds(); return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; showcageinfo(cage) { this.cage = cage; SelectCageInfo(cage).then(res => { this.cageinfo = res.data.cageinfo; this.dialogFormVisible3 = true; }); }, deleteglass(glassid, state) { if (state == 1) { DeleteByGlassID(glassid).then(res=>{ if (res.data.message3 == 200) { this.$message.success("Operation successful"); } }); } else { this.$message.success("No out allowed"); } }, outglass(glassid,state){ if (state == 1) { OutByGlassID(glassid).then(res=>{ if (res.data.message3 == 200) { this.$message.success("Operation successful"); } }); } else { this.$message.success("No out allowed"); } } } springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -1,11 +1,8 @@ package com.example.springboot.component; import java.util.ArrayList; import java.util.List; import com.example.springboot.controller.SpianController; import com.example.springboot.service.SpianService; import com.example.springboot.mapper.AlarmMapper; import com.example.springboot.mapper.HomeMapper; public class PlcHold extends Thread { springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -18,7 +18,7 @@ public void run() { while (this != null) { try { Thread.sleep(10000); Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -27,84 +27,108 @@ @Autowired SpianService spianService; @GetMapping("/load") public Result selectAll(){ List<StorageCage> storageCagelist=homeMapper.selectAll(); @GetMapping("/load") public Result selectAll() { List<StorageCage> storageCagelist = homeMapper.selectAll(); Map<String, Object> map = new HashMap<>(); map.put("list",storageCagelist); 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(); @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); 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); @GetMapping("/loadinout") public Result selectinout(Integer types) { List<StorageCage> storageCageinout = homeMapper.selectinout(types); Map<String, Object> map = new HashMap<>(); map.put("list",storageCageinout); map.put("list", storageCageinout); return Result.success(map); } @GetMapping("/InsertOrder") public Result InsertOrder(String orderid){ short result=homeMapper.SelectOrder(orderid); public Result InsertOrder(String orderid) { short result = homeMapper.SelectOrder(orderid); Map<String, Object> map = new HashMap<>(); if(result>0){ if (result > 0) { homeMapper.updateOrder(); homeMapper.InsertOrder(orderid); map.put("message","200"); }else{ map.put("message","500"); map.put("message", "200"); } else { map.put("message", "500"); } return Result.success(map); } @GetMapping("/Addglassid") public Result Addglassid(short glassid){ public Result Addglassid(short glassid) { Map<String, Object> map = new HashMap<>(); short taskno=homeMapper.SelectOutTask(); if(taskno>0){ map.put("message2","500"); }else{ map.put("message2","200"); //调用伍上片函数 short taskno = homeMapper.SelectOutTask(); if (taskno > 0) { map.put("message2", "500"); } else { map.put("message2", "200"); // 调用伍上片函数 spianService.selectAll(glassid); } return Result.success(map); } @GetMapping("/UpdateTask") public Result UpdateTask(Integer types,Integer shelfrack){ public Result UpdateTask(Integer types, Integer shelfrack) { Map<String, Object> map = new HashMap<>(); homeMapper.UpdateTask(types,shelfrack); if(types==0){ homeMapper.UpdateTask(types, shelfrack); if (types == 0) { homeMapper.UpdateCageTask1(shelfrack); }else{ } else { homeMapper.UpdateCageTask2(shelfrack); } map.put("message3","200"); map.put("message3", "200"); return Result.success(map); } @GetMapping("/SelectAlarmmgInfo") public Result SelectAlarmmgInfo(){ List<alarmmg> alarmmg=homeMapper.SelectAlarmmgInfo(); @GetMapping("/SelectAlarmmgInfo") public Result SelectAlarmmgInfo() { List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo(); Map<String, Object> map = new HashMap<>(); map.put("alarmmg",alarmmg); map.put("alarmmg", alarmmg); return Result.success(map); } @GetMapping("/SelectCageInfo") public Result SelectCageInfo(short cage) { List<StorageCage> cageinfo = homeMapper.SelectCageInfo(cage); Map<String, Object> map = new HashMap<>(); map.put("cageinfo", cageinfo); return Result.success(map); } @GetMapping("/DeleteByGlassID") public Result DeleteByGlassID(short glassid) { homeMapper.DeleteByGlassID(glassid); Map<String, Object> map = new HashMap<>(); map.put("message3", "200"); return Result.success(map); } @GetMapping("/OutByGlassID") public Result OutByGlassID(String glassid) { spianService.selectout2(glassid); Map<String, Object> map = new HashMap<>(); map.put("message3", "200"); return Result.success(map); } } springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -14,19 +14,19 @@ List<StorageCage> selectAll(); // 查询1-5笼内层格子状态 @Select("SELECT state from storage_cage where cage<=5 and tier=1") @Select("SELECT cage,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") @Select("SELECT cage,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") @Select("SELECT cage,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") @Select("SELECT cage,state from storage_cage where cage>5 and tier=2") List<StorageCage> selectRack4(); // 根据任务类型查询当前正在出片,进片的玻璃信息 @@ -64,4 +64,12 @@ //获取报警信息 @Select("select id,content,timeon as timeons,endTime from alarmmg where endTime is null") List<alarmmg> SelectAlarmmgInfo(); //获取理片笼内玻璃信息 @Select("select *,concat(glasswidth,' x ',glassheight) as lengthwidth from storage_cage where cage=#{cage} ") List<StorageCage> SelectCageInfo(short cage); @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,coating=null where glass_id=#{glassid}") void DeleteByGlassID(short glassid); } springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -42,7 +42,7 @@ @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage desc,tier desc,cell desc LIMIT 1") StorageCage selectOut(String orderId); //按玻璃ID出片任务查询 @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcid,id from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage desc,tier desc,cell desc LIMIT 1") @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage desc,tier desc,cell desc LIMIT 1") StorageCage selectOut2(String glassid); //判断出片为1时,是否可直接出片