From 1abae1d821d2c4da18a16145e3d9d8f7a747da02 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 08 九月 2023 17:11:37 +0800
Subject: [PATCH] Merge branch 'master' of ssh://10.153.19.150:29418/CanadaMes

---
 CanadaMes-ui/src/views/Electrical/Sign.vue                                           |   16 +
 springboot-vue3/src/main/java/com/example/springboot/controller/AlarmController.java |   25 +++
 CanadaMes-ui/src/views/Electrical/State.vue                                          |   69 ++++----
 CanadaMes-ui/src/api/alarm.js                                                        |    8 +
 springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java         |   92 +++++++++++
 springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java          |   69 +-------
 CanadaMes-ui/src/lang/locales/zh-CN.json                                             |    1 
 CanadaMes-ui/package.json                                                            |    1 
 springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java         |   62 -------
 CanadaMes-ui/src/views/Electrical/alarm.vue                                          |   96 +++++++++--
 CanadaMes-ui/package-lock.json                                                       |   14 +
 CanadaMes-ui/src/lang/locales/en-US.json                                             |    1 
 springboot-vue3/src/main/java/com/example/springboot/mapper/AlarmMapper.java         |    5 
 13 files changed, 282 insertions(+), 177 deletions(-)

diff --git a/CanadaMes-ui/package-lock.json b/CanadaMes-ui/package-lock.json
index f0dcccf..8a2960a 100644
--- a/CanadaMes-ui/package-lock.json
+++ b/CanadaMes-ui/package-lock.json
@@ -14,6 +14,7 @@
         "js-cookie": "^3.0.1",
         "less": "^3.12.2",
         "less-loader": "^6.2.0",
+        "moment": "^2.29.4",
         "vue": "^2.6.11",
         "vue-i18n": "^8.26.5",
         "vue-router": "^3.3.4",
@@ -9041,6 +9042,14 @@
       },
       "bin": {
         "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/moment": {
+      "version": "2.29.4",
+      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+      "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
+      "engines": {
+        "node": "*"
       }
     },
     "node_modules/move-concurrently": {
@@ -21750,6 +21759,11 @@
         "minimist": "^1.2.5"
       }
     },
+    "moment": {
+      "version": "2.29.4",
+      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
+      "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
+    },
     "move-concurrently": {
       "version": "1.0.1",
       "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz",
diff --git a/CanadaMes-ui/package.json b/CanadaMes-ui/package.json
index 276a358..895a0f4 100644
--- a/CanadaMes-ui/package.json
+++ b/CanadaMes-ui/package.json
@@ -14,6 +14,7 @@
     "js-cookie": "^3.0.1",
     "less": "^3.12.2",
     "less-loader": "^6.2.0",
+    "moment": "^2.29.4",
     "vue": "^2.6.11",
     "vue-i18n": "^8.26.5",
     "vue-router": "^3.3.4",
diff --git a/CanadaMes-ui/src/api/alarm.js b/CanadaMes-ui/src/api/alarm.js
index cba7528..38c7b0f 100644
--- a/CanadaMes-ui/src/api/alarm.js
+++ b/CanadaMes-ui/src/api/alarm.js
@@ -20,3 +20,11 @@
     data
   })
 }
+
+export function setTime (shijian1, shijian2) {
+  return request({
+    url: '/alarm/stTime?shijian1=' + shijian1 + '&shijian2=' + shijian2,
+    method: 'get',
+    data: ""
+  })
+}
diff --git a/CanadaMes-ui/src/lang/locales/en-US.json b/CanadaMes-ui/src/lang/locales/en-US.json
index 20e6f97..5942770 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -164,6 +164,7 @@
     "B02 OUT DEC error": "B02 OUT DEC error",
     "B02 OUT pos error": "B02 OUT pos error"
   },
+  "Electrical": "Electrical",
   "Parameter": "Parameter",
   "Action": "Action",
   "Sign": "Sign",
diff --git a/CanadaMes-ui/src/lang/locales/zh-CN.json b/CanadaMes-ui/src/lang/locales/zh-CN.json
index 6f36852..d1971e8 100644
--- a/CanadaMes-ui/src/lang/locales/zh-CN.json
+++ b/CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -165,6 +165,7 @@
     "B02 OUT DEC error": "B02 OUT DEC 閿欒",
     "B02 OUT pos error": "B02 OUT pos 閿欒"
   },
