From 3a59de819bb1fbefc3eb4a38fb4f76a11d19a1ae Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 05 一月 2024 15:05:56 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
CanadaMes-ui/src/views/home/index.vue | 303 +++-
springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java | 183 ++
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java | 32
CanadaMes-ui/src/views/Electrical/Parameter2.vue | 74
springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java | 76
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java | 254 +++-
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | 43
CanadaMes-ui/src/configuration/AutomaticParameterSetting.json | 52
CanadaMes-ui/src/layout/index.vue | 348 ++++-
Alarm.json | 507 ++++++++
CanadaMes-ui/src/views/Electrical/Positioning1.vue | 32
CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue | 178 +-
springboot-vue3/src/main/resources/com/example/springboot/mapper/DeviceMapper.xml | 62
CanadaMes-ui/src/api/home.js | 21
springboot-vue3/src/main/java/com/example/springboot/entity/Out_slice.java | 54
CanadaMes-ui/src/main.js | 8
CanadaMes-ui/src/configuration/parameter2.json | 120 +
CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue | 48
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java | 2
springboot-vue3/src/main/java/com/example/springboot/entity/north_glass_buffer1.java | 61
CanadaMes-ui/src/configuration/Positioning1.json | 64
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java | 9
CanadaMes-ui/src/views/Electrical/ManualonePosition.vue | 75
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | 20
springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java | 2
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 14
CanadaMes-ui/src/configuration/ServoManualone.json | 16
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | 88
CanadaMes-ui/src/lang/locales/zh-CN.json | 21
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java | 58
/dev/null | 50
CanadaMes-ui/build.bat | 5
springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java | 24
springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java | 70 +
springboot-vue3/src/main/resources/sql/canadames.sql | 431 +++++-
CanadaMes-ui/src/lang/locales/en-US.json | 21
CanadaMes-ui/src/views/Electrical/ServoManualone.vue | 103 +
springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java | 1
CanadaMes-ui/src/configuration/Manualoneposition.json | 5
springboot-vue3/src/main/java/com/example/springboot/service/North_Glass_Buffer1Service.java | 64
40 files changed, 2,702 insertions(+), 897 deletions(-)
diff --git a/Alarm.json b/Alarm.json
new file mode 100644
index 0000000..89bf615
--- /dev/null
+++ b/Alarm.json
@@ -0,0 +1,507 @@
+{
+ "content": [
+ {
+ "name": "D01 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 VFD error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 servo turn error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 servo turn error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 servo travel error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 IN DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 IN pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 OUT DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 OUT pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 IN DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 IN pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 OUT DEC error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 OUT pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 Scan glass exceeding limit",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "emergency stop alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "More glass than known",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "less glass than known",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D01 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D02 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D03 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D04 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D05 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "D06 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02 conveyor timeout alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 conveyor Left safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01 conveyor right safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 conveyor Left safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02 conveyor right safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "1# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "2# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "3# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "4# buffer safety alarm",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A01.SR right in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "A02.SR left in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR left in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR left dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR right dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B01.SR right in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02.SR left in pos error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02.SR left dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ },
+ {
+ "name": "B02.SR right dec error",
+ "value": "1",
+ "state": "1",
+ "type": "3",
+ "page": "1"
+ }
+ ],
+ "address": [
+ {
+ "name": "DB104.0.0",
+ "count": 71
+ }
+ ]
+}
\ No newline at end of file
diff --git a/CanadaMes-ui/build.bat b/CanadaMes-ui/build.bat
new file mode 100644
index 0000000..51c651b
--- /dev/null
+++ b/CanadaMes-ui/build.bat
@@ -0,0 +1,5 @@
+@echo off
+echo Starting frontend development server...
+cd /d %~dp0 // 鍒囨崲鍒板綋鍓嶆壒澶勭悊鑴氭湰鎵�鍦ㄧ殑鐩綍
+cd ..\CanadaMes-ui // 鍋囪CanadaMes-ui鍦ㄤ笌鎵瑰鐞嗚剼鏈浉鍚岀殑鐩綍涓�
+npm run build
\ No newline at end of file
diff --git a/CanadaMes-ui/src/api/home.js b/CanadaMes-ui/src/api/home.js
index 1d4772c..6560bec 100644
--- a/CanadaMes-ui/src/api/home.js
+++ b/CanadaMes-ui/src/api/home.js
@@ -198,17 +198,25 @@
})
}
-export function AddOutSliceS(data) {
+export function AddOutSliceS(FrameNo) {
return request({
- url: '/home/AddOutSliceS',
+ url: '/home/AddOutSliceS?FrameNo='+FrameNo,
method: 'post',
- data
+ data:""
})
}
export function isAllowQueues(isAllowQueue,data) {
return request({
url: '/home/isAllowQueues?isAllowQueue=' + isAllowQueue,
+ method: 'post',
+ data
+ })
+}
+
+export function isAllowReorderings(isAllowReordering,data) {
+ return request({
+ url: '/home/isAllowReorderings?isAllowReordering=' + isAllowReordering,
method: 'post',
data
})
@@ -230,3 +238,10 @@
})
}
+export function FrameStateUpdate(frameno,framestate) {
+ return request({
+ url: '/home/FrameStateUpdate?frameno=' + frameno+'&framestate='+framestate,
+ method: 'post',
+ data:""
+ })
+}
diff --git a/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json b/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json
index 57ad2f0..9f9377d 100644
--- a/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json
+++ b/CanadaMes-ui/src/configuration/AutomaticParameterSetting.json
@@ -10,7 +10,7 @@
"unit": "掳",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
},
{
"name": "A01琛岃蛋浣庨�熻搴�",
@@ -21,7 +21,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
},
{
"name": "A01杈撻�佹帴鐗囪搴�",
@@ -32,7 +32,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
},
{
"name": "A01绗煎瓙瑙掑害",
@@ -43,7 +43,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
}
],
[
@@ -57,7 +57,7 @@
"count": 3,
"value": "",
"min": 0,
- "max": 100
+ "max": 99
},
{
"name": "A02琛岃蛋浣庨�熻搴�",
@@ -68,7 +68,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
},
{
"name": "A02杈撻�佹帴鐗囪搴�",
@@ -79,7 +79,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
},
{
"name": "A02绗煎瓙瑙掑害",
@@ -90,7 +90,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
}
],
[
@@ -104,7 +104,7 @@
"count": 3,
"value": "",
"min": 0,
- "max": 100
+ "max": 3000
}
],
[
@@ -117,7 +117,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 2000
}
],
[
@@ -130,7 +130,7 @@
"type": "0",
"value": "",
"min": 0,
- "max": 100
+ "max": 99
}
],
[
@@ -149,7 +149,7 @@
"count":3,
"value":0,
"min": 0,
- "max": 1000
+ "max": 60
},
{
"name": "楂橀�熺嚎閫熷害",
@@ -159,7 +159,7 @@
"unit": "m/min",
"value":0,
"min": 0,
- "max": 100
+ "max": 60
},
{
"name": "浣庨�熺嚎閫熷害",
@@ -169,7 +169,7 @@
"unit": "m/min",
"value":0,
"min": 0,
- "max": 100
+ "max": 60
},
{
"name": "鎵嬪姩閫熷害",
@@ -179,7 +179,7 @@
"unit": "m/min",
"value":0,
"min": 0,
- "max": 100
+ "max": 60
}
@@ -201,7 +201,7 @@
"count":3,
"value":0,
"min": 0,
- "max": 100
+ "max": 60
},
{
"name": "楂橀�熺嚎閫熷害",
@@ -211,7 +211,7 @@
"type": "0",
"value":0,
"min": 0,
- "max": 100
+ "max": 60
},
{
"name": "浣庨�熺嚎閫熷害",
@@ -221,7 +221,7 @@
"type": "0",
"value":0,
"min": 0,
- "max": 100
+ "max": 60
},
{
"name": "鎵嬪姩閫熷害",
@@ -231,7 +231,7 @@
"type": "0",
"value":0,
"min": 0,
- "max": 100
+ "max": 60
}
@@ -251,7 +251,7 @@
"count":3,
"value":0,
"min": 0,
-"max": 100
+"max": 60
},
{
"name": "楂橀�熺嚎閫熷害",
@@ -261,7 +261,7 @@
"unit": "m/min",
"value":0,
"min": 0,
-"max": 100
+"max": 60
},
{
"name": "浣庨�熺嚎閫熷害",
@@ -271,7 +271,7 @@
"unit": "m/min",
"value":0,
"min": 0,
-"max": 100
+"max": 60
},
{
"name": "鎵嬪姩閫熷害",
@@ -281,7 +281,7 @@
"unit": "m/min",
"value":0,
"min": 0,
-"max": 100
+"max": 60
}
@@ -293,12 +293,12 @@
"read": 33,
"sending": 0,
"type": "0",
-"unit": "mm/S",
+"unit": "掳/S",
"count":3,
"value":0,
"min": 0,
-"max": 100
+"max": 99
}
@@ -314,7 +314,7 @@
"type": "0",
"value":0,
"min": 0,
-"max": 100
+"max": 2000
}
diff --git a/CanadaMes-ui/src/configuration/Manualoneposition.json b/CanadaMes-ui/src/configuration/Manualoneposition.json
index e3c8f32..b16d0ea 100644
--- a/CanadaMes-ui/src/configuration/Manualoneposition.json
+++ b/CanadaMes-ui/src/configuration/Manualoneposition.json
@@ -190,9 +190,8 @@
"type": "0",
"address": "DB100.0",
"count": 3,
- "state": 1,
- "min":106,
- "max":210
+ "state": 1
+
},
{
"name": "B02瀹氫綅閫熷害",
diff --git a/CanadaMes-ui/src/configuration/Positioning1.json b/CanadaMes-ui/src/configuration/Positioning1.json
index 06a684d..c25bda5 100644
--- a/CanadaMes-ui/src/configuration/Positioning1.json
+++ b/CanadaMes-ui/src/configuration/Positioning1.json
@@ -7,7 +7,7 @@
"unit": "mm",
"value":"0",
"min": 0,
- "max": 100
+ "max": 75
}],
[{
@@ -18,7 +18,7 @@
"unit": "mm",
"value":"0",
"min":0,
- "max":100
+ "max":22000
}],
[{
@@ -52,7 +52,7 @@
"address":"DB100.48",
"count":10,
"min":0,
- "max":100
+ "max":22000
},
{
"name": "22#鏍煎湴鍧�",
@@ -62,7 +62,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "43#鏍煎湴鍧�",
@@ -72,7 +72,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "64#鏍煎湴鍧�",
@@ -82,7 +82,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "85#鏍煎湴鍧�",
@@ -92,7 +92,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "106#鏍煎湴鍧�",
@@ -102,7 +102,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "127#鏍煎湴鍧�",
@@ -112,7 +112,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "148#鏍煎湴鍧�",
@@ -122,7 +122,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "169#鏍煎湴鍧�",
@@ -132,7 +132,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "190#鏍煎湴鍧�",
@@ -142,7 +142,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
}
@@ -167,7 +167,7 @@
"address":"DB100.68",
"count":10,
"min":0,
- "max":100
+ "max":22000
},
{
"name": "22#鏍煎湴鍧�",
@@ -177,7 +177,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "43#鏍煎湴鍧�",
@@ -187,7 +187,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "64#鏍煎湴鍧�",
@@ -197,7 +197,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "85#鏍煎湴鍧�",
@@ -207,7 +207,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "106#鏍煎湴鍧�",
@@ -217,7 +217,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "127#鏍煎湴鍧�",
@@ -227,7 +227,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "148#鏍煎湴鍧�",
@@ -237,7 +237,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "169#鏍煎湴鍧�",
@@ -247,7 +247,7 @@
"type": "0" ,
"value":"0",
"min":0,
- "max":100
+ "max":22000
},
{
"name": "190#鏍煎湴鍧�",
@@ -257,7 +257,7 @@
"unit": "mm",
"value":"0",
"min":0,
- "max":100
+ "max":22000
}
@@ -280,7 +280,7 @@
"count":3,
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "22#鏍煎湴鍧�",
@@ -290,7 +290,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "43#鏍煎湴鍧�",
@@ -300,7 +300,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "64#鏍煎湴鍧�",
@@ -310,7 +310,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "85#鏍煎湴鍧�",
@@ -320,7 +320,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
}
@@ -342,7 +342,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "127#鏍煎湴鍧�",
@@ -352,7 +352,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "148#鏍煎湴鍧�",
@@ -362,7 +362,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "169#鏍煎湴鍧�",
@@ -372,7 +372,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
},
{
"name": "190#鏍煎湴鍧�",
@@ -382,7 +382,7 @@
"type": "0",
"value":"0",
"min":0,
- "max":100
+ "max":9999
}
diff --git a/CanadaMes-ui/src/configuration/ServoManualone.json b/CanadaMes-ui/src/configuration/ServoManualone.json
index 91cd5b1..76998d9 100644
--- a/CanadaMes-ui/src/configuration/ServoManualone.json
+++ b/CanadaMes-ui/src/configuration/ServoManualone.json
@@ -17,7 +17,7 @@
"read": 33,
"sending": 0,
"type": "0",
- "value":0,
+ "value":1,
"min":0,
"max":100
@@ -51,8 +51,8 @@
"read": 11,
"sending": 0,
"type": "0",
- "value":0,
- "min":0,
+ "value":1,
+ "min":1,
"max":100
},
{
@@ -60,8 +60,8 @@
"read": 22,
"sending": 0,
"type": "0",
- "value":0,
- "min":0,
+ "value":1,
+ "min":1,
"max":100
},
{
@@ -123,7 +123,7 @@
"read": 11,
"sending": 0,
"type": "0",
- "value":0,
+ "value":1,
"min":0,
"max":100
},
@@ -132,7 +132,7 @@
"read": 22,
"sending": 0,
"type": "0",
- "value":0,
+ "value":1,
"min":0,
"max":100
},
@@ -141,7 +141,7 @@
"read": 33,
"sending": 0,
"type": "0",
- "value":0,
+ "value":1,
"min":0,
"max":100
diff --git a/CanadaMes-ui/src/configuration/parameter2.json b/CanadaMes-ui/src/configuration/parameter2.json
index fcc0f7a..b181b8c 100644
--- a/CanadaMes-ui/src/configuration/parameter2.json
+++ b/CanadaMes-ui/src/configuration/parameter2.json
@@ -3,7 +3,8 @@
{
"button": {
"name": "D01鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -11,7 +12,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -21,14 +23,16 @@
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "D02鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -36,7 +40,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -46,14 +51,16 @@
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "D03鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -61,7 +68,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -71,14 +79,16 @@
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "D04鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -86,7 +96,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -96,14 +107,16 @@
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "D05鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -111,7 +124,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -121,14 +135,16 @@
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "D06鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -136,7 +152,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -146,14 +163,16 @@
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "A01鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -161,7 +180,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -171,14 +191,16 @@
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
},
{
"name": "ID2",
"read": 33,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
@@ -187,7 +209,8 @@
{
"button": {
"name": "A02鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -195,7 +218,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "3"
@@ -205,14 +229,16 @@
"read": "ID28",
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "B01鎵嬪姩鐘舵��",
- "value": 0
+ "value": 0,
+"value2": 0
},
"type": "4"
@@ -220,7 +246,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0
+ "value": 0,
+"value2": 0
},
"type": "3"
@@ -230,14 +257,16 @@
"read": "ID29",
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
{
"button": {
"name": "B02鎵嬪姩鐘舵��",
- "value": 0,
+ "value": 0,
+"value2": 0,
"address": "DB10.0"
},
"type": "4"
@@ -245,7 +274,8 @@
{
"button": {
"name": "娓呴櫎ID",
- "value": 0
+ "value": 0,
+"value2": 0
},
"type": "3"
@@ -255,7 +285,8 @@
"read": "ID210",
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
@@ -264,14 +295,16 @@
"read": 0,
"sending": 0,
- "value": 0
+ "value": 0,
+"value2": 0
},
{
"name": "ID1",
"read": 66,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
@@ -280,14 +313,16 @@
"read": 0,
"sending": 0,
- "value": 0
+ "value": 0,
+"value2": 0
},
{
"name": "ID2",
"read": 666,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
],
[
@@ -296,28 +331,32 @@
"read": 333,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
},
{
"name": "A02鎵�鍦ㄦ牸瀛�",
"read": 333,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
},
{
"name": "B01鎵�鍦ㄦ牸瀛�",
"read": 333,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
},
{
"name": "B02鎵�鍦ㄦ牸瀛�",
"read": 333,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
]
,
@@ -351,7 +390,8 @@
"read": 666,
"sending": 0,
"type": "0",
- "value": 0
+ "value": 0,
+"value2": 0
}
diff --git a/CanadaMes-ui/src/lang/locales/en-US.json b/CanadaMes-ui/src/lang/locales/en-US.json
index 1024bca..422dbf4 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -39,6 +39,9 @@
"exit": "exit",
"changePassword": "changePassword",
"resetPassword": "resetPassword",
+ "Old password":"Old password",
+ "New password":"New password",
+ "Confirm password":"Confirm password",
"home": "Home",
"role": "role",
"langRoleManagement": "Role Management",
@@ -283,7 +286,7 @@
"DataBase Connection failed":"DataBase Connection failed",
"Distribute parameters":"Distribute parameters",
"The glass size is not within the range":"The glass size is not within the range",
- "Increase":"Increase",
+ "Add":"Add",
"Enable":"Enable",
"Disable":"Disable",
"Usage":"Usage",
@@ -308,7 +311,7 @@
"Frame No":"Frame No",
"Glass information corresponding to aluminum frame":"Glass information corresponding to aluminum frame",
"In the cage":"In the cage",
- "Flip":"Flip",
+ "Flipped":"Flipped",
"In the queue":"In the queue",
"Normal":"Normal",
"Entering":"Entering",
@@ -326,6 +329,7 @@
"You do not have this permission":"You do not have this permission",
"This glass is already in the Queue":"This glass is already in the Queue",
"Complete":"Complete",
+ "Allow":"Allow",
"Not Allow":"Not Allow",
"Completed":"Completed",
"Waiting":"Waiting",
@@ -333,6 +337,13 @@
"Glass State":"Glass State",
"Absent":"Absent",
"Approximately resettable time":"Approximately resettable time",
+ "EXTERIQR OUT AND BYPASS TO THE LEFT":"EXTERIQR OUT AND BYPASS TO THE LEFT",
+ "EXTERIQR OUT AND BYPASS TO THE RIGHT":"EXTERIQR OUT AND BYPASS TO THE RIGHT",
+ "Complete Task":"Complete Task",
+ "Outed":"Outed",
+ "Queue State":"Queue State",
+ "Sorting State":"Sorting State",
+ "Confirm State":"Confirm State",
"ServoManualone": {
"A01 鎵�鍦ㄦ牸瀛�": "A01 Current Grid",
"鏁伴噺": "Quantity",
@@ -367,9 +378,9 @@
"D01鎵嬪姩鐘舵��": "D01 Manual Status",
"娓呴櫎ID": "Clear ID",
"ID": "ID",
- "A02ID": "ID",
- "B01ID": "ID",
- "B02ID": "ID",
+ "A02ID": "A02ID",
+ "B01ID": "B01ID",
+ "B02ID": "B02ID",
"D02鎵嬪姩鐘舵��": "D02 Manual Status",
"D03鎵嬪姩鐘舵��": "D03 Manual Status",
"D04鎵嬪姩鐘舵��": "D04 Manual Status",
diff --git a/CanadaMes-ui/src/lang/locales/zh-CN.json b/CanadaMes-ui/src/lang/locales/zh-CN.json
index 20bf4fb..baa4a6d 100644
--- a/CanadaMes-ui/src/lang/locales/zh-CN.json
+++ b/CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -273,7 +273,7 @@
"DataBase Connection failed": "鏁版嵁搴撹繛鎺ュけ璐�",
"Distribute parameters": "涓嬪彂鍙傛暟",
"The glass size is not within the range": "鐜荤拑灏哄涓嶅湪鑼冨洿鍐�",
- "Increase": "娣诲姞",
+ "Add": "娣诲姞",
"Enable": "鍚敤",
"Disable": "绂佺敤",
"Usage": "浣跨敤鐜�",
@@ -298,7 +298,7 @@
"Frame No":"閾濇id",
"Glass information corresponding to aluminum frame":"閾濇瀵瑰簲鐨勭幓鐠冧俊鎭�",
"In the cage":"鍦ㄧ鍐�",
- "Flip":"缈昏浆",
+ "Flipped":"缈昏浆",
"In the queue":"鍦ㄩ槦鍒�",
"Enter the Frame No":"璇疯緭鍏ラ摑妗唅d",
"Manually Infeed Glass":"鎵嬪姩杩涚墖",
@@ -319,12 +319,20 @@
"This glass is already in the Queue":"姝ょ幓鐠冨凡鍦ㄥ嚭鐗囬槦鍒椾腑",
"Complete":"瀹屾垚",
"Not Allow":"涓嶅厑璁�",
+ "Allow":"鍏佽",
"Completed":"宸插畬鎴�",
"Waiting":"绛夊緟涓�",
"Deleted":"宸插垹闄�",
"Glass State":"鐜荤拑鐘舵��",
"Absent":"涓嶅瓨鍦�",
"Approximately resettable time":"鍙浣嶅ぇ姒傛椂闂�",
+ "EXTERIQR OUT AND BYPASS TO THE LEFT":"EXTERIQR OUT AND BYPASS TO THE LEFT",
+ "EXTERIQR OUT AND BYPASS TO THE RIGHT":"EXTERIQR OUT AND BYPASS TO THE RIGHT",
+ "Complete Task":"瀹屾垚浠诲姟",
+ "Outed":"宸插嚭绗�",
+ "Queue State":"闃熷垪鐘舵��",
+ "Sorting State":"鎺掑簭鐘舵��",
+ "Confirm State":"纭鐘舵��",
"langparameter": {
"conveyor Velocity(Auto FAST)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄥ揩閫�",
"conveyor Velocity(Auto SLOW)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄦ參閫�",
@@ -437,5 +445,12 @@
"D04.State": "D04.鐘舵��",
"D05.State": "D05.鐘舵��",
"D06.State": "D06.鐘舵��"
- }
+ },
+ "Automatic State":"鑷姩鐘舵��",
+ "ManualJog":"寮�鍏虫帶鍒�",
+ "ManualonePosition":"鎵嬪姩瀹氫綅",
+ "Servomanualone":"鍗婅嚜鍔�",
+ "Address parameter settings":"鍦板潃鍙傛暟璁剧疆",
+ "Speed parameter settings":"閫熷害鍙傛暟璁剧疆"
+
}
\ No newline at end of file
diff --git a/CanadaMes-ui/src/layout/index.vue b/CanadaMes-ui/src/layout/index.vue
index ec7f6a6..244d977 100644
--- a/CanadaMes-ui/src/layout/index.vue
+++ b/CanadaMes-ui/src/layout/index.vue
@@ -1,7 +1,7 @@
<template>
<el-container style="flex: 1;height:100%;">
- <div style="width: 200px;background-color: #222f3e" :style="{width: isCollapse?'70px':'250px'}">
- <el-aside :width="isCollapse?'70px':'250px'">
+ <div style="width: 200px;background-color: #222f3e" :style="{ width: isCollapse ? '70px' : '250px' }">
+ <el-aside :width="isCollapse ? '70px' : '250px'">
<el-col :gutter="20">
<el-row :span="4">
<div class="logo" @click="goToHome">
@@ -9,11 +9,10 @@
</div>
</el-row>
<el-row :span="20">
- <el-menu :default-active="activePath" class="el-menu-vertical-demo"
- background-color="#222f3e" text-color="#fff" active-text-color="#ffd04b"
- :collapse="isCollapse" :unique-opened="true"
- :collapse-transition="false" :router="true">
- <!-- <el-menu-item index="/" @click="youhua">
+ <el-menu :default-active="activePath" class="el-menu-vertical-demo" background-color="#222f3e"
+ text-color="#fff" active-text-color="#ffd04b" :collapse="isCollapse" :unique-opened="true"
+ :collapse-transition="false" :router="true">
+ <!-- <el-menu-item index="/" @click="youhua">
<template slot="title">
<i class="el-icon-menu"></i>
@@ -31,10 +30,8 @@
<span>{{ item.name }}</span>
</template>
<!--浜岀骇鑿滃崟-->
-
- <el-menu-item :index="'/'+menu.router"
- v-for="menu in item.menuLists" :key="menu.id"
- >
+
+ <el-menu-item :index="'/' + menu.router" v-for="menu in item.menuLists" :key="menu.id">
<template slot="title">
<!--鍥炬爣-->
<i :class="menu.icon"></i>
@@ -50,40 +47,43 @@
</div>
<el-container>
<el-header class="header-container">
-
- <el-menu :default-active="activePath1" class="el-menu-demo" mode="horizontal"
- background-color="#576574" text-color="#fff" active-text-color="#ffd04b">
+
+ <el-menu :default-active="activePath1" class="el-menu-demo" mode="horizontal" background-color="#576574"
+ text-color="#fff" active-text-color="#ffd04b">
<div class="header-left">
- <el-button :icon="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'" @click="toggleCollapse" style="height:30px;"></el-button>
+ <el-button :icon="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'" @click="toggleCollapse"
+ style="height:30px;"></el-button>
</div>
<!-- <div class="tagContainer" style="display: flex;">
<tag v-for="(tag, index) in tags" :key="index" :tag="tag" @removeTag="removeTag(index)" @switchTag="switchTag(index)"></tag>
</div> -->
<template>
- <el-submenu index="1" class="custom-submenu" >
+ <el-submenu index="1" class="custom-submenu">
<template slot="title">
- <el-avatar src="../assets/emi.png" style="width:20px;height:20px;margin-top:30px;background-color: white;"></el-avatar>
+ <el-avatar src="../assets/emi.png"
+ style="width:20px;height:20px;margin-top:30px;background-color: white;"></el-avatar>
</template>
<el-menu-item index="1-1" @click="logout">{{ $t('exit') }}</el-menu-item>
<el-menu-item index="1-2" @click="showChangePasswordDialog">{{ $t('changePassword') }}</el-menu-item>
</el-submenu>
+
</template>
<template>
- <el-dialog title="淇敼瀵嗙爜" :visible.sync="dialogVisible" width="30%">
- <el-form ref="form" :model="formData" label-width="100px">
- <el-form-item label="鏃у瘑鐮�">
+ <el-dialog :title="$t('changePassword')" :visible.sync="dialogVisible" width="30%">
+ <el-form ref="form" :model="formData" label-width="200px">
+ <el-form-item :label="$t('Old password')">
<el-input v-model="formData.oldPassword" type="password" show-password></el-input>
</el-form-item>
- <el-form-item label="鏂板瘑鐮�">
+ <el-form-item :label="$t('New password')">
<el-input v-model="formData.newPassword" type="password" show-password></el-input>
</el-form-item>
- <el-form-item label="纭鏂板瘑鐮�">
+ <el-form-item :label="$t('Confirm password')">
<el-input v-model="formData.confirmPassword" type="password" show-password></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
- <el-button @click="dialogVisible = false">鍙栨秷</el-button>
- <el-button type="primary" @click="savePassword">淇濆瓨</el-button>
+ <el-button @click="dialogVisible = false">{{ $t('cancel') }}</el-button>
+ <el-button type="primary" @click="savePassword">{{ $t('confirm') }}</el-button>
</div>
</el-dialog>
</template>
@@ -91,10 +91,32 @@
</el-header>
<el-main>
<keep-alive>
- <router-view/>
+ <router-view />
</keep-alive>
</el-main>
</el-container>
+ <el-dialog :visible.sync="dialogFormVisible2" :title="$t('Alarm Information')">
+ <el-table :data="this.alarm" border style="width: 100%;font-size: 25px;">
+ <el-table-column prop="id" :label="$t('id')"></el-table-column>
+ <el-table-column prop="content" :label="$t('content')"></el-table-column>
+ <el-table-column prop="timeons" :label="$t('timeon')"></el-table-column>
+ </el-table>
+ </el-dialog>
+ <el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
+ <div :style="'font-size: ' + PromptSize + 'px;text-align: center;'">
+ <!-- {{ this.CountDowns }} -->
+ {{ this.CountDowns }}
+ </div>
+ </el-dialog>
+ <!-- <el-dialog :visible.sync="dialogFormVisible3">
+
+ <el-button :class="{ 'blue-button': receivedData === 1 }" @click="toggleButtonValue(1)">{{
+ $t('A01Abort/ResumeTasks') }}</el-button>
+ <el-button :class="{ 'blue-button': receivedData2 === 1 }" @click="toggleButtonValue(2)">{{
+ $t('A02Abort/ResumeTasks') }}</el-button>
+
+ </el-dialog> -->
+
</el-container>
</template>
@@ -103,9 +125,11 @@
import { changePassword } from '../api/user'
import { removeToken } from "../utils/auth";
import LanguageMixin from '../lang/LanguageMixin'
+import { MessageBox } from 'element-ui';
// import { mapState, mapMutations } from 'vuex';
// import Tag from '../layout/tag.vue';
// import store from '../store';
+let socket;
export default {
name: "Layout",
@@ -115,6 +139,8 @@
return {
activeTag: '', // 褰撳墠婵�娲荤殑鏍囩
dialogVisible: false,
+ receivedData: 0,
+ receivedData2: 0,
formData: {
oldPassword: '',
newPassword: '',
@@ -127,13 +153,25 @@
menuListForm: {
pageSize: 1,
pageNum: -1
- }
+ },
+ dialogFormVisible2: false,
+ dialogFormVisible3: false,
+ alarm: [],
+ alarm2: [],
+ CountDowns: "0",
+ EmergencyStop: false,
+ PromptSize: 250,
+ dialogFormCountDown: false
+
}
},
// components: {
// Tag
// },
created() {
+
+
+
selectList(this.menuListForm).then(res => {
this.menuList = res.data
@@ -144,12 +182,168 @@
// 璁板綍涓婁竴娆℃縺娲荤殑鑿滃崟
// this.activePath = window.sessionStorage.getItem('activePath')
});
+ this.init();
},
computed: {
// ...mapState('tags', ['tags'])
},
methods: {
-
+ toggleButtonValue(buttonNumber) {
+
+ MessageBox.confirm(this.$t('Are you sure to perform this operation?'), this.$t('prompt'), {
+ confirmButtonText: this.$t('confirm'),
+ cancelButtonText: this.$t('cancel'),
+ type: 'warning'
+ }).then(() => {
+ // 鐐瑰嚮纭鎸夐挳鍚庢墽琛岀殑鎿嶄綔
+ if (buttonNumber === 1) {
+ this.receivedData = this.receivedData === 0 ? 1 : 0;
+ } else if (buttonNumber === 2) {
+ this.receivedData2 = this.receivedData2 === 0 ? 1 : 0;
+ }
+ console.log(this.receivedData, this.receivedData2)
+
+
+ const data3 = [];
+ const resetButtonValues3 = [this.receivedData, this.receivedData2];
+
+ // 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
+ data3.push(resetButtonValues3.flat());
+
+ // 鍦� data3 鏁扮粍鍓嶉潰娣诲姞涓や釜绌烘暟缁�
+
+ // 鍒涘缓 jsonObject3 瀵硅薄锛屽苟娣诲姞 data3 灞炴��
+ const jsonObject3 = { data: data3 };
+
+ // 鎻愪氦鏁版嵁鍒板悗绔�
+ const jsonString3 = JSON.stringify(jsonObject3);
+ console.log("鎬ュ仠鍚庝腑姝�/缁х画閫夋嫨:", jsonString3);
+ socket?.send(jsonString3);
+ setTimeout(() => {
+ this.dialogFormVisible3 = false;
+ }, 1000); // 寤惰繜鏃堕棿涓�1绉掞紙1000姣锛�
+ }).catch(() => {
+ // 鐐瑰嚮鍙栨秷鎸夐挳鍚庢墽琛岀殑鎿嶄綔
+ });
+
+
+
+
+ },
+ init() {
+ let viewname = "Home";
+ if (typeof (WebSocket) == "undefined") {
+ console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket");
+ } else {
+ //console.log("鎮ㄧ殑娴忚鍣ㄦ敮鎸乄ebSocket");
+ let socketUrl = "ws://" + this.$t('ip') + ":8888" + "/springboot-vue3/api/talk/" + viewname;
+ if (socket != null) {
+ socket.close();
+ socket = null;
+ }
+ // 寮�鍚竴涓獁ebsocket鏈嶅姟
+ socket = new WebSocket(socketUrl);
+ //鎵撳紑浜嬩欢
+ socket.onopen = function () {
+ console.log("websocket宸叉墦寮�");
+ };
+ // 娴忚鍣ㄧ鏀舵秷鎭紝鑾峰緱浠庢湇鍔$鍙戦�佽繃鏉ョ殑鏂囨湰娑堟伅
+ socket.onmessage = function (msg) {
+ //console.log("鏀跺埌鏁版嵁====" + msg.data);
+ let obj = JSON.parse(msg.data);
+ if (obj.alarmmg) {
+
+
+ if (obj.alarmmg[0].length > 0) {
+ if (this.alarm.length > 0) {
+ if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length - 1].id) {
+ this.alarm = obj.alarmmg[0];
+ this.dialogFormVisible2 = true;
+ }
+ } else {
+ this.alarm = obj.alarmmg[0];
+ this.dialogFormVisible2 = true;
+ }
+ } else {
+ this.alarm = obj.alarmmg[0];
+ this.dialogFormVisible2 = false;
+ }
+ //鏄惁鎬ュ仠
+ if (obj.emergencystop != null) {
+ this.EmergencyStop = obj.emergencystop[0];
+ }
+
+ //澶嶄綅鍊掕鏃�
+ if (obj.countdown != null) {
+ if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
+ this.CountDown();
+ }
+ }
+
+ //澶嶄綅瀹屾垚淇″彿
+ if (obj.reset != null) {
+ this.reset = obj.reset[0];
+ }
+ }
+
+
+
+
+
+
+ if (obj.Abort) {
+
+ if (obj.Abort[0].length > 0) {
+ this.receivedData = obj.Abort[0][0];
+ this.receivedData2 = obj.Abort[0][1];
+ // this.dialogFormVisible3 = true;
+ }
+ }
+ this.$forceUpdate();
+
+ }.bind(this);
+ //鍏抽棴浜嬩欢
+ socket.onclose = function () {
+ console.log("websocket宸插叧闂�");
+ };
+ //鍙戠敓浜嗛敊璇簨浠�
+ socket.onerror = function () {
+ console.log("websocket鍙戠敓浜嗛敊璇�");
+ }
+ }
+ },
+ //45绉掑浣嶅�掓暟璁℃椂
+ CountDown() {
+ let count = 45;
+ let timer = setInterval(
+ () => {
+ if (this.EmergencyStop == true) {
+ this.dialogFormCountDown = false;
+ clearInterval(timer);
+ this.CountDowns = "0";
+ } else {
+ if (count > 0) {
+ this.PromptSize = 500;
+ this.CountDowns = count;
+ count--;
+ }
+ else {
+ this.PromptSize = 200;
+ this.CountDowns = "Waiting for reset";
+ if (this.reset == true) {
+ clearInterval(timer);
+ this.dialogFormCountDown = false;
+ }
+ }
+ }
+
+ },
+ 1000
+ );
+ if (this.reset == false) {
+ this.dialogFormCountDown = true;
+ }
+ },
logout: function () {
removeToken()
this.$router.push('/login')
@@ -157,20 +351,19 @@
goToHome() {
this.$router.push('/home');
},
-
+
// ...mapMutations('tags', ['addTag', 'removeTag', 'switchTag']),
addTag() {
- // let submenuItem;
- // const menuItem = this.menuList.find(item => item.menuLists.some(menu => menu.router === router));
- // if (menuItem) {
- // submenuItem = menuItem.menuLists.find(menu => menu.router === router);
- // }
- // if (submenuItem) {
- // const tag = submenuItem.router;
- // this.$store.commit('tags/addTag', tag);
- // }
-},
-
+ // let submenuItem;
+ // const menuItem = this.menuList.find(item => item.menuLists.some(menu => menu.router === router));
+ // if (menuItem) {
+ // submenuItem = menuItem.menuLists.find(menu => menu.router === router);
+ // }
+ // if (submenuItem) {
+ // const tag = submenuItem.router;
+ // this.$store.commit('tags/addTag', tag);
+ // }
+ },
removeTag() {
// this.$store.commit('tags/removeTag', index); // 浠� Vuex Store 涓Щ闄ゆ爣绛�
@@ -185,13 +378,13 @@
this.$message.error('鏂板瘑鐮佷笌纭瀵嗙爜涓嶄竴鑷�');
return;
}
- changePassword({oldPassword, newPassword}).then(res => {
+ changePassword({ oldPassword, newPassword }).then(res => {
console.log(res.data);
this.$message.success('瀵嗙爜淇敼鎴愬姛');
removeToken()
this.$router.push('/login')
}).catch(() => {
-
+
});
this.dialogVisible = false;
@@ -214,7 +407,7 @@
'瑙掕壊绠$悊': 'RoleManagement',
'瑙掕壊鍒楄〃': 'RoleList',
'鐢垫皵绠$悊': 'Electrical management',
- '璁惧鐘舵��':'State',
+ '璁惧鐘舵��': 'State',
'涓婚〉': 'Home'
// 鏍规嵁瀹為檯闇�姹傜户缁坊鍔犲鐓у叧绯�
@@ -241,69 +434,76 @@
</script>
<style scoped lang="less">
-
-.el-menu--horizontal > .el-submenu .el-submenu__title {
+.el-menu--horizontal>.el-submenu .el-submenu__title {
height: 45px !important;
}
-.custom-submenu {
-
-
- height: 90px !important;
+
+.custom-submenu {
+
+
+ height: 90px !important;
}
.header-container {
- height: 30px !important; /* 璁剧疆杈冨皬鐨勯珮搴� */
+ height: 30px !important;
+ /* 璁剧疆杈冨皬鐨勯珮搴� */
}
.header-left {
- margin-right: auto;
-width:30px;
-
+ margin-right: auto;
+ width: 30px;
+
}
+
.el-aside {
- height: 100vh;
- background-color: #222f3e;
- line-height: 200px;
+ height: 100vh;
+ background-color: #222f3e;
+ line-height: 200px;
}
.el-menu-vertical-demo:not(.el-menu--collapse) {
- width: 200px;
- min-height: 400px;
+ width: 200px;
+ min-height: 400px;
}
.el-menu-demo {
- display: flex;
- width: 100%;
- height: 100%;
- justify-content: flex-end;
- align-items: center;
+ display: flex;
+ width: 100%;
+ height: 100%;
+ justify-content: flex-end;
+ align-items: center;
}
.el-menu-vertical-demo {
- border: 0;
+ border: 0;
}
.logo {
- background-color: #222f3e;
- display: flex;
- justify-content: center;
- align-items: center;
- height: 60px;
+ background-color: #222f3e;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 60px;
- .sys-name {
- font-size: 20px;
- color: #ffffff;
- margin-left: 10px;
- }
+ .sys-name {
+ font-size: 20px;
+ color: #ffffff;
+ margin-left: 10px;
+ }
+}
+
+.blue-button {
+ background-color: green;
+ color: white;
}
.el-header {
- background-color: #576574;
+ background-color: #576574;
}
</style>
\ No newline at end of file
diff --git a/CanadaMes-ui/src/main.js b/CanadaMes-ui/src/main.js
index dfacd3c..a6bc365 100644
--- a/CanadaMes-ui/src/main.js
+++ b/CanadaMes-ui/src/main.js
@@ -10,14 +10,14 @@
import VueI18n from 'vue-i18n'
import zhCN from './lang/locales/zh-CN.json' // 涓枃璇█鍖�
import enUS from './lang/locales/en-US.json' // 鑻辨枃璇█鍖�
-import websocketPlugin from './api/websocketPlugin'; // 寮曞叆鎻掍欢鏂囦欢
+//import websocketPlugin from './api/websocketPlugin'; // 寮曞叆鎻掍欢鏂囦欢
// import store from './store'
// import store from './store'
Vue.use(VueI18n)
-Vue.use(websocketPlugin, {
- ip: 'localhost', // 鏇挎崲鎴愪綘鐨� WebSocket 鏈嶅姟鍣� IP 鍦板潃
-});
+// Vue.use(websocketPlugin, {
+// ip: 'localhost', // 鏇挎崲鎴愪綘鐨� WebSocket 鏈嶅姟鍣� IP 鍦板潃
+// });
const i18n = new VueI18n({
locale: 'en-US',
diff --git a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
index fff23a1..c1831cb 100644
--- a/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
+++ b/CanadaMes-ui/src/views/Electrical/AutomaticParameterSetting.vue
@@ -60,19 +60,19 @@
<div v-for="(item, itemIndex) in dataGroup" :key="itemIndex" class="item-container">
<div class="item-row">
<span class="name" style="width:250px;">{{ item.name }}</span>
- <!-- <el-input v-if="item.type === '0'"
+ <el-input v-if="item.type === '0'"
v-model="item.value"
class="input-box"
:oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`"
- @keyup.enter.native="submitDataToBackend">
- </el-input> -->
+ @keyup.enter.native="submitDataToBackend($event)">
+ </el-input>
- <el-input v-if="item.type === '0'"
+ <!-- <el-input v-if="item.type === '0'"
v-model="item.value"
class="input-box"
@keyup.enter.native="submitDataToBackend">
- </el-input>
+ </el-input> -->
<span v-if="item.unit" :name="item.unit" >{{ item.unit }}</span>
@@ -114,6 +114,7 @@
},
+
methods: {
closeSocket () {
// 鍏抽棴 WebSocket 杩炴帴
@@ -155,7 +156,7 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎻愪氦浠ヤ笅鏁版嵁鍒板悗绔�:', jsonString);
socket?.send(jsonString);
-
+ event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
initWebSocket () {
@@ -181,104 +182,112 @@
};
// 鏀跺埌娑堟伅
- let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
+// let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
-const inputBox = document.querySelectorAll('.input-box');
-inputBox.forEach(box => {
- box.addEventListener('mouseenter', () => {
- isMouseInInputBox = true;
- });
- box.addEventListener('mouseleave', () => {
- isMouseInInputBox = false;
- });
-});
+// const inputBox = document.querySelectorAll('.input-box');
+// inputBox.forEach(box => {
+// box.addEventListener('mouseenter', () => {
+// isMouseInInputBox = true;
+// });
+// box.addEventListener('mouseleave', () => {
+// isMouseInInputBox = false;
+// });
+// });
socket.onmessage = (msg) => {
if (!msg.data) {
return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
}
+ // 娣诲姞鍒ゆ柇鏉′欢锛氬鏋滃厜鏍囧湪杈撳叆妗嗗唴锛屽垯涓嶆墽琛屽悗缁�昏緫
+ if (document.activeElement.tagName.toLowerCase() === 'input') {
+ return;
+ }
+
+
let obj = JSON.parse(msg.data);
+
const jsonData2 = this.jsonData;
const parms = obj.params;
- const fanzhuan = obj.fanzhuan;
- const xiaoche = obj.xiaoche;
- const dache = obj.dache1;
+ const fanzhuan = obj.fanzhuan;
+ const xiaoche = obj.xiaoche;
+ const dache = obj.dache1;
- const parms2 = obj.params2;
- const fanzhuan2 = obj.fanzhuan2;
- const xiaoche2 = obj.xiaoche2;
+ const parms2 = obj.params2;
+ const fanzhuan2 = obj.fanzhuan2;
+ const xiaoche2 = obj.xiaoche2;
- if(parms && !isMouseInInputBox){
-
+ if(parms){
+ let index = 0;
+ for (let i = 0; i < jsonData2.length - 1; i++) {
+ let arr = jsonData2[i];
- let index = 0;
- for (let i = 0; i < jsonData2.length - 1; i++) {
- let arr = jsonData2[i];
-
- for (let j = 0; j < arr.length; j++) {
- let obj = arr[j];
- if (obj.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) {
- if (Array.isArray(parms) && Array.isArray(parms[0]) && parms[0][index] !== undefined) {
- obj.value = parms[0][index];
- index++;
- }
+ for (let j = 0; j < arr.length; j++) {
+ let obj = arr[j];
+ if (obj.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) {
+ if (Array.isArray(parms) && Array.isArray(parms[0]) && parms[0][index] !== undefined) {
+ obj.value = parms[0][index];
+ index++;
}
}
- }
- if (Array.isArray(fanzhuan) && Array.isArray(fanzhuan[0]) && fanzhuan[0][0] !== undefined) {
- jsonData2[4][0]['value'] = fanzhuan[0][0];
- }
- if (Array.isArray(xiaoche) && Array.isArray(xiaoche[0]) && xiaoche[0][0] !== undefined) {
- jsonData2[3][0]['value'] = xiaoche[0][0];
- }
- if (Array.isArray(dache) && Array.isArray(dache[0]) && dache[0][0] !== undefined) {
- jsonData2[2][0]['value'] = dache[0][0];
- }
-
- let index2 = 0;
- for (let i = 5; i < jsonData2.length; i++) {
- let arr2 = jsonData2[i];
-
- for (let j = 0; j < arr2.length; j++) {
- let obj2 = arr2[j];
- if (obj2.type === '0' && Object.prototype.hasOwnProperty.call(obj2, 'value')) {
- if (Array.isArray(parms2) && Array.isArray(parms2[0]) && parms2[0][index2] !== undefined) {
- obj2.value = parms2[0][index2];
- index2++;
- }
- }
- }
- }
-
-
- for (let i = 0; i < jsonData2.length; i++) {
- let arr = jsonData2[i];
-
- for (let j = 0; j < arr.length; j++) {
- let obj = arr[j];
- if (obj.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) {
- if (Array.isArray(parms) && Array.isArray(parms[0]) && parms[0][index] !== undefined) {
- obj.value = parms[0][index];
- index++;
- }
- }
- }
- }
-
- if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) {
- jsonData2[8][0]['value'] = fanzhuan2[0][0];
- }
-
- if (Array.isArray(xiaoche2) && Array.isArray(xiaoche2[0]) && xiaoche2[0][0] !== undefined) {
- jsonData2[9][0]['value'] = xiaoche2[0][0];
}
}
-
+ if (Array.isArray(fanzhuan) && Array.isArray(fanzhuan[0]) && fanzhuan[0][0] !== undefined) {
+ jsonData2[4][0]['value'] = fanzhuan[0][0];
+ }
+ if (Array.isArray(xiaoche) && Array.isArray(xiaoche[0]) && xiaoche[0][0] !== undefined) {
+ jsonData2[3][0]['value'] = xiaoche[0][0];
+ }
+ if (Array.isArray(dache) && Array.isArray(dache[0]) && dache[0][0] !== undefined) {
+ jsonData2[2][0]['value'] = dache[0][0];
+ }
+ let index2 = 0;
+ for (let i = 5; i < jsonData2.length; i++) {
+ let arr2 = jsonData2[i];
+
+ for (let j = 0; j < arr2.length; j++) {
+ let obj2 = arr2[j];
+ if (obj2.type === '0' && Object.prototype.hasOwnProperty.call(obj2, 'value')) {
+ if (Array.isArray(parms2) && Array.isArray(parms2[0]) && parms2[0][index2] !== undefined) {
+ obj2.value = parms2[0][index2];
+ index2++;
+ }
+ }
+ }
+ }
+
+ // // 娣诲姞鍒ゆ柇鏉′欢锛氬鏋滃厜鏍囧湪杈撳叆妗嗗唴锛屽垯涓嶆墽琛屽悗缁�昏緫
+ // if (document.activeElement.tagName.toLowerCase() === 'input') {
+ // return;
+ // }
+
+ for (let i = 0; i < jsonData2.length; i++) {
+ let arr = jsonData2[i];
+
+ for (let j = 0; j < arr.length; j++) {
+ let obj = arr[j];
+ if (obj.type === '0' && Object.prototype.hasOwnProperty.call(obj, 'value')) {
+ if (Array.isArray(parms) && Array.isArray(parms[0]) && parms[0][index] !== undefined) {
+ obj.value = parms[0][index];
+ index++;
+ }
+ }
+ }
+ }
+
+ if (Array.isArray(fanzhuan2) && Array.isArray(fanzhuan2[0]) && fanzhuan2[0][0] !== undefined) {
+ jsonData2[8][0]['value'] = fanzhuan2[0][0];
+ }
+
+ if (Array.isArray(xiaoche2) && Array.isArray(xiaoche2[0]) && xiaoche2[0][0] !== undefined) {
+ jsonData2[9][0]['value'] = xiaoche2[0][0];
+ }
+ }
};
+
@@ -317,6 +326,9 @@
} else if (obj.button && obj.button.name) {
const newName = nameMap[obj.button.name] || obj.button.name;
return { ...obj, button: { ...obj.button, name: newName } };
+ } else if (obj.title && obj.title.name) {
+ const newName = nameMap[obj.title.name] || obj.title.name;
+ return { ...obj, title: { ...obj.title, name: newName } };
} else {
return obj;
}
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
index bb5400c..8d15a80 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition.vue
@@ -56,21 +56,21 @@
<span class="name" style="width:300px;">{{ item.name }}</span>
<el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0 && (itemIndex === 2)" readonly v-model="item.value"
- class="input-box" ></el-input>
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`" ></el-input>
- <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 0 " v-model="item.value" @keyup.enter.native="A01start"
- class="input-box" ></el-input>
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 0 " v-model="item.value" @keyup.enter.native="A01start($event)"
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`" ></el-input>
<el-input style="width: 250px;" v-else-if="(item.state !== 0) && (item.type === '0') && (itemIndex === 2)" v-model="item.value" readonly class="input-box" ></el-input>
- <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="A02start"
- class="input-box" ></el-input>
- <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 2" v-model="item.value" @keyup.enter.native="B01start"
- class="input-box" ></el-input>
- <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 3" v-model="item.value" @keyup.enter.native="B02start"
- class="input-box" ></el-input>
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1" v-model="item.value" @keyup.enter.native="A02start($event)"
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`" ></el-input>
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 2" v-model="item.value" @keyup.enter.native="B01start($event)"
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`" ></el-input>
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 3" v-model="item.value" @keyup.enter.native="B02start($event)"
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`" ></el-input>
<el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0'" v-model="item.value"
- class="input-box" ></el-input>
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`" ></el-input>
</div>
</div>
<div class="button-row" style="display: flex; justify-content: space-between;">
@@ -151,7 +151,7 @@
},
- A01start(){
+ A01start(event){
const data = [];
@@ -190,9 +190,9 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
-
+event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
- A02start(){
+ A02start(event){
const data = [];
for (let i = 1; i < 2; i++) {
@@ -223,9 +223,9 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
-
+event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
- B01start(){
+ B01start(event){
const data = [];
for (let i = 2; i < 3; i++) {
@@ -248,9 +248,9 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
-
+event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
- B02start(){
+ B02start(event){
const data = [];
for (let i = 3; i < 4; i++) {
@@ -259,6 +259,16 @@
});
const values = inputData.map(item => item.value);
+
+ if (values.length > 0) {
+
+let firstValue = values[0];
+if (!(firstValue >= "106" && firstValue <= "210")) {
+ values.shift();
+ this.$message.error("Out of range");
+ return false;
+}
+}
data.unshift([], [], []);
data.push(values);
}
@@ -273,7 +283,7 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
-
+event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
submitDataToBackend (currentButtonName) {
if (currentButtonName === 'A01鍚姩' || currentButtonName === 'A01 Start') {
@@ -430,7 +440,7 @@
}
-
+
},
@@ -457,21 +467,26 @@
};
// 鏀跺埌娑堟伅
- let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
+// let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
-const inputBox = document.querySelectorAll('.input-box');
-inputBox.forEach(box => {
- box.addEventListener('mouseenter', () => {
- isMouseInInputBox = true;
- });
- box.addEventListener('mouseleave', () => {
- isMouseInInputBox = false;
- });
-});
+// const inputBox = document.querySelectorAll('.input-box');
+// inputBox.forEach(box => {
+// box.addEventListener('mouseenter', () => {
+// isMouseInInputBox = true;
+// });
+// box.addEventListener('mouseleave', () => {
+// isMouseInInputBox = false;
+// });
+// });
socket.onmessage = (msg) => {
if (!msg.data) {
return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
+
+ // 娣诲姞鍒ゆ柇鏉′欢锛氬鏋滃厜鏍囧湪杈撳叆妗嗗唴锛屽垯涓嶆墽琛屽悗缁�昏緫
+ if (document.activeElement.tagName.toLowerCase() === 'input') {
+ return;
}
let obj = JSON.parse(msg.data);
@@ -479,7 +494,7 @@
const weihuiling = obj.weihuiling;
- if(obj.zuhe1&& !isMouseInInputBox){
+ if(obj.zuhe1){
// console.log(obj);
diff --git a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
index 286a5ef..636b9d0 100644
--- a/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
+++ b/CanadaMes-ui/src/views/Electrical/ManualonePosition2.vue
@@ -45,18 +45,18 @@
<el-input style="width:250px;" v-if="item.state != 0 && item.type === '0' && groupIndex === 0 && (itemIndex === 2)" readonly v-model="item.value"
- class="input-box"></el-input>
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`"></el-input>
<el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1 && (itemIndex === 2)" readonly v-model="item.value"
- class="input-box"></el-input>
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`"></el-input>
- <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 0 " v-model="item.value" @keyup.enter.native="A01start"
- class="input-box"></el-input>
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 0 " v-model="item.value" @keyup.enter.native="A01start($event)"
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`"></el-input>
- <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1 " v-model="item.value" @keyup.enter.native="A02start"
- class="input-box"></el-input>
+ <el-input style="width:250px;" v-else-if="item.state != 0 && item.type === '0' && groupIndex === 1 " v-model="item.value" @keyup.enter.native="A02start($event)"
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`"></el-input>
@@ -133,7 +133,7 @@
},
- A01start(){
+ A01start(event){
const data = [];
for (let i = 0; i < 1; i++) {
@@ -155,10 +155,10 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
-
+event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
- A02start(){
+ A02start(event){
const data = [];
@@ -180,6 +180,7 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎵�鏈塗ype涓�0鐨剉alue:', jsonString);
socket?.send(jsonString);
+event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
//鎻愪氦鏂规硶
submitDataToBackend (currentButtonName) {
@@ -318,26 +319,29 @@
};
// 鏀跺埌娑堟伅
- let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
+// let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
-const inputBox = document.querySelectorAll('.input-box');
-inputBox.forEach(box => {
- box.addEventListener('mouseenter', () => {
- isMouseInInputBox = true;
- });
- box.addEventListener('mouseleave', () => {
- isMouseInInputBox = false;
- });
-});
+// const inputBox = document.querySelectorAll('.input-box');
+// inputBox.forEach(box => {
+// box.addEventListener('mouseenter', () => {
+// isMouseInInputBox = true;
+// });
+// box.addEventListener('mouseleave', () => {
+// isMouseInInputBox = false;
+// });
+// });
socket.onmessage = (msg) => {
if (!msg.data) {
return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
}
+ if (document.activeElement.tagName.toLowerCase() === 'input') {
+ return;
+ }
+
+
let obj = JSON.parse(msg.data);
-
-
// console.log(obj)
const jsonData2 = this.jsonData;
const weihuiling = obj.weihuiling;
@@ -345,7 +349,7 @@
- if (obj.zuhe1&& !isMouseInInputBox ) {
+ if (obj.zuhe1 ) {
// 鎵ц鏇存柊閫昏緫
for (let i = 0; i < 2; i++) {
jsonData2[i].forEach((item, index) => {
diff --git a/CanadaMes-ui/src/views/Electrical/Parameter2.vue b/CanadaMes-ui/src/views/Electrical/Parameter2.vue
index 95bf82f..5542c24 100644
--- a/CanadaMes-ui/src/views/Electrical/Parameter2.vue
+++ b/CanadaMes-ui/src/views/Electrical/Parameter2.vue
@@ -186,7 +186,7 @@
<el-input
v-if="item.type === '0' && groupIndex==15"
v-model="item.value"
- @keyup.enter.native="timeout"
+ @keyup.enter.native="timeout($event)"
style="width: 300px"
class="input-box2"
></el-input>
@@ -265,20 +265,31 @@
},
updateButtonValue(dataGroup, itemIndex) {
- if (dataGroup[itemIndex].button.value === 1) {
+ if (dataGroup[itemIndex].button.value2 === 1) {
// 濡傛灉褰撳墠鎸夐挳鐨勫�兼槸 0锛屽皢鍏惰涓� 1
- this.$set(dataGroup[itemIndex].button, "value", 0);
+ this.$set(dataGroup[itemIndex].button, "value2", 0);
} else {
// 鍚﹀垯灏嗗叾璁句负 0
- this.$set(dataGroup[itemIndex].button, "value", 1);
+ this.$set(dataGroup[itemIndex].button, "value2", 1);
}
},
//鑼冨洿 0-100
- timeout(){
+ timeout(event){
const data3 = [];
const resetButtonValues3 = [this.jsonData[15][0].value];
+
+ if (resetButtonValues3.length > 0) {
+
+let firstValue = resetButtonValues3[0];
+if (!(firstValue >= "0" && firstValue <= "100")) {
+ resetButtonValues3.shift();
+ this.$message.error("Out of range");
+
+ return false;
+}
+}
// 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
data3.push(resetButtonValues3.flat());
@@ -295,7 +306,7 @@
// setTimeout(()=>
// window.location.reload(),2000
// )
-
+ event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
@@ -311,13 +322,13 @@
["娓呴櫎ID", "Clear ID"].includes(subItem.button.name)
);
- return buttonItem ? buttonItem.button.value : null;
+ return buttonItem ? buttonItem.button.value2 : null;
})
- .filter((value) => value !== null);
+ .filter((value2) => value2 !== null);
// 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
data2.push(resetButtonValues.flat());
- data2.push([]);
+ data2.push([],[]);
// 鍦� data2 鏁扮粍鍓嶉潰娣诲姞涓や釜绌烘暟缁�
// 鍒涘缓 jsonObject2 瀵硅薄锛屽苟娣诲姞 data2 灞炴��
@@ -336,11 +347,12 @@
currentButtonName === "A02缁堟/缁х画"
) {
const data3 = [];
- const resetButtonValues3 = [this.jsonData[13][0].button.value,this.jsonData[14][0].button.value];
+ const resetButtonValues3 = [this.jsonData[13][0].button.value2,this.jsonData[14][0].button.value2];
// 灏嗗緱鍒扮殑鍊兼坊鍔犲埌 data 鏁扮粍涓�
data3.push(resetButtonValues3.flat());
data3.unshift([]);
+ data3.push([]);
// 鍦� data3 鏁扮粍鍓嶉潰娣诲姞涓や釜绌烘暟缁�
// 鍒涘缓 jsonObject3 瀵硅薄锛屽苟娣诲姞 data3 灞炴��
@@ -384,22 +396,25 @@
socket.onopen = function () {
console.log("websocket宸叉墦寮�");
};
- let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
-
-const inputBox = document.querySelectorAll('.input-box2');
-inputBox.forEach(box => {
- box.addEventListener('mouseenter', () => {
- isMouseInInputBox = true;
- });
- box.addEventListener('mouseleave', () => {
- isMouseInInputBox = false;
- });
-});
+// let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
+ let isUpdated = false; // 瀹氫箟鏍囧織鍙橀噺
+// const inputBox = document.querySelectorAll('.input-box2');
+// inputBox.forEach(box => {
+// box.addEventListener('mouseenter', () => {
+// isMouseInInputBox = true;
+// });
+// box.addEventListener('mouseleave', () => {
+// isMouseInInputBox = false;
+// });
+// });
// 鏀跺埌娑堟伅
socket.onmessage = (msg) => {
if (!msg.data) {
return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
}
+ if (document.activeElement.tagName.toLowerCase() === 'input') {
+ return;
+ }
let obj = JSON.parse(msg.data);
@@ -413,7 +428,7 @@
// const inputBox = document.querySelectorAll('.id');
// const target = event.target;
- if (parms && !isMouseInInputBox) {
+ if (parms ) {
//鎬ュ仠鎸夐挳
jsonData2[13][0].button.value = obj.jiting[0][0];
jsonData2[14][0].button.value = obj.jiting[0][1];
@@ -493,6 +508,8 @@
}
}
}
+ this.$forceUpdate();
+
//鎵弿鏋壂鐮佺殑ID
jsonData2.forEach((item) => {
@@ -531,7 +548,18 @@
jsonData2[15][0].value = obj.timeout[0];
-
+ if (!isUpdated) {
+ for (let i = 0; i < jsonData2.length; i++) {
+ for (let j = 0; j < jsonData2[i].length; j++) {
+ if(jsonData2[i][j].button){
+
+
+ jsonData2[i][j].button.value2 = jsonData2[i][j].button.value;
+ }
+ }
+ }
+ isUpdated = true; // 鏇存柊鏍囧織鍙橀噺鐨勫��
+ }
}
diff --git a/CanadaMes-ui/src/views/Electrical/Positioning1.vue b/CanadaMes-ui/src/views/Electrical/Positioning1.vue
index a59cccb..7b46cad 100644
--- a/CanadaMes-ui/src/views/Electrical/Positioning1.vue
+++ b/CanadaMes-ui/src/views/Electrical/Positioning1.vue
@@ -136,8 +136,8 @@
<el-input
v-if="item.type === '0'"
v-model="item.value"
- class="input-box"
- @keyup.enter.native="submitDataToBackend"
+ class="input-box" :oninput="`value=value.replace(/^0|[^0-9]/g,'');if(value<`+item.min+`){value=`+item.value+`}else if(value>`+item.max+`){value=`+item.value+`}`"
+ @keyup.enter.native="submitDataToBackend($event)"
></el-input>
<span v-if="item.unit" :name="item.unit">{{ item.unit }}</span>
@@ -180,7 +180,7 @@
this.$set(dataGroup[itemIndex].button, "value", 1); // 鐐瑰嚮鎸夐挳鍚庡皢鍊兼敼涓�1
},
//鎻愪氦鏁版嵁鍒板悗绔�
- submitDataToBackend() {
+ submitDataToBackend(event) {
const inputData = this.jsonData.map((dataGroup) => {
return dataGroup.map((item) => {
if (item.type === "0") {
@@ -208,6 +208,7 @@
const jsonString = JSON.stringify(jsonObject);
console.log('鎻愪氦浠ヤ笅鏁版嵁鍒板悗绔�:', jsonString);
socket?.send(jsonString);
+ event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
initWebSocket() {
let viewname = "Positioning1";
@@ -236,21 +237,24 @@
};
// 鏀跺埌娑堟伅
- let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
+// let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
-const inputBox = document.querySelectorAll('.input-box');
-inputBox.forEach(box => {
- box.addEventListener('mouseenter', () => {
- isMouseInInputBox = true;
- });
- box.addEventListener('mouseleave', () => {
- isMouseInInputBox = false;
- });
-});
+// const inputBox = document.querySelectorAll('.input-box');
+// inputBox.forEach(box => {
+// box.addEventListener('mouseenter', () => {
+// isMouseInInputBox = true;
+// });
+// box.addEventListener('mouseleave', () => {
+// isMouseInInputBox = false;
+// });
+// });
socket.onmessage = (msg) => {
if (!msg.data) {
return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
+ }
+ if (document.activeElement.tagName.toLowerCase() === 'input') {
+ return;
}
let obj = JSON.parse(msg.data);
@@ -258,7 +262,7 @@
const parms = obj.params;
- if(parms && !isMouseInInputBox){ // 鍙湁鍦ㄩ紶鏍囦笉鍦ㄨ緭鍏ユ鍐呮椂鎵嶆洿鏂版暟鎹�
+ if(parms ){ // 鍙湁鍦ㄩ紶鏍囦笉鍦ㄨ緭鍏ユ鍐呮椂鎵嶆洿鏂版暟鎹�
// console.log(parms)
let index = 0;
diff --git a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
index 9e366aa..e2acb21 100644
--- a/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
+++ b/CanadaMes-ui/src/views/Electrical/ServoManualone.vue
@@ -116,7 +116,7 @@
<el-input
v-if="item.type === '0' && groupIndex === 0"
v-model="item.value"
- @keyup.enter.native="zuhe1"
+ @keyup.enter.native="zuhe1($event)"
class="input-box"
:class="{
'special-class': groupIndex === 0,
@@ -127,7 +127,7 @@
<el-input
v-else-if="item.type === '0' && groupIndex === 1"
v-model="item.value"
- @keyup.enter.native="zuhe2"
+ @keyup.enter.native="zuhe2($event)"
class="input-box"
:class="{
'special-class': groupIndex === 0,
@@ -317,7 +317,7 @@
this.$set(dataGroup[itemIndex].button, "value", 1);
}
},
- zuhe1() {
+ zuhe1(event) {
const data = [];
for (let i = 0; i < 1; i++) {
@@ -328,7 +328,36 @@
});
const values = inputData.map((item) => item.value);
+ // console.log(values)
+ if (values.length > 0) {
+
+if (!(values[1] == "1" || values[1] == "2")) {
+ values.shift();
+ this.$message.error("Out of range");
+ return false;
+}
+// if (!(values[2] < "380" ) ) {
+// values.shift();
+// this.$message.error("Out of range");
+// return false;
+// }
+
+
+
+if (!(values[4] >= "1" && values[4] <= "210") && values[4] !== "1000") {
+ values.shift();
+ this.$message.error("Out of range");
+ return false;
+}
+if (!(values[5] >= "1" && values[5] <= "210") && values[5] !== "1000") {
+ values.shift();
+ this.$message.error("Out of range");
+ return false;
+}
+
+}
+
data.push(values);
}
@@ -342,8 +371,13 @@
});
const values = inputData.map((item) => item.value);
-
- data.push(values);
+ const pattern = /^[\w ]{1,14}$/; // 鍖归厤闀垮害涓�14鐨勬暟瀛椼�佸瓧姣嶃�佺┖鏍肩殑缁勫悎
+if (!pattern.test(values[0])) {
+ values.shift();
+ this.$message.error("Please enter a 14-character string.");
+ return false;
+}
+ data.push(values);
}
data.push([], [], []);
@@ -353,8 +387,9 @@
const jsonString = JSON.stringify(jsonObject);
console.log("鎵�鏈塗ype涓�0鐨剉alue:", jsonString);
socket?.send(jsonString);
+ event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
- zuhe2() {
+ zuhe2(event) {
const data2 = [];
for (let i = 1; i < 2; i++) {
@@ -365,6 +400,29 @@
});
const values2 = inputData.map((item) => item.value);
+
+ if (values2.length > 0) {
+
+
+
+if (!(values2[1] >= "1" && values2[1] <= "210") && values2[1] !== "1000") {
+ values2.shift();
+ this.$message.error("Out of range");
+ return false;
+}
+if (!(values2[2] >= "1" && values2[2] <= "210") && values2[2] !== "1000") {
+ values2.shift();
+ this.$message.error("Out of range");
+ return false;
+}
+if (!(values2[3] == "1" || values2[3] == "2")) {
+ values2.shift();
+ this.$message.error("Out of range");
+ return false;
+}
+
+
+}
data2.push(values2);
}
@@ -380,7 +438,12 @@
});
const values2 = inputData.map((item) => item.value);
-
+ const pattern = /^[\w ]{1,14}$/; // 鍖归厤闀垮害涓�14鐨勬暟瀛椼�佸瓧姣嶃�佺┖鏍肩殑缁勫悎
+if (!pattern.test(values2[0])) {
+ values2.shift();
+ this.$message.error("Please enter a 14-character string.");
+ return false;
+}
data2.push(values2);
data2.push([], [], []);
}
@@ -391,6 +454,7 @@
const jsonString = JSON.stringify(jsonObject);
console.log("鎵�鏈塗ype涓�0鐨剉alue:", jsonString);
socket?.send(jsonString);
+ event.target.blur(); // 鍙栨秷杈撳叆妗嗙劍鐐�
},
submitDataToBackend(currentButtonName) {
const data = [];
@@ -620,17 +684,17 @@
console.log("websocket宸叉墦寮�");
};
- let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
+ // let isMouseInInputBox = false; // 鏍囪榧犳爣鏄惁鍦ㄨ緭鍏ユ鍐�
- const inputBox = document.querySelectorAll(".input-box");
- inputBox.forEach((box) => {
- box.addEventListener("mouseenter", () => {
- isMouseInInputBox = true;
- });
- box.addEventListener("mouseleave", () => {
- isMouseInInputBox = false;
- });
- });
+ // const inputBox = document.querySelectorAll(".input-box");
+ // inputBox.forEach((box) => {
+ // box.addEventListener("mouseenter", () => {
+ // isMouseInInputBox = true;
+ // });
+ // box.addEventListener("mouseleave", () => {
+ // isMouseInInputBox = false;
+ // });
+ // });
socket.onmessage = (msg) => {
if (!msg.data) {
@@ -641,8 +705,11 @@
// console.log(obj)
const weihuiling = obj.weihuiling;
const jsonData2 = this.jsonData;
+ if (document.activeElement.tagName.toLowerCase() === 'input') {
+ return;
+ }
- if (obj.zuhe1 && !isMouseInInputBox) {
+ if (obj.zuhe1 ) {
//鍚姩鎸夐挳
// 鎵ц鏇存柊閫昏緫
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index 2c0efa2..e0a791e 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -46,9 +46,6 @@
background-color: blue;
}
-.red {
- background-color: red;
-}
.yellow {
background-color: yellow;
@@ -211,6 +208,14 @@
text-align: right;
}
+.hide {
+ display: none;
+}
+
+.el-table .cell {
+ display: flex;
+}
+
/* .el-table td,
.el-table th {
padding: 0px 0;
@@ -230,21 +235,23 @@
</div>
</div>
<div style="display:flex;justify-content: space-around;width: 9zz5%;margin: 0 auto;">
- <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1"></el-input>
- <el-button type="primary" @click="SelectGlassByGlassIDs(2)" :disabled="ManuallyInfeedGlass">
+ <el-input style="width:15%;" :placeholder="$t('Enter the glass barcode')" v-model="glassid1"
+ :class="ManuallyInfeedGlass == true ? 'hide' : ''"></el-input>
+ <el-button type="primary" @click="SelectGlassByGlassIDs(2)" :disabled="ManuallyInfeedGlass"
+ :class="ManuallyInfeedGlass == true ? 'hide' : ''">
{{ $t('Manually Infeed Glass') }}</el-button>
<!-- <el-input style="width:15%;" :placeholder="$t('Enter the Order No')" v-model="order"></el-input>
<el-button type="warning" @click="showform1();">{{ $t('Exit the glass by order number') }}</el-button> -->
</div>
<div>
<el-table :data="this.tasklist1" border style="width: 100%">
- <el-table-column :width="180" prop="glassId" :label="$t('Outfeed glass barcode')"></el-table-column>
- <el-table-column :width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
- <el-table-column :width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
- <el-table-column :width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
+ <el-table-column :min-width="180" prop="glassId" :label="$t('Outfeed glass barcode')"></el-table-column>
+ <el-table-column :min-width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
+ <el-table-column :min-width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
+ <el-table-column :min-width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
<el-table-column prop="orderId" :label="$t('List No')"></el-table-column>
<el-table-column prop="orderId" :label="$t('Box No')"></el-table-column>
- <el-table-column :width="130" prop="lengthWidth" :label="$t('Dim')">
+ <el-table-column :min-width="150" prop="lengthWidth" :label="$t('Dim')">
<template slot-scope='scope'>
{{ scope.row.glasswidthmm }}*{{ scope.row.glassheightmm }}
</template>
@@ -258,13 +265,13 @@
</el-table-column>
</el-table>
<el-table :data="this.tasklist2" border style="width: 100%">
- <el-table-column :width="180" prop="glassId" :label="$t('Infeed glass barcode')"></el-table-column>
- <el-table-column :width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
- <el-table-column :width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
- <el-table-column :width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
+ <el-table-column :min-width="180" prop="glassId" :label="$t('Infeed glass barcode')"></el-table-column>
+ <el-table-column :min-width="130" prop="cage" :label="$t('Cage No')"></el-table-column>
+ <el-table-column :min-width="130" prop="cell" :label="$t('Slot No')"></el-table-column>
+ <el-table-column :min-width="130" prop="orderId" :label="$t('Order No')"></el-table-column>
<el-table-column prop="orderId" :label="$t('List No')"></el-table-column>
<el-table-column prop="orderId" :label="$t('Box No')"></el-table-column>
- <el-table-column :width="130" prop="lengthWidth" :label="$t('Dim')">
+ <el-table-column :min-width="150" prop="lengthWidth" :label="$t('Dim')">
<template slot-scope='scope'>
{{ scope.row.glasswidthmm }}*{{ scope.row.glassheightmm }}
</template>
@@ -325,9 +332,11 @@
<div class="blocks-img" :style="{ left: car2 + 'px', top: '175px' }"></div>
<div class="blocks-img2"></div>
<div class="blocks-img3"></div>
- <el-button class="orderbutton1" type="primary" @click="showform2()" :disabled="OrderInfo">{{ $t('OrderInfo')
- }}</el-button>
- <el-button class="orderbutton2" type="primary" @click="showform6()" :disabled="OutingQueue">
+ <el-button class="orderbutton1" type="primary" @click="showform2()" :disabled="OrderInfo"
+ :class="OrderInfo == true ? 'hide' : ''">{{ $t('OrderInfo')
+ }}</el-button>
+ <el-button class="orderbutton2" type="primary" @click="showform6()" :disabled="OutingQueue"
+ :class="OutingQueue == true ? 'hide' : ''">
{{ $t('Outing Queue') }}</el-button>
<!-- <div style="display:flex;position: absolute;float:left;z-index: 999;top:112px;left:328px;">
@@ -435,10 +444,10 @@
<el-table-column :min-width="50" prop="cell" :label="$t('Slot No')"></el-table-column>
<el-table-column :min-width="55" prop="tier" :label="$t('The Side')"></el-table-column>
<el-table-column :min-width="145" prop="glassId" :label="$t('Barcode')"></el-table-column>
- <el-table-column :min-width="100" prop="orderId" :label="$t('Order No')"></el-table-column>
+ <el-table-column :min-width="80" prop="orderId" :label="$t('Order No')"></el-table-column>
<el-table-column :min-width="80" prop="listId" :label="$t('List No')"></el-table-column>
- <el-table-column :min-width="100" prop="boxId" :label="$t('Box No')"></el-table-column>
- <el-table-column :min-width="90" prop="state" :label="$t('Glass State')">
+ <el-table-column :min-width="50" prop="boxId" :label="$t('Box No')"></el-table-column>
+ <el-table-column :min-width="80" prop="state" :label="$t('Glass State')">
<template slot-scope='scope'>
{{
scope.row.state == 1 ? $t('Normal') : scope.row.state == 2 ? $t('Entering') : scope.row.state == 3 ?
@@ -451,6 +460,12 @@
{{ scope.row.glassWidthMm }}{{ scope.row.glassWidthMm > 0 ? "*" : "" }}{{ scope.row.glassHeightMm }}
</template>
</el-table-column>
+
+ <el-table-column :min-width="80" prop="lengthWidth" :label="$t('State')">
+ <template slot-scope='scope'>
+ {{ scope.row.disabled == 0 ? $t('Enable') : $t('Disable') }}
+ </template>
+ </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;"
@@ -461,10 +476,10 @@
@click="outglass(scope.row.glassId, scope.row.state)">{{ $t('Out') }}</el-button>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
@click="UpdateDisabled(scope.row.cage, scope.row.cell, scope.row.disabled == 0 ? 1 : 0)">
- {{ scope.row.disabled == 0 ? $t('Enable') : $t('Disable') }}</el-button>
+ {{ scope.row.disabled == 0 ? $t('Disable') : $t('Enable') }}</el-button>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
:disabled="scope.row.glassId != null ? true : false"
- @click="insertglass(scope.row.cage, scope.row.cell, scope.row.tier)">{{ $t('Increase')
+ @click="insertglass(scope.row.cage, scope.row.cell, scope.row.tier)">{{ $t('Add')
}}</el-button>
</template>
</el-table-column>
@@ -501,8 +516,11 @@
<el-form :model="form" label-width="100px" style="padding-right: 30px">
<div style="display: flex;justify-content: space-around;">
<label for="">{{ $t('Upper film position') }}</label>
+ <div>
+ {{ $t('Confirm State') }}:{{ this.isConfirm == true ? $t('Not Allow') : $t('Allow') }}
<el-button type="primary" @click="isConfirmState()">
- {{ this.isConfirm == true ? "Allow" : "Not Allow" }}</el-button>
+ {{ this.isConfirm == true ? $t('Allow') : $t('Not Allow') }}</el-button>
+ </div>
<label for="">{{ $t('Scan Code Point') }}</label>
</div>
<div style="display: flex;justify-content: space-around;height: 40px;">
@@ -628,52 +646,66 @@
</el-dialog>
<el-dialog :visible.sync="dialogFormVisible6" :title="$t('Outing Queue')" top="5vh">
- <el-button type="primary" @click="isAllowQueueState()" :disabled="!this.isAllowReordering">{{ this.isAllowQueue
+ {{ $t('Queue State') }}:
+ {{ this.isAllowQueue
== true ? $t('Start') : $t('Stop')
+ }}
+ <el-button type="primary" @click="isAllowQueueState()" :disabled="!this.isAllowReordering">{{ this.isAllowQueue
+ == true ? $t('Stop') : $t('Start')
}}</el-button>
- <el-button type="primary" @click="isAllowReorderingState()" :disabled="this.isAllowQueue">{{
+ {{ $t('Sorting State') }}:
+ {{
this.isAllowReordering == true ? $t('Not Allow') : $t('Allow')
+ }}
+ <el-button type="primary" @click="isAllowReorderings()" :disabled="this.isAllowQueue">{{
+ this.isAllowReordering == true ? $t('Allow') : $t('Not Allow')
}}</el-button>
+ <el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input>
+ <el-button type="primary" @click="AddOutSliceS()">{{ $t('Add') }}</el-button>
+ <label style="background-color:yellow;font-size: 23px;" for="">{{ isQueueWarning== true ? $t('The cage is disabled') : "" }}</label>
+ <!-- <span style="background-color:yellow;">
+ {{ isQueueWarning== true ? $t('The cage is disabled') : $t('The cage is disabled') }}
+ </span> -->
+
<el-table :data="this.OutSlice" :height="700" :span-method="objectSpanMethod" border :cell-style="cellStyle"
style="width: 100%;overflow: auto;font-size: 18px;">
- <el-table-column :min-width="100" prop="glassId" :label="$t('Barcode')"></el-table-column>
- <el-table-column prop="storageCage.orderId" :label="$t('Order No')"></el-table-column>
- <el-table-column prop="storageCage.listId" :label="$t('List No')"></el-table-column>
- <el-table-column prop="storageCage.boxId" :label="$t('Box No')"></el-table-column>
- <el-table-column prop="storageCage.glasswidthmm" :label="$t('Length')"></el-table-column>
- <el-table-column prop="storageCage.glassheightmm" :label="$t('Width')"></el-table-column>
+ <el-table-column :min-width="175" prop="glassId" :label="$t('Barcode')"></el-table-column>
+ <el-table-column :min-width="70" prop="orderId" :label="$t('Order No')"></el-table-column>
+ <el-table-column :min-width="70" prop="listId" :label="$t('List No')"></el-table-column>
+ <el-table-column :min-width="70" prop="boxId" :label="$t('Box No')"></el-table-column>
+ <el-table-column :min-width="100" prop="glasswidthmm" :label="$t('Length')"></el-table-column>
+ <el-table-column :min-width="100" prop="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') }}
+ ? $t('Outed') : scope.row.state == 3 ? $t('Absent') : $t('Completed') }}
</template>
</el-table-column>
<el-table-column prop="sequence" :label="$t('Sequence')"></el-table-column>
- <el-table-column :min-width="300" prop="position" :label="$t('Position')" style="font-size: 20px;">
- <template slot-scope='scope'>
- <!-- {{ scope.row.position == 1 ? "<>鈻勨杽鈻�" : "鈻�" }} -->
- <div :style="'width:'+(scope.row.position==1?'300':'100') +'px;height:'+(scope.row.position==1?'100':'300') +'px;background-Color:gray;'">
- <!-- <div :style="'width:100px;height:300px;background-Color:red;'"></div> -->
- </div>
- <!-- {{ scope.row.position == 1 ? "<div></div>" : "<div></div>" }} -->
- </template>
- </el-table-column>
- <el-table-column prop="position" :label="$t('Flip')">
- <template slot-scope='scope'>
- {{ scope.row.flip == 1 ? $t('Yes') : $t('No') }}
- </template>
- </el-table-column>
- <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column>
-
- <el-table-column prop="barcode" :label="$t('Complete')">
- <template slot-scope='scope'>
+ <el-table-column :min-width="90" prop="barcode" :label="$t('Complete')">
+ <template slot-scope='scope' style="height:100px;height:100px;">
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
- :disabled="(!isAllowQueue || scope.row.state != 1)"
+ :disabled="!(!isAllowQueue && scope.row.state != 2 && scope.row.state != 4)"
@click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{ $t('Complete')
}}</el-button>
</template>
</el-table-column>
- <el-table-column :width="280" :label="$t('Operate')">
+ <el-table-column :min-width="300" prop="position" :label="$t('Position')" style="font-size: 20px;">
+ <template slot-scope='scope'>
+ <div
+ :style="'width:' + (scope.row.position == 1 ? '300' : '100') + 'px;height:' + (scope.row.position == 1 ? '100' : '200') + 'px;background-Color:gray;margin:0 auto;'">
+
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column prop="position" :label="$t('Flipped')" :min-width="200">
+ <template slot-scope='scope'>
+ {{ scope.row.flip == true ? $t('EXTERIQR OUT AND BYPASS TO THE LEFT')
+ : $t('EXTERIQR OUT AND BYPASS TO THE RIGHT') }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="barcode" :label="$t('Frame No')"></el-table-column>
+ <el-table-column :width="240" :label="$t('Operate')">
<template slot-scope='scope'>
<el-button type="text" size="small" @click="getTopMove(scope.row, scope.$index)"
style="font-size: 15px;"
@@ -692,6 +724,10 @@
</el-button>
<el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue"
@click="deleteproductionqueueglass(scope.row.barcode)">{{ $t('Delete') }}</el-button>
+
+ <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="isAllowQueue"
+ @click="FrameStateUpdate(scope.row.barcode,scope.row.framestate)">{{
+ scope.row.framestate == 0 ? $t('Stop') : $t('Start') }}</el-button>
</template>
</el-table-column>
</el-table>
@@ -701,7 +737,7 @@
top="5vh">
<el-input style="width:15%;" :placeholder="$t('Enter the Frame No')" v-model="framebarcode"></el-input>
<el-button type="primary" @click="showform7()">{{ $t('Query') }}</el-button>
- <el-button type="primary" @click="addoutslice()">{{ $t('Increase') }}</el-button>
+ <el-button type="primary" @click="addoutslice()">{{ $t('Add') }}</el-button>
<el-table :data="this.AluminumFrame" :height="700" border style="width: 100%;overflow: auto;">
<el-table-column prop="barcode" :label="$t('Barcode')"></el-table-column>
@@ -714,7 +750,7 @@
<el-table-column prop="storageCage.cell" :label="$t('Slot No')"></el-table-column>
<el-table-column prop="storageCage.tier" :label="$t('The Side')"></el-table-column>
<el-table-column prop="FrameNo" :label="$t('Frame No')"></el-table-column>
- <el-table-column prop="Flip" :label="$t('Flip')"></el-table-column>
+ <el-table-column prop="Flip" :label="$t('Flipped')"></el-table-column>
<el-table-column prop="out_slice.state" :label="$t('In the queue')">
<template slot-scope='scope'>
{{ scope.row.out_slice != null ? $t('Yes') : $t('No') }}
@@ -734,7 +770,6 @@
</el-table-column>
</el-table>
</el-dialog>
-
<el-dialog :visible.sync="dialogFormCountDown" :title="$t('Approximately resettable time')" top="5vh">
<div :style="'font-size: ' + PromptSize + 'px;text-align: center;'">
<!-- {{ this.CountDowns }} -->
@@ -748,7 +783,8 @@
import {
home, home2, InsertOrder, Addglassid, UpdateTask, SelectAlarmmgInfo, SelectCageInfo, DeleteByGlassID, OutByGlassID, Loadcarlist,
SelectPassword, SelectGlassByGlassID, Disabled, Inglassid, SelectGlass, InsertQueueGlassId, UpdateQueueState, DeleteQueueGlass, SelectGlassNo,
- SelectAluminumFrameInfoById, DeleteProductionQueueGlass, AddOutSliceS, isAllowQueues, isConfirmStates, SelectPermissionByUserName, currentUsername, CompleteQueue
+ SelectAluminumFrameInfoById, DeleteProductionQueueGlass, AddOutSliceS, isAllowQueues, isConfirmStates, SelectPermissionByUserName, currentUsername, CompleteQueue,
+ isAllowReorderings, FrameStateUpdate
} from "../../api/home";
@@ -834,11 +870,12 @@
OutingQueue: true,
OrderInfo: true,
CageDetails: true,
- CountDowns: "EMERGENCY \r\n STOP",
+ CountDowns: "0",
D01RequestState: false,
EmergencyStop: false,
PromptSize: 250,
- reset:false
+ reset: false,
+ isQueueWarning: false
};
},
created() {
@@ -883,26 +920,46 @@
this.tasklist1 = obj.tasklist1[0];
this.tasklist2 = obj.tasklist2[0];
this.alarm = obj.alarmmg[0];
- if (this.alarm.length > 0) {
- this.dialogFormVisible2 = true;
- } else {
- this.dialogFormVisible2 = false;
- }
- //鏄惁鎬ュ仠
- this.EmergencyStop = obj.emergencystop[0];
- console.log(this.EmergencyStop);
+ // if (obj.alarmmg[0].length > 0) {
+ // if (this.alarm.length > 0) {
+ // if (this.alarm[this.alarm.length - 1].id != obj.alarmmg[0][obj.alarmmg[0].length - 1].id) {
+ // this.alarm = obj.alarmmg[0];
+ // this.dialogFormVisible2 = true;
+ // }
+ // } else {
+ // this.alarm = obj.alarmmg[0];
+ // this.dialogFormVisible2 = true;
+ // }
+ // }
+ // //鏄惁鎬ュ仠
+ // if (obj.emergencystop != null) {
+ // this.EmergencyStop = obj.emergencystop[0];
+ // }
- //澶嶄綅鍊掕鏃�
- if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
- this.CountDown();
- }
- //澶嶄綅瀹屾垚淇″彿
- this.reset=obj.reset[0];
+ // //澶嶄綅鍊掕鏃�
+ // if (obj.countdown != null) {
+ // if ((obj.countdown[0] == true && this.CountDowns == 0) || this.EmergencyStop == true) {
+ // this.CountDown();
+ // }
+ // }
+
+ // //澶嶄綅瀹屾垚淇″彿
+ // if (obj.reset != null) {
+ // this.reset = obj.reset[0];
+ // }
+
//鏄惁鏈夎繘鐗囪姹�
- this.D01RequestState = obj.D01RequestState[0];
+ if (obj.D01RequestState != null) {
+ this.D01RequestState = obj.D01RequestState[0];
+ }
+ // this.D01RequestState=true;
//鏄惁鍏佽鍑虹墖
this.isAllowQueue = obj.isAllowQueue[0];
+ //褰撳墠鍑虹墖鏍煎瓙鏄惁琚鐢�
+ this.isQueueWarning = obj.isQueueWarning[0];
+ //鏄惁鍏佽鍑虹墖闃熷垪璋冨簭
+ this.isAllowReordering = obj.isAllowReordering[0];
//鍑虹墖闃熷垪
if (this.isAllowReordering == true) {
this.OutSlice = obj.listoutslice[0];
@@ -1020,7 +1077,7 @@
SelectAlarmmgInfo().then(res => {
this.alarm = res.data.alarmmg;
});
-
+
//鍔犺浇纭瀵嗙爜
SelectPassword().then(res => {
this.password = res.data.password;
@@ -1035,7 +1092,7 @@
} else if (state == 2) {
return "yellow gezi";
} else if (state == 3) {
- return "red gezi";
+ return "black gezi";
} else {
return "black gezi";
}
@@ -1053,7 +1110,6 @@
this.load();
});
}
-
},
//鎵嬪姩涓婄墖
sbumitglassid() {
@@ -1424,7 +1480,6 @@
this.form5 = {};
this.$message.success(this.$t('Operation successful'));
} else {
- alert(1);
this.$message.error(this.$t('This glass ID already exists in the sorting cage'));
}
});
@@ -1479,19 +1534,24 @@
this.AluminumFrame.forEach(item => { item.barcode = glassid; item.isCheck = isChecked })
},
//娣诲姞鍒板嚭鐗囬槦鍒�
- addoutslice() {
- var dats_ = new Array();
- this.AluminumFrame.forEach(item => {
- var dats2_ = new Array();
- dats2_[0] = item.barcode;
- dats2_[1] = item.isCheck;
- dats2_[2] = item.Flip;
- dats2_[3] = item.FrameNo;
- dats2_[4] = item.glasslengthmm;
- dats2_[5] = item.glassheightmm;
- dats_[dats_.length] = dats2_;
- });
- AddOutSliceS(dats_).then(res => {
+ AddOutSliceS() {
+ // var dats_ = new Array();
+ // this.AluminumFrame.forEach(item => {
+ // var dats2_ = new Array();
+ // dats2_[0] = item.barcode;
+ // dats2_[1] = item.isCheck;
+ // dats2_[2] = item.Flip;
+ // dats2_[3] = item.FrameNo;
+ // dats2_[4] = item.glasslengthmm;
+ // dats2_[5] = item.glassheightmm;
+ // dats_[dats_.length] = dats2_;
+ // });
+ // AddOutSliceS(dats_).then(res => {
+ // if (res.data.message == 200) {
+ // this.$message.success(this.$t('Operation successful'));
+ // }
+ // });
+ AddOutSliceS(this.framebarcode).then(res => {
if (res.data.message == 200) {
this.$message.success(this.$t('Operation successful'));
}
@@ -1616,9 +1676,13 @@
}
})
},
- //
- isAllowReorderingState() {
- this.isAllowReordering = !this.isAllowReordering;
+ //鏄惁鍏佽鍑虹墖闃熷垪鎺掑簭
+ isAllowReorderings() {
+ isAllowReorderings(!this.isAllowReordering, this.OutSlice).then(res => {
+ if (res.data.message == 200) {
+ this.$message.success(this.$t('Operation successful'));
+ }
+ })
},
//鍒囨崲涓婄墖鏄惁闇�瑕佺‘璁ょ幓鐠冧俊鎭�
isConfirmState() {
@@ -1629,21 +1693,20 @@
});
}
,
- cellStyle({ row, column, rowIndex, columnIndex }) {
- // console.log(row, column, "ss");
+ //琛ㄦ牸鏍峰紡
+ cellStyle({ column, rowIndex, columnIndex }) {
column = rowIndex;
rowIndex = column;
let style = "";
if (columnIndex === 8) {
- style = "font-size:200px;text-align: center;height:200px;";
+ style = "font-size:200px;text-align: center;";
}
- if (columnIndex === 9 && row.flip == 1) {
- style = "background-Color:yellow;";
- }
- if (columnIndex === 6 && row.state == 3) {
- style = "background-Color:gray;";
- }
- style
+ // if (columnIndex === 9 && row.flip == 1) {
+ // style = "background-Color:yellow;";
+ // }
+ // if (columnIndex === 6 && row.state == 3) {
+ // style = "background-Color:gray;";
+ // }
return style;
}
,
@@ -1661,7 +1724,7 @@
if (rowIndex != 0) {
barcode2 = arrOutSlice[rowIndex - 1].barcode;
}
- if (columnIndex === 12) {
+ if (columnIndex === 12 || columnIndex === 9 || columnIndex === 10 || columnIndex === 11) {
if (barcode != barcode2) {
// this.FrameNoFlag = barcode;
for (let i = rowIndex; i < this.OutSlice.length; i++) {
@@ -1669,7 +1732,6 @@
barcode = arrOutSlice[i].barcode;
rowspans += 1;
} else {
-
break;
}
}
@@ -1730,25 +1792,26 @@
}
});
},
+ //45绉掑浣嶅�掓暟璁℃椂
CountDown() {
- //50绉掑�掓暟璁℃椂
let count = 45;
let timer = setInterval(
() => {
if (this.EmergencyStop == true) {
+ this.dialogFormCountDown = false;
clearInterval(timer);
- this.PromptSize = 250;
- this.CountDowns = "EMERGENCY \n STOP";
+ this.CountDowns = "0";
} else {
if (count > 0) {
this.PromptSize = 500;
- this.CountDowns = count;
count--;
+ this.CountDowns = count;
+ this.dialogFormCountDown = true;
}
else {
- this.PromptSize = 250;
- this.CountDowns = "Waiting \n for \n reset";
- if(this.reset==true){
+ this.PromptSize = 200;
+ this.CountDowns = "Waiting for reset";
+ if (this.reset == true) {
clearInterval(timer);
this.dialogFormCountDown = false;
}
@@ -1757,7 +1820,19 @@
},
1000
);
- this.dialogFormCountDown = true;
+
+ },
+ FrameStateUpdate(frameno,framestate){
+ if(framestate == 1){
+ framestate=0;
+ }else{
+ framestate=1;
+ }
+ FrameStateUpdate(frameno,framestate).then(res=>{
+ if(res.data.message == 200){
+ this.$message.success("Operation successful");
+ }
+ });
}
}
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java b/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java
index efcf9b6..36e26f5 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/MessageHandler.java
@@ -152,4 +152,74 @@
System.err.println("An error occurred while writing string to PLC: " + e.getMessage());
}
}
+
+
+
+ public void writeBitandrenwuToPLC(JSONArray messageArray, List<String> addresses, int index) {
+ try {
+ // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
+ if (messageArray.getJSONArray(index).size() > 0) {
+ // 鑾峰彇娑堟伅鏁扮粍
+ JSONArray jsonArray = messageArray.getJSONArray(index);
+ // 鍒涘缓涓�涓竷灏斿�煎垪琛�
+ List<Boolean> sValue = new ArrayList<>();
+ // 閬嶅巻娑堟伅鏁扮粍
+ for (int i = 0; i < jsonArray.size(); i++) {
+ // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
+ Object value = jsonArray.get(i);
+ // 妫�鏌ュ�兼槸鍚︽湁鏁�
+ if (value != null && !value.toString().equals("null")) {
+ try {
+ // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
+ String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+ // 瑙f瀽涓哄竷灏斿��
+ boolean val = "1".equals(cleanedValue.trim());
+ // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
+ sValue.add(val);
+ System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
+ if(sValue.get(1)){
+
+ }
+
+
+
+ } catch (NumberFormatException e) {
+ // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+ System.err.println("Could not parse value: " + value);
+ }
+ }
+ }
+ // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
+ if (!sValue.isEmpty()) {
+
+ // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
+ S7control.getinstance().WriteBit(addresses, sValue);
+ System.out.println("Values " + sValue + " written to PLC at address " + addresses);
+ }
+ }
+ } catch (Exception e) {
+ System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
+ }
+ }
+
+
+
+ public short[] convertBooleanListToShortArray(List<Boolean> booleanList) {
+ short[] shortArray = new short[booleanList.size()];
+ for (int i = 0; i < booleanList.size(); i++) {
+ boolean value = booleanList.get(i);
+ shortArray[i] = value ? (short) 1 : (short) 0;
+ }
+ return shortArray;
+ }
+
+
+
+
+
+
+
+
+
+
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
index 4299699..1c4a59b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -28,6 +28,7 @@
// \\ TODO Auto-generated catch block
e.printStackTrace();
}
+ if (S7control.getinstance().CheckConnected() == true) {
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
@@ -57,8 +58,9 @@
// 鍒ゆ柇褰撳墠鏄惁鏈夋湭鎵ц鐨勪换鍔�
int outnum = spianMapper.SelectOutSliceshu();
+ int cageoutsum=spianMapper.Selectcageout(3);
// 褰撴病鏈変换鍔℃墽琛屽苟涓斿嚭鐗囪溅绌洪棽鏃�
- if (outnum == 0 && outstate == true && Plchome.isAllowQueue == true) {
+ if (outnum == 0 && outstate == true && Plchome.isAllowQueue == true&&cageoutsum==0) {
// 鍒ゆ柇閾濇鍑虹墖闃熷垪琛ㄦ槸鍚︽湁寰呭嚭鐗囩殑鐜荤拑
String outglassid = spianMapper.SelectOutSlice();
if (outglassid != null) {
@@ -101,8 +103,8 @@
spianService.overtask(B02glassid.toString());// 瀹屾垚浠诲姟
S7control.getinstance().WriteWord("DB106.62", (short) 0);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负0
System.out.println("姹囨姤鏃禕02|" + B02glassid);
- boolean yingda = spianService.listbool("DB106.62");// b01姹囨姤
- System.out.println("姹囨姤鏃禕01|绗�"+aaa+"娆�"+ B02glassid+"搴旂瓟"+yingda);
+ boolean yingda = spianService.listbool("DB106.62");// b02姹囨姤
+ System.out.println("姹囨姤鏃禕02|绗�"+aaa+"娆�"+ B02glassid+"搴旂瓟"+yingda);
}
// 鑾峰彇DO1鏁版嵁
@@ -157,5 +159,6 @@
}
}
+}
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
index 3284110..6247785 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition.java
@@ -206,7 +206,6 @@
// 鍐欏叆A02
customS7Control.WriteWordToPLC(messageArray, addresses2, 1);
-
// 鍐欏叆B01
customS7Control.WriteWordToPLC(messageArray, addresses3, 2);
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
index 0d5816b..458ccf8 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcManualonePosition2.java
@@ -72,7 +72,7 @@
addresses2.add("DB100.118");
addresses2.add("DB100.192");
- addresses2.add("DB103.22");
+ addresses2.add("DB106.14");
List<Short> arraylist2 = S7control.getinstance().readWords(addresses2);
List<String> addresses9 = new ArrayList<>();
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
index eccf8dc..379ec1b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter2.java
@@ -2,7 +2,11 @@
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
+import com.example.springboot.controller.HomeController;
+import com.example.springboot.mapper.HomeMapper;
import org.apache.commons.io.FileUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.example.springboot.service.StorageCageService;
import java.io.*;
import java.util.ArrayList;
@@ -12,12 +16,12 @@
public class PlcParameter2 extends Thread {
-
- // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
- private Configuration config;
-
+ @Autowired
+ StorageCageService storageCageService;
// 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
MessageHandler customS7Control = new MessageHandler();
+ // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
+ private Configuration config;
public PlcParameter2() throws IOException {
@@ -33,12 +37,12 @@
} catch (InterruptedException e) {
e.printStackTrace();
}
-
+ storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
// id
List<String> addressList1 = Arrays.asList(config.getProperty("Parameter2.id").split(","));
List<String> paramlist = S7control.getinstance().readStrings(addressList1);
-
+ // System.out.println(paramlist);
//鎵嬪姩鐘舵��
List<String> addresses = Arrays.asList(config.getProperty("Parameter2.state").split(","));
@@ -71,7 +75,7 @@
List<Short> data4 = S7control.getinstance().readWords(addresses4);
-
+ //System.out.println(data);
// List<Long> TIME2 = Collections.singletonList(S7control.getinstance().readtime("DB100.194"));
// System.out.println("addressList锛�" + TIME2);
@@ -93,19 +97,22 @@
// List<Short> data4 = new ArrayList<>(Arrays.asList(values4));
//
//
+// JSONObject jsonObject = new JSONObject();
+// short[] params = new short[data2.size()];
+// for (int i = 0; i < data2.size(); i++) {
+// boolean value = data2.get(i);
+// params[i] = value ? (short) 1 : (short) 0;
+// }
+////
+// short[] anniuparams = new short[anniuread.size()];
+// for (int i = 0; i < anniuread.size(); i++) {
+// boolean value = anniuread.get(i);
+// anniuparams[i] = value ? (short) 1 : (short) 0;
+// }
+ //boolean杞负0 1
+ short[] params = customS7Control.convertBooleanListToShortArray(data2);
+ short[] anniuparams = customS7Control.convertBooleanListToShortArray(anniuread);
JSONObject jsonObject = new JSONObject();
- short[] params = new short[data2.size()];
- for (int i = 0; i < data2.size(); i++) {
- boolean value = data2.get(i);
- params[i] = value ? (short) 1 : (short) 0;
- }
-//
- short[] anniuparams = new short[anniuread.size()];
- for (int i = 0; i < anniuread.size(); i++) {
- boolean value = anniuread.get(i);
- anniuparams[i] = value ? (short) 1 : (short) 0;
- }
-
jsonObject.append("params", params);
jsonObject.append("params", paramlist);
jsonObject.append("params", data);
@@ -121,7 +128,7 @@
// jsonObject.set("message", "Hello, Parameter2!");
// sendwServer.sendMessage(jsonObject.toString());
// }
-
+// HomeController controller = new HomeController();
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Parameter2");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
@@ -131,9 +138,7 @@
if (webserver != null) {
-
List<String> messages = webserver.getMessages();
-
if (!messages.isEmpty()) {
// 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
@@ -141,9 +146,139 @@
// System.out.println("lastMessage锛�" + lastMessage);
JSONArray messageArray = new JSONArray(lastMessage);
//娓呴櫎ID
- customS7Control.writeBitToPLC(messageArray, addressList0, 0);
+ // customS7Control.writeBitToPLC(messageArray, addressList0, 0);
+
+
+ try {
+ // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
+ if (messageArray.getJSONArray(0).size() > 0) {
+ // 鑾峰彇娑堟伅鏁扮粍
+ JSONArray jsonArray = messageArray.getJSONArray(0);
+ // 鍒涘缓涓�涓竷灏斿�煎垪琛�
+ List<Boolean> sValue = new ArrayList<>();
+ // 閬嶅巻娑堟伅鏁扮粍
+ for (int i = 0; i < jsonArray.size(); i++) {
+ // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
+ Object value = jsonArray.get(i);
+ // 妫�鏌ュ�兼槸鍚︽湁鏁�
+ if (value != null && !value.toString().equals("null")) {
+ try {
+ // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
+ String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+ // 瑙f瀽涓哄竷灏斿��
+ boolean val = "1".equals(cleanedValue.trim());
+ // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
+ sValue.add(val);
+ System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
+
+
+ } catch (NumberFormatException e) {
+ // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+ System.err.println("Could not parse value: " + value);
+ }
+ }
+ }
+//瀹屾垚鍑虹墖
+ boolean containsOne = data.stream().anyMatch(number -> number == 1);
+ for (int i = 1; i <= 5; i++) {
+ boolean value = sValue.get(i);
+ String id = paramlist.get(i);
+ //鍒ゆ柇鏄惁鑷姩鐘舵��
+ if (!containsOne) {
+ //鍒ゆ柇id鏄惁鍖呭惈鏁板瓧
+ if (id.matches(".*\\d.*")) {
+ //鍒ゆ柇娓呮id鏄惁true
+ if (value) {
+ System.out.println(id);
+ switch (i) {
+ case 1:
+ storageCageService.UpdateTask(2, 0, paramlist.get(i));
+ break;
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ storageCageService.UpdateTask(3, 0, paramlist.get(i));
+ break;
+ default:
+ // 澶勭悊绱㈠紩鍊间笉鍦ㄨ寖鍥村唴鐨勬儏鍐�
+ break;
+ }
+ }
+ }
+
+ }
+ // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
+ if (!sValue.isEmpty()) {
+
+ // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
+ S7control.getinstance().WriteBit(addressList0, sValue);
+ System.out.println("Values " + sValue + " written to PLC at address " + addressList0);
+ }
+ }
+ }
+ } catch (Exception e) {
+ System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
+ }
+
+
//鎬ュ仠
- customS7Control.writeBitToPLC(messageArray, niuanaddressList3, 1);
+// customS7Control.writeBitToPLC(messageArray, niuanaddressList3, 1);
+
+ try {
+ // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
+ if (messageArray.getJSONArray(1).size() > 0) {
+ // 鑾峰彇娑堟伅鏁扮粍
+ JSONArray jsonArray = messageArray.getJSONArray(1);
+ // 鍒涘缓涓�涓竷灏斿�煎垪琛�
+ List<Boolean> sValue = new ArrayList<>();
+ // 閬嶅巻娑堟伅鏁扮粍
+ for (int i = 0; i < jsonArray.size(); i++) {
+ // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
+ Object value = jsonArray.get(i);
+ // 妫�鏌ュ�兼槸鍚︽湁鏁�
+ if (value != null && !value.toString().equals("null")) {
+ try {
+ // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
+ String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+ // 瑙f瀽涓哄竷灏斿��
+ boolean val = "1".equals(cleanedValue.trim());
+ // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
+ sValue.add(val);
+ System.out.println("messageValue: " + Arrays.asList(val) + " added to the list");
+
+
+ } catch (NumberFormatException e) {
+ // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+ System.err.println("Could not parse value: " + value);
+ }
+ }
+ }
+// 缁堟杩涚墖浠诲姟
+ boolean Value1 = sValue.get(0);
+ boolean Value2 = sValue.get(1);
+
+ if (Value1) {
+ storageCageService.EndTask(0);
+
+ }
+ if (Value2) {
+ storageCageService.EndTask(1);
+
+ }
+ // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
+ if (!sValue.isEmpty()) {
+
+ // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
+ S7control.getinstance().WriteBit(niuanaddressList3, sValue);
+ System.out.println("Values " + sValue + " written to PLC at address " + niuanaddressList3);
+ }
+ }
+ } catch (Exception e) {
+ System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
+ }
+
+
//瀛樼墖绛夊緟寤惰繜
customS7Control.Writetime(messageArray, timeout2, 2);
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
index 2d0c98d..4de113f 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
@@ -28,7 +28,7 @@
FileInputStream fileInputStream;
try {
// 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
- fileInputStream = new FileInputStream("D:/canadames/Alarm.json");
+ fileInputStream = new FileInputStream("D:/code/canadames/Alarm.json");
// 璇诲彇 fileInputStream 涓瓧鑺傚苟灏嗗叾瑙g爜涓哄瓧绗�
InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
// 鎻愰珮璇诲彇鏁堢巼锛屽湪 BufferedReader 鍐呭寘瑁� InputStreamReader
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 62cf276..87e0a12 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
@@ -1,11 +1,15 @@
package com.example.springboot.component;
+import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
+import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import com.example.springboot.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.entity.Out_slice;
@@ -14,10 +18,6 @@
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 {
@@ -30,10 +30,21 @@
private JdbcConnections dbserve;
// 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
public static Boolean isAllowQueue = true;
+ public static Boolean isAllowReordering = true;
+ //鍑虹墖闃熷垪璀﹀憡
+ public static Boolean isQueueWarning=false;
// 閾濇id
- public static String FrameNo;
+ public static String FrameNo = "";
// 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
public static Boolean isConfirm = false;
+
+ private Configuration config;
+
+ private StorageCageService storageCageService;
+
+ public Plchome() throws IOException {
+ config = new Configuration("config.properties");
+ }
// public static Map b=new HashMap<>();
// b.put()
@@ -49,6 +60,7 @@
JSONObject jsonObject = new JSONObject();
// 娉ㄥ叆mapper
+
homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
@@ -74,25 +86,7 @@
// 鏌ヨ鎶ヨ淇℃伅
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();
@@ -110,46 +104,118 @@
// 鑾峰彇鍑虹墖闃熷垪淇℃伅
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("isQueueWarning", Plchome.isQueueWarning);
+ // 鑾峰彇褰撳墠鍑虹墖闃熷垪璋冨簭鐘舵��
+ jsonObject.append("isAllowReordering", Plchome.isAllowReordering);
// 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
jsonObject.append("isConfirm", isConfirm);
+ // String framenos="X21763329601FB";
+ // if (!framenos.equals(Plchome.FrameNo)) {
+ // Plchome.FrameNo = framenos;
+ // try {
+ // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+ // } catch (SQLException e) {
+ // // TODO Auto-generated catch block
+ // e.printStackTrace();
+ // }
+ // }
+ if (S7control.getinstance().CheckConnected() == true) {
+ // 璇诲幓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);// 鑾峰彇杩涚墖杞︾姸鎬�
+ if (datas1ListState != null) {
+ boolean exist1 = datas1ListState.contains((short) 0);
+ jsonObject.append("zhuangtai", exist1);
+ }
- // 鑾峰彇杩涚墖璇锋眰鐘舵��
- List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
- boolean D01RequestState = D01Request.contains((short) 1);
- // boolean D01RequestState =true;
- jsonObject.append("D01RequestState", D01RequestState);
+ // 鑾峰彇杩涚墖鐜荤拑淇℃伅
+ List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
+ if (inglassInfo != null) {
+ if (inglassInfo.size() > 0) {
+ jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
+ }
- // 澶嶄綅鍊掕鏃�
- // 鍦板潃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);
- // 澶嶄綅瀹屾垚淇″彿
- List<Boolean> resets = S7control.getinstance().ReadBits("DB103.284", 1);
- for (Boolean reset : resets) {
- jsonObject.append("reset", reset);
- }
+ }
- // 鏄惁鎬ュ仠
- List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
- for (Boolean emergencystop : emergencystops) {
- jsonObject.append("emergencystop", emergencystop);
+ // 鑾峰彇閾濇idDB106.DBW64锛屾坊鍔犲埌鍑虹墖闃熷垪
+ String frameno = spianService.queGlassid("DB103.270", 14).toString();
+ // String frameno="X12345611002GV";
+ // frameno="X21763329601FB";
+ if (!frameno.equals(Plchome.FrameNo)) {
+ Plchome.FrameNo = frameno;
+ try {
+ north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ // 鑾峰彇杩涚墖璇锋眰鐘舵��
+ 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);
+ // 澶嶄綅瀹屾垚淇″彿ss
+ List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
+ for (Boolean reset : resetss) {
+ jsonObject.append("reset", reset);
+ }
+
+ // 鏄惁鎬ュ仠
+ List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
+ for (Boolean emergencystop : emergencystops) {
+ jsonObject.
+ append("emergencystop", emergencystop);
+ }
+
+
+ // // 缁堟缁х画鎸夐挳
+ // List<String> niuanaddressList3 = Arrays.asList(config.getProperty("Parameter2.stop").split(","));
+ // List<Boolean> anniuread = S7control.getinstance().readBits(niuanaddressList3);
+ // // Boolean[] value4 = { false, false};
+ // // List<Boolean> anniuread = new ArrayList<>(Arrays.asList(value4));
+ // Boolean[] value5 = { true };
+ // List<Boolean> resets = new ArrayList<>(Arrays.asList(value5));
+ // short[] anniuparams = new short[anniuread.size()];
+ // for (int i = 0; i < anniuread.size(); i++) {
+ // boolean value = anniuread.get(i);
+ // anniuparams[i] = value ? (short) 1 : (short) 0;
+ // }
+
+ // short[] resets2 = new short[resets.size()];
+ // for (int i = 0; i < resets.size(); i++) {
+ // boolean value = resets.get(i);
+ // resets2[i] = value ? (short) 1 : (short) 0;
+ // }
+
+ // for (short number : resets2) {
+
+ // if (number == 1) {
+ // jsonObject.append("Abort", anniuparams);
+
+ // }
+
+ // }
}
// 閾濇绾夸氦浜�
@@ -175,7 +241,7 @@
// }
// S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
// }
-
+ storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
boolean dbconnected = false;
try {
@@ -191,9 +257,77 @@
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
webserver.sendMessage(jsonObject.toString());
+
+ if (webserver != null) {
+
+ List<String> messages = webserver.getMessages();
+
+ if (!messages.isEmpty()) {
+ // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+ // String lastMessage = messages.get(messages.size() - 1);
+ // System.out.println("lastMessage锛�" + lastMessage);
+ // JSONArray messageArray = new JSONArray(lastMessage);
+
+ // try {
+ // // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
+ // if (messageArray.getJSONArray(0).size() > 0) {
+ // // 鑾峰彇娑堟伅鏁扮粍
+ // JSONArray jsonArray = messageArray.getJSONArray(0);
+ // // 鍒涘缓涓�涓竷灏斿�煎垪琛�
+ // List<Boolean> sValue = new ArrayList<>();
+ // // 閬嶅巻娑堟伅鏁扮粍
+ // for (int i = 0; i < jsonArray.size(); i++) {
+ // // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
+ // Object value = jsonArray.get(i);
+ // // 妫�鏌ュ�兼槸鍚︽湁鏁�
+ // if (value != null && !value.toString().equals("null")) {
+ // try {
+ // // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
+ // String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+ // // 瑙f瀽涓哄竷灏斿��
+ // boolean val = "1".equals(cleanedValue.trim());
+ // // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
+ // sValue.add(val);
+ // System.out.println(
+ // "messageValue: " + Arrays.asList(val) + " added to the list");
+
+ // } catch (NumberFormatException e) {
+ // // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+ // System.err.println("Could not parse value: " + value);
+ // }
+ // }
+ // }
+ // // 缁堟杩涚墖浠诲姟
+ // boolean Value1 = sValue.get(0);
+ // boolean Value2 = sValue.get(1);
+
+ // if (Value1) {
+ // storageCageService.EndTask(0);
+
+ // }
+ // if (Value2) {
+ // storageCageService.EndTask(1);
+
+ // }
+ // // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
+ // if (!sValue.isEmpty()) {
+
+ // // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
+ // S7control.getinstance().WriteBit(niuanaddressList3, sValue);
+ // System.out.println(
+ // "Values " + sValue + " written to PLC at address " + niuanaddressList3);
+ // }
+ // }
+ // } catch (Exception e) {
+ // System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
+ // }
+ webserver.clearMessages();
+ }
+
+ }
+
}
}
-
}
}
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
index a73f176..e0a5353 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -37,13 +37,21 @@
}
return instance;
}
-
+
/**
* 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
*/
public void CloseS7client() {
if (s7PLC == null)
s7PLC.close();
+ s7PLC.checkConnected();
+ }
+
+ /**
+ * s7閫氳杩炴帴鐘舵��
+ */
+ public boolean CheckConnected() {
+ return s7PLC.checkConnected();
}
/**
@@ -215,7 +223,15 @@
if (s7PLC==null)
return null;
// List<String> addresslist = GetAddressList(address, count, 16);
- return s7PLC.readByte(address,count);
+
+ try {
+ return s7PLC.readByte(address, count);
+ }catch (Exception e) {
+ // 澶勭悊寮傚父
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
+ }
+
}
/**
@@ -331,11 +347,17 @@
}
//璇诲彇鏃堕棿
- public Long readtime(String address) {
- if (s7PLC==null)
- return null;
+public Long readtime(String address) {
+ if (s7PLC == null)
+ return null;
+ try {
return s7PLC.readTime(address);
+ } catch (Exception e) {
+ System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+ return null;
}
+}
+
public void writetime(String address, long datas) {
if (s7PLC == null)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index 38115b2..d64b920 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -17,25 +17,25 @@
//
System.out.println("鍚姩瀹屾垚");
- new PlcHold().start();
+ new PlcHold().start();
new Plchome().start();
- new Plcalarm().start();
+ new Plcalarm().start();
- new Plcsign().start();
+ new Plcsign().start();
+ new Plcstate().start();
+ new PlcPositioning1().start();
- new Plcstate().start();
- new PlcPositioning1().start();
+ new PlcParameter2().start();
- new PlcParameter2().start();
+ new PLCAutomaticParameterSetting().start();
- new PLCAutomaticParameterSetting().start();
-
- new PlcManualonePosition().start();
- new PlcManualonePosition2().start();
- new PlcServoManualone().start();
- new PLCManualJog().start();
+ new PlcManualonePosition().start();
+ new PlcManualonePosition2().start();
+ new PlcServoManualone().start();
+ new PLCManualJog().start();
+ new Plclog().start();
}
}
\ No newline at end of file
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 a5acaf6..3884738 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
@@ -5,47 +5,36 @@
import java.util.List;
import java.util.Map;
-import javax.servlet.http.Cookie;
-import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
import com.example.springboot.mapper.HomeMapper;
import com.example.springboot.mapper.SpianMapper;
-import com.example.springboot.security.constant.SystemConstant;
-import com.example.springboot.security.util.JwtUtil;
-import com.example.springboot.security.util.SecurityUtil;
import com.example.springboot.service.HomeService;
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.PermissionService;
import com.example.springboot.service.SpianService;
+import com.example.springboot.service.StorageCageService;
-import cn.hutool.core.util.StrUtil;
import com.example.springboot.common.Result;
import com.example.springboot.component.Plchome;
-import com.example.springboot.component.S7control;
import com.example.springboot.entity.CarPosition;
import com.example.springboot.entity.StorageCage;
-import com.example.springboot.entity.User;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.Out_slice;
-import com.example.springboot.entity.Permission;
import com.example.springboot.entity.Queue;
import com.example.springboot.entity.RolePermission;
import org.springframework.web.bind.annotation.*;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
@RestController
@RequestMapping("/home")
public class HomeController {
@Autowired
+
HomeMapper homeMapper;
@Autowired
@@ -59,6 +48,9 @@
@Autowired
OutSliceServive outSliceServive;
+
+ @Autowired
+ StorageCageService storageCageService;
@Autowired
North_Glass_Buffer1Service north_Glass_Buffer1Service;
@@ -78,6 +70,8 @@
// 鏌ヨ鐞嗙墖绗间娇鐢ㄦ儏鍐�
@GetMapping("/load")
public Result selectAll() {
+ // storageCageService.EndTask(1);
+ // UpdateTask(2,0,"X12345610402GV");
List<StorageCage> storageCagelist = homeMapper.selectAll();
Map<String, Object> map = new HashMap<>();
map.put("list", storageCagelist);
@@ -87,7 +81,6 @@
// 鏌ヨ鐞嗙墖绗肩幓鐠冩儏鍐�
@GetMapping("/loads")
public Result selectRack() {
-
List<StorageCage> storageCagelist1 = homeMapper.selectRack1();
List<StorageCage> storageCagelist2 = homeMapper.selectRack2();
List<StorageCage> storageCagelist3 = homeMapper.selectRack3();
@@ -136,20 +129,21 @@
return Result.success(map);
}
- // 鎵嬪姩瀹屾垚杩�/鍑虹墖浠诲姟
+ // 鎵嬪姩瀹屾垚杩�/鍑虹墖浠诲姟 缁堟杩涚墖/鍑虹墖浠诲姟
@GetMapping("/UpdateTask")
public Result UpdateTask(Integer types, Integer shelfrack, String glassid) {
+ storageCageService.UpdateTask(types, shelfrack, glassid);
Map<String, Object> map = new HashMap<>();
- homeMapper.UpdateTask(types, glassid);
- // StorageCage glass = homeMapper.SelectGlassInfo(glassid);
- if (types == 0) {
- homeMapper.UpdateCageTask1(glassid);
- // S7control.getinstance().WriteWord("DB105.16", (short) 0);
- } else {
- // spianMapper.UpdataOutCage1(glass.getGlassWidth(), glass.getCage(), glass.getCell());
- homeMapper.DeleteByGlassID(glassid);
- // S7control.getinstance().WriteWord("DB105.18", (short) 0);
- }
+ map.put("message3", "200");
+ return Result.success(map);
+ }
+
+ //缁堟杩涚墖/鍑虹墖浠诲姟
+ @GetMapping("/EndTask")
+ public Result EndTask(int types) {
+ storageCageService.EndTask(types);
+
+ Map<String, Object> map = new HashMap<>();
map.put("message3", "200");
return Result.success(map);
}
@@ -175,9 +169,7 @@
// 鎵嬪姩鍒犻櫎鐞嗙墖绗肩幓鐠�
@GetMapping("/DeleteByGlassID")
public Result DeleteByGlassID(String glassid) {
- StorageCage glassinfor = homeMapper.SelectGlassInfo(glassid);
- spianMapper.UpdataOutCage1(glassinfor.getGlassWidth(), glassinfor.getCage(), glassinfor.getCell());
- homeMapper.DeleteByGlassID(glassid);
+ outSliceServive.DeleteByGlassIDs(glassid);
Map<String, Object> map = new HashMap<>();
map.put("message3", "200");
return Result.success(map);
@@ -195,10 +187,11 @@
String position = jdbcConnections.SelectPositionByFrameBarcode(north_glass_buffer1.getFrameBarcode());
if (position != null) {
int sequence = homeMapper.SelectMaxSquence();
-
homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(),
north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(),
- sequence, position, (short)0);
+ sequence, position, (short) 0, north_glass_buffer1.getordernumber(), north_glass_buffer1.getlistnumber(),
+ north_glass_buffer1.getboxnumber(), north_glass_buffer1.getglasslength().toString(),
+ north_glass_buffer1.getglassheight().toString());
map.put("message2", "200");
} else {
map.put("message2", "300");
@@ -206,7 +199,6 @@
} else {
map.put("message2", "400");
}
-
} else {
map.put("message2", "500");
}
@@ -268,7 +260,7 @@
map.put("message", "200");
}
}
- return Result.success(map);
+ return Result.success(map);
}
// 鏌ヨ鐜荤拑淇℃伅
@@ -340,6 +332,7 @@
@PostMapping("/DeleteProductionQueueGlass")
public Result DeleteProductionQueueGlass(String FrameNo) {
homeMapper.CompleteQueueByFrameNo(FrameNo);
+
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
@@ -347,18 +340,33 @@
// 娣诲姞閾濇id瀵瑰簲鐜荤拑鍒板嚭鐗囬槦鍒�
@PostMapping("/AddOutSliceS")
- public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws SQLException {
- outSliceServive.AddOutSliceS(AluminumFrames);
+ public Result AddOutSliceS(String FrameNo) throws SQLException {
+ //public Result AddOutSliceS(@RequestBody String[][] AluminumFrames) throws SQLException {
+ north_Glass_Buffer1Service.AddOutSliceS(FrameNo);
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
}
- // 淇敼鍑虹墖闃熷垪鐘舵�佷笌鍑虹墖闃熷垪璋冨簭
+ // 淇敼鍑虹墖闃熷垪鍑虹墖鐘舵��
@PostMapping("/isAllowQueues")
public Result isAllowQueues(Boolean isAllowQueue, @RequestBody List<Out_slice> out_slice) {
Plchome.isAllowQueue = isAllowQueue;
- if (isAllowQueue == true) {
+ // if (isAllowQueue == true) {
+ // for (Out_slice out_slice2 : out_slice) {
+ // homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), out_slice2.getSequence());
+ // }
+ // }
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+ }
+
+ // 淇敼鍑虹墖闃熷垪璋冨簭鐘舵�佷笌鍑虹墖闃熷垪璋冨簭
+ @PostMapping("/isAllowReorderings")
+ public Result isAllowReorderings(Boolean isAllowReordering, @RequestBody List<Out_slice> out_slice) {
+ Plchome.isAllowReordering = isAllowReordering;
+ if (isAllowReordering == true) {
for (Out_slice out_slice2 : out_slice) {
homeMapper.UpdateOutSliceSequence(out_slice2.getGlassId(), out_slice2.getSequence());
}
@@ -381,7 +389,13 @@
@PostMapping("/CompleteQueue")
public Result CompleteQueue(String id, String frameid, String glassid) {
return outSliceServive.CompleteQueue(id, frameid, glassid);
-
}
+ // 鎵嬪姩瀹屾垚浠诲姟
+ @PostMapping("/FrameStateUpdate")
+ public Result FrameStateUpdate(String frameno, String framestate) {
+ return outSliceServive.FrameStateUpdate(frameno, framestate);
+ }
+
+
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/device/DeviceController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/device/DeviceController.java
deleted file mode 100644
index 86c397e..0000000
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/device/DeviceController.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.example.springboot.controller.device;
-
-
-
-import com.example.springboot.service.device.DeviceService;
-import com.example.springboot.entity.device.DeviceEntity;
-import com.example.springboot.entity.vo.Result;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/api/device") // 淇敼璇锋眰璺緞涓� "/api/device"
-public class DeviceController {
-
- private final DeviceService deviceService;
-
- @Autowired
- public DeviceController(DeviceService deviceService) {
- this.deviceService = deviceService;
- }
-
- @GetMapping("/getAllDevices") // 淇敼鎺ュ彛璺緞涓� "/getAllDevices"
- public Result getAllDevices() {
- List<DeviceEntity> devices = deviceService.getAllDevices();
- return Result.success(devices);
- }
-
- @PostMapping("/updateDeviceName") // 淇敼鎺ュ彛璺緞涓� "/updateDeviceName"
- public Result updateDeviceName(@RequestBody DeviceEntity device) {
- deviceService.updateDeviceName(device);
- return Result.success();
- }
- @PostMapping("/call-stored-proc")
- public Result callStoredProc(@RequestBody DeviceEntity device) {
- List<DeviceEntity> result = deviceService.callStoredProc(device); // 鑾峰彇澶氳鏌ヨ缁撴灉
- return Result.success(result); // 杩斿洖鍖呭惈澶氳缁撴灉鐨� Result 瀵硅薄
- }
-
-}
-
-
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/Out_slice.java b/springboot-vue3/src/main/java/com/example/springboot/entity/Out_slice.java
index 5ea7bb2..4195abe 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/Out_slice.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/Out_slice.java
@@ -11,6 +11,13 @@
private String time;//淇敼鏃堕棿
private int sequence;//鍑虹墖椤哄簭
private String position;//鐜荤拑鎽嗘斁浣嶇疆
+ private String orderId;//鐜荤拑id
+ private String listId;//闆嗗悎id
+ private String boxId;//绠卞瓙id
+ private double glasswidthmm;//鐜荤拑瀹絤m
+ private double glassheightmm;//鐜荤拑楂榤m
+ private String position_x;//x鍧愭爣
+ private int framestate;//y鍧愭爣
public String getPosition() {
return position;
@@ -124,4 +131,51 @@
public void setSequence(int sequence) {
this.sequence = sequence;
}
+
+ public String getOrderId() {
+ return orderId;
+ }
+
+ public void setOrderId(String orderId) {
+ this.orderId = orderId;
+ }
+
+ public Double getGlassWidthMm() {
+ return glasswidthmm;
+ }
+
+ public void setGlassWidthMm(Double glasswidthmm) {
+ this.glasswidthmm = glasswidthmm;
+ }
+
+ public Double getGlassHeightMm() {
+ return glassheightmm;
+ }
+
+ public void setGlassHeightMm(Double glassheightmm) {
+ this.glassheightmm = glassheightmm;
+ }
+ public String getListId() {
+ return listId;
+ }
+
+ public void setListno(String listId) {
+ this.listId = listId;
+ }
+
+ public String getBoxId() {
+ return boxId;
+ }
+
+ public void setBoxno(String boxId) {
+ this.boxId = boxId;
+ }
+
+ public int getFrameState() {
+ return framestate;
+ }
+
+ public void SetFrameState(int framestate) {
+ this.framestate = framestate;
+ }
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/device/DeviceEntity.java b/springboot-vue3/src/main/java/com/example/springboot/entity/device/DeviceEntity.java
deleted file mode 100644
index d2ee204..0000000
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/device/DeviceEntity.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.example.springboot.entity.device;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.io.Serializable;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author yyq
- * @since 2023-08-28
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("device")
-@ApiModel(value="DeviceEntity瀵硅薄", description="")
-public class DeviceEntity implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private String deviceId;
-
- private String createUser;
- private String msg;
- private LocalDateTime createTime;
- private long id;
- private String deviceName;
- private String name;
- private String status;
-
- private String info;
-
- private String model;
-
- private LocalDateTime countTimeFlag;
-
- private String address;
-
- private String gps;
-
- private LocalDate debugTime;
-
- private LocalDate endTime;
-
- private String customerName;
-
- private String customerDeviceName;
-
- private LocalDate lastProductCountDate;
-
-
-}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/north_glass_buffer1.java b/springboot-vue3/src/main/java/com/example/springboot/entity/north_glass_buffer1.java
index 2e2843d..ef08c24 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/north_glass_buffer1.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/north_glass_buffer1.java
@@ -1,41 +1,46 @@
package com.example.springboot.entity;
+
+import java.util.Comparator;
+
//瀹㈡埛鐜荤拑淇℃伅琛�
public class north_glass_buffer1 {
- private Integer id; //鑷id
- private String ordernumber;//璁㈠崟id
- private String listnumber;//闆嗗悎id
- private String boxnumber;//绠卞瓙id
- private String barcode;//鐜荤拑id
- private double glasslength;//鐜荤拑瀹�
- private double glassheight;//鐜荤拑楂�
- private double glasslengthmm;//鐜荤拑瀹絤m
- private double glassheightmm;//鐜荤拑楂榤m
+ private Integer id; // 鑷id
+ private String ordernumber;// 璁㈠崟id
+ private String listnumber;// 闆嗗悎id
+ private String boxnumber;// 绠卞瓙id
+ private String barcode;// 鐜荤拑id
+ private double glasslength;// 鐜荤拑瀹�
+ private double glassheight;// 鐜荤拑楂�
+ private double glasslengthmm;// 鐜荤拑瀹絤m
+ private double glassheightmm;// 鐜荤拑楂榤m
private String glassoutside;//
private String glassinside;//
private String glassbetween;//
private String itemtype;//
- private String slotnumber;//鏍煎瓙
+ private String slotnumber;// 鏍煎瓙
private String datemodified;//
private String datecreated;//
- private String FrameBarcode;//閾濇id
+ private String FrameBarcode;// 閾濇id
- private StorageCage storageCage;
-
+ public StorageCage storageCage;
+
+
+
public void setstorageCage(StorageCage storageCage) {
this.storageCage = storageCage;
}
-
+
public StorageCage getstorageCage() {
return storageCage;
}
-
+
private Out_slice out_slice;
-
+
public void setOut_slice(Out_slice out_slice) {
this.out_slice = out_slice;
}
-
+
public Out_slice getOut_slice() {
return out_slice;
}
@@ -51,15 +56,19 @@
public Integer getId() {
return id;
}
+
public String getordernumber() {
return ordernumber;
}
+
public void setordernumber(String ordernumber) {
this.ordernumber = ordernumber;
}
+
public String getlistnumber() {
return listnumber;
}
+
public void setlistnumber(String listnumber) {
this.listnumber = listnumber;
}
@@ -67,22 +76,23 @@
public String getboxnumber() {
return boxnumber;
}
+
public void setboxnumber(String boxnumber) {
this.boxnumber = boxnumber;
}
-
public String getbarcode() {
return barcode;
}
+
public void setbarcode(String barcode) {
this.barcode = barcode;
}
-
public Double getglasslength() {
return glasslength;
}
+
public void setglasslength(Double glasslength) {
this.glasslength = glasslength;
}
@@ -90,6 +100,7 @@
public Double getglassheight() {
return glassheight;
}
+
public void setglassheight(Double glassheight) {
this.glassheight = glassheight;
}
@@ -97,6 +108,7 @@
public Double getglasslengthmm() {
return glasslengthmm;
}
+
public void setglasslengthmm(Double glasslengthmm) {
this.glasslengthmm = glasslengthmm;
}
@@ -104,6 +116,7 @@
public Double getglassheightmm() {
return glassheightmm;
}
+
public void setglassheightmm(Double glassheightmm) {
this.glassheightmm = glassheightmm;
}
@@ -111,33 +124,41 @@
public String getitemtype() {
return itemtype;
}
+
public void setitemtype(String itemtype) {
this.itemtype = itemtype;
}
+
public String getslotnumber() {
return slotnumber;
}
+
public void setslotnumber(String slotnumber) {
this.slotnumber = slotnumber;
}
+
public String getdatemodified() {
return datemodified;
}
+
public void setdatemodified(String datemodified) {
this.datemodified = datemodified;
}
+
public String getdatecreated() {
return datecreated;
}
+
public void setdatecreated(String datecreated) {
this.datecreated = datecreated;
}
+
public String getFrameBarcode() {
return FrameBarcode;
}
+
public void setFrameBarcode(String FrameBarcode) {
this.FrameBarcode = FrameBarcode;
}
-
}
\ No newline at end of file
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 38b5b3d..13fbf9e 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
@@ -4,6 +4,7 @@
import com.example.springboot.entity.CarPosition;
import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.StorageTask;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.Out_slice;
@@ -33,6 +34,8 @@
// 鏌ヨ5-1绗煎灞傛牸瀛愮姸鎬�
@Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width from storage_cage where cage<=5 group by cage,cell order by cage desc,cell desc")
List<StorageCage> selectRack4();
+
+
// 鏍规嵁浠诲姟绫诲瀷鏌ヨ褰撳墠姝e湪鍑虹墖锛岃繘鐗囩殑鐜荤拑淇℃伅
@Select("select * from storage_cage where state=#{task_type}")
@@ -71,7 +74,7 @@
List<StorageCage> SelectCageInfo(String cage);
// 鎵嬪姩瀹屾垚鍑虹墖浠诲姟淇敼绗煎瓙鏁版嵁
- @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,listid=null,boxid=null where glass_id=#{glassid}")
+ @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,listid=null,boxid=null,FrameBarcode=null where glass_id=#{glassid}")
void DeleteByGlassID(String glassid);
//鏌ヨ灏忚溅浣嶇疆
@@ -139,6 +142,10 @@
@Select("select * from storage_cage where glass_id=#{glassid}")
StorageCage SelectStorageGlassById(String glassid);
+ //鏍规嵁鐜荤拑id鏌ヨ绗煎唴鐜荤拑淇℃伅
+ @Select("select * from storage_cage where glass_id=#{glassid}")
+ List<StorageCage> SelectStoragesGlassById(String glassid);
+
// //鏍规嵁鐜荤拑id鍒犻櫎鍑虹墖闃熷垪鐜荤拑
// @Update("update out_slice set state=4 where barcode=#{FrameNo} and (state=0 or state=1 or state=2)")
@@ -149,13 +156,13 @@
List<north_glass_buffer1> SelectAluminumFrameInfoById(String FrameBarcode);
- //鏌ヨ鐜荤拑鏄惁宸插瓨鍦ㄤ簬鍑虹墖闃熷垪
- @Select("select * from out_slice where glassid=#{getbarcode} and (state=0 or state=1 or state=2 or state=3)")
+ //鏍规嵁鐜荤拑id鏌ヨ鍑虹墖闃熷垪淇℃伅
+ @Select("select * from out_slice where glassid=#{getbarcode}")
Out_slice SelectQueueByglassid(String getbarcode);
//娣诲姞鍑虹墖闃熷垪
- @Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position`) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position});")
- void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm, int sequence, String position, Short state);
+ @Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position` ,`orderid` ,`listid` ,`boxid` ,`glasswidthmm` ,`glassheightmm`) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position}, #{orderid}, #{listid}, #{boxid}, #{glasswidth}, #{glassheight});")
+ void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm, int sequence, String position, Short state,String orderid, String listid, String boxid, String glasswidth, String glassheight);
//鍑虹墖闃熷垪璋冨簭
@Update("update out_slice set sequence=#{sequence} where glassid=#{glassId}")
@@ -167,19 +174,37 @@
//鏌ヨ鐢ㄦ埛鏉冮檺
@Select("select rp.* from role_permission rp inner join user r on rp.role_id=r.role_id and r.username=#{username} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35)")
List<RolePermission> SelectPermissionByUserName(String username);
- //瀹屾垚鍑虹墖浠诲姟
- @Update("update out_slice set state=2 where id=#{id}")
+
+ //鏍规嵁鐜荤拑瀹屾垚鍑虹墖浠诲姟
+ @Update("update out_slice set state=4 where id=#{id}")
void CompleteQueue(String id);
+ //鏍规嵁鐜荤拑瀹屾垚鍑虹墖浠诲姟
+ @Update("update out_slice set state=4 where id=#{id}")
+ void CompleteQueueByGlassId(String glassid);
+
//鏌ヨ閾濇id瀵瑰簲鐜荤拑瀹屾垚鏁伴噺
- @Select("select count(*) from out_slice where barcode=#{frameid} and state<2")
+ @Select("select count(*) from out_slice where barcode=#{frameid} and state!=4")
Short SelectCountByFrameNo(String frameid);
//鍒犻櫎宸插畬鎴愮殑浠诲姟
- @Update("delete from out_slice where Barcode=#{frameid}")
+ @Delete("delete from out_slice where Barcode=#{frameid}")
void CompleteQueueByFrameNo(String frameid);
+ //鏌ヨ绗煎唴鏍煎瓙鍓╀綑瀹藉害
@Select("Select width from storage_cage where cage=#{cage} and cell=#{cell} limit 1")
Double SelectCageWidth(short cage, short cell);
+ //淇敼鍑虹墖闃熷垪鐜荤拑鐘舵�佷负缂哄け
+ @Update("update out_slice set state=3 where glassId=#{glassid} and state<3")
+ void UpdateOutSliceGlass(String glassid);
+
+ //鏌ヨ鏈畬鎴愮殑浠诲姟
+ @Select("select * from storage_task where task_state=0 and task_type=#{task_type}")
+ List<StorageTask> SelectTaskByState(int task_type);
+
+ //淇敼鍑虹墖闃熷垪閾濇鐘舵��
+ @Select("update out_slice set framestate=#{framestate} where barcode=#{frameno}")
+ void FrameStateUpdate(String frameno, String framestate);
+
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
index 031ecfc..039a3ec 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -16,7 +16,7 @@
@Select("select COUNT(if(a.state1=0,cell,0))as cell,ROUND(id/2)as id from (select *,max(state)as state1 from storage_cage a GROUP BY cage,cell)as a where (a.cage=#{cage1}-1 or a.cage=#{cage1}+1)and if(a.cage<6,a.cage>0 and a.cage<6,a.cage>5) and disabled=0 GROUP BY cage ORDER BY cell desc LIMIT 1")
int selectCage(int cage1);
// 鑾峰彇璁㈠崟鍙锋帓搴忕殑绌鸿鍗曠瀛�
- @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY FrameBarcode=#{Fbarcode} desc,shu desc,shu2,cage asc; ")
+ @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY (FrameBarcode=#{Fbarcode} or ''='') desc,shu desc,shu2,cage asc; ")
List<StorageCage> selectAll(String orderids,String Fbarcode);
// 鑾峰彇鍒ゆ柇璇ユ牸瀛愭槸鍚﹂渶瑕佹妸澶栫墖鎺ㄥ叆鍐呯墖浣嶇疆
@@ -34,7 +34,7 @@
// 瀹屾垚杩涚墖涓殑鐜荤拑鐘舵��
@Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=3;")
void UpdateCageOver(String glassid, int state);
-
+
@Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=2;")
void UpdateCageadd(String glassid, int state);
@@ -75,8 +75,7 @@
void UpdataAddCage(String orderid, String glassid, double width, int cage, int cell, int id, int state);
@Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{glass.ordernumber},glasswidth=#{glass.glasslengthmm},glassheight=#{glass.glassheightmm},glasswidthmm=#{glass.glasslength},glassheightmm=#{glass.glassheight},listid=#{glass.listnumber},boxid=#{glass.boxnumber},FrameBarcode=#{glass.FrameBarcode} where id=#{id};")
- void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id,
- int state);
+ void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id,int state);
// 淇敼绗煎瓙淇℃伅(澶氱墖杩涚墖)
@Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where cage=#{cage} and cell=#{cell} and tier=#{tier};")
@@ -95,7 +94,7 @@
void UpdataOutCage1(double width, int cage, int cell);
// 璋冩嫧鏇存崲绗煎瓙淇℃伅
- @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=2,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.id=#{id1}")
+ @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid,a.FrameBarcode=b.FrameBarcode where a.id=#{id1}")
void UpdateDBCage(int id1, int cage, int cell, int tier);
// @Insert("insert into user(name, date, address, user_no) values (#{name},
@@ -118,11 +117,11 @@
String SelectOrderout();
// 鍐呭鐗囪皟鎹�
- @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=1)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.cage=#{cage} and a.cell=#{cell} and a.tier=2")
+ @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=1)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid,a.FrameBarcode=b.FrameBarcode where a.cage=#{cage} and a.cell=#{cell} and a.tier=2")
void UpdateDBCage1(int cage, int cell);
// 娓呴櫎鍐呯墖鏁版嵁
- @Update("update storage_cage a set glass_id='',order_id='',state=0,glasswidth=0,glassheight=0,glasswidthmm=0,glassheightmm=0,listid=null,boxid=null where a.cage=#{cage} and a.cell=#{cell} and a.tier=1;")
+ @Update("update storage_cage a set glass_id=null,order_id=null,state=0,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,listid=null,boxid=null,FrameBarcode=null where a.cage=#{cage} and a.cell=#{cell} and a.tier=1;")
void UpdateDBCage2(int cage, int cell);
// 鍒ゆ柇鏄惁鏈夎皟鎷ㄥ畬鍚庡嚭鐗囩殑浠诲姟
@@ -197,10 +196,13 @@
// 鍒ゆ柇閾濇鍑虹墖琛ㄦ槸鍚︽湁鐜荤拑姝e湪鍑虹墖涓�
@Select("SELECT count(*) FROM `out_slice` where state=1;")
int SelectOutSliceshu();
+ //鍒ゆ柇鏄惁鏈夎皟鎷ㄤ换鍔℃湭瀹屾垚
+ @Select("SELECT count(*) FROM `storage_cage` where state=#{state};")
+ int Selectcageout(int state);
// 鏇存柊鍑虹墖闃熷垪鐨勪换鍔$姸鎬�
- @Update("update out_slice set state=#{state} where glassid=#{glassid} and state=1")
- void OverOutSlice(String glassid, int state);
+ @Update("update out_slice set state=#{state} where glassid=#{glassid} and state=#{state2}")
+ void OverOutSlice(String glassid, int state,int state2);
// 鑾峰彇鐜荤拑鐨勯摑妗唅d
@Select("select barcode from out_slice where glassid=#{glassid};")
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/device/DeviceMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/device/DeviceMapper.java
deleted file mode 100644
index 6078dbb..0000000
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/device/DeviceMapper.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.example.springboot.mapper.device;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.example.springboot.entity.User;
-import com.example.springboot.entity.device.DeviceEntity;
-import org.apache.ibatis.annotations.Mapper;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-
-@Mapper
-@Repository
-public interface DeviceMapper extends BaseMapper<User> {
- List<DeviceEntity> selectAllDevices();
-
- void updateDeviceName(DeviceEntity device);
-
- void updateMultipleDevices(List<DeviceEntity> devices);
- List<DeviceEntity> callStoredProc(DeviceEntity device);
-}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/North_Glass_Buffer1Service.java b/springboot-vue3/src/main/java/com/example/springboot/service/North_Glass_Buffer1Service.java
index 0a351d4..364e0cc 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/North_Glass_Buffer1Service.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/North_Glass_Buffer1Service.java
@@ -1,13 +1,17 @@
package com.example.springboot.service;
import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Comparator;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.mapper.HomeMapper;
+import java.util.Collections;
@Service
public class North_Glass_Buffer1Service {
@@ -17,7 +21,34 @@
@Autowired
private JdbcConnections jdbcConnections;
- //鑾峰彇鐜荤拑鏄惁鍦ㄧ瀛愶紝鏄惁鍦ㄥ嚭鐗囬槦鍒�
+ class north_glass_buffer1Comparator implements Comparator<north_glass_buffer1> {
+ @Override
+ public int compare(north_glass_buffer1 n1, north_glass_buffer1 n2) {//瀵规煡璇㈠埌鐨勯摑妗嗗搴旂殑鐜荤拑鏁版嵁杩涜鎺掑簭锛屽皢绂诲嚭鐗囦綅缃繎鐨勶紝闈犺繎绗煎瓙鍑虹墖渚х殑鐜荤拑鎺掑湪鍓嶉潰
+ if (n1.getstorageCage() != null) {
+ if (n2.getstorageCage() != null) {
+ int cageComparison = n2.getstorageCage().getCage().compareTo(n1.getstorageCage().getCage());//闈犲嚭鐗囧彛杩戠殑绗煎瓙浼樺厛
+ if (cageComparison != 0) {
+ return cageComparison;
+ } else {
+ int cellComparison = n2.getstorageCage().getCell().compareTo(n1.getstorageCage().getCell());//闈犲嚭鐗囧彛杩戠殑鏍煎瓙浼樺厛
+ if (cellComparison != 0) {
+ return cellComparison;
+ } else {
+ return n2.getstorageCage().getTier().compareTo(n1.getstorageCage().getTier());//闈犲嚭鐗囧彛杩戠殑鏍煎瓙澶栧眰浼樺厛
+ }
+ }
+ } else {
+ return -1;
+ }
+
+ } else {
+ return 1;
+ }
+
+ }
+ }
+
+ // 鑾峰彇鐜荤拑鏄惁鍦ㄧ瀛愶紝鏄惁鍦ㄥ嚭鐗囬槦鍒�
public List<north_glass_buffer1> SelectAluminumFrameInfoById(String FrameBarcode) throws SQLException {
List<north_glass_buffer1> listAluminumFrame = jdbcConnections
.SelectGlassByGlassIdOrderIdFrameIdss(FrameBarcode);
@@ -25,27 +56,32 @@
north_glass_buffer1.setstorageCage(homeMapper.SelectStorageGlassById(north_glass_buffer1.getbarcode()));
north_glass_buffer1.setOut_slice(homeMapper.SelectQueueByglassid(north_glass_buffer1.getbarcode()));
}
+ // 瀵瑰祵濂楃被鐨勫叾涓竴鍒楄繘琛屾帓搴�
+ Collections.sort(listAluminumFrame, new north_glass_buffer1Comparator());
return listAluminumFrame;
}
- //鏍规嵁閾濇id娣诲姞鐜荤拑鍒板嚭鐗囬槦鍒�
- public void AddOutSliceS(String FrameBarcode) throws SQLException{
- List<north_glass_buffer1> north_glass_buffer1s=SelectAluminumFrameInfoById(FrameBarcode);
+ // 鏍规嵁閾濇id娣诲姞鐜荤拑鍒板嚭鐗囬槦鍒�
+ public void AddOutSliceS(String FrameBarcode) throws SQLException {
+ List<north_glass_buffer1> north_glass_buffer1s = SelectAluminumFrameInfoById(FrameBarcode);
String flip = jdbcConnections.SelectFlipByFrameBarcode(FrameBarcode);
- String position =jdbcConnections.SelectPositionByFrameBarcode(FrameBarcode);
- int sequence=homeMapper.SelectMaxSquence();
-
+ String position = jdbcConnections.SelectPositionByFrameBarcode(FrameBarcode);
+ int sequence = homeMapper.SelectMaxSquence();
for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
- Short state=0;
- if(north_glass_buffer1.getOut_slice()==null){
- if(north_glass_buffer1.getstorageCage()==null){
- state=3;
+ Short state = 0;
+ if (north_glass_buffer1.getOut_slice() == null) {
+ if (north_glass_buffer1.getstorageCage() == null) {
+ state = 3;
}
- homeMapper.AddOutSliceS(north_glass_buffer1.getbarcode(), flip, FrameBarcode, north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(), sequence, position, state);
- sequence+=1;
+ homeMapper.AddOutSliceS(north_glass_buffer1.getbarcode(), flip, FrameBarcode,
+ north_glass_buffer1.getglasslengthmm().toString(),
+ north_glass_buffer1.getglassheightmm().toString(), sequence, position, state,
+ north_glass_buffer1.getordernumber(), north_glass_buffer1.getlistnumber(),
+ north_glass_buffer1.getboxnumber(), north_glass_buffer1.getglasslength().toString(),
+ north_glass_buffer1.getglassheight().toString());
+ sequence += 1;
}
}
}
-
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java b/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java
index aeba11e..a6d32b8 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java
@@ -6,11 +6,9 @@
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoProperties.Storage;
import org.springframework.stereotype.Service;
import com.example.springboot.common.Result;
-import com.example.springboot.component.S7control;
import com.example.springboot.entity.Out_slice;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.mapper.HomeMapper;
@@ -23,33 +21,35 @@
private HomeMapper homeMapper;
@Autowired
private SpianMapper spianMapper;
-
@Autowired
- private JdbcConnections jdbcConnections;
+ SpianService spianService;
+
public void AddOutSliceS(String[][] AluminumFrames) throws SQLException {
- int sequence = homeMapper.SelectMaxSquence();
+ // int sequence = homeMapper.SelectMaxSquence();
// 娣诲姞鍒版暟鎹簱
- for (String[] item : AluminumFrames) {
- if (item[1] == "true") {
- Short state=0;
- String position = jdbcConnections.SelectPositionByFrameBarcode(item[3]);
- homeMapper.AddOutSliceS(item[0], item[2], item[3], item[4], item[5], sequence, position,state );
- sequence += 1;
- }
- }
+ // for (String[] item : AluminumFrames) {
+ // if (item[1] == "true") {
+ // Short state=0;
+ // String position = jdbcConnections.SelectPositionByFrameBarcode(item[3]);
+ // homeMapper.AddOutSliceS(item[0], item[2], item[3], item[4], item[5],
+ // sequence, position,state );
+ // sequence += 1;
+ // }
+ // }
}
// 鏌ヨ鍑虹墖闃熷垪
public List<Out_slice> SelectProductionqueue() {
List<Out_slice> listoutslice = homeMapper.SelectProductionqueue();
- for (Out_slice out_slice : listoutslice) {
- out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
- }
+ // for (Out_slice out_slice : listoutslice) {
+ // out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
+ // }
return listoutslice;
}
+ // 瀹屾垚鍑虹墖浠诲姟
public Result CompleteQueue(String id, String frameid, String glassid) {
homeMapper.CompleteQueue(id);
Short num = homeMapper.SelectCountByFrameNo(frameid);
@@ -57,14 +57,52 @@
homeMapper.CompleteQueueByFrameNo(frameid);
}
StorageCage storageCage = homeMapper.SelectGlassInfo(glassid);
- if(storageCage!=null){
+ if (storageCage != null&&storageCage.getState().equals("3")) {
spianMapper.UpdataOutCage1(storageCage.getGlassWidth(), storageCage.getCage(), storageCage.getCell());
+ homeMapper.DeleteByGlassID(glassid);
}
- homeMapper.DeleteByGlassID(glassid);
- S7control.getinstance().WriteWord("DB105.12", (short) 0);
Map<String, Object> map = new HashMap<>();
map.put("message", "200");
return Result.success(map);
}
+ // 纭鍚庡畬鎴愪慨鏀瑰嚭鐗囬槦鍒楃姸鎬�
+ public void CompleteQueueByGlassId(String glassid) {
+ homeMapper.CompleteQueueByGlassId(glassid);
+ Out_slice outslice=homeMapper.SelectQueueByglassid(glassid);
+ Short num = homeMapper.SelectCountByFrameNo(outslice.getBarCode());
+ if (num == 0) {
+ homeMapper.CompleteQueueByFrameNo(outslice.getBarCode());
+ }
+ }
+
+ //缁堟杩涚墖/鍑虹墖
+ public void StopTask(String glassid, int i) {
+ if (i == 0) {// 杩涚墖缁堟
+ spianService.overtask(glassid);
+ DeleteByGlassIDs(glassid);
+ homeMapper.UpdateOutSliceGlass(glassid);
+ } else {// 鍑虹墖缁堟
+ spianMapper.UpdatetaskOut(glassid);//瀹屾垚鍑虹墖浠诲姟
+ spianMapper.UpdataGlassCage(glassid, 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
+ spianMapper.UpdateCageOver(glassid, 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
+ homeMapper.UpdateOutSliceGlass(glassid);//淇敼鍑虹墖闃熷垪姝ょ幓鐠冪姸鎬佷负缂哄け
+
+ }
+ }
+
+ //鍒犻櫎绗煎唴鐜荤拑杩樺師瀹藉害
+ public void DeleteByGlassIDs(String glassid) {
+ StorageCage glassinfor = homeMapper.SelectGlassInfo(glassid);
+ spianMapper.UpdataOutCage1(glassinfor.getGlassWidth(), glassinfor.getCage(), glassinfor.getCell());
+ homeMapper.DeleteByGlassID(glassid);
+ }
+
+public Result FrameStateUpdate(String frameno, String framestate) {
+ homeMapper.FrameStateUpdate(frameno, framestate);
+ Map<String, Object> map = new HashMap<>();
+ map.put("message", "200");
+ return Result.success(map);
+}
+
}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index 8e4265f..b46dad5 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -96,7 +96,7 @@
spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 鏂板浠诲姟
S7control.getinstance().WriteWord(adddresslist, datas);
- System.out.println("鍑虹墖浠诲姟|" + datas);
+ System.out.println("杩涚墖浠诲姟|" + datas);
} else {
// 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
@@ -105,7 +105,7 @@
spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 鏂板浠诲姟
S7control.getinstance().WriteWord(adddresslist, datas);
- System.out.println("鍑虹墖浠诲姟|" + datas);
+ System.out.println("杩涚墖浠诲姟|" + datas);
// S7control.getinstance().WriteByte("DB105.16",glassid);
}
@@ -155,9 +155,9 @@
datas.add((short) 1000);
datas.add((short) state);
datas.add((short) 1);
- spianMapper.OverOutSlice(glassid, 1);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
+ spianMapper.OverOutSlice(glassid.toString(), 1,0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
- spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
+ spianMapper.UpdataGlassCageState(glassid.toString(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state);// 鏂板浠诲姟
// int state = spianMapper.selectGlassState(cage, cell);//鑾峰彇鏍煎瓙鏁伴噺
@@ -180,11 +180,11 @@
datas.add((short) 1000);
datas.add((short) 1);
datas.add((short) 1);
- spianMapper.OverOutSlice(glassid, 1);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
+ spianMapper.OverOutSlice(glassid.toString(), 1,0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1);// 鏂板浠诲姟
spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
- spianMapper.OverOutSlice(glassid, 1);// 鏇存柊鍑虹墖闃熷垪浠诲姟
+
System.out.println("鍑虹墖浠诲姟|" + datas);
outmesid(glassid, "DB105.34");// 娲惧彂鍑虹墖ID
S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
@@ -307,7 +307,7 @@
public void overtask(String glassid) {
spianMapper.UpdatetaskOut(glassid.toString());// 瀹屾垚涓婁竴娆� 鍑虹墖鎴栬�呰繘鐗囦换鍔�
- spianMapper.OverOutSlice(glassid.toString(), 2);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
+ spianMapper.OverOutSlice(glassid.toString(), 2,1);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
spianMapper.UpdataGlassCage(glassid.toString(), 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
spianMapper.UpdateCageOver(glassid.toString(), 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
spianMapper.UpdateCageadd(glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
new file mode 100644
index 0000000..f6b9988
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -0,0 +1,58 @@
+package com.example.springboot.service;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.example.springboot.entity.StorageCage;
+import com.example.springboot.entity.StorageTask;
+import com.example.springboot.mapper.HomeMapper;
+
+@Service
+public class StorageCageService {
+ @Autowired
+ private HomeMapper homeMapper;
+
+ @Autowired
+ private OutSliceServive outSliceServive;
+
+ @Autowired
+ private SpianService spianService;
+
+ public void EndTask(int types) {
+ if (types == 0) {// 缁堟杩涚墖浠诲姟
+ List<StorageTask> cageList = homeMapper.SelectTaskByState(types);
+ for (StorageTask storageTask : cageList) {
+ outSliceServive.StopTask(storageTask.getGlassId(), types);
+ }
+ // 鍙戦�佺粓姝㈣繘鐗囦换鍔′俊鍙�
+ } else {// 缁堟鍑虹墖浠诲姟
+ List<StorageCage> storageCages = homeMapper.selectinout(3);
+ for (StorageCage storageCage : storageCages) {
+ List<StorageCage> storageCagess = homeMapper.SelectStoragesGlassById(storageCage.getGlassId());
+ for (StorageCage storageCagez : storageCagess) {
+ if (storageCagez.getState().equals("2")) {// 璋冩嫧杩涚墖
+ outSliceServive.StopTask(storageCagez.getGlassId(), 0);
+ } else {// 鍑虹墖
+ outSliceServive.StopTask(storageCagez.getGlassId(), types);
+ }
+ }
+ }
+ }
+ }
+
+ public void UpdateTask(Integer types, Integer shelfrack, String glassid) {
+ if (types == 0) {// 瀹屾垚杩涚墖
+ spianService.overtask(glassid);
+ } else if (types == 1) {// 瀹屾垚鍑虹墖
+ spianService.overtask(glassid);
+ } else if (types == 2) {// 缁堟杩涚墖浠诲姟
+ outSliceServive.StopTask(glassid, 0);
+ // 鍙戦�佺粓姝㈣繘鐗囦换鍔′俊鍙�
+ } else {// 缁堟鍑虹墖浠诲姟
+ outSliceServive.StopTask(glassid, 1);
+ }
+ }
+
+}
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/device/DeviceService.java b/springboot-vue3/src/main/java/com/example/springboot/service/device/DeviceService.java
deleted file mode 100644
index 378945a..0000000
--- a/springboot-vue3/src/main/java/com/example/springboot/service/device/DeviceService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.example.springboot.service.device;
-
-import com.example.springboot.entity.device.DeviceEntity;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-@Service
-public interface DeviceService {
- List<DeviceEntity> getAllDevices();
-
-
- void updateDeviceName(DeviceEntity device);
- void updateMultipleDevices(List<DeviceEntity> devices);
- List<DeviceEntity> callStoredProc(DeviceEntity device); // 淇敼杩斿洖绫诲瀷涓� List<DeviceEntity>
-}
-
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/device/impl/DeviceServiceImpl.java b/springboot-vue3/src/main/java/com/example/springboot/service/device/impl/DeviceServiceImpl.java
deleted file mode 100644
index 92c650f..0000000
--- a/springboot-vue3/src/main/java/com/example/springboot/service/device/impl/DeviceServiceImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.example.springboot.service.device.impl;
-
-import com.example.springboot.entity.device.DeviceEntity;
-import com.example.springboot.mapper.device.DeviceMapper;
-import com.example.springboot.service.device.DeviceService;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Service
-
-public class DeviceServiceImpl implements DeviceService {
-
- private final DeviceMapper deviceDao;
-
- @Autowired
- public DeviceServiceImpl(DeviceMapper deviceDao) {
- this.deviceDao = deviceDao;
- }
-
- @Override
- public List<DeviceEntity> getAllDevices() {
- return deviceDao.selectAllDevices();
- }
-
- @Override
- public void updateDeviceName(DeviceEntity device) {
- deviceDao.updateDeviceName(device);
- }
-
- @Override
- public void updateMultipleDevices(List<DeviceEntity> devices) {
- deviceDao.updateMultipleDevices(devices);
- }
-
- @Override
- public List<DeviceEntity> callStoredProc(DeviceEntity device) {
- return performStoredProcQuery(device);
- }
-
- private List<DeviceEntity> performStoredProcQuery(DeviceEntity device) {
- // 鎵ц瀛樺偍杩囩▼鐨勬煡璇㈡搷浣滐紝骞惰繑鍥炵粨鏋滃垪琛�
- List<DeviceEntity> resultList = new ArrayList<>();
-
- return deviceDao.callStoredProc(device);
- }
-}
diff --git a/springboot-vue3/src/main/resources/com/example/springboot/mapper/DeviceMapper.xml b/springboot-vue3/src/main/resources/com/example/springboot/mapper/DeviceMapper.xml
index 5cc5c18..769c418 100644
--- a/springboot-vue3/src/main/resources/com/example/springboot/mapper/DeviceMapper.xml
+++ b/springboot-vue3/src/main/resources/com/example/springboot/mapper/DeviceMapper.xml
@@ -2,39 +2,39 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.springboot.mapper.device.DeviceMapper">
- <resultMap id="myResultMap" type="com.example.springboot.entity.device.DeviceEntity">
- <!-- 鏍规嵁浣犵殑瀹為檯鎯呭喌瀹氫箟缁撴灉鏄犲皠 -->
- <!-- 绀轰緥涓皢缁撴灉鏄犲皠鍒板疄浣撶被鐨勫睘鎬� -->
- <id property="id" column="id"/>
- <result property="name" column="device_name"/>
- <!-- 鍏朵粬灞炴�ф槧灏� -->
- </resultMap>
+<!-- <resultMap id="myResultMap" type="com.example.springboot.entity.device.DeviceEntity">-->
+<!-- <!– 鏍规嵁浣犵殑瀹為檯鎯呭喌瀹氫箟缁撴灉鏄犲皠 –>-->
+<!-- <!– 绀轰緥涓皢缁撴灉鏄犲皠鍒板疄浣撶被鐨勫睘鎬� –>-->
+<!-- <id property="id" column="id"/>-->
+<!-- <result property="name" column="device_name"/>-->
+<!-- <!– 鍏朵粬灞炴�ф槧灏� –>-->
+<!-- </resultMap>-->
- <select id="selectAllDevices" resultMap="myResultMap">
- SELECT *
- FROM device
- </select>
+<!-- <select id="selectAllDevices" resultMap="myResultMap">-->
+<!-- SELECT *-->
+<!-- FROM device-->
+<!-- </select>-->
- <select id="callStoredProc" statementType="CALLABLE" resultMap="myResultMap">
- { call Your_Stored_Procedure(
- #{id, mode=IN, jdbcType=VARCHAR},
- #{name, mode=IN, jdbcType=VARCHAR}
+<!-- <select id="callStoredProc" statementType="CALLABLE" resultMap="myResultMap">-->
+<!-- { call Your_Stored_Procedure(-->
+<!-- #{id, mode=IN, jdbcType=VARCHAR},-->
+<!-- #{name, mode=IN, jdbcType=VARCHAR}-->
- ) }
- </select>
+<!-- ) }-->
+<!-- </select>-->
- <update id="updateDeviceName">
- UPDATE device SET
- device_name = #{deviceName},
- address = #{address}
- WHERE id = #{id}
- </update>
- <update id="updateMultipleDevices" parameterType="java.util.List">
- <foreach collection="list" item="device" separator=";">
- UPDATE device SET
- device_name = #{device.deviceName},
- address = #{device.address}
- WHERE id = #{device.id}
- </foreach>
- </update>
+<!-- <update id="updateDeviceName">-->
+<!-- UPDATE device SET-->
+<!-- device_name = #{deviceName},-->
+<!-- address = #{address}-->
+<!-- WHERE id = #{id}-->
+<!-- </update>-->
+<!-- <update id="updateMultipleDevices" parameterType="java.util.List">-->
+<!-- <foreach collection="list" item="device" separator=";">-->
+<!-- UPDATE device SET-->
+<!-- device_name = #{device.deviceName},-->
+<!-- address = #{device.address}-->
+<!-- WHERE id = #{device.id}-->
+<!-- </foreach>-->
+<!-- </update>-->
</mapper>
diff --git a/springboot-vue3/src/main/resources/sql/canadames.sql b/springboot-vue3/src/main/resources/sql/canadames.sql
index a9b4d90..e9e446d 100644
--- a/springboot-vue3/src/main/resources/sql/canadames.sql
+++ b/springboot-vue3/src/main/resources/sql/canadames.sql
@@ -11,7 +11,7 @@
Target Server Version : 80022
File Encoding : 65001
- Date: 11/12/2023 13:35:48
+ Date: 20/12/2023 15:38:31
*/
SET NAMES utf8mb4;
@@ -27,7 +27,7 @@
`timeon` datetime(0) NULL DEFAULT NULL COMMENT '寮�濮嬫椂闂�',
`endTime` datetime(0) NULL DEFAULT NULL COMMENT '缁撴潫鏃堕棿',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1742 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1990 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of alarmmg
@@ -438,6 +438,254 @@
INSERT INTO `alarmmg` VALUES (1739, 'A02 servo turn error', '2023-12-08 15:23:23', '2023-12-08 15:24:01');
INSERT INTO `alarmmg` VALUES (1740, 'A01 servo travel error', '2023-12-08 15:23:55', '2023-12-08 15:23:59');
INSERT INTO `alarmmg` VALUES (1741, 'A02 servo turn error', '2023-12-08 15:24:02', '2023-12-08 15:24:03');
+INSERT INTO `alarmmg` VALUES (1742, 'A01 servo turn error', '2023-12-13 09:55:07', '2023-12-13 10:15:12');
+INSERT INTO `alarmmg` VALUES (1743, 'A02 servo turn error', '2023-12-13 09:55:07', '2023-12-13 10:15:12');
+INSERT INTO `alarmmg` VALUES (1744, 'A01 servo travel error', '2023-12-13 10:50:47', '2023-12-13 10:51:29');
+INSERT INTO `alarmmg` VALUES (1745, 'A02 servo travel error', '2023-12-13 10:50:50', '2023-12-13 10:51:29');
+INSERT INTO `alarmmg` VALUES (1746, 'A02 servo travel error', '2023-12-13 10:52:03', '2023-12-13 10:54:11');
+INSERT INTO `alarmmg` VALUES (1747, 'A01 servo travel error', '2023-12-13 10:52:05', '2023-12-13 10:54:11');
+INSERT INTO `alarmmg` VALUES (1748, 'A01 servo turn error', '2023-12-13 10:54:33', '2023-12-13 10:55:09');
+INSERT INTO `alarmmg` VALUES (1749, 'A02 servo turn error', '2023-12-13 10:54:33', '2023-12-13 10:55:09');
+INSERT INTO `alarmmg` VALUES (1750, 'A02 servo travel error', '2023-12-13 10:54:44', '2023-12-13 10:55:10');
+INSERT INTO `alarmmg` VALUES (1751, 'A01 servo travel error', '2023-12-13 10:54:50', '2023-12-13 10:55:10');
+INSERT INTO `alarmmg` VALUES (1752, 'A01 servo travel error', '2023-12-13 10:55:44', '2023-12-13 10:56:09');
+INSERT INTO `alarmmg` VALUES (1753, 'A02 servo travel error', '2023-12-13 10:55:47', '2023-12-13 10:56:09');
+INSERT INTO `alarmmg` VALUES (1754, 'A01 servo travel error', '2023-12-13 10:56:43', '2023-12-13 10:58:29');
+INSERT INTO `alarmmg` VALUES (1755, 'A02 servo travel error', '2023-12-13 10:56:46', '2023-12-13 10:58:29');
+INSERT INTO `alarmmg` VALUES (1756, 'A01 servo turn error', '2023-12-13 10:58:29', '2023-12-13 10:58:30');
+INSERT INTO `alarmmg` VALUES (1757, 'A01 servo travel error', '2023-12-13 10:59:26', '2023-12-13 10:59:44');
+INSERT INTO `alarmmg` VALUES (1758, 'A02 servo travel error', '2023-12-13 10:59:26', '2023-12-13 10:59:44');
+INSERT INTO `alarmmg` VALUES (1759, 'A01 servo turn error', '2023-12-13 10:59:44', '2023-12-13 10:59:47');
+INSERT INTO `alarmmg` VALUES (1760, 'A01 conveyor right safety alarm', '2023-12-13 11:19:58', '2023-12-13 11:20:01');
+INSERT INTO `alarmmg` VALUES (1761, 'A01 conveyor right safety alarm', '2023-12-13 11:20:10', '2023-12-13 11:20:12');
+INSERT INTO `alarmmg` VALUES (1762, '1# buffer safety alarm', '2023-12-13 11:20:11', '2023-12-13 11:20:13');
+INSERT INTO `alarmmg` VALUES (1763, 'A01 conveyor right safety alarm', '2023-12-13 11:26:44', '2023-12-13 11:26:47');
+INSERT INTO `alarmmg` VALUES (1764, 'More glass than known', '2023-12-13 11:26:51', '2023-12-13 11:27:46');
+INSERT INTO `alarmmg` VALUES (1765, 'A01 servo travel error', '2023-12-13 11:29:12', '2023-12-13 11:29:15');
+INSERT INTO `alarmmg` VALUES (1766, 'A02 servo travel error', '2023-12-13 11:29:14', '2023-12-13 11:29:15');
+INSERT INTO `alarmmg` VALUES (1767, 'A01 servo turn error', '2023-12-13 11:29:15', '2023-12-13 11:29:30');
+INSERT INTO `alarmmg` VALUES (1768, 'A02 servo turn error', '2023-12-13 11:29:15', '2023-12-13 11:29:30');
+INSERT INTO `alarmmg` VALUES (1769, 'A01 conveyor right safety alarm', '2023-12-13 11:30:35', '2023-12-13 11:30:37');
+INSERT INTO `alarmmg` VALUES (1770, 'A01 conveyor right safety alarm', '2023-12-13 11:30:46', '2023-12-13 11:30:49');
+INSERT INTO `alarmmg` VALUES (1771, '1# buffer safety alarm', '2023-12-13 11:30:46', '2023-12-13 11:30:50');
+INSERT INTO `alarmmg` VALUES (1772, '2# buffer safety alarm', '2023-12-13 11:35:31', '2023-12-13 11:35:34');
+INSERT INTO `alarmmg` VALUES (1773, 'A02 conveyor Left safety alarm', '2023-12-13 11:35:32', '2023-12-13 11:35:34');
+INSERT INTO `alarmmg` VALUES (1774, 'More glass than known', '2023-12-13 11:35:45', '2023-12-13 11:45:23');
+INSERT INTO `alarmmg` VALUES (1775, 'More glass than known', '2023-12-13 11:47:33', '2023-12-13 11:48:58');
+INSERT INTO `alarmmg` VALUES (1776, 'A01 servo turn error', '2023-12-13 11:48:59', '2023-12-13 11:49:29');
+INSERT INTO `alarmmg` VALUES (1777, 'A02 servo turn error', '2023-12-13 11:48:59', '2023-12-13 11:49:29');
+INSERT INTO `alarmmg` VALUES (1778, 'A02 servo travel error', '2023-12-13 11:49:20', '2023-12-13 11:49:23');
+INSERT INTO `alarmmg` VALUES (1779, 'A01 servo travel error', '2023-12-13 11:49:22', '2023-12-13 11:49:23');
+INSERT INTO `alarmmg` VALUES (1780, 'A01 servo travel error', '2023-12-14 09:30:09', '2023-12-14 10:07:16');
+INSERT INTO `alarmmg` VALUES (1781, 'A02 servo travel error', '2023-12-14 09:30:09', '2023-12-14 10:07:16');
+INSERT INTO `alarmmg` VALUES (1782, 'emergency stop alarm', '2023-12-14 10:07:16', '2023-12-14 10:07:18');
+INSERT INTO `alarmmg` VALUES (1783, 'A01 servo travel error', '2023-12-14 10:07:51', '2023-12-14 10:07:55');
+INSERT INTO `alarmmg` VALUES (1784, 'A02 servo travel error', '2023-12-14 10:07:54', '2023-12-14 10:07:55');
+INSERT INTO `alarmmg` VALUES (1785, 'A01 servo turn error', '2023-12-14 10:07:55', '2023-12-14 10:08:02');
+INSERT INTO `alarmmg` VALUES (1786, 'A02 servo turn error', '2023-12-14 10:07:55', '2023-12-14 10:07:56');
+INSERT INTO `alarmmg` VALUES (1787, 'emergency stop alarm', '2023-12-14 10:14:10', '2023-12-14 10:18:21');
+INSERT INTO `alarmmg` VALUES (1788, 'A01 servo turn error', '2023-12-14 10:18:36', '2023-12-14 10:19:26');
+INSERT INTO `alarmmg` VALUES (1789, 'A02 servo turn error', '2023-12-14 10:18:36', '2023-12-14 10:19:26');
+INSERT INTO `alarmmg` VALUES (1790, 'A01 servo travel error', '2023-12-14 10:18:54', '2023-12-14 10:19:42');
+INSERT INTO `alarmmg` VALUES (1791, 'A02 servo turn error', '2023-12-14 10:37:57', '2023-12-14 10:40:21');
+INSERT INTO `alarmmg` VALUES (1792, 'emergency stop alarm', '2023-12-14 10:40:21', '2023-12-14 10:40:31');
+INSERT INTO `alarmmg` VALUES (1793, 'A02 servo turn error', '2023-12-14 10:41:47', '2023-12-14 10:51:01');
+INSERT INTO `alarmmg` VALUES (1794, 'A02 servo travel error', '2023-12-14 10:44:01', '2023-12-14 10:44:10');
+INSERT INTO `alarmmg` VALUES (1795, 'A02 servo travel error', '2023-12-14 10:44:12', '2023-12-14 10:44:53');
+INSERT INTO `alarmmg` VALUES (1796, 'emergency stop alarm', '2023-12-14 10:51:01', '2023-12-14 10:53:59');
+INSERT INTO `alarmmg` VALUES (1797, 'D01 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:55');
+INSERT INTO `alarmmg` VALUES (1798, 'D02 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:55');
+INSERT INTO `alarmmg` VALUES (1799, 'D03 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:55');
+INSERT INTO `alarmmg` VALUES (1800, 'D04 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:55');
+INSERT INTO `alarmmg` VALUES (1801, 'D05 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:55');
+INSERT INTO `alarmmg` VALUES (1802, 'D06 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:54');
+INSERT INTO `alarmmg` VALUES (1803, 'B01 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:55');
+INSERT INTO `alarmmg` VALUES (1804, 'B02 VFD error', '2023-12-14 10:53:59', '2023-12-14 10:54:55');
+INSERT INTO `alarmmg` VALUES (1805, 'A02 servo turn error', '2023-12-14 10:53:59', '2023-12-14 10:54:53');
+INSERT INTO `alarmmg` VALUES (1806, 'A01 servo travel error', '2023-12-14 10:53:59', '2023-12-14 10:54:54');
+INSERT INTO `alarmmg` VALUES (1807, 'A02 servo travel error', '2023-12-14 10:53:59', '2023-12-14 10:54:54');
+INSERT INTO `alarmmg` VALUES (1808, 'emergency stop alarm', '2023-12-14 10:54:53', '2023-12-14 10:55:04');
+INSERT INTO `alarmmg` VALUES (1809, 'A01 servo turn error', '2023-12-14 10:55:56', '2023-12-14 10:56:00');
+INSERT INTO `alarmmg` VALUES (1810, 'A02 servo turn error', '2023-12-14 10:55:56', '2023-12-14 11:20:58');
+INSERT INTO `alarmmg` VALUES (1811, 'emergency stop alarm', '2023-12-14 11:20:58', '2023-12-14 11:21:24');
+INSERT INTO `alarmmg` VALUES (1812, 'emergency stop alarm', '2023-12-14 11:23:01', '2023-12-14 11:23:03');
+INSERT INTO `alarmmg` VALUES (1813, 'A01 servo travel error', '2023-12-14 11:23:40', '2023-12-14 11:23:49');
+INSERT INTO `alarmmg` VALUES (1814, 'A02 servo travel error', '2023-12-14 11:23:40', '2023-12-14 11:23:49');
+INSERT INTO `alarmmg` VALUES (1815, 'A01 servo turn error', '2023-12-14 11:23:49', '2023-12-14 11:29:17');
+INSERT INTO `alarmmg` VALUES (1816, 'A02 servo turn error', '2023-12-14 11:23:49', '2023-12-14 11:29:17');
+INSERT INTO `alarmmg` VALUES (1817, 'D01 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:29');
+INSERT INTO `alarmmg` VALUES (1818, 'D02 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:29');
+INSERT INTO `alarmmg` VALUES (1819, 'D03 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:29');
+INSERT INTO `alarmmg` VALUES (1820, 'D04 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:29');
+INSERT INTO `alarmmg` VALUES (1821, 'D05 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:29');
+INSERT INTO `alarmmg` VALUES (1822, 'D06 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:29');
+INSERT INTO `alarmmg` VALUES (1823, 'B01 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:00');
+INSERT INTO `alarmmg` VALUES (1824, 'B02 VFD error', '2023-12-14 11:29:17', '2023-12-14 11:30:00');
+INSERT INTO `alarmmg` VALUES (1825, 'A01 servo travel error', '2023-12-14 11:29:17', '2023-12-14 11:30:00');
+INSERT INTO `alarmmg` VALUES (1826, 'A02 servo travel error', '2023-12-14 11:29:17', '2023-12-14 11:30:00');
+INSERT INTO `alarmmg` VALUES (1827, 'emergency stop alarm', '2023-12-14 11:30:26', '2023-12-14 11:30:33');
+INSERT INTO `alarmmg` VALUES (1828, 'A01 servo travel error', '2023-12-14 11:31:05', '2023-12-14 11:31:14');
+INSERT INTO `alarmmg` VALUES (1829, 'A02 servo travel error', '2023-12-14 11:31:05', '2023-12-14 11:31:14');
+INSERT INTO `alarmmg` VALUES (1830, 'emergency stop alarm', '2023-12-14 11:31:39', '2023-12-14 11:31:49');
+INSERT INTO `alarmmg` VALUES (1831, 'A01 servo turn error', '2023-12-14 11:32:28', '2023-12-14 11:34:11');
+INSERT INTO `alarmmg` VALUES (1832, 'D01 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:32');
+INSERT INTO `alarmmg` VALUES (1833, 'D02 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:32');
+INSERT INTO `alarmmg` VALUES (1834, 'D03 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:32');
+INSERT INTO `alarmmg` VALUES (1835, 'D04 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:32');
+INSERT INTO `alarmmg` VALUES (1836, 'D05 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:32');
+INSERT INTO `alarmmg` VALUES (1837, 'D06 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:32');
+INSERT INTO `alarmmg` VALUES (1838, 'B01 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:03');
+INSERT INTO `alarmmg` VALUES (1839, 'B02 VFD error', '2023-12-14 11:34:11', '2023-12-14 11:35:03');
+INSERT INTO `alarmmg` VALUES (1840, 'A01 servo travel error', '2023-12-14 11:34:11', '2023-12-14 11:35:03');
+INSERT INTO `alarmmg` VALUES (1841, 'A02 servo travel error', '2023-12-14 11:34:12', '2023-12-14 11:35:03');
+INSERT INTO `alarmmg` VALUES (1842, 'emergency stop alarm', '2023-12-14 11:35:30', '2023-12-14 11:35:40');
+INSERT INTO `alarmmg` VALUES (1843, 'A01 servo travel error', '2023-12-15 10:11:02', '2023-12-15 10:11:19');
+INSERT INTO `alarmmg` VALUES (1844, 'A02 servo travel error', '2023-12-15 10:11:02', '2023-12-15 10:11:19');
+INSERT INTO `alarmmg` VALUES (1845, 'A01 conveyor right safety alarm', '2023-12-15 11:04:15', '2023-12-15 11:04:17');
+INSERT INTO `alarmmg` VALUES (1846, 'A01 conveyor right safety alarm', '2023-12-15 11:04:27', '2023-12-15 11:31:52');
+INSERT INTO `alarmmg` VALUES (1847, '1# buffer safety alarm', '2023-12-15 11:04:27', '2023-12-15 11:31:52');
+INSERT INTO `alarmmg` VALUES (1848, '2# buffer safety alarm', '2023-12-15 11:06:47', '2023-12-15 11:06:49');
+INSERT INTO `alarmmg` VALUES (1849, 'A01 conveyor right safety alarm', '2023-12-15 11:32:51', '2023-12-15 11:32:54');
+INSERT INTO `alarmmg` VALUES (1850, 'A01 conveyor right safety alarm', '2023-12-15 11:33:03', '2023-12-15 11:33:06');
+INSERT INTO `alarmmg` VALUES (1851, '1# buffer safety alarm', '2023-12-15 11:33:04', '2023-12-15 11:33:06');
+INSERT INTO `alarmmg` VALUES (1852, 'A02 conveyor Left safety alarm', '2023-12-15 11:35:56', '2023-12-15 11:35:58');
+INSERT INTO `alarmmg` VALUES (1853, '2# buffer safety alarm', '2023-12-15 11:35:56', '2023-12-15 11:35:58');
+INSERT INTO `alarmmg` VALUES (1854, 'A02 conveyor Left safety alarm', '2023-12-15 11:36:12', '2023-12-15 11:36:16');
+INSERT INTO `alarmmg` VALUES (1855, '2# buffer safety alarm', '2023-12-15 11:36:12', '2023-12-15 11:36:16');
+INSERT INTO `alarmmg` VALUES (1856, 'A02 conveyor Left safety alarm', '2023-12-15 11:36:29', '2023-12-15 11:36:32');
+INSERT INTO `alarmmg` VALUES (1857, '2# buffer safety alarm', '2023-12-15 11:36:29', '2023-12-15 11:36:32');
+INSERT INTO `alarmmg` VALUES (1858, 'less glass than known', '2023-12-15 11:36:45', '2023-12-15 11:40:24');
+INSERT INTO `alarmmg` VALUES (1859, 'A01 servo turn error', '2023-12-15 13:53:38', '2023-12-15 13:58:17');
+INSERT INTO `alarmmg` VALUES (1860, 'A02 servo turn error', '2023-12-15 13:53:38', '2023-12-15 13:58:17');
+INSERT INTO `alarmmg` VALUES (1861, 'D01 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1862, 'D02 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1863, 'D03 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1864, 'D04 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1865, 'D05 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1866, 'D06 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1867, 'B01 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1868, 'B02 VFD error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1869, 'A01 servo travel error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1870, 'A02 servo travel error', '2023-12-15 13:58:17', '2023-12-15 13:58:25');
+INSERT INTO `alarmmg` VALUES (1871, 'emergency stop alarm', '2023-12-15 13:58:24', '2023-12-15 13:58:31');
+INSERT INTO `alarmmg` VALUES (1872, 'A01 servo travel error', '2023-12-15 13:59:02', '2023-12-15 13:59:15');
+INSERT INTO `alarmmg` VALUES (1873, 'A02 servo travel error', '2023-12-15 13:59:02', '2023-12-15 13:59:15');
+INSERT INTO `alarmmg` VALUES (1874, 'A01 servo turn error', '2023-12-15 13:59:16', '2023-12-15 13:59:20');
+INSERT INTO `alarmmg` VALUES (1875, 'A02 servo turn error', '2023-12-15 13:59:16', '2023-12-15 13:59:20');
+INSERT INTO `alarmmg` VALUES (1876, 'B01 servo travel error', '2023-12-15 13:59:16', '2023-12-15 13:59:20');
+INSERT INTO `alarmmg` VALUES (1877, 'B02 servo travel error', '2023-12-15 13:59:16', '2023-12-15 13:59:20');
+INSERT INTO `alarmmg` VALUES (1878, 'D01 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1879, 'D02 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1880, 'D03 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1881, 'D04 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1882, 'D05 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1883, 'D06 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1884, 'B01 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1885, 'B02 VFD error', '2023-12-15 14:00:49', '2023-12-15 14:01:57');
+INSERT INTO `alarmmg` VALUES (1886, 'A01 servo travel error', '2023-12-15 14:00:49', '2023-12-15 14:01:55');
+INSERT INTO `alarmmg` VALUES (1887, 'A02 servo travel error', '2023-12-15 14:00:49', '2023-12-15 14:01:55');
+INSERT INTO `alarmmg` VALUES (1888, 'emergency stop alarm', '2023-12-15 14:01:53', '2023-12-15 14:02:04');
+INSERT INTO `alarmmg` VALUES (1889, 'A01 servo turn error', '2023-12-15 14:02:50', '2023-12-15 14:02:51');
+INSERT INTO `alarmmg` VALUES (1890, 'A02 servo turn error', '2023-12-15 14:02:50', '2023-12-15 14:02:51');
+INSERT INTO `alarmmg` VALUES (1891, 'B01 servo travel error', '2023-12-15 14:02:50', '2023-12-15 14:02:51');
+INSERT INTO `alarmmg` VALUES (1892, 'B02 servo travel error', '2023-12-15 14:02:50', '2023-12-15 14:02:51');
+INSERT INTO `alarmmg` VALUES (1893, 'emergency stop alarm', '2023-12-15 14:03:10', '2023-12-15 14:03:15');
+INSERT INTO `alarmmg` VALUES (1894, 'A01 servo travel error', '2023-12-15 14:03:46', '2023-12-15 14:04:01');
+INSERT INTO `alarmmg` VALUES (1895, 'A02 servo travel error', '2023-12-15 14:03:50', '2023-12-15 14:04:01');
+INSERT INTO `alarmmg` VALUES (1896, 'A01 servo turn error', '2023-12-15 14:04:01', '2023-12-15 14:05:17');
+INSERT INTO `alarmmg` VALUES (1897, 'A02 servo turn error', '2023-12-15 14:04:01', '2023-12-15 14:04:03');
+INSERT INTO `alarmmg` VALUES (1898, 'emergency stop alarm', '2023-12-15 14:05:17', '2023-12-15 14:05:23');
+INSERT INTO `alarmmg` VALUES (1899, 'A02 servo travel error', '2023-12-15 14:05:56', '2023-12-15 14:06:30');
+INSERT INTO `alarmmg` VALUES (1900, 'A01 servo travel error', '2023-12-15 14:06:00', '2023-12-15 14:06:30');
+INSERT INTO `alarmmg` VALUES (1901, 'A01 servo turn error', '2023-12-15 14:06:31', '2023-12-15 14:10:52');
+INSERT INTO `alarmmg` VALUES (1902, 'A02 servo turn error', '2023-12-15 14:06:31', '2023-12-15 14:06:33');
+INSERT INTO `alarmmg` VALUES (1903, 'emergency stop alarm', '2023-12-15 14:10:52', '2023-12-15 14:10:57');
+INSERT INTO `alarmmg` VALUES (1904, 'A01 servo travel error', '2023-12-15 14:11:29', '2023-12-15 14:12:03');
+INSERT INTO `alarmmg` VALUES (1905, 'A02 servo travel error', '2023-12-15 14:11:29', '2023-12-15 14:12:03');
+INSERT INTO `alarmmg` VALUES (1906, 'A01 servo turn error', '2023-12-15 14:12:03', '2023-12-15 14:13:39');
+INSERT INTO `alarmmg` VALUES (1907, 'A01 servo travel error', '2023-12-15 14:14:40', '2023-12-15 14:14:49');
+INSERT INTO `alarmmg` VALUES (1908, 'A02 servo travel error', '2023-12-15 14:14:40', '2023-12-15 14:14:49');
+INSERT INTO `alarmmg` VALUES (1909, '2# buffer safety alarm', '2023-12-15 14:16:18', '2023-12-15 14:16:21');
+INSERT INTO `alarmmg` VALUES (1910, 'A02 conveyor Left safety alarm', '2023-12-15 14:16:19', '2023-12-15 14:16:21');
+INSERT INTO `alarmmg` VALUES (1911, 'A02 conveyor Left safety alarm', '2023-12-15 14:16:48', '2023-12-15 14:16:52');
+INSERT INTO `alarmmg` VALUES (1912, 'A02 conveyor Left safety alarm', '2023-12-15 15:06:23', '2023-12-15 15:06:25');
+INSERT INTO `alarmmg` VALUES (1913, '2# buffer safety alarm', '2023-12-15 15:06:23', '2023-12-15 15:06:25');
+INSERT INTO `alarmmg` VALUES (1914, 'A02 conveyor Left safety alarm', '2023-12-15 15:06:53', '2023-12-15 15:06:57');
+INSERT INTO `alarmmg` VALUES (1915, 'A02 conveyor Left safety alarm', '2023-12-15 15:14:23', '2023-12-15 15:14:27');
+INSERT INTO `alarmmg` VALUES (1916, '2# buffer safety alarm', '2023-12-15 15:14:24', '2023-12-15 15:14:27');
+INSERT INTO `alarmmg` VALUES (1917, 'A02 conveyor Left safety alarm', '2023-12-15 15:14:55', '2023-12-15 15:14:59');
+INSERT INTO `alarmmg` VALUES (1918, '2# buffer safety alarm', '2023-12-15 15:16:18', '2023-12-15 15:16:21');
+INSERT INTO `alarmmg` VALUES (1919, 'A02 conveyor Left safety alarm', '2023-12-15 15:16:19', '2023-12-15 15:16:21');
+INSERT INTO `alarmmg` VALUES (1920, 'A02 conveyor Left safety alarm', '2023-12-15 15:16:50', '2023-12-15 15:16:53');
+INSERT INTO `alarmmg` VALUES (1921, 'A01 conveyor right safety alarm', '2023-12-15 15:46:56', '2023-12-15 15:46:58');
+INSERT INTO `alarmmg` VALUES (1922, 'A01 conveyor right safety alarm', '2023-12-15 15:47:07', '2023-12-15 15:47:17');
+INSERT INTO `alarmmg` VALUES (1923, '1# buffer safety alarm', '2023-12-15 15:47:08', '2023-12-15 15:47:17');
+INSERT INTO `alarmmg` VALUES (1924, 'A01 conveyor right safety alarm', '2023-12-15 15:50:17', '2023-12-15 15:50:20');
+INSERT INTO `alarmmg` VALUES (1925, 'A01 conveyor right safety alarm', '2023-12-15 15:50:29', '2023-12-15 15:50:31');
+INSERT INTO `alarmmg` VALUES (1926, '1# buffer safety alarm', '2023-12-15 15:50:29', '2023-12-15 15:50:32');
+INSERT INTO `alarmmg` VALUES (1927, 'A01 conveyor right safety alarm', '2023-12-15 16:00:31', '2023-12-15 16:00:34');
+INSERT INTO `alarmmg` VALUES (1928, 'A01 conveyor right safety alarm', '2023-12-15 16:00:43', '2023-12-15 16:00:47');
+INSERT INTO `alarmmg` VALUES (1929, '1# buffer safety alarm', '2023-12-15 16:00:44', '2023-12-15 16:00:47');
+INSERT INTO `alarmmg` VALUES (1930, 'A01 conveyor right safety alarm', '2023-12-15 16:03:01', '2023-12-15 16:03:04');
+INSERT INTO `alarmmg` VALUES (1931, 'A01 conveyor right safety alarm', '2023-12-15 16:03:13', '2023-12-15 16:03:16');
+INSERT INTO `alarmmg` VALUES (1932, '1# buffer safety alarm', '2023-12-15 16:03:13', '2023-12-15 16:03:17');
+INSERT INTO `alarmmg` VALUES (1933, '2# buffer safety alarm', '2023-12-15 16:05:19', '2023-12-15 16:05:22');
+INSERT INTO `alarmmg` VALUES (1934, 'A02 conveyor Left safety alarm', '2023-12-15 16:05:20', '2023-12-15 16:05:22');
+INSERT INTO `alarmmg` VALUES (1935, 'A02 conveyor Left safety alarm', '2023-12-15 16:05:50', '2023-12-15 16:05:55');
+INSERT INTO `alarmmg` VALUES (1936, 'A02 conveyor Left safety alarm', '2023-12-15 16:08:34', '2023-12-15 16:08:36');
+INSERT INTO `alarmmg` VALUES (1937, '2# buffer safety alarm', '2023-12-15 16:08:34', '2023-12-15 16:08:36');
+INSERT INTO `alarmmg` VALUES (1938, 'A02 conveyor Left safety alarm', '2023-12-15 16:08:51', '2023-12-15 16:08:53');
+INSERT INTO `alarmmg` VALUES (1939, '2# buffer safety alarm', '2023-12-15 16:08:51', '2023-12-15 16:08:53');
+INSERT INTO `alarmmg` VALUES (1940, 'emergency stop alarm', '2023-12-15 16:09:08', '2023-12-15 16:09:22');
+INSERT INTO `alarmmg` VALUES (1941, 'less glass than known', '2023-12-15 16:19:51', '2023-12-15 16:21:50');
+INSERT INTO `alarmmg` VALUES (1942, 'emergency stop alarm', '2023-12-15 16:20:52', '2023-12-15 16:21:08');
+INSERT INTO `alarmmg` VALUES (1943, 'A02 servo turn error', '2023-12-15 16:21:51', '2023-12-15 16:21:53');
+INSERT INTO `alarmmg` VALUES (1944, 'A01 conveyor right safety alarm', '2023-12-15 16:24:24', '2023-12-15 16:24:26');
+INSERT INTO `alarmmg` VALUES (1945, '1# buffer safety alarm', '2023-12-15 16:24:38', '2023-12-15 16:24:40');
+INSERT INTO `alarmmg` VALUES (1946, 'A02 conveyor Left safety alarm', '2023-12-15 16:25:59', '2023-12-15 16:26:01');
+INSERT INTO `alarmmg` VALUES (1947, '2# buffer safety alarm', '2023-12-15 16:25:59', '2023-12-15 16:26:01');
+INSERT INTO `alarmmg` VALUES (1948, 'A02 conveyor Left safety alarm', '2023-12-15 16:26:30', '2023-12-15 16:26:33');
+INSERT INTO `alarmmg` VALUES (1949, 'A01 conveyor right safety alarm', '2023-12-15 16:27:56', '2023-12-15 16:27:59');
+INSERT INTO `alarmmg` VALUES (1950, 'A01 conveyor right safety alarm', '2023-12-15 16:28:08', '2023-12-15 16:28:11');
+INSERT INTO `alarmmg` VALUES (1951, '1# buffer safety alarm', '2023-12-15 16:28:09', '2023-12-15 16:28:11');
+INSERT INTO `alarmmg` VALUES (1952, 'A02 conveyor Left safety alarm', '2023-12-15 16:29:16', '2023-12-15 16:29:20');
+INSERT INTO `alarmmg` VALUES (1953, '2# buffer safety alarm', '2023-12-15 16:29:16', '2023-12-15 16:29:20');
+INSERT INTO `alarmmg` VALUES (1954, 'A02 conveyor Left safety alarm', '2023-12-15 16:29:48', '2023-12-15 16:29:51');
+INSERT INTO `alarmmg` VALUES (1955, 'A02 conveyor Left safety alarm', '2023-12-15 16:30:39', '2023-12-15 16:30:41');
+INSERT INTO `alarmmg` VALUES (1956, '2# buffer safety alarm', '2023-12-15 16:30:39', '2023-12-15 16:30:41');
+INSERT INTO `alarmmg` VALUES (1957, 'A02 conveyor Left safety alarm', '2023-12-15 16:31:09', '2023-12-15 16:31:13');
+INSERT INTO `alarmmg` VALUES (1958, 'A01 conveyor right safety alarm', '2023-12-15 16:33:11', '2023-12-15 16:33:15');
+INSERT INTO `alarmmg` VALUES (1959, 'A01 conveyor right safety alarm', '2023-12-15 16:33:23', '2023-12-15 16:33:26');
+INSERT INTO `alarmmg` VALUES (1960, '1# buffer safety alarm', '2023-12-15 16:33:23', '2023-12-15 16:33:26');
+INSERT INTO `alarmmg` VALUES (1961, 'A01 conveyor right safety alarm', '2023-12-15 16:34:17', '2023-12-15 16:34:19');
+INSERT INTO `alarmmg` VALUES (1962, 'A01 conveyor right safety alarm', '2023-12-15 16:34:28', '2023-12-15 16:34:31');
+INSERT INTO `alarmmg` VALUES (1963, '1# buffer safety alarm', '2023-12-15 16:34:29', '2023-12-15 16:34:31');
+INSERT INTO `alarmmg` VALUES (1964, 'A02 conveyor Left safety alarm', '2023-12-15 16:35:22', '2023-12-15 16:35:25');
+INSERT INTO `alarmmg` VALUES (1965, '2# buffer safety alarm', '2023-12-15 16:35:22', '2023-12-15 16:35:25');
+INSERT INTO `alarmmg` VALUES (1966, 'A02 conveyor Left safety alarm', '2023-12-15 16:35:53', '2023-12-15 16:35:57');
+INSERT INTO `alarmmg` VALUES (1967, 'A02 conveyor Left safety alarm', '2023-12-15 16:36:29', '2023-12-15 16:36:33');
+INSERT INTO `alarmmg` VALUES (1968, '2# buffer safety alarm', '2023-12-15 16:36:29', '2023-12-15 16:36:33');
+INSERT INTO `alarmmg` VALUES (1969, 'A02 conveyor Left safety alarm', '2023-12-15 16:36:59', '2023-12-15 16:37:03');
+INSERT INTO `alarmmg` VALUES (1970, 'A01 conveyor right safety alarm', '2023-12-15 16:42:08', '2023-12-15 16:42:11');
+INSERT INTO `alarmmg` VALUES (1971, 'A01 conveyor right safety alarm', '2023-12-15 16:42:19', '2023-12-15 16:42:22');
+INSERT INTO `alarmmg` VALUES (1972, '1# buffer safety alarm', '2023-12-15 16:42:19', '2023-12-15 16:42:22');
+INSERT INTO `alarmmg` VALUES (1973, 'D01 VFD error', '2023-12-20 11:07:17', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1974, 'D02 VFD error', '2023-12-20 11:07:17', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1975, 'D03 VFD error', '2023-12-20 11:07:17', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1976, 'D04 VFD error', '2023-12-20 11:07:17', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1977, 'D05 VFD error', '2023-12-20 11:07:17', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1978, 'D06 VFD error', '2023-12-20 11:07:17', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1979, 'B01 VFD error', '2023-12-20 11:07:18', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1980, 'B02 VFD error', '2023-12-20 11:07:18', '2023-12-20 11:07:46');
+INSERT INTO `alarmmg` VALUES (1981, 'A01 servo travel error', '2023-12-20 11:07:18', '2023-12-20 11:07:44');
+INSERT INTO `alarmmg` VALUES (1982, 'A02 servo travel error', '2023-12-20 11:07:18', '2023-12-20 11:07:44');
+INSERT INTO `alarmmg` VALUES (1983, 'emergency stop alarm', '2023-12-20 11:07:44', '2023-12-20 11:07:49');
+INSERT INTO `alarmmg` VALUES (1984, 'emergency stop alarm', '2023-12-20 11:13:13', '2023-12-20 11:13:16');
+INSERT INTO `alarmmg` VALUES (1985, 'A02 servo turn error', '2023-12-20 11:15:15', '2023-12-20 11:18:01');
+INSERT INTO `alarmmg` VALUES (1986, 'emergency stop alarm', '2023-12-20 11:18:01', '2023-12-20 11:19:10');
+INSERT INTO `alarmmg` VALUES (1987, 'A02 servo turn error', '2023-12-20 11:20:46', '2023-12-20 11:23:13');
+INSERT INTO `alarmmg` VALUES (1988, 'A01 servo travel error', '2023-12-20 11:24:04', '2023-12-20 11:24:15');
+INSERT INTO `alarmmg` VALUES (1989, 'A02 servo travel error', '2023-12-20 11:24:04', '2023-12-20 11:24:15');
-- ----------------------------
-- Table structure for car_position
@@ -471,7 +719,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 = 2 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
@@ -515,7 +763,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 = 47 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
@@ -546,7 +794,7 @@
`height` decimal(10, 2) NULL DEFAULT NULL,
`Conversionrate` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of glass
@@ -586,7 +834,6 @@
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, 'Electrical/alarm', 1, '2021-11-28 14:30:28', '2023-09-08 11:14:08');
INSERT INTO `menu_list` VALUES (51, 2, '璁惧鐘舵��', NULL, 51, 'Electrical/State', 1, '2023-08-25 13:29:13', '2023-09-11 17:07:08');
-INSERT INTO `menu_list` VALUES (52, 2, '寮�鍏虫帶鍒�', NULL, 52, 'Electrical/Action', 1, '2023-08-25 13:29:18', '2023-09-12 17:02:54');
INSERT INTO `menu_list` VALUES (53, 2, '鍙傛暟涓嬪彂', NULL, 53, 'Electrical/Servomanual', 1, '2023-08-25 13:29:22', '2023-12-07 09:10:42');
INSERT INTO `menu_list` VALUES (54, 2, 'IO鐘舵��', NULL, 54, 'Electrical/Sign', 1, '2023-08-25 13:29:22', '2023-12-08 11:35:20');
@@ -1358,7 +1605,7 @@
`order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '璁㈠崟鍙�',
`state` int NULL DEFAULT NULL COMMENT '鐘舵��(0锛氭寜姝よ鍗曞彿鍑虹墖锛�1缁撴潫鍑虹墖)',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of order_out
@@ -1458,8 +1705,8 @@
-- ----------------------------
-- Records of queue
-- ----------------------------
-INSERT INTO `queue` VALUES (1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 0, '2023-12-08 14:03:55');
-INSERT INTO `queue` VALUES (2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 0, '2023-12-08 14:04:09');
+INSERT INTO `queue` VALUES (1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 0, '2023-12-12 16:35:47');
+INSERT INTO `queue` VALUES (2, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, 0, '2023-12-12 16:36:09');
-- ----------------------------
-- Table structure for role
@@ -1515,7 +1762,7 @@
INSERT INTO `role_menu_list` VALUES (19, 1, 50, 1, '2023-08-24 09:13:00', '2023-12-08 11:55:22');
INSERT INTO `role_menu_list` VALUES (20, 1, 49, 1, '2023-08-24 10:08:38', '2023-12-08 11:55:22');
INSERT INTO `role_menu_list` VALUES (21, 1, 51, 1, '2023-08-24 10:08:56', '2023-12-08 11:55:22');
-INSERT INTO `role_menu_list` VALUES (22, 1, 52, 1, '2023-08-24 10:08:56', '2023-12-08 11:55:22');
+INSERT INTO `role_menu_list` VALUES (22, 1, 52, 0, '2023-08-24 10:08:56', '2023-12-14 16:10:00');
INSERT INTO `role_menu_list` VALUES (23, 1, 53, 1, '2023-08-24 10:08:56', '2023-12-08 11:55:22');
INSERT INTO `role_menu_list` VALUES (25, 1, 60, 1, '2023-08-25 13:05:53', '2023-12-08 11:55:22');
INSERT INTO `role_menu_list` VALUES (26, 1, 1, 1, '2023-08-28 14:29:17', '2023-12-08 11:55:22');
@@ -1530,7 +1777,7 @@
INSERT INTO `role_menu_list` VALUES (42, 2, 50, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
INSERT INTO `role_menu_list` VALUES (43, 2, 49, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
INSERT INTO `role_menu_list` VALUES (44, 2, 51, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
-INSERT INTO `role_menu_list` VALUES (45, 2, 52, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
+INSERT INTO `role_menu_list` VALUES (45, 2, 52, 0, '2023-08-28 15:14:27', '2023-12-14 16:10:07');
INSERT INTO `role_menu_list` VALUES (46, 2, 53, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
INSERT INTO `role_menu_list` VALUES (47, 2, 60, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
INSERT INTO `role_menu_list` VALUES (51, 2, 49, 1, '2023-08-28 15:14:27', '2023-12-08 14:18:20');
@@ -1563,85 +1810,85 @@
-- ----------------------------
-- Records of role_permission
-- ----------------------------
-INSERT INTO `role_permission` VALUES (1, 1, 1, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (2, 1, 2, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (3, 1, 3, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (7, 1, 7, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (8, 1, 8, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (9, 1, 9, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (10, 1, 10, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (11, 1, 11, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (12, 1, 12, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (13, 1, 13, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (16, 1, 16, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (17, 1, 17, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (18, 1, 18, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (19, 1, 19, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (20, 1, 20, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (22, 1, 22, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (25, 1, 25, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (26, 1, 26, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (27, 1, 27, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (28, 1, 28, 1, '2021-11-28 15:07:54', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (37, 2, 25, 1, '2021-11-28 16:30:57', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (38, 2, 26, 1, '2021-11-28 16:30:57', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (39, 2, 27, 1, '2021-11-28 16:30:57', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (40, 2, 28, 1, '2021-11-28 16:32:35', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (41, 2, 22, 1, '2021-11-28 19:57:35', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (42, 1, 30, 1, '2023-08-24 08:55:34', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (43, 1, 29, 1, '2023-08-24 08:56:15', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (44, 1, 31, 1, '2023-08-24 08:56:23', '2023-12-08 11:53:19', NULL);
-INSERT INTO `role_permission` VALUES (53, 2, 2, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (54, 2, 3, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (56, 2, 8, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (57, 2, 9, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (58, 2, 10, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (61, 2, 13, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (62, 2, 16, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (63, 2, 17, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (64, 2, 18, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (65, 2, 19, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (66, 2, 20, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (67, 2, 22, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (68, 2, 25, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (70, 2, 27, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (71, 2, 28, 1, '2021-11-28 15:07:54', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (72, 2, 30, 1, '2023-08-24 08:55:34', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (73, 2, 29, 1, '2023-08-24 08:56:15', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-12-08 14:19:11', NULL);
-INSERT INTO `role_permission` VALUES (75, 1, 32, 1, '2023-12-05 08:54:59', '2023-12-05 08:54:59', NULL);
-INSERT INTO `role_permission` VALUES (76, 1, 33, 1, '2023-12-05 08:55:04', '2023-12-05 08:55:04', NULL);
-INSERT INTO `role_permission` VALUES (77, 1, 34, 1, '2023-12-05 08:55:09', '2023-12-05 08:55:09', NULL);
-INSERT INTO `role_permission` VALUES (78, 1, 35, 1, '2023-12-05 14:54:43', '2023-12-05 14:54:46', NULL);
-INSERT INTO `role_permission` VALUES (79, 2, 33, 1, '2023-12-08 10:58:25', '2023-12-08 11:42:12', NULL);
-INSERT INTO `role_permission` VALUES (80, 2, 34, 1, '2023-12-08 10:59:15', '2023-12-08 11:42:12', NULL);
-INSERT INTO `role_permission` VALUES (81, 2, 35, 1, '2023-12-08 10:59:23', '2023-12-08 11:42:12', NULL);
-INSERT INTO `role_permission` VALUES (82, 5, 33, 1, '2023-12-08 10:59:33', '2023-12-08 11:48:26', NULL);
-INSERT INTO `role_permission` VALUES (83, 5, 34, 0, '2023-12-08 10:59:39', '2023-12-08 11:48:26', NULL);
-INSERT INTO `role_permission` VALUES (84, 5, 35, 0, '2023-12-08 10:59:51', '2023-12-08 11:48:26', NULL);
-INSERT INTO `role_permission` VALUES (85, 5, 32, 0, '2023-12-08 11:08:54', '2023-12-08 11:48:26', NULL);
-INSERT INTO `role_permission` VALUES (86, 5, 1, 1, '2023-12-08 11:45:47', '2023-12-08 11:48:26', NULL);
-INSERT INTO `role_permission` VALUES (87, 5, 7, 1, '2023-12-08 11:45:55', '2023-12-08 11:48:26', NULL);
-INSERT INTO `role_permission` VALUES (89, 5, 2, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (90, 5, 3, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (91, 5, 8, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (92, 5, 9, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (93, 5, 10, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (94, 5, 13, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (95, 5, 16, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (96, 5, 17, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (97, 5, 18, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (98, 5, 19, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (99, 5, 20, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (100, 5, 22, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (101, 5, 25, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (102, 5, 26, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (103, 5, 27, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (104, 5, 28, 1, '2021-11-28 15:07:54', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (105, 5, 30, 1, '2023-08-24 08:55:34', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (106, 5, 29, 1, '2023-08-24 08:56:15', '2023-12-08 14:18:38', NULL);
-INSERT INTO `role_permission` VALUES (107, 5, 1, 1, '2023-08-30 16:29:46', '2023-12-08 14:18:38', NULL);
+INSERT INTO `role_permission` VALUES (1, 1, 1, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (2, 1, 2, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (3, 1, 3, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (7, 1, 7, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (8, 1, 8, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (9, 1, 9, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (10, 1, 10, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (11, 1, 11, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (12, 1, 12, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (13, 1, 13, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (16, 1, 16, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (17, 1, 17, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (18, 1, 18, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (19, 1, 19, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (20, 1, 20, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (22, 1, 22, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (25, 1, 25, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (26, 1, 26, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (27, 1, 27, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (28, 1, 28, 1, '2021-11-28 15:07:54', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (37, 2, 25, 1, '2021-11-28 16:30:57', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (38, 2, 26, 1, '2021-11-28 16:30:57', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (39, 2, 27, 1, '2021-11-28 16:30:57', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (40, 2, 28, 1, '2021-11-28 16:32:35', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (41, 2, 22, 1, '2021-11-28 19:57:35', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (42, 1, 30, 1, '2023-08-24 08:55:34', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (43, 1, 29, 1, '2023-08-24 08:56:15', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (44, 1, 31, 1, '2023-08-24 08:56:23', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (53, 2, 2, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (54, 2, 3, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (56, 2, 8, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (57, 2, 9, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (58, 2, 10, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (61, 2, 13, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (62, 2, 16, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (63, 2, 17, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (64, 2, 18, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (65, 2, 19, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (66, 2, 20, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (67, 2, 22, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (68, 2, 25, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (70, 2, 27, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (71, 2, 28, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (72, 2, 30, 1, '2023-08-24 08:55:34', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (73, 2, 29, 1, '2023-08-24 08:56:15', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (75, 1, 32, 1, '2023-12-05 08:54:59', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (76, 1, 33, 1, '2023-12-05 08:55:04', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (77, 1, 34, 1, '2023-12-05 08:55:09', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (78, 1, 35, 1, '2023-12-05 14:54:43', '2023-12-12 10:51:42', 'admin');
+INSERT INTO `role_permission` VALUES (79, 2, 33, 1, '2023-12-08 10:58:25', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (80, 2, 34, 1, '2023-12-08 10:59:15', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (81, 2, 35, 1, '2023-12-08 10:59:23', '2023-12-12 10:57:16', 'user2');
+INSERT INTO `role_permission` VALUES (82, 5, 33, 1, '2023-12-08 10:59:33', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (83, 5, 34, 0, '2023-12-08 10:59:39', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (84, 5, 35, 0, '2023-12-08 10:59:51', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (85, 5, 32, 0, '2023-12-08 11:08:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (86, 5, 1, 1, '2023-12-08 11:45:47', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (87, 5, 7, 1, '2023-12-08 11:45:55', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (89, 5, 2, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (90, 5, 3, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (91, 5, 8, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (92, 5, 9, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (93, 5, 10, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (94, 5, 13, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (95, 5, 16, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (96, 5, 17, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (97, 5, 18, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (98, 5, 19, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (99, 5, 20, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (100, 5, 22, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (101, 5, 25, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (102, 5, 26, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (103, 5, 27, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (104, 5, 28, 1, '2021-11-28 15:07:54', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (105, 5, 30, 1, '2023-08-24 08:55:34', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (106, 5, 29, 1, '2023-08-24 08:56:15', '2023-12-12 10:57:25', 'user3');
+INSERT INTO `role_permission` VALUES (107, 5, 1, 1, '2023-08-30 16:29:46', '2023-12-12 10:57:25', 'user3');
-- ----------------------------
-- Table structure for storage_cage
@@ -2105,7 +2352,7 @@
`cageno` int NULL DEFAULT NULL COMMENT '绗煎瓙鍙�',
PRIMARY KEY (`id`) USING BTREE,
INDEX `raw_package_id1`(`raw_package_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 492 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 491 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of storage_rack
@@ -2545,7 +2792,7 @@
`finsh_time` datetime(0) NULL DEFAULT NULL COMMENT '浠诲姟缁撴潫鏃堕棿',
`glass_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 67 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 66 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of storage_task
--
Gitblit v1.8.0