Raindp.php
6.1 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
<?php
namespace app\api\controller\shanhaijing;
use app\common\controller\Api;
use think\Db;
use think\exception\PDOException;
/**
*
*/
class Raindp extends Api
{
protected $noNeedLogin = ['*'];
protected $noNeedRight = ['*'];
public function TodaysRain($id = null){
$rain = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->field('total_rainfall')->order('createtime desc')->find();
$this->success('成功',$rain);
}
public function Allrain($id = null){
$rainall = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->field('total_rainfall')->select();
$this->success('成功',$rainall);
}
public function Allrain24hours($id = null){
$daytime = date('Y-m-d');
$daytime1 = date('Y-m-d',strtotime("$daytime - 1 day"));
$rainall = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[$daytime1,$daytime])->field('total_rainfall')->select();
$this->success('成功',$rainall);
}
public function Allrain7days($id = null){
$daytime = date('Y-m-d');
$daytime1 = date('Y-m-d',strtotime("$daytime - 7 day"));
$rainall = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[$daytime1,$daytime])->field('total_rainfall')->select();
$this->success('成功',$rainall);
}
public function Allrainamonth($id = null){
$daytime = date('Y-m-d');
$daytime1 = date('Y-m-d',strtotime("$daytime - 30 day"));
$rainall = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[$daytime1,$daytime])->field('total_rainfall')->select();
$this->success('成功',$rainall);
}
public function Todaywaterlevel($id = null){
$rainall = Db::name('reservoir_rain_water_level')->where('reservoir_id',$id)->where('createtime','between time',[$daytime1,$daytime])->field('total_rainfall')->select();
$this->success('成功',$rainall);
}
public function Trendwaterlevel($id = null){
$daytime = date('Y-m-d');
$daytime1 = date('Y-m-d',strtotime("$daytime + 1 day"));
$onetime = date('Y-m-d');
$endtime = date('Y-m-d',strtotime("$onetime - 1 day"));
$time = [];
$warter = [];
for($i = 0 ;$i<7;$i++){
$daytime1 = date('Y-m-d',strtotime("$daytime1 - 1 day"));
$timeobj = [
"time" => $daytime1
];
$time[] = $timeobj;
$daywarter = Db::name('reservoir_rain_water_level')->where('reservoir_id',$id)->where('createtime','between time',[$endtime,$onetime])->order('reporttime desc')->field('water_level')->find();
$onetime = date('Y-m-d',strtotime("$onetime - 1 day"));
$endtime = date('Y-m-d',strtotime("$endtime - 1 day"));
$warter[] = $daywarter;
}
$data = [
'time' => $time,
'warter' => $warter
];
$this->success('成功',$data);
}
//降水环比
public function PrecipitationFrom($id = null){
$jtime = date('Y-m-d');
//24小时环比增长
$hours24z = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 1 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->order('createtime desc')->field('total_rainfall')->find();
$hours24f = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 1 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->field('total_rainfall')->find();
$hours24b = $hours24z['total_rainfall'] - $hours24f['total_rainfall'];
//7天环比增长
$day7z = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 7 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->order('createtime desc')->field('total_rainfall')->find();
$day7f = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 7 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->field('total_rainfall')->find();
$day7b = $day7z['total_rainfall'] - $day7f['total_rainfall'];
//30天环比增长
$day30z = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 30 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->order('createtime desc')->field('total_rainfall')->find();
$day30f = Db::name('reservoir_rain_rainfall')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 30 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->field('total_rainfall')->find();
$day30b = $day30z['total_rainfall'] - $day30f['total_rainfall'];
$data = [
'hours24' => $hours24b,
'day7' => $day30b,
'day30' => $day30b
];
$this->success('成功1',$data);
}
public function Warteravg($id = null){
$jtime = date('Y-m-d');
//24小时环比增长
$hours24b = Db::name('reservoir_rain_water_level')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 1 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->avg('water_level');
//7天环比增长
$day7b = Db::name('reservoir_rain_water_level')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 7 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->avg('water_level');
//30天环比增长
$day30b = Db::name('reservoir_rain_water_level')->where('reservoir_id',$id)->where('createtime','between time',[date('Y-m-d',strtotime("$jtime - 30 day")),date('Y-m-d',strtotime("$jtime + 1 day"))])->avg('water_level');
$data = [
'hours24' => $hours24b,
'day7' => $day30b,
'day30' => $day30b
];
$this->success('成功1',$data);
}
}