conn = new DB(); } /** * 获取梯龄数据 */ function eleage() { try { $sql = 'select id,takecertificatedate from facility'; $eleageres = $this->conn->getAll($sql); $years5 = 0; $years10 = 0; $years15 = 0; $years20 = 0; $years20plus = 0; foreach ($eleageres as $k => $v) { $startdate = date('Y-m-d'); $enddate = $v['takecertificatedate']; if($enddate==NULL ){continue; } $second= strtotime($startdate)- strtotime($enddate); $days =$second/86400; if ($days < 1825) { $years5++; } elseif (1825 <= $days || $days < 3650) { $years10++; } elseif (3650 <= $days || $days < 5475) { $years15++; } elseif (5475 <= $days || $days < 7300) { $years20++; } else { $years20plus++; } } $result['labels'] = ['5年以内', '5-10年', '10-15年', '15-20年', '20年以上']; $result['data'] = []; array_push($result['data'], $years5, $years10, $years15, $years20, $years20plus); echo json_encode($result); } catch (Exception $e) { die($e->getMessage()); } } function eleage_v2() { try { $result['labels'] = ['5年以内', '5-10年', '10-15年', '15-20年', '20年以上']; $result['data'] = ['33', '337', '79', '90', '201']; echo json_encode($result); } catch (Exception $e) { die($e->getMessage()); } } /** * 获取区域数据 */ function area() { try { $sql = 'select area from facility '; $areas = $this->conn->getAll($sql); $area = array_column($areas, 'area'); $Statistics = array_count_values($area); //统计结果 $result['labels'] = array_keys($Statistics); $data = array_values($Statistics); $result['data'] = $data; $sumtai = array_sum($data); $result['taisum'] = $sumtai; echo json_encode($result); } catch (Exception $e) { die($e->getMessage()); } } function area_v2() { try { $data = [198, 136, 7, 37, 33, 48, 293, 15, 6, 8, 28]; $result['labels'] = ["桃園市", "台北市", "宜蘭市", "新竹縣", "新竹市", "高雄市", "新北市", "台南市", "屏東縣", "台中市", "基隆市"]; $result['data'] = $data; $sumtai = array_sum($data); $result['taisum'] = $sumtai; echo json_encode($result); } catch (Exception $e) { die($e->getMessage()); } } /** * 根据imei值获取电梯信息 */ function imei() { try { $imei = $_REQUEST['imei']; $sql = "select facilityno,address from facility where imei='$imei'"; $areas = $this->conn->getRow($sql); echo json_encode($areas); } catch (Exception $e) { die($e->getMessage()); } } /** * 获取实时数据 */ function realtimefail_v2() { try { //$sql = 'select * from fault_log where to_days(create_at) = to_days(now()) and (fault_message !=" ") order by id desc'; //$sql = 'select * from fault_log where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(create_at) and (fault_message !=" ") order by id desc'; // 418,先隱藏無電梯編號的 $demo_imei_str = implode("','", $this->_demo_imei_arr); $sql = "select * from fault_log where facilityno <> '' ";//DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(create_at) "; $sql .= "and to_days(now()) - to_days(create_at) <= 60 and (fault_message !=' ') "; $sql .= "and imei not in ('".$demo_imei_str."') "; $sql .= "and flag not in ('1106', '1202') "; $sql .= "and facilityno not like '22TX000140%' "; $sql .= "order by id desc"; $fault_log = $this->conn->getAll($sql); for ($x=0; $xconn->getRow($sqldang); if($res['address']==null){ $address='暂无地址'; } else{ $address=$res['address']; } $fault_log[$x]['address']= $address; } echo json_encode($fault_log); } catch (Exception $e) { die($e->getMessage()); } } function realtimefail() { try { $sql = "select * from fault_log where to_days(now()) - to_days(create_at) <= 60 and (fault_message !=' ') "; $sql .= "order by id desc"; $fault_log = $this->conn->getAll($sql); for ($x=0; $xconn->getRow($sqldang); if($res['address']==null){ $address='暂无地址'; } else{ $address=$res['address']; } $fault_log[$x]['address']= $address; } echo json_encode($fault_log); } catch (Exception $e) { die($e->getMessage()); } } /** * 故障类型 * [ // 数据数组,name 为数据项名称,value 为数据项值 // {value:4, name:'急停模式停止:4(50%)'}, // {value:1, name:'運行中急停(安全回路斷路):1(12.5%)'}, // {value:1, name:'運行時開門:1(12.5%)'}, // {value:2, name:'門開時運行:2(25%)'} // ] */ function failturetype_v2() { try { $sql = 'select fault_message from fault_log '; $demo_imei_str = implode("','", $this->_demo_imei_arr); $sql .= "where imei not in ('".$demo_imei_str."') "; $sql .= "and flag not in ('1106', '1202') "; $fault_messages = $this->conn->getAll($sql); $fault_message= array_column($fault_messages, 'fault_message'); $Statistics = array_count_values(array_filter($fault_message)); //统计结果 $va = array_values($Statistics); $sumt = array_sum($va); $arr=array(); foreach ($Statistics as $k => $v) { $bili=(floor(($v/$sumt)*100)).'%'; $data=new class{}; $data->name=$k.':'.$v.'('.$bili.')'; $data->value=$v; array_push($arr,$data); } $result['data'] = $arr; echo json_encode($result); } catch (Exception $e) { die($e->getMessage()); } } function failturetype() { try { $sql = 'select fault_message from fault_log '; $fault_messages = $this->conn->getAll($sql); $fault_message= array_column($fault_messages, 'fault_message'); $Statistics = array_count_values(array_filter($fault_message)); //统计结果 $va = array_values($Statistics); $sumt = array_sum($va); $arr=array(); foreach ($Statistics as $k => $v) { $bili=(floor(($v/$sumt)*100)).'%'; $data=new class{}; $data->name=$k.':'.$v.'('.$bili.')'; $data->value=$v; array_push($arr,$data); } $result['data'] = $arr; echo json_encode($result); } catch (Exception $e) { die($e->getMessage()); } } } $m = $_REQUEST['m']; $screen = new screen(); if ($m == 'eleage') { $screen->eleage(); } if ($m == 'area') { $screen->area(); } if ($m == 'imei') { $screen->imei(); } if ($m == 'realtimefail') { $screen->realtimefail(); } if ($m == 'failturetype') { $screen->failturetype(); } // for 418 if ($m == 'eleage_v2') { $screen->eleage_v2(); } if ($m == 'area_v2') { $screen->area_v2(); } if ($m == 'realtimefail_v2') { $screen->realtimefail_v2(); } if ($m == 'failturetype_v2') { $screen->failturetype_v2(); } ?>