From 0ee5fb34623360eb8b43a8a032023890de1401d8 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期四, 20 十一月 2025 17:40:28 +0800
Subject: [PATCH] #1

---
 src/main/java/com/zy/asrs/controller/BasSensorController.java |   12 ++++
 src/main/webapp/static/js/basSensor/basSensor.js              |  117 ++++++++++++++++++++++++++++++++------
 src/main/java/com/zy/asrs/entity/BasSensor.java               |    6 +-
 src/main/java/com/zy/asrs/task/SensorWarningScheduler.java    |   28 +++++++++
 src/main/resources/application.yml                            |    4 
 5 files changed, 142 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/BasSensorController.java b/src/main/java/com/zy/asrs/controller/BasSensorController.java
index 22834a9..1d549d0 100644
--- a/src/main/java/com/zy/asrs/controller/BasSensorController.java
+++ b/src/main/java/com/zy/asrs/controller/BasSensorController.java
@@ -124,4 +124,16 @@
         return R.ok();
     }
 
+    @RequestMapping("/getWarning")
+    public R getWarning(){
+        List<BasSensor> warning = new ArrayList<>();
+        List<BasSensor> basSensors = basSensorService.selectList(new EntityWrapper<>(new BasSensor()));
+        for (BasSensor basSensor : basSensors) {
+            if ((basSensor.getTemperature() < 15 || basSensor.getTemperature() > 25) || basSensor.getHumidity() > 60){
+                warning.add(basSensor);
+            }
+        }
+        return R.ok(warning);
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/entity/BasSensor.java b/src/main/java/com/zy/asrs/entity/BasSensor.java
index caa6874..b2eebb5 100644
--- a/src/main/java/com/zy/asrs/entity/BasSensor.java
+++ b/src/main/java/com/zy/asrs/entity/BasSensor.java
@@ -38,13 +38,13 @@
      * 浼犳劅鍣ㄦ俯搴�
      */
     @ApiModelProperty(value= "浼犳劅鍣ㄦ俯搴�")
-    private String temperature;
+    private Double temperature;
 
     /**
      * 浼犳劅鍣ㄦ箍搴�
      */
     @ApiModelProperty(value= "浼犳劅鍣ㄦ箍搴�")
-    private String humidity;
+    private Double humidity;
 
     /**
      * 鍒涘缓鏃堕棿
@@ -54,7 +54,7 @@
 
     public BasSensor() {}
 
-    public BasSensor(Double number,String location,String temperature,String humidity) {
+    public BasSensor(Double number,String location,Double temperature,Double humidity) {
         this.number = number;
         this.location = location;
         this.temperature = temperature;
diff --git a/src/main/java/com/zy/asrs/task/SensorWarningScheduler.java b/src/main/java/com/zy/asrs/task/SensorWarningScheduler.java
new file mode 100644
index 0000000..a8d3f02
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/SensorWarningScheduler.java
@@ -0,0 +1,28 @@
+package com.zy.asrs.task;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.BasSensor;
+import com.zy.asrs.service.BasSensorService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+@Slf4j
+public class SensorWarningScheduler {
+    @Autowired
+    private BasSensorService sensorService;
+
+    @Scheduled(cron = "0/3 * * * * ?")
+    private void warning(){
+        List<BasSensor> basSensors = sensorService.selectList(new EntityWrapper<>(new BasSensor()));
+        for (BasSensor basSensor : basSensors) {
+            if ((basSensor.getTemperature() < 15 || basSensor.getTemperature() > 25) || basSensor.getHumidity() > 60){
+                log.info(basSensor.getLocation() + "娓╂箍搴﹀紓甯�,娓╁害:" + basSensor.getTemperature() + ",婀垮害:" + basSensor.getHumidity());
+            }
+        }
+    }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 8e3da92..3f7f0e5 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -53,14 +53,14 @@
 wcs-slave:
   # 鐢辨祬鍏ユ繁
   locGroupAscOrder: [
-    {rowList: [1],minBay: 1,maxBay: 1},
+    {rowList: [1],minBay: 1,maxBay: 2},
 #    {rowList: [3,4,5,6],minBay: 1,maxBay: 16},
 #    {rowList: [10,9,8,7],minBay: 1,maxBay: 16},
 #    {rowList: [10,9,8,7,6,5,4,3],minBay: 17,maxBay: 22},
 #    {rowList: [12,13],minBay: 1,maxBay: 22},
 #    {rowList: [15,14],minBay: 1,maxBay: 22},
 #    {rowList: [17,18,19,20,21,22,23],minBay: 1,maxBay: 22},
-    {rowList: [2],minBay: 1,maxBay: 1},
+#    {rowList: [2],minBay: 1,maxBay: 1},
 #    {rowList: [11],minBay: 1,maxBay: 22},
 #    {rowList: [16],minBay: 1,maxBay: 22},
   ]
diff --git a/src/main/webapp/static/js/basSensor/basSensor.js b/src/main/webapp/static/js/basSensor/basSensor.js
index d4501d1..e4701c7 100644
--- a/src/main/webapp/static/js/basSensor/basSensor.js
+++ b/src/main/webapp/static/js/basSensor/basSensor.js
@@ -9,8 +9,82 @@
     var form = layui.form;
     var admin = layui.admin;
 
+    // 棰滆壊鍒ゆ柇鍑芥暟
+    function applyColorStyles() {
+        // 浣跨敤鏇寸簿纭殑閫夋嫨鍣�
+        $('.layui-table-box .layui-table-body table tbody tr').each(function() {
+            var $tr = $(this);
+            // 璺宠繃琛ㄥご琛�
+            if ($tr.hasClass('layui-table-header') || $tr.find('td').length === 0) return;
+
+            var $tempCell = $tr.find('td').eq(3); // 绗�3鍒楋細娓╁害
+            var $humiCell = $tr.find('td').eq(4); // 绗�4鍒楋細婀垮害
+
+            if ($tempCell.length && $humiCell.length) {
+                var tempText = $tempCell.text().trim();
+                var humiText = $humiCell.text().trim();
+
+//                console.log('娓╁害:', tempText, '婀垮害:', humiText); // 璋冭瘯鐢�
+
+                // 閲嶇疆鏍峰紡
+                $tempCell.css({
+                    'background-color': '',
+                    'color': '',
+                    'font-weight': ''
+                });
+                $humiCell.css({
+                    'background-color': '',
+                    'color': '',
+                    'font-weight': ''
+                });
+
+                // 娓╁害鍒ゆ柇
+                if (tempText) {
+                    var temp = parseFloat(tempText);
+                    if (!isNaN(temp)) {
+                        if (temp > 25 || temp < 15) {
+                            $tempCell.css({
+                                'background-color': 'red',
+                                'color': 'white',
+                                'font-weight': 'bold'
+                            });
+//                            console.log('娓╁害瓒呭嚭鑼冨洿:', temp); // 璋冭瘯鐢�
+                        }else {
+                            $tempCell.css({
+                                'background-color': 'green',
+                                'color': 'white',
+                                'font-weight': 'bold'
+                            });
+                        }
+                    }
+                }
+
+                // 婀垮害鍒ゆ柇
+                if (humiText) {
+                    var humi = parseFloat(humiText);
+                    if (!isNaN(humi)) {
+                        if (humi > 60) {
+                            $humiCell.css({
+                                'background-color': 'red',
+                                'color': 'white',
+                                'font-weight': 'bold'
+                            });
+//                            console.log('婀垮害瓒呭嚭鑼冨洿:', humi); // 璋冭瘯鐢�
+                        }else {
+                            $humiCell.css({
+                                'background-color': 'green',
+                                'color': 'white',
+                                'font-weight': 'bold'
+                            });
+                        }
+                    }
+                }
+            }
+        });
+    }
+
     // 鏁版嵁娓叉煋
-    var  timer = setInterval(function () {
+    var timer = setInterval(function () {
         tableIns = table.render({
             elem: '#basSensor',
             headers: {token: localStorage.getItem('token')},
@@ -27,9 +101,6 @@
                 ,{field: 'location', align: 'center',title: '浼犳劅鍣ㄤ綅缃�'}
                 ,{field: 'temperature', align: 'center',title: '浼犳劅鍣ㄦ俯搴�(掳c)'}
                 ,{field: 'humidity', align: 'center',title: '浼犳劅鍣ㄦ箍搴�(%)'}
-                // ,{field: 'createTime', align: 'center',title: '鍒涘缓鏃堕棿'}
-
-            // ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
             ]],
             request: {
                 pageName: 'curr',
@@ -52,10 +123,16 @@
                 }
                 pageCurr=curr;
                 limit();
+
+                // 搴旂敤棰滆壊鏍峰紡 - 浣跨敤澶氫釜setTimeout纭繚DOM瀹屽叏娓叉煋
+                setTimeout(function() {
+                    setTimeout(function() {
+                        applyColorStyles();
+                    }, 200);
+                }, 100);
             }
         });
-    },1000);
-//    clearInterval(timer);
+    },3000);
 
     // 鐩戝惉鎺掑簭浜嬩欢
     table.on('sort(basSensor)', function (obj) {
@@ -79,14 +156,14 @@
                 showEditModel();
                 break;
             case 'deleteData':
-               if (checkStatus.length === 0) {
-                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
-                   return;
-               }
-               del(checkStatus.map(function (d) {
-                   return d.id;
-               }));
-               break;
+                if (checkStatus.length === 0) {
+                    layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                    return;
+                }
+                del(checkStatus.map(function (d) {
+                    return d.id;
+                }));
+                break;
             case 'exportData':
                 admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
                     var titles=[];
@@ -211,6 +288,8 @@
     form.on('submit(search)', function (data) {
         pageCurr = 1;
         tableReload(false);
+        // 鎼滅储鍚庨噸鏂板簲鐢ㄦ牱寮�
+        setTimeout(applyColorStyles, 500);
     });
 
     // 閲嶇疆
@@ -218,6 +297,8 @@
         pageCurr = 1;
         clearFormVal($('#search-box'));
         tableReload(false);
+        // 閲嶇疆鍚庨噸鏂板簲鐢ㄦ牱寮�
+        setTimeout(applyColorStyles, 500);
     });
 
     // 鏃堕棿閫夋嫨鍣�
@@ -228,7 +309,6 @@
                 ,type: 'datetime'
                 ,range: true
             });
-
         }, 300);
     }
     layDateRender();
@@ -248,10 +328,7 @@
     tableIns.reload({
         where: searchData,
         page: {curr: pageCurr}
-     });
+    });
 }
 
-// let timer = setInterval(function () {
-//     $(".layui-laypage-btn")[0].click();
-// },1000);
-clearInterval(timer);
+clearInterval(timer);
\ No newline at end of file

--
Gitblit v1.9.1