You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
825 lines
39 KiB
825 lines
39 KiB
<style> |
|
.highcharts-figure, |
|
.highcharts-data-table table { |
|
min-width: 320px; |
|
max-width: 800px; |
|
margin: 1em auto; |
|
} |
|
|
|
.highcharts-data-table table { |
|
font-family: Verdana, sans-serif; |
|
border-collapse: collapse; |
|
border: 1px solid #ebebeb; |
|
margin: 10px auto; |
|
text-align: center; |
|
width: 100%; |
|
max-width: 500px; |
|
} |
|
|
|
.highcharts-data-table caption { |
|
padding: 1em 0; |
|
font-size: 1.2em; |
|
color: #555; |
|
} |
|
|
|
.highcharts-data-table th { |
|
font-weight: 600; |
|
padding: 0.5em; |
|
} |
|
|
|
.highcharts-data-table td, |
|
.highcharts-data-table th, |
|
.highcharts-data-table caption { |
|
padding: 0.5em; |
|
} |
|
|
|
.highcharts-data-table thead tr, |
|
.highcharts-data-table tr:nth-child(even) { |
|
background: #f8f8f8; |
|
} |
|
|
|
.highcharts-data-table tr:hover { |
|
background: #f1f7ff; |
|
} |
|
</style> |
|
|
|
<?php |
|
$tgt = 0; |
|
$pennow = 0; |
|
$penpast = 0; |
|
foreach ($penerimaan as $row) { |
|
$tgt += $row->TARGET; |
|
$pennow += $row->PENB; |
|
$penpast += $row->PENL; |
|
$capaian = ($pennow / $tgt) * 100; |
|
$growth = (($pennow - $penpast) / $penpast) * 100; |
|
$selisih = $penpast - $pennow; |
|
$carryover = $tgt - $pennow; |
|
} |
|
|
|
|
|
|
|
$jml_penerimaan = 0; |
|
foreach ($pie_penerimaan as $_junk => $data) { |
|
$jml_penerimaan = $jml_penerimaan + $data->PENERIMAAN; |
|
$jml_penerimaantot = $data->PENERIMAAN_TOT; |
|
} |
|
$jml_penerimaan = $jml_penerimaantot - $jml_penerimaan; |
|
$row = 0; |
|
|
|
$datanya_penerimaan = "["; |
|
foreach ($pie_penerimaan as $_junk => $data) { |
|
$datanya_penerimaan = $datanya_penerimaan . "{name :'" . $data->NM_PAJAK . "',y: " . $data->PENERIMAAN . "}"; |
|
break; |
|
} |
|
foreach ($pie_penerimaan as $_junk => $data) { |
|
if ($row <> 0) { |
|
$datanya_penerimaan = $datanya_penerimaan . ",{name :'" . $data->NM_PAJAK . "',y: " . $data->PENERIMAAN . "}"; |
|
} |
|
$row = $row + 1; |
|
} |
|
$datanya_penerimaan = $datanya_penerimaan . ",{name: 'Lainnya',y:" . $jml_penerimaan . "}]"; |
|
|
|
|
|
$datapaycomp = "["; |
|
foreach ($paycomp as $rowp) { |
|
$datapaycomp = $datapaycomp . "{name : 'Jmlbln : " . $rowp->JMLBULAN . "',y: " . $rowp->JUMLAHWP . "},"; |
|
} |
|
$datapaycomp = $datapaycomp . "]"; |
|
|
|
|
|
|
|
?> |
|
|
|
<div class="main-content"> |
|
<div class="container-fluid"> |
|
<h3>Dashboard Nasional</h3> |
|
<div class="row clearfix"> |
|
<div class="col-lg-3 col-md-6 col-sm-12"> |
|
<div class="widget"> |
|
<div class="widget-body"> |
|
<div class="d-flex justify-content-between align-items-center"> |
|
<div class="state"> |
|
<h6>Target Nas</h6> |
|
<h6><b><?= number_format($tgt, 0, ',', '.') ?></b></h6> |
|
</div> |
|
<div class="icon"> |
|
<i class="ik ik-award"></i> |
|
</div> |
|
</div> |
|
<small class="text-small mt-10 d-block">Capaian <?= number_format($capaian, 2) ?>%</small> |
|
</div> |
|
<div class="progress progress-sm"> |
|
<div class="progress-bar bg-danger" role="progressbar" aria-valuenow="<?= number_format($capaian, 2) ?>" aria-valuemin="0" aria-valuemax="100" style="width: <?= number_format($capaian, 2) ?>%;"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="col-lg-3 col-md-6 col-sm-12"> |
|
<div class="widget"> |
|
<div class="widget-body"> |
|
<div class="d-flex justify-content-between align-items-center"> |
|
<div class="state"> |
|
<h6>Penerimaan sd <?= $tahunx ?></h6> |
|
<h6><b><?= number_format($pennow, 0, ',', '.') ?></b></h6> |
|
</div> |
|
<div class="icon"> |
|
<i class="ik ik-thumbs-up"></i> |
|
</div> |
|
</div> |
|
<small class="text-small mt-10 d-block">Growth <?= number_format($growth, 2) ?>%</small> |
|
</div> |
|
<div class="progress progress-sm"> |
|
<div class="progress-bar bg-success" role="progressbar" aria-valuenow="<?= number_format($growth, 2) ?>" aria-valuemin="0" aria-valuemax="100" style="width: <?= number_format($growth, 2) ?>%;"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="col-lg-3 col-md-6 col-sm-12"> |
|
<div class="widget"> |
|
<div class="widget-body"> |
|
<div class="d-flex justify-content-between align-items-center"> |
|
<div class="state"> |
|
<h6>Penerimaan <?= $tahunx - 1 ?></h6> |
|
<h6><b><?= number_format($penpast, 0, ',', '.') ?></b></h6> |
|
</div> |
|
<div class="icon"> |
|
<i class="ik ik-calendar"></i> |
|
</div> |
|
</div> |
|
<small class="text-small mt-10 d-block">Selisih <?= number_format($selisih, 0, ',', '.') ?></small> |
|
</div> |
|
<div class="progress progress-sm"> |
|
<div class="progress-bar bg-warning" role="progressbar" aria-valuenow="31" aria-valuemin="0" aria-valuemax="100" style="width: 31%;"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="col-lg-3 col-md-6 col-sm-12"> |
|
<div class="widget"> |
|
<div class="widget-body"> |
|
<div class="d-flex justify-content-between align-items-center"> |
|
<div class="state"> |
|
<h6>Carry Over</h6> |
|
<h6><b><?= number_format($carryover, 0, ',', '.') ?></b></h6> |
|
</div> |
|
<div class="icon"> |
|
<i class="ik ik-alert-triangle"></i> |
|
</div> |
|
</div> |
|
<small class="text-small mt-10 d-block">update <?= $updatex['UPD'] ?></small> |
|
</div> |
|
<div class="progress progress-sm"> |
|
<div class="progress-bar bg-info" role="progressbar" aria-valuenow="<?= date('n') ?>" aria-valuemin="0" aria-valuemax="12" style="width: <?= date('n') ?>%;"></div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row"> |
|
<div class="col-md-8"> |
|
<div class="card"> |
|
<div class="card-body"> |
|
<div class="row align-items-center"> |
|
<div class="col-lg-8 col-md-12"> |
|
<h3 class="card-title">Breakdown Penerimaan</h3> |
|
|
|
</div> |
|
<div class="col-lg-6 col-md-12"> |
|
<div class="col text-center"> |
|
<h5>Strategis</h5> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">Penerimaan</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-green" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">Growth</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-green" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div class="row mb-15"> |
|
<div class="col-9">Peranan</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-green" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div class="row mb-15"> |
|
<div class="col-9">Jumlah WP</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-green" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div class="row mb-15"> |
|
<div class="col-9">WP Bayar</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-green" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div class="row mb-15"> |
|
<div class="col-9">Ratio(%)</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-green" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class=" col-lg-6 col-md-12"> |
|
<div class="col text-center"> |
|
<h5>Kewilayahan</h5> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">Penerimaan</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-primary " role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">Growth</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-primary" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">Peranan</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-primary" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">Jumlah WP</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-primary" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">WP Bayar</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-primary" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="row mb-15"> |
|
<div class="col-9">Ratio(%)</div> |
|
<div class="col-3 text-right">28%</div> |
|
<div class="col-12"> |
|
<div class="progress progress-sm mt-5"> |
|
<div class="progress-bar-striped progress-bar-animated bg-primary" role="progressbar" style="width: 48%" aria-valuenow="48" aria-valuemin="0" aria-valuemax="100"></div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="col-md-4"> |
|
<div class="card" style="min-height: 422px;"> |
|
<div class="card-header"> |
|
<h3>Info Wajib Pajak</h3> |
|
</div> |
|
<div class="card-body"> |
|
|
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div class="row"> |
|
<div class="col-md-6"> |
|
<div class="card"> |
|
<div class="card-header"> |
|
<h3>Payment Compliance</h3> |
|
<div class="card-header-right"> |
|
<ul class="list-unstyled card-option"> |
|
<li><i class="ik ik-chevron-left action-toggle"></i></li> |
|
<li><i class="ik ik-minus minimize-card"></i></li> |
|
<li><i class="ik ik-x close-card"></i></li> |
|
</ul> |
|
</div> |
|
</div> |
|
<div class="card-body"> |
|
<div id="paycomp"></div> |
|
</div> |
|
|
|
</div> |
|
</div> |
|
|
|
<div class="col-md-6"> |
|
<div class="card"> |
|
<div class="card-header"> |
|
<h3>PerJenis Pajak</h3> |
|
<div class="card-header-right"> |
|
<ul class="list-unstyled card-option"> |
|
<li><i class="ik ik-chevron-left action-toggle"></i></li> |
|
<li><i class="ik ik-minus minimize-card"></i></li> |
|
<li><i class="ik ik-x close-card"></i></li> |
|
</ul> |
|
</div> |
|
</div> |
|
<div class="card-body"> |
|
<div id="preview_jenis_penerimaan"></div> |
|
</div> |
|
|
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div class="row"> |
|
<div class="col-md-12"> |
|
<div class="card"> |
|
<div class="card-header"> |
|
<h3>Strength of Figure</h3> |
|
<div class="card-header-right"> |
|
<ul class="list-unstyled card-option"> |
|
<li><i class="ik ik-chevron-left action-toggle"></i></li> |
|
<li><i class="ik ik-minus minimize-card"></i></li> |
|
<li><i class="ik ik-x close-card"></i></li> |
|
</ul> |
|
</div> |
|
</div> |
|
<div class="card-body"> |
|
<table class="table table-sm"> |
|
<thead> |
|
<th class="text-center">SOF</th> |
|
<th class="text-center">WP</th> |
|
<th class="text-center">WP %</th> |
|
<th class="text-center">Jumlah</th> |
|
<th class="text-center">Jumlah %</th> |
|
</thead> |
|
<?= |
|
$totwpsof = 0; |
|
$totjmlsof = 0; |
|
foreach ($parsesof as $datasof) { |
|
$totwpsof += $datasof->WPBYR; |
|
$totjmlsof += $datasof->TOTAL; |
|
|
|
$pctwp = $datasof->WPBYR / $totwpsof * 100; |
|
$pctpen = $datasof->TOTAL / $totjmlsof * 100; |
|
print_r((array_sum(array($totwpsof)))); |
|
?> |
|
<tbody> |
|
|
|
<td><?= $datasof->LAPISAN ?></td> |
|
<td class="text-right"><?= number_format($datasof->WPBYR, 0, ',', '.') ?></td> |
|
<td class="text-right"><?= number_format($pctwp, 2) ?></td> |
|
<td class="text-right"><?= number_format($datasof->TOTAL, 0, ',', '.') ?></td> |
|
<td class="text-right"><?= number_format($pctpen, 2) ?></td> |
|
</tbody> |
|
<?php } ?> |
|
</table> |
|
</div> |
|
|
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
<!-- <div class="card"> |
|
<div class="card-header row"> |
|
<div class="col col-sm-3"> |
|
<div class="dropdown d-inline-block"> |
|
<a class="btn-icon checkbox-dropdown dropdown-toggle" href="#" id="moreDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></a> |
|
<div class="dropdown-menu" aria-labelledby="moreDropdown"> |
|
<a class="dropdown-item" id="checkbox_select_all" href="javascript:void(0);">Select All</a> |
|
<a class="dropdown-item" id="checkbox_deselect_all" href="javascript:void(0);">Deselect All</a> |
|
</div> |
|
</div> |
|
<div class="card-options d-inline-block"> |
|
<a href="#"><i class="ik ik-inbox"></i></a> |
|
<a href="#"><i class="ik ik-plus"></i></a> |
|
<a href="#"><i class="ik ik-rotate-cw"></i></a> |
|
<div class="dropdown d-inline-block"> |
|
<a class="nav-link dropdown-toggle" href="#" id="moreDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="ik ik-more-horizontal"></i></a> |
|
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="moreDropdown"> |
|
<a class="dropdown-item" href="#">Action</a> |
|
<a class="dropdown-item" href="#">More Action</a> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="col col-sm-6"> |
|
<div class="card-search with-adv-search dropdown"> |
|
<form action=""> |
|
<input type="text" class="form-control" placeholder="Search.." required> |
|
<button type="submit" class="btn btn-icon"><i class="ik ik-search"></i></button> |
|
<button type="button" id="adv_wrap_toggler" class="adv-btn ik ik-chevron-down dropdown-toggle" data-toggle="dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button> |
|
<div class="adv-search-wrap dropdown-menu dropdown-menu-right" aria-labelledby="adv_wrap_toggler"> |
|
<div class="form-group"> |
|
<input type="text" class="form-control" placeholder="Full Name"> |
|
</div> |
|
<div class="form-group"> |
|
<input type="email" class="form-control" placeholder="Email"> |
|
</div> |
|
<button class="btn btn-theme">Search</button> |
|
</div> |
|
</form> |
|
</div> |
|
</div> |
|
<div class="col col-sm-3"> |
|
<div class="card-options text-right"> |
|
<span class="mr-5">1 - 50 of 2,500</span> |
|
<a href="#"><i class="ik ik-chevron-left"></i></a> |
|
<a href="#"><i class="ik ik-chevron-right"></i></a> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="card-body p-0"> |
|
<div class="list-item-wrap"> |
|
<div class="list-item"> |
|
<div class="item-inner"> |
|
<label class="custom-control custom-checkbox"> |
|
<input type="checkbox" class="custom-control-input" id="item_checkbox" name="item_checkbox" value="option1"> |
|
<span class="custom-control-label"> </span> |
|
</label> |
|
<div class="list-title"><a href="javascript:void(0)">Lorem Ipsum is simply dumm dummy text of the printing and typesetting industry.</a></div> |
|
<div class="list-actions"> |
|
<a href="#"><i class="ik ik-eye"></i></a> |
|
<a href="#"><i class="ik ik-inbox"></i></a> |
|
<a href="#"><i class="ik ik-edit-2"></i></a> |
|
<a href="#"><i class="ik ik-trash-2"></i></a> |
|
</div> |
|
</div> |
|
|
|
<div class="qickview-wrap"> |
|
<div class="desc"> |
|
<p>Fusce suscipit turpis a dolor posuere ornare at a ante. Quisque nec libero facilisis, egestas tortor eget, mattis dui. Curabitur viverra laoreet ligula at hendrerit. Nullam sollicitudin maximus leo, vel pulvinar orci semper id. Donec vehicula tempus enim a facilisis. Proin dignissim porttitor sem, sed pulvinar tortor gravida vitae.</p> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="list-item"> |
|
<div class="item-inner"> |
|
<label class="custom-control custom-checkbox"> |
|
<input type="checkbox" class="custom-control-input" id="item_checkbox" name="item_checkbox" value="option2"> |
|
<span class="custom-control-label"> </span> |
|
</label> |
|
<div class="list-title"><a href="javascript:void(0)">Aenean eu pharetra arcu, vitae elementum sem. Sed non ligula molestie, finibus lacus at, suscipit mi. Nunc luctus lacus vel felis blandit, eu finibus augue tincidunt.</a></div> |
|
<div class="list-actions"> |
|
<a href="#"><i class="ik ik-eye"></i></a> |
|
<a href="#"><i class="ik ik-inbox"></i></a> |
|
<a href="#"><i class="ik ik-edit-2"></i></a> |
|
<a href="#"><i class="ik ik-trash-2"></i></a> |
|
</div> |
|
</div> |
|
<div class="qickview-wrap"> |
|
<div class="desc"> |
|
<p>Fusce suscipit turpis a dolor posuere ornare at a ante. Quisque nec libero facilisis, egestas tortor eget, mattis dui. Curabitur viverra laoreet ligula at hendrerit. Nullam sollicitudin maximus leo, vel pulvinar orci semper id. Donec vehicula tempus enim a facilisis. Proin dignissim porttitor sem, sed pulvinar tortor gravida vitae.</p> |
|
</div> |
|
</div> |
|
</div> |
|
<div class="list-item"> |
|
<div class="item-inner"> |
|
<label class="custom-control custom-checkbox"> |
|
<input type="checkbox" class="custom-control-input" id="item_checkbox" name="item_checkbox" value="option3"> |
|
<span class="custom-control-label"> </span> |
|
</label> |
|
<div class="list-title"><a href="javascript:void(0)">Donec lectus augue, suscipit in sodales sit amet, semper sit amet enim. Duis pretium, nisi id pretium ornare, tortor nibh sodales tellus.</a></div> |
|
<div class="list-actions"> |
|
<a href="#"><i class="ik ik-eye"></i></a> |
|
<a href="#"><i class="ik ik-inbox"></i></a> |
|
<a href="#"><i class="ik ik-edit-2"></i></a> |
|
<a href="#"><i class="ik ik-trash-2"></i></a> |
|
</div> |
|
</div> |
|
<div class="qickview-wrap"> |
|
<div class="desc"> |
|
<p>Fusce suscipit turpis a dolor posuere ornare at a ante. Quisque nec libero facilisis, egestas tortor eget, mattis dui. Curabitur viverra laoreet ligula at hendrerit. Nullam sollicitudin maximus leo, vel pulvinar orci semper id. Donec vehicula tempus enim a facilisis. Proin dignissim porttitor sem, sed pulvinar tortor gravida vitae.</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> --> |
|
<div class="card"> |
|
|
|
<div class="card-body"> |
|
<h5 class="card-title">PENERIMAAN PER KATEGORI</h5> |
|
<table class="table table-hover"> |
|
<thead class='thead-dark'> |
|
<tr class="table-active"> |
|
<th class="text-center">Kode</th> |
|
<th class="text-center">Kategori</th> |
|
<th class="text-center">Wp Bayar <?= $tahunx ?></th> |
|
<th class="text-center">Wp Bayar <?= $tahunx - 1 ?></th> |
|
<th class="text-center">gw WP Bayar (%)</th> |
|
<th class="text-center">Realisasi <?= $tahunx ?></th> |
|
<th class="text-center">Realisasi <?= $tahunx - 1 ?></th> |
|
<th class="text-center">gw Penerimaan (%)</th> |
|
</tr> |
|
</thead> |
|
<?php foreach ($perkategori as $row) { |
|
$gwwp = (($row->WPBYRN - $row->WPBYRP) / $row->WPBYRP) * 100; |
|
$gwkat = (($row->KPENN - $row->KPENP) / $row->KPENP) * 100; |
|
|
|
if ($gwwp < 0) { |
|
$markgww = "text-danger"; |
|
} else { |
|
$markgww = "text-success"; |
|
} |
|
|
|
if ($gwkat < 0) { |
|
$markgwk = "text-danger"; |
|
} else { |
|
$markgwk = "text-success"; |
|
} |
|
?> |
|
<tbody> |
|
<td><?= $row->KODE ?></td> |
|
<td><?= $row->NMKAT ?></td> |
|
<td class="text-right"><?= number_format($row->WPBYRN, 0, ',', '.') ?></td> |
|
<td class="text-right"><?= number_format($row->WPBYRP, 0, ',', '.') ?></td> |
|
<td class="text-center <?= $markgww ?>"><?= number_format($gwwp, 2) ?></td> |
|
<td class="text-right"><?= number_format($row->KPENN, 0, ',', '.') ?></td> |
|
<td class="text-right"><?= number_format($row->KPENP, 0, ',', '.') ?></td> |
|
<td class="text-center <?= $markgwk ?>"><?= number_format($gwkat, 2) ?></td> |
|
</tbody> |
|
<?php } ?> |
|
</table> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
|
|
|
|
|
|
<?php echo view('inc/js.php') ?> |
|
|
|
|
|
<script> |
|
(function(H) { |
|
H.seriesTypes.pie.prototype.animate = function(init) { |
|
const series = this, |
|
chart = series.chart, |
|
points = series.points, |
|
{ |
|
animation |
|
} = series.options, |
|
{ |
|
startAngleRad |
|
} = series; |
|
|
|
function fanAnimate(point, startAngleRad) { |
|
const graphic = point.graphic, |
|
args = point.shapeArgs; |
|
|
|
if (graphic && args) { |
|
|
|
graphic |
|
// Set inital animation values |
|
.attr({ |
|
start: startAngleRad, |
|
end: startAngleRad, |
|
opacity: 1 |
|
}) |
|
// Animate to the final position |
|
.animate({ |
|
start: args.start, |
|
end: args.end |
|
}, { |
|
duration: animation.duration / points.length |
|
}, function() { |
|
// On complete, start animating the next point |
|
if (points[point.index + 1]) { |
|
fanAnimate(points[point.index + 1], args.end); |
|
} |
|
// On the last point, fade in the data labels, then |
|
// apply the inner size |
|
if (point.index === series.points.length - 1) { |
|
series.dataLabelsGroup.animate({ |
|
opacity: 1 |
|
}, |
|
void 0, |
|
function() { |
|
points.forEach(point => { |
|
point.opacity = 1; |
|
}); |
|
series.update({ |
|
enableMouseTracking: true |
|
}, false); |
|
chart.update({ |
|
plotOptions: { |
|
pie: { |
|
innerSize: '10%', |
|
borderRadius: 8 |
|
} |
|
} |
|
}); |
|
}); |
|
} |
|
}); |
|
} |
|
} |
|
|
|
if (init) { |
|
// Hide points on init |
|
points.forEach(point => { |
|
point.opacity = 0; |
|
}); |
|
} else { |
|
fanAnimate(points[0], startAngleRad); |
|
} |
|
}; |
|
}(Highcharts)); |
|
|
|
Highcharts.chart('preview_jenis_penerimaan', { |
|
chart: { |
|
type: 'pie' |
|
}, |
|
title: { |
|
text: '' |
|
}, |
|
subtitle: { |
|
text: '' |
|
}, |
|
tooltip: { |
|
pointFormat: 'Peranan: <b>{point.percentage:.1f}%</b>' |
|
}, |
|
accessibility: { |
|
point: { |
|
valueSuffix: '%' |
|
} |
|
}, |
|
plotOptions: { |
|
pie: { |
|
allowPointSelect: true, |
|
borderWidth: 2, |
|
cursor: 'pointer', |
|
dataLabels: { |
|
enabled: true, |
|
format: '<b>{point.name}</b><br>{point.percentage:.1f}%', |
|
distance: 20 |
|
} |
|
} |
|
}, |
|
credits: { |
|
enabled: false |
|
}, |
|
series: [{ |
|
// Disable mouse tracking on load, enable after custom animation |
|
enableMouseTracking: false, |
|
animation: { |
|
duration: 2000 |
|
}, |
|
colorByPoint: true, |
|
data: <?php echo $datanya_penerimaan ?> |
|
}] |
|
}); |
|
</script> |
|
|
|
|
|
<script> |
|
(function(H) { |
|
H.seriesTypes.pie.prototype.animate = function(init) { |
|
const series = this, |
|
chart = series.chart, |
|
points = series.points, |
|
{ |
|
animation |
|
} = series.options, |
|
{ |
|
startAngleRad |
|
} = series; |
|
|
|
function fanAnimate(point, startAngleRad) { |
|
const graphic = point.graphic, |
|
args = point.shapeArgs; |
|
|
|
if (graphic && args) { |
|
|
|
graphic |
|
// Set inital animation values |
|
.attr({ |
|
start: startAngleRad, |
|
end: startAngleRad, |
|
opacity: 1 |
|
}) |
|
// Animate to the final position |
|
.animate({ |
|
start: args.start, |
|
end: args.end |
|
}, { |
|
duration: animation.duration / points.length |
|
}, function() { |
|
// On complete, start animating the next point |
|
if (points[point.index + 1]) { |
|
fanAnimate(points[point.index + 1], args.end); |
|
} |
|
// On the last point, fade in the data labels, then |
|
// apply the inner size |
|
if (point.index === series.points.length - 1) { |
|
series.dataLabelsGroup.animate({ |
|
opacity: 1 |
|
}, |
|
void 0, |
|
function() { |
|
points.forEach(point => { |
|
point.opacity = 1; |
|
}); |
|
series.update({ |
|
enableMouseTracking: true |
|
}, false); |
|
chart.update({ |
|
plotOptions: { |
|
pie: { |
|
innerSize: '20%', |
|
borderRadius: 8 |
|
} |
|
} |
|
}); |
|
}); |
|
} |
|
}); |
|
} |
|
} |
|
|
|
if (init) { |
|
// Hide points on init |
|
points.forEach(point => { |
|
point.opacity = 0; |
|
}); |
|
} else { |
|
fanAnimate(points[0], startAngleRad); |
|
} |
|
}; |
|
}(Highcharts)); |
|
|
|
Highcharts.chart('paycomp', { |
|
chart: { |
|
type: 'pie' |
|
}, |
|
title: { |
|
text: '' |
|
}, |
|
subtitle: { |
|
text: '' |
|
}, |
|
tooltip: { |
|
pointFormat: '{point.name}: <b>{point.percentage:.1f}%</b> <br> jmlWP : {point.y}' |
|
}, |
|
accessibility: { |
|
point: { |
|
valueSuffix: '%' |
|
} |
|
}, |
|
plotOptions: { |
|
pie: { |
|
allowPointSelect: true, |
|
borderWidth: 2, |
|
cursor: 'pointer', |
|
dataLabels: { |
|
enabled: true, |
|
format: '<b>{point.name}</b><br>{point.percentage:.1f}%', |
|
distance: 20 |
|
} |
|
} |
|
}, |
|
credits: { |
|
enabled: false |
|
}, |
|
series: [{ |
|
// Disable mouse tracking on load, enable after custom animation |
|
enableMouseTracking: false, |
|
animation: { |
|
duration: 2000 |
|
}, |
|
colorByPoint: true, |
|
data: <?php echo $datapaycomp ?> |
|
}] |
|
}); |
|
</script>
|