From b293a0710a4a43ca574d3897241a140a465f2b7d Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 07 九月 2023 17:09:06 +0800
Subject: [PATCH] 更新代码(主页面报警信息,按订单出片时显示订单相关信息再确认)
---
CanadaMes-ui/src/views/home/index.vue | 190 ++++++++++++++++++++++++++++++--------
CanadaMes-ui/src/api/home.js | 12 ++
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 5
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | 18 +++
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | 19 +++
5 files changed, 196 insertions(+), 48 deletions(-)
diff --git a/CanadaMes-ui/src/api/home.js b/CanadaMes-ui/src/api/home.js
index 7d62fb2..0f4e344 100644
--- a/CanadaMes-ui/src/api/home.js
+++ b/CanadaMes-ui/src/api/home.js
@@ -43,9 +43,17 @@
})
}
-export function UpdateTask(types,shelf_rack) {
+export function UpdateTask(types,shelfrack) {
return request({
- url: '/home/UpdateTask?types=' + types + '&shelf_rack'+shelf_rack,
+ url: '/home/UpdateTask?types=' + types + '&shelfrack='+shelfrack,
+ method: 'get',
+ data :""
+ })
+}
+
+export function SelectAlarmmgInfo() {
+ return request({
+ url: '/home/SelectAlarmmgInfo',
method: 'get',
data :""
})
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index f5ca385..7900d17 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -73,7 +73,7 @@
.blocks {
- min-height: 50vh;
+ min-height: 49vh;
max-width: 100vw;
background-image: url('../../img/xmjc.png');
margin: 0 auto;
@@ -110,36 +110,74 @@
.el-table__empty-text {
line-height: 41px;
}
+
+.box {
+ width: 90%;
+ margin-left: 5%;
+ height: 35px;
+ color: red;
+ font-size: 12px;
+ overflow: hidden;
+}
+
+.text {
+ width: auto;
+ line-height: 35px;
+ white-space: nowrap;
+ animation: textScroll 20s linear infinite;
+ margin: 0 auto;
+}
+
+@keyframes textScroll {
+ 0% {
+ transform: translateX(100%);
+ }
+
+ 100% {
+ transform: translateX(-150%);
+ }
+}
</style>
<template>
<el-container>
<!-- <el-header style="padding: 10px;"></el-header> -->
<el-main>
+ <div class="box">
+ <div class="text">
+ Alarm:
+ <label v-for="item in this.alarm" :key="item['id']">
+ {{ item['content'] }}
+ </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>
<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>
+ <el-button type="warning" @click="showform1();">Exit the glass by order number</el-button>
</div>
<div>
- <el-table :data="this.tasklist1" border style="width: 100%" >
+ <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 :width="250" prop="cage" label="The Grille number being used"></el-table-column>
+ <el-table-column :width="250" prop="cell" label="The Grille number being used"></el-table-column>
<el-table-column prop="orderId" label="Order Nmuber"></el-table-column>
<el-table-column prop="lengthwidth" label="Length and width"></el-table-column>
<el-table-column prop="coating" label="coating"></el-table-column>
<el-table-column label="Operate">
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;">end task</el-button>
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" @click="endtask(0)">end
+ task</el-button>
</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 :width="250" prop="cage" label="The Grille number being used"></el-table-column>
+ <el-table-column :width="250" prop="cell" label="The Grille number being used"></el-table-column>
<el-table-column prop="orderId" label="Order Nmuber"></el-table-column>
<el-table-column prop="lengthwidth" label="Length and width"></el-table-column>
<el-table-column prop="coating" label="coating"></el-table-column>
<el-table-column label="Operate">
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;">end task</el-button>
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" @click="endtask(1)">end
+ task</el-button>
</el-table-column>
</el-table>
</div>
@@ -180,7 +218,7 @@
</el-footer>
<el-dialog :visible.sync="dialogFormVisible" title="Please confirm the information">
<el-form :model="form" label-width="100px" style="padding-right: 30px">
- <el-form-item label="Order">
+ <el-form-item label="order">
<el-input v-model="form.orderno" autocomplete="off" />
</el-form-item>
<el-form-item label="length">
@@ -200,12 +238,28 @@
</span>
</template>
</el-dialog>
+ <el-dialog :visible.sync="dialogFormVisible1" title="Ordering Information">
+ <el-form :model="form1" label-width="100px" style="padding-right: 30px">
+ <el-form-item label="order">
+ <el-input v-model="form1.order" autocomplete="off" />
+ </el-form-item>
+ <el-form-item label="number">
+ <el-input v-model="form1.number" autocomplete="off" />
+ </el-form-item>
+ </el-form>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="cancal1()">cancal</el-button>
+ <el-button @click="getOrder();" type="primary">confirm</el-button>
+ </span>
+ </template>
+ </el-dialog>
</el-container>
</template>
<script>
-import { home, home2, loadtask, InsertOrder, Addglassid } from "../../api/home";
+import { home, home2, loadtask, InsertOrder, Addglassid, UpdateTask, SelectAlarmmgInfo } from "../../api/home";
let socket;
export default {
@@ -213,12 +267,18 @@
data() {
return {
dialogFormVisible: false,
+ dialogFormVisible1: false,
form: {
orderno: "NG2210210",
length: 800,
width: 1000,
coating: "red",
},
+ form1: {
+ order: "NG2210210",
+ number: 800,
+ },
+ alarm: [],
tableData: [],
cagelist1: [],
cagelist2: [],
@@ -232,7 +292,9 @@
glassid: "",
url: "../../img/bigcar01.png",
car1: 116,
- car2: 187
+ car2: 187,
+ incell: "",
+ outcell: ""
};
},
created() {
@@ -268,14 +330,20 @@
this.car1 = 116 + 18.88 * obj.params[0][0];
this.car2 = 187 + 18.8 * obj.params[0][1];
- this.tableData=obj.tableData[0];
- this.cagelist1=obj.cagelist1[0];
- this.cagelist2=obj.cagelist2[0];
- this.cagelist3=obj.cagelist3[0];
- this.cagelist4=obj.cagelist4[0];
- this.tasklist1=obj.tasklist1[0];
- this.tasklist2=obj.tasklist2[0];
-
+ this.tableData = obj.tableData[0];
+ this.cagelist1 = obj.cagelist1[0];
+ this.cagelist2 = obj.cagelist2[0];
+ this.cagelist3 = obj.cagelist3[0];
+ this.cagelist4 = obj.cagelist4[0];
+ this.tasklist1 = obj.tasklist1[0];
+ this.tasklist2 = obj.tasklist2[0];
+ if (this.tasklist1.length > 0) {
+ this.incell = this.tasklist1[0]['cell'];
+ }
+ if (this.tasklist1.length > 0) {
+ 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] };
@@ -311,14 +379,23 @@
});
loadtask(this.task1).then(res => {
this.tasklist1 = res.data.list;
- console.log(this.tasklist1);
+ if (res.data.list.length > 0) {
+ this.incell = this.tasklist1[0]['cell'];
+ }
});
loadtask(this.task2).then(res => {
this.tasklist2 = res.data.list;
+ if (res.data.list.length > 0) {
+ this.outcell = this.tasklist2[0]['cell'];
+ }
+
});
loadtask(this.task2).then(res => {
this.tasklist2 = res.data.list;
-
+
+ });
+ SelectAlarmmgInfo().then(res => {
+ this.alarm = res.data.alarmmg;
});
},
//鏍规嵁鏍煎瓙鐘舵�佷慨鏀归鑹�
@@ -337,7 +414,7 @@
},
//鎸夎鍗曞嚭鐗�
getOrder() {
- if (this.order != "") {
+ if (this.form1.order != "") {
InsertOrder(this.order).then(res => {
if (res.data.message == 200) {
this.$message.success("Operation successful");
@@ -349,23 +426,9 @@
}
},
- showform() {
- this.form =
- {
- orderno: "NG2210210",
- length: 800,
- width: 1000,
- coating: "red",
- };
- this.dialogFormVisible = true;
- },
- cancal() {
- this.dialogFormVisible = false;
- this.form = {};
- },
//鎵嬪姩涓婄墖
sbumitglassid() {
- if (this.glassid != "") {
+ if (this.form.order != "") {
Addglassid(this.glassid).then(res => {
if (res.data.message2 == 200) {
this.$message.success("Operation successful");
@@ -376,12 +439,59 @@
});
}
},
- endtask(type,shelfrack) {
- alert(type);
- alert(shelfrack);
+ showform() {
+ if (this.glassid != "") {
+ this.form =
+ {
+ orderno: "NG2210210",
+ length: 800,
+ width: 1000,
+ coating: "red",
+ };
+ this.dialogFormVisible = true;
+ }
+ },
+ showform1() {
+ if (this.order != "") {
+ this.form1 =
+ {
+ order: "NG2210210",
+ number: 800,
+ };
+ this.dialogFormVisible1 = true;
+ }
+
+
+ },
+ cancal() {
+ this.dialogFormVisible = false;
+ this.form = {};
+ },
+ cancal1() {
+ this.dialogFormVisible1 = false;
+ this.form1 = {};
+ },
+ endtask(type) {
+ if (type == 0) {
+ UpdateTask(type, this.incell).then(res => {
+ if (res.data.message3 == 200) {
+ this.$message.success("Operation successful");
+ }
+ });
+ } else {
+ UpdateTask(type, this.outcell).then(res => {
+ if (res.data.message3 == 200) {
+ this.$message.success("Operation successful");
+ }
+ });
+ }
+
+
}
+
}
-};
+}
+
</script>
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index 6450dc5..c6ce249 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -7,6 +7,7 @@
import org.springframework.context.ConfigurableApplicationContext;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.alarmmg;
import com.example.springboot.mapper.HomeMapper;
public class Plchome extends Thread {
@@ -42,7 +43,9 @@
List<StorageCage> tasklist2=homeMapper.selectinout(3);
jsonObject.append("tasklist1", tasklist1);
jsonObject.append("tasklist2", tasklist2);
-
+ //鏌ヨ鎶ヨ淇℃伅
+ List<alarmmg> alarmmg=homeMapper.SelectAlarmmgInfo();
+ jsonObject.append("alarmmg", alarmmg);
//璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃�
// List<String> addressList = new ArrayList<>();
// addressList.add("DB100.DBW0");
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index f21eb5f..4216a59 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -10,6 +10,7 @@
import com.example.springboot.service.HomeService;
import com.example.springboot.common.Result;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.alarmmg;
import org.springframework.web.bind.annotation.*;
@@ -81,12 +82,24 @@
}
@GetMapping("/UpdateTask")
- public Result UpdateTask(Integer types,Integer shelf_rack){
+ public Result UpdateTask(Integer types,Integer shelfrack){
Map<String, Object> map = new HashMap<>();
- homeMapper.UpdateTask(types,shelf_rack);
- map.put("message2","200");
+ homeMapper.UpdateTask(types,shelfrack);
+ if(types==0){
+ homeMapper.UpdateCageTask1(shelfrack);
+ }else{
+ homeMapper.UpdateCageTask2(shelfrack);
+ }
+ map.put("message3","200");
return Result.success(map);
}
+ @GetMapping("/SelectAlarmmgInfo")
+ public Result SelectAlarmmgInfo(){
+ List<alarmmg> alarmmg=homeMapper.SelectAlarmmgInfo();
+ Map<String, Object> map = new HashMap<>();
+ map.put("alarmmg",alarmmg);
+ return Result.success(map);
+ }
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
index fd4f6b4..c0ea329 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -3,11 +3,13 @@
import org.apache.ibatis.annotations.*;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.alarmmg;
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();
@@ -48,6 +50,18 @@
short SelectOutTask();
// 鎵嬪姩瀹屾垚浠诲姟
- @Select("update storage_task set state=1 where shelf_rack=#{shelf_rack} and task_type=#{task_type} and task_state=0")
- short UpdateTask(@Param("task_type") Integer task_type, @Param("shelf_rack") Integer shelf_rack);
+ @Update("update storage_task set task_state=1 where shelf_rack=#{shelf_rack} and task_type=#{task_type} and task_state=0")
+ void UpdateTask(@Param("task_type") Integer task_type, @Param("shelf_rack") Integer shelf_rack);
+
+ // 鎵嬪姩瀹屾垚杩涚墖浠诲姟淇敼绗煎瓙鏁版嵁
+ @Update("update storage_cage set state=1 where cell=#{cell} and state=2")
+ void UpdateCageTask1(@Param("cell") Integer cell);
+
+ // 鎵嬪姩瀹屾垚鍑虹墖浠诲姟淇敼绗煎瓙鏁版嵁
+ @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,coating=null where cell=#{cell} and state=2")
+ void UpdateCageTask2(@Param("cell") Integer cell);
+
+ //鑾峰彇鎶ヨ淇℃伅
+ @Select("select * from alarmmg where endTime is null")
+ List<alarmmg> SelectAlarmmgInfo();
}
--
Gitblit v1.8.0