+  "Electrical": "璁惧绠$悊",
   "Parameter": "鍙傛暟涓嬪彂",
   "Action": "寮�鍏虫帶鍒�",
   "Sign": "IO鐘舵��",
diff --git a/CanadaMes-ui/src/views/Electrical/Sign.vue b/CanadaMes-ui/src/views/Electrical/Sign.vue
index c96d683..eee5b45 100644
--- a/CanadaMes-ui/src/views/Electrical/Sign.vue
+++ b/CanadaMes-ui/src/views/Electrical/Sign.vue
@@ -3,12 +3,12 @@
     <!--闈㈠寘灞戝鑸尯鍩�-->
     <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
       <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
-      <el-button type="text">Electrical</el-button>
-      <router-link to="/Electrical/Parameter" tag="el-button" type="text">Parameter</router-link>
-      <router-link to="/Electrical/Action" tag="el-button" type="text">Action</router-link>
-      <router-link to="/Electrical/Sign" tag="el-button" type="text">Sign</router-link>
-      <router-link to="/Electrical/State" tag="el-button" type="text">State</router-link>
-      <router-link to="/Electrical/alarm" tag="el-button" type="text">Alarm</router-link>
+      <el-button type="text">{{ $t('Electrical') }}</el-button>
+      <router-link to="/Electrical/Parameter" tag="el-button" type="text">{{ $t('Parameter') }}</router-link>
+      <router-link to="/Electrical/Action" tag="el-button" type="text">{{ $t('Action') }}</router-link>
+      <router-link to="/Electrical/Sign" tag="el-button" type="text">{{ $t('Sign') }}</router-link>
+      <router-link to="/Electrical/State" tag="el-button" type="text">{{ $t('State') }}</router-link>
+      <router-link to="/Electrical/alarm" tag="el-button" type="text">{{ $t('Alarm') }}</router-link>
     </el-breadcrumb>
     <div>Sign</div>
     <div style="padding-right: 30px;display: flex;flex-wrap: wrap;" class="neir">
@@ -26,9 +26,11 @@
 </template>
 
 <script >
