Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function getHistsensor($id){
- global $db;
- $tgl = isset($_GET['tgl']) ? $_GET['tgl'] : date('Y-m-d');
- $tglex = explode('-', $tgl);
- $nhari = date("t",strtotime("$tgl +1 days"));
- $tipe = isset($_GET['tipe']) ? $_GET['tipe'] : 0;
- $sql = "select * from lantai where idgedung=$id";
- $datalantai = $db->pdoQuery($sql)->results();
- $gedung = array();
- $gedung['lantai'] = array();
- //iterasi lantai
- if ($tipe==0){
- //harian
- for( $i=1; $i<= 24; $i++){
- if ($i%6==0)
- $label[] = str_pad($i,2,'0', STR_PAD_LEFT);
- else
- $label[] = "";
- }
- }else if ($tipe==1){
- //bulanan
- for( $i=1; $i<= $nhari; $i++)
- $label[] = str_pad($i,2,'0', STR_PAD_LEFT);
- }else{
- //tahunan
- $label = array();
- }
- $gedung['label'] = $label;
- foreach ($datalantai as $keylantai => $valuelantai) {
- $lantai = array();
- $sql = "select * from ruang where idlantai=".$valuelantai['idlantai'];
- $dataruang = $db->pdoQuery($sql)->results();
- $lantai = $datalantai[$keylantai];
- $lantai['ruang'] = array();
- foreach ($dataruang as $keyruang => $valueruang) {
- $ruang = array();
- $ruang = $valueruang;
- $idruang = $valueruang['idruang'];
- $ruang['powermeter'] = array();
- $ruang['okupansi'] = array();
- $ruang['temperatur'] = array();
- $ruang['kelembaban'] = array();
- $ruang['luminansi'] = array();
- if ($tipe==2){
- array_push($ruang['powermeter'],0);
- array_push($ruang['okupansi'],0);
- array_push($ruang['temperatur'],0);
- array_push($ruang['kelembaban'],0);
- array_push($ruang['luminansi'],0);
- }
- //harian
- if ($tipe==0){
- for ($m=0;$m<24;$m++){
- //perjam
- $t1 = date("Y-m-d H:i:s",strtotime("$tgl 00:00:00 +$m hours"));
- $t2 = date("Y-m-d H:i:s",strtotime("$tgl 00:00:00 +$m hours 59 minutes"));
- $sql = "select * from konsumsi_alat k inner join utilitas_pasang up on k.id_utilitaspasang = up.idutilitas_pasang where T2 >= '$t1'and T1 <= '$t2' and up.util_tipe < 6 and up.idruang = $idruang";
- $datasensor = $db->pdoQuery($sql)->results();
- $powermeter = 0;
- $okupansi = 0;
- $temperatur = 0;
- $kelembaban = 0;
- $luminansi = 0;
- $lenC = 0;
- $lenH = 0;
- $lenL = 0;
- foreach ($datasensor as $keysensor => $valuesensor) {
- switch ($valuesensor['util_tipe']){
- case 1:
- $powermeter += (float)$valuesensor['W'];
- break;
- case 2:
- $okupansi += (int)$valuesensor['O'];
- break;
- case 3:
- $temperatur += (float)$valuesensor['C'];
- $lenC++;
- break;
- case 4:
- $kelembaban += (float)$valuesensor['H'];
- $lenH++;
- break;
- case 5:
- $luminansi += (float)$valuesensor['L'];
- $lenL++;
- break;
- default:
- break;
- }
- }
- array_push($ruang['powermeter'],$powermeter);
- array_push($ruang['okupansi'],$okupansi);
- $nc = ($lenC > 0) ? $temperatur/$lenC : 0;
- array_push($ruang['temperatur'],$nc);
- $nh = ($lenH > 0) ? $kelembaban/$lenH : 0;
- array_push($ruang['kelembaban'],$nh);
- $nl = ($lenL > 0) ? $luminansi/$lenL : 0;
- array_push($ruang['luminansi'],$nl);
- }
- } else if ($tipe==1){
- for( $i=0; $i< $nhari; $i++){
- //perhari
- $tgl = $tglex[0].'-'.$tglex[1].'-'.'01';
- $m = $i*24;
- $t1 = date("Y-m-d H:i:s",strtotime("$tgl 00:00:00 +$m hours"));
- $t2 = date("Y-m-d H:i:s",strtotime("$tgl 23:59:59 +$m hours"));
- $sql = "select * from konsumsi_alat k inner join utilitas_pasang up on k.id_utilitaspasang = up.idutilitas_pasang where T2 >= '$t1'and T1 <= '$t2' and up.util_tipe < 6 and up.idruang = $idruang";
- $datasensor = $db->pdoQuery($sql)->results();
- $powermeter = 0;
- $okupansi = 0;
- $temperatur = 0;
- $kelembaban = 0;
- $luminansi = 0;
- $lenC = 0;
- $lenH = 0;
- $lenL = 0;
- foreach ($datasensor as $keysensor => $valuesensor) {
- switch ($valuesensor['util_tipe']){
- case 1:
- $powermeter += (float)$valuesensor['W'];
- break;
- case 2:
- $okupansi += (int)$valuesensor['O'];
- break;
- case 3:
- $temperatur += (float)$valuesensor['C'];
- $lenC++;
- break;
- case 4:
- $kelembaban += (float)$valuesensor['H'];
- $lenH++;
- break;
- case 5:
- $luminansi += (float)$valuesensor['L'];
- $lenL++;
- break;
- default:
- break;
- }
- }
- array_push($ruang['powermeter'],$powermeter);
- array_push($ruang['okupansi'],$okupansi);
- $nc = ($lenC > 0) ? $temperatur/$lenC : 0;
- array_push($ruang['temperatur'],$nc);
- $nh = ($lenH > 0) ? $kelembaban/$lenH : 0;
- array_push($ruang['kelembaban'],$nh);
- $nl = ($lenL > 0) ? $luminansi/$lenL : 0;
- array_push($ruang['luminansi'],$nl);
- }
- } else if ($tipe==2){
- for( $i=1; $i<= 12; $i++){
- $tgl = $tglex[0].'-'.$i.'-'.'01';
- $t1 = date("Y-m-d H:i:s",strtotime("$tgl 00:00:00"));
- $t2 = date("Y-m-d H:i:s",strtotime("$tgl 00:00:00 next month - 1 seconds"));
- $sql = "select * from konsumsi_alat k inner join utilitas_pasang up on k.id_utilitaspasang = up.idutilitas_pasang where T2 >= '$t1'and T1 <= '$t2' and up.util_tipe < 6 and up.idruang = $idruang";
- $datasensor = $db->pdoQuery($sql)->results();
- $powermeter = 0;
- $okupansi = 0;
- $temperatur = 0;
- $kelembaban = 0;
- $luminansi = 0;
- $lenC = 0;
- $lenH = 0;
- $lenL = 0;
- foreach ($datasensor as $keysensor => $valuesensor) {
- switch ($valuesensor['util_tipe']){
- case 1:
- $powermeter += (float)$valuesensor['W'];
- break;
- case 2:
- $okupansi += (int)$valuesensor['O'];
- break;
- case 3:
- $temperatur += (float)$valuesensor['C'];
- $lenC++;
- break;
- case 4:
- $kelembaban += (float)$valuesensor['H'];
- $lenH++;
- break;
- case 5:
- $luminansi += (float)$valuesensor['L'];
- $lenL++;
- break;
- default:
- break;
- }
- }
- array_push($ruang['powermeter'],$powermeter);
- array_push($ruang['okupansi'],$okupansi);
- $nc = ($lenC > 0) ? $temperatur/$lenC : 0;
- array_push($ruang['temperatur'],$nc);
- $nh = ($lenH > 0) ? $kelembaban/$lenH : 0;
- array_push($ruang['kelembaban'],$nh);
- $nl = ($lenL > 0) ? $luminansi/$lenL : 0;
- array_push($ruang['luminansi'],$nl);
- }
- }
- array_push($lantai['ruang'],$ruang);
- }
- array_push($gedung['lantai'],$lantai);
- }
- $lantai = array();
- $lantai['idlantai'] = 0;
- $lantai['nama'] = "SEMUA";
- $lantai['ruang'] = array();
- $ruang = array();
- $ruang['idruang'] = 0;
- $ruang['nama'] = "SEMUA";
- $ruang['powermeter'] = array();
- $ruang['okupansi'] = array();
- $ruang['temperatur'] = array();
- $ruang['kelembaban'] = array();
- $ruang['luminansi'] = array();
- foreach ($gedung['lantai'][0]['ruang'][0]['powermeter'] as $urutan){
- array_push($ruang['luminansi'],0);
- array_push($ruang['kelembaban'],0);
- array_push($ruang['temperatur'],0);
- array_push($ruang['okupansi'],0);
- array_push($ruang['powermeter'],0);
- }
- $nGCSensor = 0;
- $nGHSensor = 0;
- $nGLSensor = 0;
- //SEMUA
- foreach ($gedung['lantai'] as $l=>$subLantai) {
- $nRuang = count($subLantai['ruang']);
- //C
- $sql = "select count(*) as nsensor from utilitas_pasang where util_tipe = 3 and idlantai = ".$subLantai['idlantai'];
- $nCSensor = $db->pdoQuery($sql)->results();
- $nCSensor = $nCSensor[0]['nsensor'];
- //H
- $sql = "select count(*) as nsensor from utilitas_pasang where util_tipe = 4 and idlantai = ".$subLantai['idlantai'];
- $nHSensor = $db->pdoQuery($sql)->results();
- $nHSensor = $nHSensor[0]['nsensor'];
- //L
- $sql = "select count(*) as nsensor from utilitas_pasang where util_tipe = 5 and idlantai = ".$subLantai['idlantai'];
- $nLSensor = $db->pdoQuery($sql)->results();
- $nLSensor = $nLSensor[0]['nsensor'];
- //
- $nGCSensor += $nCSensor;
- $nGHSensor += $nHSensor;
- $nGLSensor += $nLSensor;
- $peruang = array();
- $peruang['idruang'] = 0;
- $peruang['nama'] = "SEMUA";
- $peruang['jumlah_ruang'] = $nRuang;
- $peruang['powermeter'] = array();
- $peruang['okupansi'] = array();
- $peruang['temperatur'] = array();
- $peruang['kelembaban'] = array();
- $peruang['luminansi'] = array();
- foreach ($subLantai['ruang'][0]['powermeter'] as $urutan){
- array_push($peruang['luminansi'],0);
- array_push($peruang['kelembaban'],0);
- array_push($peruang['temperatur'],0);
- array_push($peruang['okupansi'],0);
- array_push($peruang['powermeter'],0);
- }
- foreach ($subLantai['ruang'] as $r=>$subRuang) {
- foreach ($subRuang['powermeter'] as $elid=>$value) {
- $ruang['powermeter'][$elid] += $value; //ini total atau rata2
- $peruang['powermeter'][$elid] += $value; //ini total atau rata2
- }
- foreach ($subRuang['okupansi'] as $elid=>$value) {
- $ruang['okupansi'][$elid] += $value; //ini total atau rata2
- $peruang['okupansi'][$elid] += $value; //ini total atau rata2
- }
- foreach ($subRuang['temperatur'] as $elid=>$value) {
- $ruang['temperatur'][$elid] += $value; //ini total atau rata2
- $peruang['temperatur'][$elid] += $value; //ini total atau rata2
- }
- foreach ($subRuang['kelembaban'] as $elid=>$value) {
- $ruang['kelembaban'][$elid] += $value; //ini total atau rata2
- $peruang['kelembaban'][$elid] += $value; //ini total atau rata2
- }
- foreach ($subRuang['luminansi'] as $elid=>$value) {
- $ruang['luminansi'][$elid] += $value; //ini total atau rata2
- $peruang['luminansi'][$elid] += $value; //ini total atau rata2
- }
- }
- //HITUNG RATA2
- foreach ($peruang['temperatur'] as $idx => $value) {
- $peruang['temperatur'][$idx] = ($nCSensor > 0) ? $peruang['temperatur'][$idx]/$nCSensor : 0;
- }
- foreach ($peruang['kelembaban'] as $idx => $value) {
- $peruang['kelembaban'][$idx] = ($nHSensor > 0) ? $peruang['kelembaban'][$idx]/$nHSensor : 0;
- }
- foreach ($peruang['luminansi'] as $idx => $value) {
- $peruang['luminansi'][$idx] = ($nLSensor > 0) ? $peruang['luminansi'][$idx]/$nLSensor : 0;
- }
- array_unshift($gedung['lantai'][$l]['ruang'],$peruang);
- }
- //HITUNG RATA2
- foreach ($ruang['temperatur'] as $idx => $value) {
- $ruang['temperatur'][$idx] = ($nGCSensor > 0) ? $ruang['temperatur'][$idx]/$nGCSensor : 0;
- }
- foreach ($ruang['kelembaban'] as $idx => $value) {
- $ruang['kelembaban'][$idx] = ($nGHSensor > 0) ? $ruang['kelembaban'][$idx]/$nGHSensor : 0;
- }
- foreach ($ruang['luminansi'] as $idx => $value) {
- $ruang['luminansi'][$idx] = ($nGLSensor > 0) ? $ruang['luminansi'][$idx]/$nGLSensor : 0;
- }
- array_push($lantai['ruang'],$ruang);
- array_unshift($gedung['lantai'],$lantai);
- return $gedung;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement