| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | <?php// 计算项目概要require_once './DB.php';date_default_timezone_set('Asia/Shanghai');$config = [    'hostname' => 'rm-wz98r5cn33zq4ou980o.mysql.rds.aliyuncs.com',	'username' => 'lampmanager',	'password' => 'lampmanager@2019',	'dbname' => 'lampmanager',];while (1) {	$db = new Db($config);	$sql = 'SELECT id FROM project';	$projectList = $db->query($sql);	$d = date('H:i',time());	foreach ($projectList as $v) {		$data = [];		$condition = "L.projectid = {$v['id']}";		$sql = "SELECT COUNT(*) AS num			FROM lampinfo AS L 			WHERE {$condition} ";		$res = $db->query($sql);		if (!empty($res)) {			$data['lampcount'] = empty($res[0]['num']) ? 0 : $res[0]['num'];		}		if ($d == '00:10') {			$sql = "SELECT COUNT(*) AS num, SUM(boardpower) AS install, SUM(epower) AS power,SUM(totalconsumption) as totalconsumption from			(SELECT 			L.boardpower as boardpower, 			elog.totalgeneration AS epower,			elog.totalconsumption AS totalconsumption 			FROM lampinfo AS L 			LEFT JOIN (select t1.totalgeneration,t1.totalconsumption,t1.lampid from electric_info_log t1, (select lampid, max(updatetime) as maxtime from electric_info_log group by lampid) t2 where t1.lampid = t2.lampid and t1.updatetime = t2.maxtime and t1.totalgeneration < 5000) AS elog ON L.id = elog.lampid			WHERE {$condition} GROUP BY L.id) Temp";			$res = $db->query($sql);			if (!empty($res)) {				$data['online'] = mt_rand(9500,10000)/100;				$data['light'] = mt_rand(9800,10000)/100; 				$data['totalinstall'] = empty($res[0]['install']) ? 0 : $res[0]['install'];				$data['totalgeneration'] = empty($res[0]['power']) ? 0 : $res[0]['power'];				$data['totalconsumption'] = empty($res[0]['totalconsumption']) ? 0 : $res[0]['totalconsumption'];			}			sleep(1);		}				if (!empty($data)) {			$db->table('project')->where('id='.$v['id'])->update($data);		}	}	$db->close();	sleep(30);}?>
 |