Home.php
4.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<?php
namespace app\admin\controller\inspection;
use app\common\controller\Backend;
use think\Db;
class Home extends Backend
{
public function index()
{
return view();
}
public function home(){
// 今日巡检任务
$task = count(Db::name('inspection_project')->whereTime('begintime','d')->select());
// 今日上报隐患
$warning = count(Db::name('inspection_warning')->whereTime('createtime','d')->select());
// 总巡检人员
$staff = count(Db::name('inspection_staff')->where('duty','巡检员')->select());
// 总巡检任务
$task_t = count(Db::name('inspection_project')->select());
$this->assign ([
'task' => $task,
'warning' => $warning,
'staff' => $staff,
'task_t' => $task_t,
]);
return $this->fetch('home');
}
// 巡检任务图
public function task(){
// 本周巡检任务总数
$task = count(Db::name('inspection_project')->whereTime('begintime', 'w')->select());
// 上周巡检任务总数
$last_task = count(Db::name('inspection_project')->whereTime('begintime', 'last week')->select());
// 巡检任务相比上周增长
$per = $task-$last_task;
// 本周完成任务总数
$com_task = count(Db::name('inspection_project')->where('status', 1)
->whereTime('begintime', 'w') ->whereTime('endtime', 'w')->select());
// 上周完成任务总数
$last_com_task = count(Db::name('inspection_project')->where('status', 1)
->whereTime('begintime', 'last week')->whereTime('endtime', 'last week')->select());
// 完成任务相比上周增长
$com_pre = $com_task-$last_com_task;
// 巡检任务图
$data = [];
for ($i=-6; $i<1; ){
$day = date("Y-m-d",strtotime("$i day"));
// 日期区间查询
$res = count(Db::name('inspection_project')
->where('begintime','between time',[$day.' 00:00:00', $day.' 23:59:59'])
->select());
$data[$day]=$res;
$i++;
}
$new_data = [];
foreach ($data as $new_key => $new_val){
$new_data['key'][] = $new_key;
$new_data['val'][] = $new_val;
}
// 返回接口数据
return json([
"task"=>$task,
"per"=>$per,
"com_task"=>$com_task,
"com_pre"=>$com_pre,
"data"=>$new_data
]);
}
// 水库隐患图
public function warning(){
// 本周水库隐患总数
$warning = count(Db::name('inspection_warning')->whereTime('createtime', 'w')->select());
// 上周水库隐患总数
$last_warning = count(Db::name('inspection_warning')->whereTime('createtime', 'last week')->select());
// 水库隐患相比上周增长
$per_warning = $warning-$last_warning;
// 本周隐患任务总数
$com_warning = count(Db::name('inspection_warning')
->whereTime('createtime', 'w')->select());
// 上周隐患任务总数
$last_com_warning = count(Db::name('inspection_warning')
->whereTime('createtime', 'last week')->select());
// 隐患任务相比上周增长
$com_pre_warning = $com_warning-$last_com_warning;
// 隐患任务图
$data = [];
for ($i=-6; $i<1; $i++){
// 日期区间查询
$day = date("Y-m-d",strtotime("$i day"));
$res = count(
Db::name('inspection_warning')
->where('createtime','between time',[ $day.' 00:00:00', $day.' 23:59:59'])
->select()
);
$data[$day]=$res;
}
$new_data = [];
foreach ($data as $new_key => $new_val){
$new_data['key'][] = $new_key;
$new_data['val'][] = $new_val;
}
// 返回接口数据
return json([
"warning"=>$warning,
"per_warning"=>$per_warning,
"com_warning"=>$com_warning,
"com_pre_warning"=>$com_pre_warning,
"data"=>$new_data
]);
}
}