1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- // 计算项目概要
- require_once './DB.php';
- date_default_timezone_set('Asia/Shanghai');
- $config = json_decode(file_get_contents('./db_config.php'),true);
- 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);
- }
- ?>
|