+import LanguageMixin from '../../lang/LanguageMixin'
 let socket;
 export default {
   name: "Sign",
+  mixins: [LanguageMixin],
   data () {
     return {
       record: {
@@ -198,7 +200,7 @@
           let obj = JSON.parse(msg.data);
           //this.$set(this.record.params, 0, obj.params[0]);
           this.record.params[0] = obj.sig[0];
-          for (let a = 0; a <= this.record.params.length; a++) {
+          for (let a = 0; a <= this.record.xyData[0] - 1; a++) {
             if (!this.record.xyData[a]) {
               this.record.xyData[a] = { name: this.record.canshu[a], value: this.record.params[0][a] };
             } else {
diff --git a/CanadaMes-ui/src/views/Electrical/State.vue b/CanadaMes-ui/src/views/Electrical/State.vue
index bd0b977..c9a3310 100644
--- a/CanadaMes-ui/src/views/Electrical/State.vue
+++ b/CanadaMes-ui/src/views/Electrical/State.vue
@@ -3,24 +3,21 @@
     <!--闈㈠寘灞戝鑸尯鍩�-->
     <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
       <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
-      <el-button type="text">Electrical</el-button>
-      <router-link to="/Electrical/Parameter" tag="el-button" type="text">Parameter</router-link>
-      <router-link to="/Electrical/Action" tag="el-button" type="text">Action</router-link>
-      <router-link to="/Electrical/Sign" tag="el-button" type="text">Sign</router-link>
-      <router-link to="/Electrical/State" tag="el-button" type="text">State</router-link>
-      <router-link to="/Electrical/alarm" tag="el-button" type="text">Alarm</router-link>
+      <el-button type="text">{{ $t('Electrical') }}</el-button>
+      <router-link to="/Electrical/Parameter" tag="el-button" type="text">{{ $t('Parameter') }}</router-link>
+      <router-link to="/Electrical/Action" tag="el-button" type="text">{{ $t('Action') }}</router-link>
+      <router-link to="/Electrical/Sign" tag="el-button" type="text">{{ $t('Sign') }}</router-link>
+      <router-link to="/Electrical/State" tag="el-button" type="text">{{ $t('State') }}</router-link>
+      <router-link to="/Electrical/alarm" tag="el-button" type="text">{{ $t('Alarm') }}</router-link>
     </el-breadcrumb>
     <div>State</div>
 
 
     <el-form label-width="100px" style="display: flex;flex-wrap: wrap;" :model="messagepack.data">
-      <div id="btn_div">
-        <el-button type="primary" @click="send()">Distribute</el-button>
-        <!-- <button @click="send()">娴嬭瘯鍙戦��</button> -->
-      </div>
+
       <div class="kuai_div" v-for="item in this.record.xyData" :key="item.name">
         <el-input style="width: 280px;" class="in_mc" v-model="item.name"></el-input>
-        <el-input v-model="item.value" style="width: 80px;"></el-input>
+        <el-input v-model.number="item.value" style="width: 80px;"></el-input>
       </div>
 
 
@@ -34,14 +31,15 @@
 </template>
 
 <script >
-
+import LanguageMixin from '../../lang/LanguageMixin'
 let socket;
 export default {
   name: "State",
+  mixins: [LanguageMixin],
   data () {
     return {
       record: {
-        params: [0, 0, 0, 0, 0, 0, 0, 0, 0,],
+        params: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0,],
         xyData: [
           { name: 'D01.State', value: 0 },
           { name: 'D02.State', value: 0 },
@@ -54,18 +52,18 @@
           { name: 'D05.State', value: 0 },
           { name: 'D06.State', value: 0 },
         ],
-        canshu: [
-          'D01.State',
-          'D02.State',
-          'B01.State',
-          'B02.State',
-          'A01.State',
-          'A02.State',
-          'D03.State',
-          'D04.State',
-          'D05.State',
-          'D06.State',
-        ],
+        // canshu: [
+        //   'D01.State',
+        //   'D02.State',
+        //   'B01.State',
+        //   'B02.State',
+        //   'A01.State',
+        //   'A02.State',
+        //   'D03.State',
+        //   'D04.State',
+        //   'D05.State',
+        //   'D06.State',
+        // ],
 
       },
 
@@ -109,14 +107,15 @@
           //console.log("鏀跺埌鏁版嵁====" + msg.data);
           let obj = JSON.parse(msg.data);
           this.record.params[0] = obj.sta[0];
-          for (let a = 0; a <= this.record.params.length; a++) {
-            //this.record.xyData[a] = [this.record.params[0][a], this.record.canshu[a]];
-            this.record.xyData[a] = { name: this.record.canshu[a], value: this.record.params[0][a] };
+          for (let a = 0; a <= this.record.xyData[0].length - 1; a++) {
+            if (!this.record.xyData[a]) {
+              this.record.xyData[a] = { name: this.record.canshu[a], value: this.record.params[0][a] };
+            } else {
+              this.record.xyData[a].value = this.record.params[0][a];
+            }
+
           }
           this.$forceUpdate();
-          console.log(this.record.xyData);
-          //console.log(this.record.params[0])
-          // console.log(this.records.canshu);
 
         }.bind(this);
         //鍏抽棴浜嬩欢
@@ -130,8 +129,12 @@
       }
     },
     send () {
-      this.messagepack.data = { taskname: "鍓嶇鍒板悗鍙�" };
-      socket?.send(JSON.stringify(this.messagepack));  // 灏嗙粍瑁呭ソ鐨刯son鍙戦�佺粰鏈嶅姟绔紝鐢辨湇鍔$杩涜杞彂
+      this.messagepack.data = this.record.xyData.map((item) => parseInt(item.value)); // 杞崲涓烘暣鏁版暟缁�
+      console.log(this.messagepack);
+      socket?.send(JSON.stringify(this.messagepack));
+    },
+    handleChange (index, value) {
+      this.record.xyData[index].value = value;
     }
 
   }
diff --git a/CanadaMes-ui/src/views/Electrical/alarm.vue b/CanadaMes-ui/src/views/Electrical/alarm.vue
index 93108d0..c96986c 100644
--- a/CanadaMes-ui/src/views/Electrical/alarm.vue
+++ b/CanadaMes-ui/src/views/Electrical/alarm.vue
@@ -3,22 +3,27 @@
     <!--闈㈠寘灞戝鑸尯鍩�-->
     <el-breadcrumb separator-class="el-icon-arrow-right" class="el-breadcrumb">
       <router-link to="/home" tag="el-button" type="text">{{ $t('langHome') }}</router-link>
-      <el-button type="text">Electrical</el-button>
-      <router-link to="/Electrical/Parameter" tag="el-button" type="text">Parameter</router-link>
-      <router-link to="/Electrical/Action" tag="el-button" type="text">Action</router-link>
-      <router-link to="/Electrical/Sign" tag="el-button" type="text">Sign</router-link>
-      <router-link to="/Electrical/State" tag="el-button" type="text">State</router-link>
-      <router-link to="/Electrical/alarm" tag="el-button" type="text">Alarm</router-link>
+      <el-button type="text">{{ $t('Electrical') }}</el-button>
+      <router-link to="/Electrical/Parameter" tag="el-button" type="text">{{ $t('Parameter') }}</router-link>
+      <router-link to="/Electrical/Action" tag="el-button" type="text">{{ $t('Action') }}</router-link>
+      <router-link to="/Electrical/Sign" tag="el-button" type="text">{{ $t('Sign') }}</router-link>
+      <router-link to="/Electrical/State" tag="el-button" type="text">{{ $t('State') }}</router-link>
+      <router-link to="/Electrical/alarm" tag="el-button" type="text">{{ $t('Alarm') }}</router-link>
     </el-breadcrumb>
     <div>Alarm</div>
-    <!-- <el-form label-width="100px" style="display: flex;flex-wrap: wrap;" :model="{ messagepack }">
-        <div class="kuai_div" v-for="item in this.record.xyData" :key="item[1]">
-          <el-input v-model="item[1]" style="width: 240px;" class="in_mc"></el-input>
-          <el-switch v-model="item[0]" active-value="0" inactive-value="1"></el-switch>
-        </div>
-      </el-form> -->
+    <div class="block">
+      <span class="demonstration">鏃堕棿锛�</span>
+      <el-date-picker v-model="shijian1" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" align="right"
+        :picker-options="pickerOptions">
+      </el-date-picker>
+      ~
+      <el-date-picker v-model="shijian2" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" align="right"
+        :picker-options="pickerOptions">
+      </el-date-picker>
+      <el-button type="primary" @click="selectTime()">鏌ヨ</el-button>
+    </div>
 
-    <el-table :data="localizedRoles" style="width: 100%;" height="590">
+    <el-table :data="localizedRoles" style="width: 100%;" height="550">
       <el-table-column prop="id" label="id" width="80">
       </el-table-column>
       <el-table-column prop="content" label="content">
@@ -32,7 +37,10 @@
 </template>
 
 <script >
-import { setAll } from "../../api/alarm";
+import { setAll, setTime } from "../../api/alarm";
+
+import moment from 'moment';
+//setTime
 import LanguageMixin from '../../lang/LanguageMixin'
 let socket;
 export default {
@@ -57,12 +65,45 @@
         data: "1",
         pageSize: 10
       },
+      pickerOptions: {
+        shortcuts: [{
+          text: '浠婂ぉ',
+          onClick (picker) {
+            picker.$emit('pick', new Date());
+          }
+        }, {
+          text: '鏄ㄥぉ',
+          onClick (picker) {
+            const date = new Date();
+            date.setTime(date.getTime() - 3600 * 1000 * 24);
+            picker.$emit('pick', date);
+          }
+        }, {
+          text: '涓�鍛ㄥ墠',
+          onClick (picker) {
+            const date = new Date();
+            date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', date);
+          }
+        }],
 
+      },
+      shijian1: "",
+      shijian2: "",
     }
+
+
   },
   created () {
     this.init();
-    this.load();
+
+
+    if (this.shijian1 == "" || this.shijian2 == "") {
+      this.load();
+    }
+    else {
+      this.selectTime();
+    }
 
   },
   methods: {
@@ -76,9 +117,25 @@
         } else {
           this.localizedRoles = [...this.roles];
         }
-        console.log(this.localizedRoles);
+        //console.log(this.localizedRoles);
+      });
+
+    },
+    selectTime () {
+      let sj1 = moment(this.shijian1).format('YYYY-MM-DD%20HH:mm');
+      let sj2 = moment(this.shijian2).format('YYYY-MM-DD%20HH:mm')
+
+      setTime(sj1, sj2).then(res => {
+        this.roles = res.data.list;
+        const language = this.$i18n.locale;
+        if (language === 'zh-CN') {
+          this.replaceChineseWithEnglish();
+        } else {
+          this.localizedRoles = [...this.roles];
+        }
       });
     },
+
     replaceChineseWithEnglish () {
       const translation = this.$t('translation');
       this.localizedRoles = this.roles.map(role => ({
@@ -114,7 +171,12 @@
 
           this.record.params[0] = obj.arm;
           //姣忔璇锋眰鏇存柊鏁版嵁
-          this.load();
+          if (this.shijian1 == "" || this.shijian2 == "") {
+            this.load();
+          }
+          else {
+            this.selectTime();
+          }
           this.$forceUpdate();
         }.bind(this);
         //鍏抽棴浜嬩欢
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
new file mode 100644
index 0000000..d391d59
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
@@ -0,0 +1,92 @@
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.example.springboot.mapper.AlarmMapper;
+
+public class Plcalarm extends Thread {
+  private AlarmMapper alarmMapper;
+
+  @Override
+  public void run() {
+    while (this != null) {
+      try {
+        Thread.sleep(10000);
+      } catch (InterruptedException e) {
+        e.printStackTrace();
+      }
+
+      List<Boolean> plclist = S7control.getinstance().ReadBits("DB104.DBx0.0", 40);
+
+      JSONObject jsonObject = new JSONObject();
+
+      jsonObject.append("params", plclist);
+      WebSocketServer sendwServer = WebSocketServer.sessionMap.get("alarm");
+      if (sendwServer != null) {
+        sendwServer.sendMessage(jsonObject.toString());
+      }
+
+      Short[] shuzu1 = plclist.toArray(new Short[0]);
+      // Short[] shuzu1 = {
+      // 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+      // 1, 0, 1, 0, 0,
+      // 1, 0, 1, 0, 1, 0, 1, 0, 1,
+      // };
+
+      String[] shuzu = {
+          "D01 VFD error",
+          "D02 VFD error",
+          "D03 VFD error",
+          "D04 VFD error",
+          "D05 VFD error",
+          "D06 VFD error",
+          "B01 VFD error",
+          "B02 VFD error",
+          "A01 VFD error",
+          "A02 VFD error",
+          "A01 servo turn error",
+          "A02 servo turn error",
+          "A01 servo travel error",
+          "A02 servo travel error",
+          "B01 servo travel error",
+          "B02 servo travel error",
+          "D01 DEC error",
+          "D01 pos error",
+          "D02 DEC error",
+          "D02 pos error",
+          "D03 DEC error",
+          "D03 pos error",
+          "D04 DEC error",
+          "D04 pos error",
+          "D05 DEC error",
+          "D05 pos error",
+          "D06 DEC error",
+          "D06 pos error",
+          "A01 DEC error",
+          "A01 pos error",
+          "A02 DEC error",
+          "A02 pos error",
+          "B01 IN DEC error",
+          "B01 IN pos error",
+          "B01 OUT DEC error",
+          "B01 OUT pos error",
+          "B02 IN DEC error",
+          "B02 IN pos error",
+          "B02 OUT DEC error",
+          "B02 OUT pos error",
+      };
+      alarmMapper = WebSocketServer.applicationContext.getBean(AlarmMapper.class);
+      for (short i = 0; i < shuzu1.length; i++) {
+        short result = alarmMapper.selectnullti(shuzu[i]);
+        if (shuzu1[i] == 1 && result == 0) {
+          // alarmMapper.Insertalarm(shuzu[i]);
+        } else if (shuzu1[i] == 0 && result > 0) {
+          alarmMapper.updatealarm(shuzu[i]);
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java
index 7c9c446..b641602 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcsign.java
@@ -15,71 +15,20 @@
         e.printStackTrace();
       }
 
-      List<Short> paramlist = S7control.getinstance().ReadWord("DB100.DBW", 12);
+      List<Boolean> plclist = S7control.getinstance().ReadBits("DB102.DBX0.0", 58);
 
-      // JSONObject jsonObject = new JSONObject();
-      // // jsonObject.append("params", paramlist);
-      // jsonObject.append("params", new short[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
-      // 11, });
-      // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
-      // if (sendwServer != null) {
-      // sendwServer.sendMessage(jsonObject.toString());
-      // }
-
-      JSONObject jsonObject3 = new JSONObject();
-      jsonObject3.append("sig",
-          new short[] { 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
-              1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, });
+      JSONObject jsonObject = new JSONObject();
+      // jsonObject3.append("sig",
+      // new short[] { 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
+      // 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+      // 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,
+      // });
+      jsonObject.append("sig", plclist);
       WebSocketServer sendwServer3 = WebSocketServer.sessionMap.get("Sign");
       if (sendwServer3 != null) {
-        sendwServer3.sendMessage(jsonObject3.toString());
+        sendwServer3.sendMessage(jsonObject.toString());
       }
 
-      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("Sign");
-      if (webSocketServer != null) {
-        List<String> messages = webSocketServer.getMessages();
-
-        String addressList = "DB100.DBW0";
-        // addressList.add("DB100.DBW0");
-        // addressList.add("DB100.DBW2");
-        // addressList.add("DB100.DBW4");
-        // addressList.add("DB100.DBW6");
-        // addressList.add("DB100.DBW8");
-        // addressList.add("DB100.DBW10");
-        // addressList.add("DB100.DBW12");
-        // addressList.add("DB100.DBW14");
-        // addressList.add("DB100.DBW16");
-        // addressList.add("DB100.DBW18");
-        // addressList.add("DB100.DBW20");
-        // addressList.add("DB100.DBW22");
-
-        if (!messages.isEmpty()) {
-          // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
-          String lastMessage = messages.get(messages.size() - 1);
-          System.out.println("messages锛�" + messages);
-          String[] parts = lastMessage.split(",");
-          List<Short> messageValues = new ArrayList<>();
-          for (String part : parts) {
-            try {
-              // 浣跨敤姝e垯琛ㄨ揪寮忔竻闄ら潪鏁板瓧瀛楃
-              String cleanedPart = part.replaceAll("[^0-9-]", "");
-              short value = Short.parseShort(cleanedPart.trim());
-              messageValues.add(value);
-            } catch (NumberFormatException e) {
-              // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-
-              e.printStackTrace();
-            }
-          }
-
-          // 灏嗘秷鎭�煎啓鍏� PLC
-          // S7control.getinstance().WriteWord(addressList, messageValues);
-          System.out.println("messageValues锛�" + messageValues);
-          System.out.println("addressList锛�" + addressList);
-          // 娓呯┖娑堟伅鍒楄〃
-          webSocketServer.clearMessages();
-        }
-      }
     }
   }
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java
index 9596db9..b3556f7 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcstate.java
@@ -15,71 +15,17 @@
         e.printStackTrace();
       }
 
-      List<Short> paramlist = S7control.getinstance().ReadWord("DB100.DBW", 12);
-
-      // JSONObject jsonObject = new JSONObject();
-      // // jsonObject.append("params", paramlist);
-      // jsonObject.append("params", new short[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
-      // 11, });
-      // WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
-      // if (sendwServer != null) {
-      // sendwServer.sendMessage(jsonObject.toString());
-      // }
+      List<Short> plclist = S7control.getinstance().ReadWord("DB103.DBW0", 10);
 
       JSONObject jsonObject = new JSONObject();
-      jsonObject.append("sta",
-          new short[] { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0,
-              1, });
+      // jsonObject.append("sta",
+      // new short[] { 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, });
+      jsonObject.append("sta", plclist);
       WebSocketServer sendwServer = WebSocketServer.sessionMap.get("State");
       if (sendwServer != null) {
         sendwServer.sendMessage(jsonObject.toString());
       }
 
-      WebSocketServer webSocketServer = WebSocketServer.sessionMap.get("State");
-      if (webSocketServer != null) {
-        List<String> messages = webSocketServer.getMessages();
-
-        String addressList = "DB100.DBW0";
-        // addressList.add("DB100.DBW0");
-        // addressList.add("DB100.DBW2");
-        // addressList.add("DB100.DBW4");
-        // addressList.add("DB100.DBW6");
-        // addressList.add("DB100.DBW8");
-        // addressList.add("DB100.DBW10");
-        // addressList.add("DB100.DBW12");
-        // addressList.add("DB100.DBW14");
-        // addressList.add("DB100.DBW16");
-        // addressList.add("DB100.DBW18");
-        // addressList.add("DB100.DBW20");
-        // addressList.add("DB100.DBW22");
-
-        if (!messages.isEmpty()) {
-          // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
-          String lastMessage = messages.get(messages.size() - 1);
-          System.out.println("messages锛�" + messages);
-          String[] parts = lastMessage.split(",");
-          List<Short> messageValues = new ArrayList<>();
-          for (String part : parts) {
-            try {
-              // 浣跨敤姝e垯琛ㄨ揪寮忔竻闄ら潪鏁板瓧瀛楃
-              String cleanedPart = part.replaceAll("[^0-9-]", "");
-              short value = Short.parseShort(cleanedPart.trim());
-              messageValues.add(value);
-            } catch (NumberFormatException e) {
-              // 濡傛灉鏃犳硶瑙f瀽涓� short 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-
-              e.printStackTrace();
-            }
-          }
-
-          // 灏嗘秷鎭�煎啓鍏� PLC
-          // S7control.getinstance().WriteWord(addressList, messageValues);
-          System.out.println("messageValues锛�" + messageValues);
-          System.out.println("addressList锛�" + addressList);
-          // 娓呯┖娑堟伅鍒楄〃
-          webSocketServer.clearMessages();
-        }
-      }
     }
   }
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/AlarmController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/AlarmController.java
index 43aeeb4..034beb9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/AlarmController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/AlarmController.java
@@ -13,6 +13,7 @@
 import com.example.springboot.entity.alarmmg;
 import com.example.springboot.mapper.AlarmMapper;
 import com.example.springboot.service.AlarmService;
+import com.microsoft.schemas.office.office.STInsetMode;
 
 @RestController
 @RequestMapping("/alarm")
@@ -25,10 +26,32 @@
 
   @GetMapping("/load")
   public Result selectAll() {
-    List<alarmmg> storageCagelist = alarmMapper.selectAll();
+
     Map<String, Object> map = new HashMap<>();
+    List<alarmmg> storageCagelist = alarmMapper.selectAll();
     map.put("list", storageCagelist);
     return Result.success(map);
   }
 
+  @GetMapping("/stTime")
+  public Result selecttime(String shijian1, String shijian2) {
+    System.out.println("++++++");
+    System.out.println(shijian1);
+
+    if (shijian1 != "" || shijian2 != "") {
+      String sj1 = shijian1.replace("#20", " ");
+      String sj2 = shijian2.replace("#20", " ");
+      List<alarmmg> storageCagelist = alarmMapper.selecttime(sj1, sj2);
+      Map<String, Object> map = new HashMap<>();
+      map.put("list", storageCagelist);
+      return Result.success(map);
+    } else {
+      List<alarmmg> storageCagelist = alarmMapper.selectAll();
+      Map<String, Object> map = new HashMap<>();
+      map.put("list", storageCagelist);
+      return Result.success(map);
+    }
+
+  }
+
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/AlarmMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/AlarmMapper.java
index 13238e9..c7f9ccc 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/AlarmMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/AlarmMapper.java
@@ -8,7 +8,7 @@
 
 @Mapper
 public interface AlarmMapper {
-  @Select("SELECT * FROM alarmmg")
+  @Select("SELECT * FROM alarmmg where endTime is not null and to_days(timeon)=to_days(now())")
   List<alarmmg> selectAll();
 
   @Select("SELECT count(*) FROM alarmmg where endTime is null and content=#{content}")
@@ -19,4 +19,7 @@
 
   @Insert("UPDATE  `canadames`.`alarmmg` set endTime= now() where endTime is null and content=#{content}")
   void updatealarm(String content);
+
+  @Select("SELECT * FROM alarmmg where timeon between #{sj1} and #{sj2}")
+  List<alarmmg> selecttime(String sj1, String sj2);
 }

--
Gitblit v1.8.0