| Current Path : /var/www/html/crm/views/assetdetails/ |
| Current File : /var/www/html/crm/views/assetdetails/report.php |
<?php
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use app\models\Menu;
use app\models\AssetCategory;
use app\models\AssetLog;
use yii\widgets\ActiveForm;
use app\assets\AmchartsAsset;
use app\models\ParamList;
$ParamList = new ParamList();
AmchartsAsset::register($this);
$Menu = new Menu();
$this->title = $Menu->getmenutitle($menu_id);
$AssetCategory = new AssetCategory();
$graph1 = '';
$query1 = Yii::$app->db->createCommand("SELECT COUNT(*) AS total_asset, SUM(asset_value) AS total_asset_value, cat FROM asset_details GROUP BY cat ORDER BY SUM(asset_value) DESC")->queryAll();
if (!empty($query1)) {
foreach ($query1 as $row1) {
$graph1 .= '{"cat": "' . $AssetCategory->getname2($row1['cat']) . '","asset_val": ' . $row1['total_asset_value'] . ',"total_asset":' . $row1['total_asset'] . '},';
}
}
$this->registerJs('am4core.ready(function() {
am4core.useTheme(am4themes_animated);
var chart = am4core.create("graph1", am4charts.XYChart);
chart.scrollbarX = new am4core.Scrollbar();
chart.data = [' . $graph1 . '];
var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.dataFields.category = "cat";
categoryAxis.renderer.grid.template.location = 0;
categoryAxis.renderer.minGridDistance = 30;
categoryAxis.tooltip.disabled = false;
var label = categoryAxis.renderer.labels.template;
label.wrap = true;
label.maxWidth = 150;
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
valueAxis.renderer.minWidth = 50;
var series = chart.series.push(new am4charts.ColumnSeries());
series.sequencedInterpolation = true;
series.dataFields.valueY = "asset_val";
series.dataFields.categoryX = "cat";
series.dataFields.valueZ = "total_asset";
series.tooltipHTML = "<b>{categoryX}</b><br>Total Assets : {total_asset}<br>Total Assets Value : RM {valueY}";
series.columns.template.strokeWidth = 0;
series.tooltip.pointerOrientation = "vertical";
series.columns.template.column.cornerRadiusTopLeft = 10;
series.columns.template.column.cornerRadiusTopRight = 10;
series.columns.template.column.fillOpacity = 0.8;
var hoverState = series.columns.template.column.states.create("hover");
hoverState.properties.cornerRadiusTopLeft = 0;
hoverState.properties.cornerRadiusTopRight = 0;
hoverState.properties.fillOpacity = 1;
series.columns.template.adapter.add("fill", function(fill, target) {
return chart.colors.getIndex(target.dataItem.index);
});
chart.cursor = new am4charts.XYCursor();
});');
$graph2 = '';
$statusarr = $ParamList->getparamlist(30);
if (!empty($statusarr)) {
foreach ($statusarr as $statuscode => $statuslabel) {
$totalassets = Yii::$app->db->createCommand("SELECT COUNT(*) FROM asset_log INNER JOIN asset_details ON asset_details.id=asset_log.asset_id WHERE asset_log.status='".$statuscode."'")->queryScalar();
$graph2 .= '{"status": "' . $statuslabel . '","total_status": '.$totalassets.'},';
}
}
$this->registerJs('am4core.ready(function() {
am4core.useTheme(am4themes_animated);
var chart = am4core.create("graph2", am4charts.XYChart);
chart.scrollbarX = new am4core.Scrollbar();
chart.data = ['.$graph2.'];
var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.dataFields.category = "status";
categoryAxis.renderer.grid.template.location = 0;
categoryAxis.renderer.minGridDistance = 30;
categoryAxis.tooltip.disabled = false;
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
valueAxis.renderer.minWidth = 50;
var series = chart.series.push(new am4charts.ColumnSeries());
series.sequencedInterpolation = true;
series.dataFields.valueY = "total_status";
series.dataFields.categoryX = "status";
series.tooltipHTML = "{categoryX}<br>{valueY}";
series.columns.template.strokeWidth = 0;
series.tooltip.pointerOrientation = "vertical";
series.columns.template.column.cornerRadiusTopLeft = 10;
series.columns.template.column.cornerRadiusTopRight = 10;
series.columns.template.column.fillOpacity = 0.8;
var hoverState = series.columns.template.column.states.create("hover");
hoverState.properties.cornerRadiusTopLeft = 0;
hoverState.properties.cornerRadiusTopRight = 0;
hoverState.properties.fillOpacity = 1;
series.columns.template.adapter.add("fill", function(fill, target) {
return chart.colors.getIndex(target.dataItem.index);
});
chart.cursor = new am4charts.XYCursor();
});');
?>
<div class="kt-subheader kt-grid__item" id="kt_subheader">
<div class="kt-container kt-container--fluid ">
<div class="kt-subheader__main">
<h3 class="kt-subheader__title"><?= $this->title ?></h3>
<div class="kt-subheader__breadcrumbs">
<?= $Menu->getbreadcrumbs($menu_id, ''); ?>
</div>
</div>
</div>
</div>
<div class="kt-container kt-grid__item kt-grid__item--fluid">
<div class="kt-portlet">
<div class="kt-portlet__body kt-portlet__body--fit">
<div class="row row-no-padding row-col-separator-xl">
<div class="col-md-12 col-lg-6 col-xl-3">
<div class="kt-widget24">
<div class="kt-widget24__details">
<div class="kt-widget24__info">
<h4 class="kt-widget24__title">Total</h4>
<span class="kt-widget24__desc">Total Assets</span>
</div>
<span class="kt-widget24__stats kt-font-brand">
<?php
$summary1 = Yii::$app->db->createCommand("SELECT COUNT(*) FROM asset_details")->queryScalar();
echo number_format($summary1);
?>
</span>
</div>
</div>
</div>
<div class="col-md-12 col-lg-6 col-xl-3">
<div class="kt-widget24">
<div class="kt-widget24__details">
<div class="kt-widget24__info">
<h4 class="kt-widget24__title">Assets Value</h4>
<span class="kt-widget24__desc">Total Assets Value</span>
</div>
<span class="kt-widget24__stats kt-font-brand">RM
<?php
$summary2 = Yii::$app->db->createCommand("SELECT SUM(asset_value) FROM asset_details")->queryScalar();
echo number_format((float)$summary2, 2, '.', ',');
?>
</span>
</div>
</div>
</div>
<div class="col-md-12 col-lg-6 col-xl-3">
<div class="kt-widget24">
<div class="kt-widget24__details">
<div class="kt-widget24__info">
<h4 class="kt-widget24__title">In Use</h4>
<span class="kt-widget24__desc">Total Assets In Use</span>
</div>
<span class="kt-widget24__stats kt-font-brand">
<?php
$summary3 = Yii::$app->db->createCommand("SELECT COUNT(*) FROM asset_details INNER JOIN asset_log ON asset_details.id=asset_log.asset_id WHERE asset_log.status='status04'")->queryScalar();
echo number_format($summary3);
?>
</span>
</div>
</div>
</div>
<div class="col-md-12 col-lg-6 col-xl-3">
<div class="kt-widget24">
<div class="kt-widget24__details">
<div class="kt-widget24__info">
<h4 class="kt-widget24__title">Category</h4>
<span class="kt-widget24__desc">Total Category Assets</span>
</div>
<span class="kt-widget24__stats kt-font-brand">
<?php
$summary4 = Yii::$app->db->createCommand("SELECT COUNT(*) FROM asset_details GROUP BY cat")->queryScalar();
echo number_format($summary4);
?>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="kt-portlet">
<div class="kt-portlet__head" style="border:0;">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">
Report Total Assets Value By Category
</h3>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<div class="kt-widget3">
<div id="graph1" style="height: 400px;width:100%;"></div>
</div>
</div>
</div>
</div>
<div class="kt-portlet">
<div class="kt-portlet__head" style="border:0;">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">
Report Status Assets
</h3>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<div class="kt-widget3">
<div id="graph2" style="height: 400px;width:100%;"></div>
</div>
</div>
</div>
</div>
</div>