1234567891011121314151617181920212223242526272829303132333435363738394041 |
- <?php
- // 离线故障处理
- ini_set('display_errors', 1);
- require_once './DB.php';
- require_once './config.php';
- date_default_timezone_set('Asia/Shanghai');
- $config = json_decode(file_get_contents('./db_config.php'),true);
- $begin = date('H:i',time());
- while (1) {
-
- $db = new Db($config);
- // 生成离线故障
- $sql = 'SELECT L.id FROM lampinfo as L left join warning_info_log AS WI on WI.lampid = L.id and WI.onlinestatus = 1 and WI.status = 0 where L.netstatus = 0 and WI.id is null';
- $list = $db->query($sql);
-
- foreach ($list as $value) {
- $alarm_info = array();
- $alarm_info['lampid'] = $value['id'];
- $alarm_info['onlinestatus'] = 1;
- $alarm_info['updatetime'] = date('Y-m-d H:i:s',time()-8*3600);
- $db->table('warning_info_log')->insert($alarm_info);
- }
- // 离线故障解除
- $sql = 'SELECT WI.id FROM warning_info_log as WI left join lampinfo AS L on WI.lampid = L.id where L.netstatus = 1 and WI.onlinestatus = 1 and WI.status != 1 and L.id is not null';
- $list = $db->query($sql);
- foreach ($list as $key => $value) {
- $db->table('warning_info_log')->where('id='.$value['id'])->update(['status'=>1]);
- }
- $db->close();
- $end = date('H:i',time());
- if ($end == $begin) {
- sleep(1);
- continue;
- }
- $begin = $end;
- }
|