Files

582 lines
19 KiB
PHP

<?php
session_start();
if( !defined('IN') ) die('bad request!');
include_once( AROOT . 'controller' . DS . 'app.class.php');
header("Content-Type: text/html; charset=utf-8");
//定义错误码
define( 'LR_API_TOKEN_ERROR', 10001);
define( 'LR_API_USER_ERROR', 10002);
define( 'LR_API_DB_ERROR', 10003);
define( 'LR_API_DB_EMPTY_RESULT', 10004);
define( 'LR_API_USER_CLOSED', 10005);
define( 'LR_API_FORBIDDEN', 10006);
define( 'LR_API_NO_PARAM', 10007);
define( 'LR_API_NO_AUTH', 10008);
define( 'LR_API_BAD_DEVICE', 10009);
define( 'LR_API_BAD_TIME', 10010);
class homeController extends appController
{
public function __construct(){
parent::__construct();
}
// 发送错误结果集
public function send_error($number,$msg)
{
$obj = array();
$obj['code'] = intval($number);
$obj['result'] = $msg;
if( g('API_EMBED_MODE') == 1 ){
return json_encode($obj);
}else{
header("Content-Type: application/json");
die(json_encode($obj));
}
}
// 发送结果集
public function send_result($data)
{
$obj = array();
$obj['code'] = 0;
$obj['result'] = 'success';
$obj['data'] = $data;
if( g('API_EMBED_MODE') == 1 ){
return json_encode($obj);
}else{
header("Content-Type: application/json");
die(json_encode($obj));
}
}
/**
* 返回首页
*/
public function index()
{
$default_id = v("id");
if (!empty($_SESSION))
{
// 获取登录账号的项目ID
$project_id = $_SESSION['project_id'];
// 判断账号的权限
if($project_id == '0')
{
// 判断是否存在默认ID
if(empty($default_id))
{
// 项目列表
$sql_project = "select id,name from project";
$data['projects'] = get_data($sql_project);
// 场站数量
$sql_terminal = "select count(id) from terminal";
$data['terminal_count'] = get_var($sql_terminal);
// 智慧调控次数(主污泵+备污泵+雨水+闸门上+闸门下)
$sql_device = "select id from device where status = 1 and type = 1";
$device_data= get_data($sql_device);
for ($i=0; $i < count($device_data); $i++)
{
$device_id = $device_data[$i]['id'];
// 循环查询次数
$sql_count = prepare("select (main_sewage_pump_count+standby_sewage_pump_count+main_rain_pump_count+gate_up_count+gate_down_count) as control_count from data where device_id = ?i order by id desc limit 1",array($device_id));
$all_control_count += get_var($sql_count);
}
$data['control_count'] = $all_control_count;
}
else
{
// 项目列表
$sql_project = "select id,name from project";
$data['projects'] = get_data($sql_project);
// 场站数量
$sql_terminal = prepare("select count(id) from terminal where project_id = ?i",array($default_id));
$data['terminal_count'] = get_var($sql_terminal);
// 智慧调控次数(主污泵+备污泵+雨水+闸门上+闸门下)
$sql_device = prepare("select id from device where status = 1 and type = 1 and project_id = ?i",array($default_id));
$device_data= get_data($sql_device);
for ($i=0; $i < count($device_data); $i++)
{
$device_id = $device_data[$i]['id'];
// 循环查询次数
$sql_count = prepare("select (main_sewage_pump_count+standby_sewage_pump_count+main_rain_pump_count+gate_up_count+gate_down_count) as control_count from data where device_id = ?i order by id desc limit 1",array($device_id));
$all_control_count += get_var($sql_count);
}
$data['control_count'] = $all_control_count;
}
}else{
if(empty($default_id))
{
// 项目列表
$sql_project = prepare("select id,name from project where id = ?i",array($project_id));
$data['projects'] = get_data($sql_project);
// 场站数量
$sql_terminal = prepare("select count(id) from terminal where project_id = ?i",array($project_id));
$data['terminal_count'] = get_var($sql_terminal);
// 智慧调控次数(主污泵+备污泵+雨水+闸门上+闸门下)
$sql_device = prepare("select id from device where status = 1 and type = 1 and project_id = ?i",array($project_id));
$device_data= get_data($sql_device);
for ($i=0; $i < count($device_data); $i++)
{
$device_id = $device_data[$i]['id'];
// 循环查询次数
$sql_count = prepare("select (main_sewage_pump_count+standby_sewage_pump_count+main_rain_pump_count+gate_up_count+gate_down_count) as control_count from data where device_id = ?i order by id desc limit 1",array($device_id));
$all_control_count += get_var($sql_count);
}
$data['control_count'] = $all_control_count;
}
else
{
// 项目列表
$sql_project = prepare("select id,name from project where id = ?i",array($default_id));
$data['projects'] = get_data($sql_project);
// 场站数量
$sql_terminal = prepare("select count(id) from terminal where project_id = ?i",array($default_id));
$data['terminal_count'] = get_var($sql_terminal);
// 智慧调控次数(主污泵+备污泵+雨水+闸门上+闸门下)
$sql_device = prepare("select id from device where status = 1 and type = 1 and project_id = ?i",array($default_id));
$device_data= get_data($sql_device);
for ($i=0; $i < count($device_data); $i++)
{
$device_id = $device_data[$i]['id'];
// 循环查询次数
$sql_count = prepare("select (main_sewage_pump_count+standby_sewage_pump_count+main_rain_pump_count+gate_up_count+gate_down_count) as control_count from data where device_id = ?i order by id desc limit 1",array($device_id));
$all_control_count += get_var($sql_count);
}
$data['control_count'] = $all_control_count;
}
}
render($data, "web", "index");
}else {
header("Location:?c=index&a=index");
}
}
/**
* 策略管理
*/
public function strategy()
{
$default_id = v("id");
if (!empty($_SESSION))
{
$project_id = $_SESSION['project_id'];
if($project_id == '0')
{
$sql = "select id,name from project";
$project_array = get_data($sql);
}
else
{
if(empty($default_id)){
$sql = prepare("select id,name from project where id=?i",array($default_id));
$project_array = get_data($sql);
}else{
$sql = prepare("select id,name from project where id=?i",array($project_id));
$project_array = get_data($sql);
}
}
$data['projects'] =$project_array;
render($data, 'web', 'strategy');
}else{
header("Location:?c=index&a=index");
}
}
/**
* 返回场站详情
*/
public function station_details()
{
$terminal_id = v("id");
$sql_count_device = prepare("select count(*) from device where terminal_id = ?i",array($terminal_id));
$data['device_count'] = get_var($sql_count_device);
// 累计调控次数
$sql_device = prepare("select id from device where status = 1 and type = 1 and terminal_id = ?i",array($terminal_id));
$device_data= get_data($sql_device);
for ($i=0; $i < count($device_data); $i++)
{
$device_id = $device_data[$i]['id'];
// 循环查询次数
$sql_count = prepare("select (main_sewage_pump_count+standby_sewage_pump_count+main_rain_pump_count+gate_up_count+gate_down_count) as control_count from data where device_id = ?i order by id desc limit 1",array($device_id));
$all_control_count += get_var($sql_count);
}
$data['control_count'] = $all_control_count;
$sql_warn = prepare("select count(warn.id) from warn,device where device.id=warn.device_id and device.terminal_id=?i ",array($terminal_id));
$warn_count = get_var($sql_warn);
$data['warn_count'] = get_var($sql_warn);
//基本信息 场站名称 地址 负责人 联系方式
$sql = prepare("select * from terminal where id=?i",array($terminal_id));
$data['info'] = get_line($sql);
//设备情况 控制状态 控制模式 闸门状态 1主污泵状态 2备污泵状态 3雨水泵
$sql_strategy = prepare("select strategy.name from strategy,device where strategy.id=device.strategy_id and device.terminal_id=?i",array($terminal_id));
$data['strategy'] = get_var($sql_strategy);
$sql_controlmodel = prepare("select CASE WHEN control_model = 1 THEN '手动模式' else '自动模式' END from device where terminal_id=?i limit 1",array($terminal_id));
$data['controlmodel'] = get_var($sql_controlmodel);
$sql_device_status = prepare("select if(main_sewage_pump=1,'开启','关闭') as main_sewage_pump,if(standby_sewage_pump=1,'开启','关闭') as standby_sewage_pump,if(main_rain_pump=1,'开启','关闭') as main_rain_pump,if(gate_up=1,'闸门上升','闸门上升停止') as gate_up,if(gate_down=1,'闸门下降','闸门下降停止') as gate_down from data where device_id = (select id from device where terminal_id = ?i limit 1) order by id desc limit 1",array($terminal_id));
$data['gate_up'] = get_line($sql_device_status)['gate_up'];
$data['gate_down'] = get_line($sql_device_status)['gate_down'];
$data['main_sewage_pump'] = get_line($sql_device_status)['main_sewage_pump'];
$data['standby_sewage_pump'] = get_line($sql_device_status)['standby_sewage_pump'];
$data['main_rain_pump'] = get_line($sql_device_status)['main_rain_pump'];
if (!empty($_SESSION)) {
render($data, 'web', 'station_details');
} else {
header("Location:?c=index&a=index");
}
}
/**
* 返回视频管理
*/
public function video()
{
$module_hanyupinyin = v("id");
if (!empty($_SESSION)){
// echo 1;
$project_id = $_SESSION['project_id'];
if($project_id == '0'){
// echo 1;
//项目列表
$sql = "select id,name from project order by id asc";
$project_array = get_data($sql);
if(empty($module_hanyupinyin)){
}else{
}
}else{
if(empty($module_hanyupinyin)){
// echo 3;
//项目列表
$sql = prepare("select id,name from project where id=?i order by id asc",array($module_hanyupinyin));
$project_array = get_data($sql);
}else{
// echo 4;
//项目列表
$sql = prepare("select id,name from project where id=?i order by id asc",array($project_id));
$project_array = get_data($sql);
}
}
$data['projects'] =$project_array;
render($data, 'web', 'video');
}else{
header("Location:?c=index&a=index");
}
}
/**
* 返回视频详情
*/
public function video_details()
{
if (!empty($_SESSION)) {
render(null, 'web', 'video_details');
} else {
header("Location:?c=index&a=index");
}
}
/**
* 返回事件管理
*/
public function event()
{
$module_hanyupinyin = v("id");
if (!empty($_SESSION)){
// echo 1;
$project_id = $_SESSION['project_id'];
if($project_id == '0'){
if(empty($module_hanyupinyin)){
//项目列表
$sql = "select id,name from project order by id asc";
$project_array = get_data($sql);
$data['projects'] =$project_array;
//事件总数
$sql_event = "select count(*) from event";
$event_count = get_var($sql_event);
$data['event_count']=$event_count;
}else{
//项目列表
$sql = "select id,name from project order by id asc";
$project_array = get_data($sql);
$data['projects'] =$project_array;
//事件总数
$sql_event = prepare("select count(*) from event where device_id in (select id from device where project_id = ?i)",array($module_hanyupinyin));
$event_count = get_var($sql_event);
$data['event_count']=$event_count;
}
}else{
//项目列表
if(empty($module_hanyupinyin)){
$sql = prepare("select id,name from project where id=?i order by id asc",array($project_id));
$project_array = get_data($sql);
$data['projects'] =$project_array;
//事件总数
$sql_event = prepare("select count(*) from event where device_id in (select id from device where project_id = ?i)",array($project_id));
$event_count = get_var($sql_event);
$data['event_count']=$event_count;
}else{
$sql = prepare("select id,name from project where id=?i order by id asc",array($module_hanyupinyin));
$project_array = get_data($sql);
$data['projects'] =$project_array;
//事件总数
$sql_event = prepare("select count(*) from event where device_id in (select id from device where project_id = ?i)",array($module_hanyupinyin));
$event_count = get_var($sql_event);
$data['event_count']=$event_count;
}
}
render($data, "web", "event");
}else {
header("Location:?c=index&a=index");
}
}
/**
* 返回设备管理
*/
public function device()
{
if (!empty($_SESSION)) {
$project_id = $_SESSION['project_id'];
//项目 场站
if($project_id == '0'){
$sql_project = "select id,name from project";
$project = get_data($sql_project);
$data['projects'] = $project;
// $sql_terminal = "select terminal.id,terminal.name from terminal,project where project.id=terminal.project_id";
// $terminal = get_data($sql_terminal);
// $data['terminals'] = $terminal;
}else{
$sql_project = prepare("select id,name from project where id=?i",array($project_id));
$project = get_data($sql_project);
$data['projects'] = $project;
// $sql_terminal = prepare("select terminal.name from terminal,project where project.id=terminal.project_id and project.id=?i",array($project_id));
// $terminal = get_data($sql_terminal);
// $data['terminals'] = $terminal;
}
// echo '<pre>';
// var_dump($data);
// echo '</pre>';
render($data, 'web', 'device');
} else {
header("Location:?c=index&a=index");
}
}
/**
* 返回SIM卡管理
*/
public function sim()
{
$module_hanyupinyin = v("id");
if (!empty($_SESSION)){
$project_id = $_SESSION['project_id'];
if($project_id == '0'){
//项目列表
$sql = "select id,name from project order by id asc";
$project_array = get_data($sql);
if(empty($module_hanyupinyin)){
//sim卡总数量 流量告警数量 欠费停机数量 累计使用流量
$sql_total = "select count(sim.id) from sim,device where sim.device_id=device.id";
$total = get_var($sql_total);
$sql_arrears = "select count(sim.id) from sim,device where sim.device_id =device.id and round(total_traffic-used_traffic,2) <= 20";
$arrears = get_var($sql_arrears);
$sql_use = "select round(sum(sim.used_traffic),2) from sim,device where sim.device_id =device.id";
$used = get_var($sql_use);
$sql_down = "select count(sim.id) from sim,device where sim.device_id=device.id and sim.status=3";
$down = get_var($sql_down);
}else{
//sim卡总数量 流量告警数量 欠费停机数量 累计使用流量
$sql_total = prepare("select count(sim.id) from sim,device where sim.device_id=device.id and device.project_id = ?i",array($module_hanyupinyin));
$total = get_var($sql_total);
$sql_arrears = prepare("select count(sim.id) from sim,device where sim.device_id =device.id and round(total_traffic-used_traffic,2) <= 20 and device.project_id = ?i",array($module_hanyupinyin));
$arrears = get_var($sql_arrears);
$sql_use = prepare("select round(sum(sim.used_traffic),2) from sim,device where sim.device_id =device.id and device.project_id = ?i",array($module_hanyupinyin));
$used = get_var($sql_use);
$sql_down = prepare("select count(sim.id) from sim,device where sim.device_id=device.id and sim.status=3 and device.project_id=?i",array($module_hanyupinyin));
$down = get_var($sql_down);
}
}else{
if(empty($module_hanyupinyin)){
//项目列表
$sql = prepare("select id,name from project where id=?i order by id asc",array($project_id));
$project_array = get_data($sql);
//sim卡总数量 流量告警数量 欠费停机数量 累计使用流量
$sql_total = prepare("select count(sim.id) from sim,device where sim.device_id=device.id and device.project_id=?i",array($project_id));
$total = get_var($sql_total);
$sql_arrears = prepare("select count(sim.id) from sim,device where sim.device_id =device.id and round(total_traffic-used_traffic,2) <= 20 and device.project_id=?i",array($project_id));
$arrears = get_var($sql_arrears);
$sql_use = prepare("select round(sum(sim.used_traffic),2) from sim,device where sim.device_id =device.id and device.project_id=?i",array($project_id));
$used = get_var($sql_use);
$sql_down = prepare("select count(sim.id) from sim,device where sim.device_id=device.id and sim.status=3 and device.project_id=?i",array($project_id));
$down = get_var($sql_down);
}else{
//项目列表
$sql = prepare("select id,name from project where id=?i order by id asc",array($project_id));
$project_array = get_data($sql);
//sim卡总数量 流量告警数量 欠费停机数量 累计使用流量
$sql_total = prepare("select count(sim.id) from sim,device where sim.device_id=device.id and device.project_id=?i",array($project_id));
$total = get_var($sql_total);
$sql_arrears = prepare("select count(sim.id) from sim,device where sim.device_id =device.id and round(total_traffic-used_traffic,2) <= 20 and device.project_id=?i",array($project_id));
$arrears = get_var($sql_arrears);
$sql_use = prepare("select round(sum(sim.used_traffic),2) from sim,device where sim.device_id =device.id and device.project_id=?i",array($project_id));
$used = get_var($sql_use);
$sql_down = prepare("select count(sim.id) from sim,device where sim.device_id=device.id and sim.status=3 and device.project_id=?i",array($project_id));
$down = get_var($sql_down);
}
}
$data['total'] =$total;
$data['arrears'] =$arrears;
$data['used'] =$used;
$data['projects'] =$project_array;
$data['down'] = $down;
render($data, 'web', 'sim');
}else {
header("Location:?c=index&a=index");
}
}
/**
* 返回用户管理
*/
public function user()
{
if (!empty($_SESSION)){
// echo 1;
$project_id = $_SESSION['project_id'];
if($project_id == '0'){
//项目列表
$sql = "select id,name from project order by id asc";
$project_array = get_data($sql);
}else{
//项目列表
$sql = prepare("select id,name from project where id=?i order by id asc",array($project_id));
$project_array = get_data($sql);
}
$data['projects'] =$project_array;
render($data, 'web', 'user');
}else {
header("Location:?c=index&a=index");
}
}
/*
大屏
*/
public function dashboard(){
if (!empty($_SESSION)) {
render(null, 'web', 'big_screen_index');
} else {
header("Location:?c=index&a=index");
}
}
//新增 点位页面
public function addPosition(){
if (!empty($_SESSION)) {
render(null, 'web', 'addPosition');
} else {
header("Location:?c=index&a=index");
}
}
/*
*
* 记录登录页面
*/
public function RecordFootLog()
{
$token = $_SESSION['token'];
// 通过token获取login_id
$sql = prepare("select id from user where token = ?s limit 1",array($token));
$user_id = get_var($sql);
return $user_id;
}
}
?>