From 2a6d8a858ca7e41436548b35db147b5cdad4e4be Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期四, 14 十二月 2023 14:08:17 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
CanadaMes-ui/src/views/home/index.vue | 86 ++++++++++-------
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 187 +++++++++++++++++++++++++++++++++++++
2 files changed, 237 insertions(+), 36 deletions(-)
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index bf8547b..8947496 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -453,7 +453,8 @@
</el-table-column>
<el-table-column :min-width="250" :label="$t('Operate')">
<template slot-scope='scope'>
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="scope.row.state == 1 ? false : true"
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ :disabled="scope.row.state == 1 ? false : true"
@click="deleteglass(scope.row.glassId, scope.row.state)">{{ $t('Delete') }}</el-button>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
:disabled="scope.row.state == 1 ? false : true"
@@ -643,7 +644,8 @@
<el-table-column prop="storageCage.glassheightmm" :label="$t('Width')"></el-table-column>
<el-table-column :min-width="90" prop="state" :label="$t('Glass State')">
<template slot-scope='scope'>
- {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2 ? $t('Completed') :scope.row.state == 3 ? $t('Absent') :$t('Deleted') }}
+ {{ scope.row.state == 0 ? $t('Waiting') : scope.row.state == 1 ? $t('Outing') : scope.row.state == 2
+ ? $t('Completed') : scope.row.state == 3 ? $t('Absent') : $t('Deleted') }}
</template>
</el-table-column>
<el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
@@ -661,7 +663,8 @@
<el-table-column prop="barcode" :label="$t('Complete')">
<template slot-scope='scope'>
- <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="(!isAllowQueue||scope.row.state!=1)"
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
+ :disabled="(!isAllowQueue || scope.row.state != 1)"
@click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{ $t('Complete')
}}</el-button>
</template>
@@ -729,7 +732,7 @@
</el-dialog>
<el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
- <div style="font-size: 500px;text-align: center;">
+ <div :style="'font-size: ' + PromptSize + 'px;text-align: center;'">
{{ this.CountDowns }}
</div>
</el-dialog>
@@ -765,7 +768,7 @@
dialogFormVisible5: false,
dialogFormVisible6: false,
dialogFormVisible7: false,
- dialogFormCountDown:false,
+ dialogFormCountDown: false,
form: {
orderId: "",
glassId: "",
@@ -826,19 +829,19 @@
OutingQueue: true,
OrderInfo: true,
CageDetails: true,
- CountDowns:0,
- D01RequestState:false
+ CountDowns: "EMERGENCY STOP",
+ D01RequestState: false,
+ EmergencyStop: false,
+ PromptSize: 250
};
},
created() {
this.load();
-
+
this.init();
}
,
methods: {
-
-
init() {
let viewname = "Home";
if (typeof (WebSocket) == "undefined") {
@@ -847,7 +850,7 @@
//console.log("鎮ㄧ殑娴忚鍣ㄦ敮鎸乄ebSocket");
let socketUrl = "ws://" + this.$t('ip') + ":8888" + "/springboot-vue3/api/talk/" + viewname;
if (socket != null) {
- socket.close();this.car1
+ socket.close();
socket = null;
}
// 寮�鍚竴涓獁ebsocket鏈嶅姟
@@ -861,7 +864,7 @@
//console.log("鏀跺埌鏁版嵁====" + msg.data);
let obj = JSON.parse(msg.data);
if (obj.params != null) {
-
+
this.car1 = 145 + 8.15 * Math.abs(obj.params[0][0] - this.carlist[0]['start']) / Math.abs(this.carlist[0]['end'] - this.carlist[0]['start']) * 100;
this.car2 = 210 + 8.15 * Math.abs(obj.params[0][1] - this.carlist[1]['start']) / Math.abs(this.carlist[1]['end'] - this.carlist[1]['start']) * 100;
// this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
@@ -875,17 +878,21 @@
this.tasklist1 = obj.tasklist1[0];
this.tasklist2 = obj.tasklist2[0];
this.alarm = obj.alarmmg[0];
- if(this.alarm.length>0){
- this.dialogFormVisible2=true;
+ if (this.alarm.length > 0) {
+ this.dialogFormVisible2 = true;
+ } else {
+ this.dialogFormVisible2 = false;
}
- console.log(obj.countdown[0],this.CountDowns);
+ //鏄惁鎬ュ仠
+ this.EmergencyStop = obj.emergencystop[0];
+
//澶嶄綅鍊掕鏃�
- if (obj.countdown[0] == true&&this.CountDowns==0) {
+ if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
this.CountDown();
}
//鏄惁鏈夎繘鐗囪姹�
- this.D01RequestState=obj.D01RequestState[0];
-
+ this.D01RequestState = obj.D01RequestState[0];
+
//鏄惁鍏佽鍑虹墖
this.isAllowQueue = obj.isAllowQueue[0];
//鍑虹墖闃熷垪
@@ -919,13 +926,11 @@
this.form5 = obj.form3[0];
this.showform3();
this.glassid1 = "";
- if(this.D01RequestState==true){
+ if (this.D01RequestState == true) {
this.Sizerange(this.form5, 3);
- }else{
- this.disabled1=true;
+ } else {
+ this.disabled1 = true;
}
-
-
} else {
if (this.glassid1 == "") {
this.DeleteBarcodeGlass();
@@ -1333,7 +1338,7 @@
},
//鎵嬪姩涓婄墖
FeedInglassid() {
- if (this.form.glassId != ""&&this.form.glassId != null) {
+ if (this.form.glassId != "" && this.form.glassId != null) {
Inglassid(this.insertcage, this.insertcell, this.inserttier, this.form).then(res => {
if (res.data.message == 200) {
this.$message.success(this.$t('Operation successful'));
@@ -1621,7 +1626,7 @@
column = rowIndex;
rowIndex = column;
let style = "";
- if (columnIndex === 8 ) {
+ if (columnIndex === 8) {
style = "font-size:25px;text-align: center;";
}
if (columnIndex === 9 && row.flip == 1) {
@@ -1699,7 +1704,7 @@
} else {
this.disabled = false;
}
- if (position == 3 && this.isConfirm == true&&this.D01RequestState==true) {
+ if (position == 3 && this.isConfirm == true && this.D01RequestState == true) {
this.InsertQueueGlass(1);
}
}
@@ -1717,25 +1722,34 @@
}
});
},
- CountDown(){
- this.dialogFormCountDown=true;
+ CountDown() {
//50绉掑�掓暟璁℃椂
let count = 45;
let timer = setInterval(
() => {
- if (count > 0) {
- this.CountDowns = count;
- count--;
- }
- else {
+ if (this.EmergencyStop == true) {
clearInterval(timer);
- this.CountDowns = 0;
- this.dialogFormCountDown=false;
+ this.PromptSize = 250;
+ this.CountDowns = "EMERGENCY STOP";
+ } else {
+ if (count > 0) {
+ this.PromptSize = 500;
+ this.CountDowns = count;
+ count--;
+ }
+ else {
+ this.PromptSize = 250;
+ this.CountDowns = "Waiting for reset";
+ this.dialogFormCountDown = false;
+ // if(澶嶄綅瀹屾垚==true){
+ // clearInterval(timer);
+ // }
+ }
}
},
1000
);
-
+ this.dialogFormCountDown = true;
}
}
}
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
new file mode 100644
index 0000000..67666ae
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -0,0 +1,187 @@
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONObject;
+
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.example.springboot.entity.Out_slice;
+import com.example.springboot.entity.Queue;
+import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.alarmmg;
+import com.example.springboot.mapper.HomeMapper;
+import com.example.springboot.mapper.SpianMapper;
+import com.example.springboot.service.JdbcConnections;
+import com.example.springboot.service.North_Glass_Buffer1Service;
+import com.example.springboot.service.OutSliceServive;
+import com.example.springboot.service.SpianService;
+
+public class Plchome extends Thread {
+
+ @Autowired
+ private HomeMapper homeMapper;
+ private OutSliceServive outSliceServive;
+ private SpianMapper spianMapper;
+ private SpianService spianService;
+ private North_Glass_Buffer1Service north_Glass_Buffer1Service;
+ private JdbcConnections dbserve;
+ // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
+ public static Boolean isAllowQueue = true;
+ // 閾濇id
+ public static String FrameNo;
+ // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
+ public static Boolean isConfirm = false;
+
+ // public static Map b=new HashMap<>();
+ // b.put()
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(1000);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ JSONObject jsonObject = new JSONObject();
+
+ // 娉ㄥ叆mapper
+ homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
+ spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
+ spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
+ outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
+ north_Glass_Buffer1Service = WebSocketServer.applicationContext.getBean(North_Glass_Buffer1Service.class);
+ // 绗煎瓙浣跨敤鎯呭喌
+ List<StorageCage> tableData = homeMapper.selectAll();
+ jsonObject.append("tableData", tableData);
+ // 鏍肩悊鐗囩鏍煎瓙鐘舵��
+ List<StorageCage> cagelist1 = homeMapper.selectRack1();
+ List<StorageCage> cagelist2 = homeMapper.selectRack2();
+ List<StorageCage> cagelist3 = homeMapper.selectRack3();
+ List<StorageCage> cagelist4 = homeMapper.selectRack4();
+ jsonObject.append("cagelist1", cagelist1);
+ jsonObject.append("cagelist2", cagelist2);
+ jsonObject.append("cagelist3", cagelist3);
+ jsonObject.append("cagelist4", cagelist4);
+ // 杩涘嚭鐗囦换鍔�
+ List<StorageCage> tasklist1 = homeMapper.selectinout(3);
+ List<StorageCage> tasklist2 = homeMapper.selectinout(2);
+ jsonObject.append("tasklist1", tasklist1);
+ jsonObject.append("tasklist2", tasklist2);
+ // 鏌ヨ鎶ヨ淇℃伅
+ List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
+ jsonObject.append("alarmmg", alarmmg);
+ // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
+ List<String> addressList = new ArrayList<String>();
+ addressList.add("DB106.12");
+ addressList.add("DB106.0");
+ List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
+ if (paramlist != null) {
+ jsonObject.append("params", paramlist);
+ }
+ // 鑾峰彇杩涚墖杞︾姸鎬�
+ List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
+ 1);// 鑾峰彇杩涚墖杞︾姸鎬�
+ boolean exist1 = datas1ListState.contains((short) 0);
+ jsonObject.append("zhuangtai", exist1);
+ // 鑾峰彇杩涚墖鐜荤拑淇℃伅
+ List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
+ if (inglassInfo != null) {
+ if (inglassInfo.size() > 0)
+ jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
+ }
+ // 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
+ String queid = spianMapper.Selectqueueid();
+ int state = spianMapper.Selectqueuestate();
+ jsonObject.append("queid", queid);
+ jsonObject.append("state", state);
+ // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
+ Queue form2 = homeMapper.GetQueueInfo(2);
+ Queue form3 = homeMapper.GetQueueInfo(1);
+ if (form2.getglassId() != null && form2.getglassId() != "") {
+ jsonObject.append("form2", form2);
+ }
+ if (form3.getglassId() != null && form3.getglassId() != "") {
+ jsonObject.append("form3", form3);
+ }
+ // 鑾峰彇鍑虹墖闃熷垪淇℃伅
+ List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
+ jsonObject.append("listoutslice", listoutslice);
+ // 鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
+ jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
+
+ // 鑾峰彇閾濇idDB106.DBW64
+ // String frameno=spianService.queGlassid("DB103.270",14).toString();
+ // if(frameno!=Plchome.FrameNo&&frameno!=""){
+ // Plchome.FrameNo=frameno;
+ // }
+ // try {
+ // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+ // } catch (SQLException e) {
+ // // TODO Auto-generated catch block
+ // e.printStackTrace();
+ // }
+ // 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
+ jsonObject.append("isConfirm", isConfirm);
+
+ //鑾峰彇杩涚墖璇锋眰鐘舵��
+ List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
+ boolean D01RequestState = D01Request.contains((short) 1);
+ // boolean D01RequestState =true;
+ jsonObject.append("D01RequestState", D01RequestState);
+
+ //澶嶄綅鍊掕鏃�
+ // 鍦板潃104.9.6
+ List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
+ for (Boolean countdowns : countdown) {
+ jsonObject.append("countdown", countdowns);
+ }
+ // jsonObject.append("countdown", true);
+ // 閾濇绾夸氦浜�
+
+ // //閾濇id璇锋眰瀛�
+ // List<Short> framerequest = S7control.getinstance().ReadWord("閾濇id璇锋眰瀛楀湴鍧�", 1);
+ // if(framerequest!=null){
+ // //閾濇id
+ // String franmeno= spianService.queGlassid("閾濇id鍦板潃", 14).toString();
+ // String position;
+ // try {
+ // position=dbserve.SelectPositionByFrameBarcode(franmeno);
+ // } catch (SQLException e) {
+ // // TODO Auto-generated catch block
+ // position="0";
+ // e.printStackTrace();
+ // }
+ // Short send;
+ // if(position=="0"){
+ // send=0;
+ // }else{
+ // send=1;
+ // }
+ // S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
+ // }
+
+ dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+ boolean dbconnected = false;
+ try {
+ dbserve.getConn();
+ dbconnected = true;
+ } catch (Exception e) {
+ // TODO: handle exception
+ dbconnected = false;
+ }
+ jsonObject.append("dbconnected", dbconnected);
+ // jsonObject.append("params", new short[] { 30, 40, });
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ webserver.sendMessage(jsonObject.toString());
+ }
+ }
+
+ }
+ }
+}
--
Gitblit v1.8.0