|
@@ -5,50 +5,59 @@ date_default_timezone_set('Asia/Shanghai');
|
|
|
|
|
|
$config = [
|
|
|
'hostname' => 'rm-wz98r5cn33zq4ou980o.mysql.rds.aliyuncs.com',
|
|
|
- 'username' => 'lampmanager',
|
|
|
- 'password' => 'lampmanager@2019',
|
|
|
- 'dbname' => 'lampmanager',
|
|
|
+ 'username' => 'idcol20',
|
|
|
+ 'password' => 'idcol@1234',
|
|
|
+ 'dbname' => 'idcol',
|
|
|
];
|
|
|
while (1) {
|
|
|
$db = new Db($config);
|
|
|
$t = date('H:i',time());
|
|
|
- if ($t == '02:05') {
|
|
|
- $lampList = $db->query('select id,logtime from lampinfo order by id asc');
|
|
|
- // $minTime = $db->query('select max(updatetime) as minTime from statistics');
|
|
|
- // $sum = floor((time() - strtotime($minTime[0]['minTime'])) / 86400);
|
|
|
-
|
|
|
- // for ($i=0; $i < $sum; $i++) {
|
|
|
- // $fromDate = date('Y-m-d 00:00:00',strtotime($minTime[0]['minTime']) + ($i+1) * 24 * 3600);
|
|
|
- // $toDate = date('Y-m-d 23:59:59',strtotime($minTime[0]['minTime']) + ($i+1) * 24 * 3600);
|
|
|
- $fromDate = date('Y-m-d 00:00:00',time() - 24 * 3600);
|
|
|
- $toDate = date('Y-m-d 23:59:59',time() - 24 * 3600);
|
|
|
+ // if ($t == '02:05') {
|
|
|
+ if (1) {
|
|
|
+ $lampList = $db->query('select id,updatetime from lampinfo order by id asc');
|
|
|
+ // $minTime = $db->query('select max(updatetime) as minTime from new_statistics where updatetime is not null');
|
|
|
+ // if (empty($minTime) || empty($minTime[0]) || empty($minTime[0]['minTime'])) {
|
|
|
+ $sql = 'select min(updatetime) as minTime from realtime_info_log where updatetime is not null AND updatetime != "1970-01-01 08:00:00"';
|
|
|
+ $minTime = $db->query($sql);
|
|
|
+ // var_dump($minTime);die;
|
|
|
+ // }
|
|
|
+ // var_dump($minTime);die;
|
|
|
+ $sum = floor((time() - strtotime($minTime[0]['minTime'])) / 86400);
|
|
|
+ // var_dump($sum);die;
|
|
|
+ for ($i=0; $i < $sum; $i++) {
|
|
|
+ $fromDate = date('Y-m-d 00:00:00',strtotime($minTime[0]['minTime']) + ($i+1) * 24 * 3600);
|
|
|
+ $toDate = date('Y-m-d 23:59:59',strtotime($minTime[0]['minTime']) + ($i+1) * 24 * 3600);
|
|
|
+ // $fromDate = date('Y-m-d 00:00:00',time() - 24 * 3600);
|
|
|
+ // $toDate = date('Y-m-d 23:59:59',time() - 24 * 3600);
|
|
|
// var_dump($fromDate);var_dump($toDate);
|
|
|
|
|
|
$sql = 'select lampid from statistics WHERE updatetime >= "'.$fromDate.'" AND updatetime <= "'.$toDate.'"';
|
|
|
$data = $db->query($sql);
|
|
|
- $lampidData = [];
|
|
|
- foreach ($data as $v) {
|
|
|
- $lampidData[] = $v['lampid'];
|
|
|
- }
|
|
|
+ // $lampidData = [];
|
|
|
+ // foreach ($data as $v) {
|
|
|
+ // $lampidData[] = $v['lampid'];
|
|
|
+ // }
|
|
|
foreach ($lampList as $value) {
|
|
|
- if (empty($value['logtime'])) continue;
|
|
|
- if (in_array($value['id'], $lampidData)) continue;
|
|
|
+ if (empty($value['updatetime'])) continue;
|
|
|
+ // if (in_array($value['id'], $lampidData)) continue;
|
|
|
|
|
|
// if (empty($data[0]['id'])) {
|
|
|
- $sql = 'select max(updatetime) as maxTime from lamp_info_log WHERE updatetime >= "'.$fromDate.'" AND updatetime <= "'.$toDate.'" AND lampid = '.$value['id'];
|
|
|
+ $sql = 'select max(updatetime) as maxTime from realtime_info_log WHERE updatetime >= "'.$fromDate.'" AND updatetime <= "'.$toDate.'" AND lampid = '.$value['id'];
|
|
|
$updatetime = $db->query($sql);
|
|
|
+ var_dump($updatetime);
|
|
|
if (empty($updatetime[0]['maxTime'])) {
|
|
|
usleep(10000);
|
|
|
continue;
|
|
|
}
|
|
|
$res = get_data($value['id'],$updatetime[0]['maxTime'],$db);
|
|
|
+ // var_dump($res);
|
|
|
$res['lampid'] = $value['id'];
|
|
|
$res['updatetime'] = $updatetime[0]['maxTime'];
|
|
|
$db->table('statistics')->insert($res);
|
|
|
|
|
|
- $lampData = $db->query('select id from new_statistics WHERE lampid = '.$value['id']);
|
|
|
+ $lampData = $db->query('select id from new_statistics WHERE lampid = '.$value['id'].' AND date_format(updatetime,"%Y-%m-%d") = "'.date('Y-m-d',strtotime($res['updatetime'])).'"');
|
|
|
if (!empty($lampData) && !empty($lampData[0]['id'])) {
|
|
|
- $db->table('new_statistics')->where('lampid='.$value['id'])->update($res);
|
|
|
+ $db->table('new_statistics')->where('id='.$lampData[0]['id'])->update($res);
|
|
|
}else{
|
|
|
$db->table('new_statistics')->insert($res);
|
|
|
}
|
|
@@ -56,14 +65,15 @@ while (1) {
|
|
|
// }
|
|
|
|
|
|
}
|
|
|
- // }
|
|
|
+ }
|
|
|
+ var_dump('ok');die;
|
|
|
}
|
|
|
$db->close();
|
|
|
sleep(30);
|
|
|
}
|
|
|
function get_data($id,$date,$db){
|
|
|
|
|
|
- $table = 'electric_info_log';
|
|
|
+ $table = 'realtime_info_log';
|
|
|
|
|
|
$beginDateDay = date('Y-m-d 00:00:00',strtotime($date));
|
|
|
$endDateDay = date('Y-m-d 23:59:59',strtotime($date));
|
|
@@ -76,18 +86,18 @@ function get_data($id,$date,$db){
|
|
|
|
|
|
|
|
|
// 当天发电量,用电量
|
|
|
- $query = "SELECT lampid,daygeneration,dayconsumption FROM {$table}
|
|
|
+ $query = "SELECT lampid,chargeday as daygeneration,dischargeday as dayconsumption FROM {$table}
|
|
|
WHERE lampid =".$id."
|
|
|
AND updatetime>='".$beginDateDay."'
|
|
|
AND updatetime<='".$endDateDay."' order by updatetime desc limit 1";
|
|
|
-
|
|
|
$query = $db->query($query);
|
|
|
+
|
|
|
$data['dayGeneration'] = empty($query[0]['daygeneration']) ? 0 : round($query[0]['daygeneration'],2);
|
|
|
$data['dayConsumption'] = empty($query[0]['dayconsumption']) ? 0 : round($query[0]['dayconsumption'],2);
|
|
|
|
|
|
|
|
|
// 总发电量,总用电量
|
|
|
- $query = "SELECT totalgeneration,totalconsumption FROM {$table}
|
|
|
+ $query = "SELECT totalchargeah as totalgeneration,totaldischarah as totalconsumption FROM history_info_log
|
|
|
WHERE lampid =".$id."
|
|
|
AND updatetime>='".$beginDateDay."'
|
|
|
AND updatetime<='".$endDateDay."' order by updatetime desc limit 1";
|
|
@@ -96,7 +106,7 @@ function get_data($id,$date,$db){
|
|
|
$data['totalConsumption'] = empty($query[0]['totalconsumption']) ? 0 : round($query[0]['totalconsumption'],2);
|
|
|
|
|
|
//月发电量和用电量
|
|
|
- $query = "SELECT totalgeneration AS lastmonthgeneration,totalconsumption AS lastmonthconsumption FROM {$table}
|
|
|
+ $query = "SELECT totalchargeah AS lastmonthgeneration,totaldischarah AS lastmonthconsumption FROM history_info_log
|
|
|
WHERE lampid =".$id." AND updatetime<'".$beginDateMonth."' order by updatetime desc limit 1";
|
|
|
|
|
|
$query = $db->query($query);
|
|
@@ -108,7 +118,7 @@ function get_data($id,$date,$db){
|
|
|
$data['monthGeneration'] = $query[0]['lastmonthgeneration'] >= $data['totalGeneration'] ? 0 : $data['totalGeneration'] - $query[0]['lastmonthgeneration'];
|
|
|
|
|
|
//年发电量和用电量
|
|
|
- $query = "SELECT totalgeneration AS lastyeargeneration,totalconsumption AS lastyearconsumption FROM {$table}
|
|
|
+ $query = "SELECT totalchargeah AS lastyeargeneration,totaldischarah AS lastyearconsumption FROM history_info_log
|
|
|
WHERE lampid =".$id." AND updatetime<'".$beginDateYear."'";
|
|
|
$query = $db->query($query);
|
|
|
$query[0]['lastyeargeneration'] = empty($query[0]['lastyeargeneration']) ? 0 : round($query[0]['lastyeargeneration'],2);
|
|
@@ -117,11 +127,12 @@ function get_data($id,$date,$db){
|
|
|
$data['yearGeneration'] = $query[0]['lastyeargeneration'] >= $data['totalGeneration'] ? 0 : $data['totalGeneration'] - $query[0]['lastyeargeneration'];
|
|
|
|
|
|
// 当天蓄电池累计数据
|
|
|
- $query = "SELECT max(daycharmaxcurrent) as dayCharMaxCurr,max(daydischarmaxcurrent) as dayDischarMaxCurr,min(daybattmintemper) as dayMinTemper,max(daybattmaxtemper) as dayMaxTemper,max(daychargemaxpow) as dayCharMaxPower,max(daydischarmaxpow) as dayDischarMaxPower,max(voltagedaymax) as dayMaxVoltage,min(voltagedaymin) as dayMinVoltage FROM battery_info_log
|
|
|
+ $query = "SELECT max(daycharmaxcurrent) as dayCharMaxCurr,max(daydischarmaxcurrent) as dayDischarMaxCurr,min(daybattmintemper) as dayMinTemper,max(daybattmaxtemper) as dayMaxTemper,max(daychargemaxpow) as dayCharMaxPower,max(daydischarmaxpow) as dayDischarMaxPower,max(voltagedaymax) as dayMaxVoltage,min(voltagedaymin) as dayMinVoltage FROM realtime_info_log
|
|
|
WHERE lampid =".$id."
|
|
|
AND updatetime>='".$beginDateDay."'
|
|
|
AND updatetime<='".$endDateDay."'";
|
|
|
$query = $db->query($query);
|
|
|
+
|
|
|
$data['dayCharMaxCurr'] = empty($query[0]['dayCharMaxCurr']) ? 0 : round($query[0]['dayCharMaxCurr'],2);
|
|
|
$data['dayDischarMaxCurr'] = empty($query[0]['dayDischarMaxCurr']) ? 0 : round($query[0]['dayDischarMaxCurr'],2);
|
|
|
$data['dayMinTemper'] = empty($query[0]['dayMinTemper']) ? 0 : round($query[0]['dayMinTemper'],2);
|
|
@@ -132,7 +143,7 @@ function get_data($id,$date,$db){
|
|
|
$data['dayMinVoltage'] = empty($query[0]['dayMinVoltage']) ? 0 : round($query[0]['dayMinVoltage'],2);
|
|
|
|
|
|
// 当月蓄电池累计数据
|
|
|
- $query = "SELECT max(daycharmaxcurrent) as monthCharMaxCurr,max(daydischarmaxcurrent) as monthDischarMaxCurr,min(daybattmintemper) as monthMinTemper,max(daybattmaxtemper) as monthMaxTemper,max(daychargemaxpow) as monthCharMaxPower,max(daydischarmaxpow) as monthDischarMaxPower,max(voltagedaymax) as monthMaxVoltage,min(voltagedaymin) as monthMinVoltage FROM battery_info_log
|
|
|
+ $query = "SELECT max(daycharmaxcurrent) as monthCharMaxCurr,max(daydischarmaxcurrent) as monthDischarMaxCurr,min(daybattmintemper) as monthMinTemper,max(daybattmaxtemper) as monthMaxTemper,max(daychargemaxpow) as monthCharMaxPower,max(daydischarmaxpow) as monthDischarMaxPower,max(voltagedaymax) as monthMaxVoltage,min(voltagedaymin) as monthMinVoltage FROM realtime_info_log
|
|
|
WHERE lampid =".$id."
|
|
|
AND updatetime>='".$beginDateMonth."'
|
|
|
AND updatetime<='".$endDateMonth."'";
|
|
@@ -147,7 +158,7 @@ function get_data($id,$date,$db){
|
|
|
$data['monthMinVoltage'] = empty($query[0]['monthMinVoltage']) ? 0 : round($query[0]['monthMinVoltage'],2);
|
|
|
|
|
|
// 当年蓄电池累计数据
|
|
|
- $query = "SELECT max(daycharmaxcurrent) as yearCharMaxCurr,max(daydischarmaxcurrent) as yearDischarMaxCurr,min(daybattmintemper) as yearMinTemper,max(daybattmaxtemper) as yearMaxTemper,max(daychargemaxpow) as yearCharMaxPower,max(daydischarmaxpow) as yearDischarMaxPower,max(voltagedaymax) as yearMaxVoltage,min(voltagedaymin) as yearMinVoltage FROM battery_info_log
|
|
|
+ $query = "SELECT max(daycharmaxcurrent) as yearCharMaxCurr,max(daydischarmaxcurrent) as yearDischarMaxCurr,min(daybattmintemper) as yearMinTemper,max(daybattmaxtemper) as yearMaxTemper,max(daychargemaxpow) as yearCharMaxPower,max(daydischarmaxpow) as yearDischarMaxPower,max(voltagedaymax) as yearMaxVoltage,min(voltagedaymin) as yearMinVoltage FROM realtime_info_log
|
|
|
WHERE lampid =".$id."
|
|
|
AND updatetime>='".$beginDateYear."'
|
|
|
AND updatetime<='".$endDateYear."'";
|