| Current Path : /var/www/html/crm/views/stockdelivery/ |
| Current File : /var/www/html/crm/views/stockdelivery/reporting.php |
<?php
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use app\models\Menu;
use yii\widgets\ActiveForm;
use app\models\ParamList;
use app\assets\AmchartsAsset;
use app\models\Product;
use app\models\StockDelivery;
AmchartsAsset::register($this);
$ParamList = new ParamList();
$Menu = new Menu();
$this->title = $Menu->getmenutitle($menu_id);
$this->registerJs("$('.datepicker').datepicker({
rtl: KTUtil.isRTL(),
todayHighlight: true,
orientation: 'bottom left',
format: 'yyyy-mm-dd',
clearBtn: true,
todayHighlight: true,
});");
$graph4 = [];
$graph3 = '';
$statusDeliveryArr = $ParamList->getparamlist(46);
if (!empty($statusDeliveryArr)) {
foreach ($statusDeliveryArr as $statusDeliveryCode => $statusDeliveryLabel) {
$totalDelivery = Yii::$app->db->createCommand("SELECT COUNT(*) FROM stock_delivery WHERE delivery_status='" . $statusDeliveryCode . "' AND YEAR(created_dt)='$year'")->queryScalar();
$graph3 .= '{"deliverystatus": "' . $statusDeliveryLabel . '","totaldelivery": "' . $totalDelivery . '"},';
}
}
$productArr = [];
$graph2 = '';
$modelProduct = Product::find()->where(['=', 'status', '1'])->all();
if (!empty($modelProduct)) {
foreach ($modelProduct as $rowProduct) {
$totalQty = 0;
$modelDelivery = StockDelivery::find()->where(['LIKE', 'stock_details', '"product_id":"' . $rowProduct->id . '"'])->andwhere(['=', 'YEAR(created_dt)', $year])->all();
if (!empty($modelDelivery)) {
foreach ($modelDelivery as $rowDelivery) {
$item_arr = json_decode($rowDelivery->stock_details, true);
if (!empty($item_arr)) {
foreach ($item_arr as $item_data) {
if ($item_data['product_id'] == $rowProduct->id)
$totalQty += (int) $item_data['product_qty'];
}
}
}
}
if ($totalQty != 0) {
$productArr[$rowProduct->id] = $rowProduct->name;
$graph2 .= '{"productname": "' . $rowProduct->name . '","productqty": "' . $totalQty . '"},';
}
}
}
$createSeries = "";
if (!empty($statusDeliveryArr)) {
foreach ($statusDeliveryArr as $statusDeliveryCode => $statusDeliveryLabel) {
$createSeries = "";
if (!empty($productArr)) {
$graph4_data['category'] = $statusDeliveryLabel;
foreach ($productArr as $productID => $productName) {
$createSeries .= 'createSeries("product' . $productID . '", "' . $productName . '");';
$totalQtyProduct = 0;
$modelDelivery2 = StockDelivery::find()->where(['LIKE', 'stock_details', '"product_id":"' . $productID . '"'])->andwhere(['=', 'delivery_status', $statusDeliveryCode])->all();
if (!empty($modelDelivery2)) {
foreach ($modelDelivery2 as $rowDelivery2) {
$item_arr2 = json_decode($rowDelivery2->stock_details, true);
if (!empty($item_arr2)) {
foreach ($item_arr2 as $item_data2) {
if ($item_data2['product_id'] == $productID)
$totalQtyProduct += (int) $item_data2['product_qty'];
}
}
}
}
$graph4_data['product' . $productID] = $totalQtyProduct;
}
$graph4[] = $graph4_data;
}
}
}
?>
<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 ?> <?= $year ?></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">
<p>
<?= Html::a('<i class="fas fa-arrow-left"></i> Back', ['index'], ['class' => 'btn btn-success']) ?>
<?php
for ($y = date('Y'); $y > 2021; $y--) {
$btn_class = 'btn-success';
if ($y == $year)
$btn_class = 'btn-warning';
echo Html::a($y, ['reporting', 'year' => $y], ['class' => 'btn ' . $btn_class]) . ' ';
}
?>
</p>
<div class="kt-portlet">
<div class="kt-portlet__head" style="border:0;">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">Total Product Delivered By Status Delivery <?= $year?></h3>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<?php
$this->registerJs('am4core.ready(function() {
am4core.useTheme(am4themes_animated);
var chart = am4core.create("graph4", am4charts.XYChart)
chart.colors.step = 2;
chart.cursor = new am4charts.XYCursor();
chart.legend = new am4charts.Legend()
chart.legend.position = "top"
chart.legend.paddingBottom = 20
chart.legend.labels.template.maxWidth = 95
var xAxis = chart.xAxes.push(new am4charts.CategoryAxis())
xAxis.dataFields.category = "category"
xAxis.renderer.cellStartLocation = 0.1
xAxis.renderer.cellEndLocation = 0.9
xAxis.renderer.grid.template.location = 0;
var label = xAxis.renderer.labels.template;
label.truncate = true;
label.maxWidth = 100;
var yAxis = chart.yAxes.push(new am4charts.ValueAxis());
yAxis.min = 0;
function createSeries(value, name) {
var series = chart.series.push(new am4charts.ColumnSeries())
series.dataFields.valueY = value
series.dataFields.categoryX = "category"
series.name = name
series.events.on("hidden", arrangeColumns);
series.events.on("shown", arrangeColumns);
var bullet = series.bullets.push(new am4charts.LabelBullet())
bullet.interactionsEnabled = false
bullet.dy = -10;
bullet.label.text = "{valueY}"
bullet.label.fill = am4core.color("#000000")
return series;
}
chart.data = ' . json_encode($graph4) . ';
' . $createSeries . '
function arrangeColumns() {
var series = chart.series.getIndex(0);
var w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
if (series.dataItems.length > 1) {
var x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
var x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
var delta = ((x1 - x0) / chart.series.length) * w;
if (am4core.isNumber(delta)) {
var middle = chart.series.length / 2;
var newIndex = 0;
chart.series.each(function(series) {
if (!series.isHidden && !series.isHiding) {
series.dummyData = newIndex;
newIndex++;
}
else {
series.dummyData = chart.series.indexOf(series);
}
})
var visibleCount = newIndex;
var newMiddle = visibleCount / 2;
chart.series.each(function(series) {
var trueIndex = chart.series.indexOf(series);
var newIndex = series.dummyData;
var dx = (newIndex - trueIndex + middle - newMiddle) * delta
series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
series.tooltipText = "{name}\n{categoryX} : {valueY}";
})
}
}
}
}); // end am4core.ready()');
?>
<div class="kt-widget3">
<div id="graph4" style="height: 400px;width:100%;"></div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="kt-portlet">
<div class="kt-portlet__head" style="border:0;">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">Status Delivery <?= $year?></h3>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<?php
$this->registerJs('am4core.ready(function() {
am4core.useTheme(am4themes_animated);
var chart = am4core.create("graph3", am4charts.XYChart);
chart.data = [' . $graph3 . '];
var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.dataFields.category = "deliverystatus";
categoryAxis.renderer.grid.template.location = 0;
categoryAxis.renderer.minGridDistance = 30;
categoryAxis.tooltip.disabled = true;
var label = categoryAxis.renderer.labels.template;
label.truncate = true;
label.maxWidth = 80;
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
var series = chart.series.push(new am4charts.ColumnSeries());
series.sequencedInterpolation = true;
series.dataFields.valueY = "totaldelivery";
series.dataFields.categoryX = "deliverystatus";
series.tooltipHTML = "{categoryX}<br>{valueY}";
series.columns.template.strokeWidth = 0;
series.tooltip.pointerOrientation = "vertical";
series.columns.template.column.cornerRadiusTopLeft = 5;
series.columns.template.column.cornerRadiusTopRight = 5;
series.columns.template.adapter.add("fill", function(fill, target) {
return chart.colors.getIndex(target.dataItem.index);
});
chart.cursor = new am4charts.XYCursor();
});');
?>
<div class="kt-widget3">
<div id="graph3" style="height: 300px;width:100%;"></div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="kt-portlet">
<div class="kt-portlet__head" style="border:0;">
<div class="kt-portlet__head-label">
<h3 class="kt-portlet__head-title">Total Product Delivered <?= $year?></h3>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<?php
$this->registerJs('am4core.ready(function() {
am4core.useTheme(am4themes_animated);
var chart = am4core.create("graph2", am4charts.XYChart);
chart.data = [' . $graph2 . '];
var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.dataFields.category = "productname";
categoryAxis.renderer.grid.template.location = 0;
categoryAxis.renderer.minGridDistance = 30;
categoryAxis.tooltip.disabled = true;
var label = categoryAxis.renderer.labels.template;
label.truncate = true;
label.maxWidth = 120;
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
var series = chart.series.push(new am4charts.ColumnSeries());
series.sequencedInterpolation = true;
series.dataFields.valueY = "productqty";
series.dataFields.categoryX = "productname";
series.tooltipHTML = "{categoryX}<br>{valueY}";
series.columns.template.strokeWidth = 0;
series.tooltip.pointerOrientation = "vertical";
series.columns.template.column.cornerRadiusTopLeft = 5;
series.columns.template.column.cornerRadiusTopRight = 5;
series.columns.template.adapter.add("fill", function(fill, target) {
return chart.colors.getIndex(target.dataItem.index);
});
chart.cursor = new am4charts.XYCursor();
});');
?>
<div class="kt-widget3">
<div id="graph2" style="height: 300px;width:100%;"></div>
</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">
Daily Delivery Report
<small style="color:white;">(<?= date("j M Y", strtotime($start_date)) ?> - <?= date("j M Y", strtotime($end_date)) ?>)</small>
</h3>
</div>
</div>
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<?php $form = ActiveForm::begin(['action' => ['reporting', 'year' => $year], 'method' => 'get', 'options' => ['class' => 'form-inline form-search']]); ?>
<div class="input-daterange input-group" id="kt_datepicker_4_4">
<label class="control-label">Search by date range</label>
<input type="text" class="form-control" name="start_date" readonly="" value="<?= $start_date; ?>" placeholder="Start date" style="border-radius: 3px 0px 0px 3px !important;">
<div class="input-group-append"><span class="input-group-text"><i class="la la-ellipsis-h"></i></span></div>
<input type="text" class="form-control" name="end_date" readonly="" value="<?= $end_date; ?>" placeholder="End date">
</div>
<div class="form-group">
<?= Html::submitButton('Search', ['class' => 'btn btn-brand']) ?>
<?= Html::a('Reset', ['reporting', 'year' => $year], ['class' => 'btn btn-outline-brand']) ?>
</div>
<?php ActiveForm::end(); ?>
<?php
$graphdata1 = [];
$startTime = strtotime($start_date . ' 12:00');
$endTime = strtotime($end_date . ' 12:00');
for ($i = $startTime; $i <= $endTime; $i = $i + 86400) {
$thisDate = date('Y-m-d', $i);
$graphdata1[] = [
'date' => $thisDate,
'send' => StockDelivery::find()->where(['=', 'delivery_date', $thisDate])->count(),
'receive' => StockDelivery::find()->where(['=', 'receive_date', $thisDate])->count(),
];
}
$this->registerJs('am4core.ready(function() {
am4core.useTheme(am4themes_animated);
var chart = am4core.create("graph1", am4charts.XYChart);
chart.colors.step = 2;
chart.data = ' . json_encode($graphdata1) . ';
var dateAxis = chart.xAxes.push(new am4charts.DateAxis());
dateAxis.renderer.minGridDistance = 50;
function createAxisAndSeries(field, name, opposite, bullet) {
var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
if(chart.yAxes.indexOf(valueAxis) != 0){
valueAxis.syncWithAxis = chart.yAxes.getIndex(0);
}
var series = chart.series.push(new am4charts.LineSeries());
series.dataFields.valueY = field;
series.dataFields.dateX = "date";
series.strokeWidth = 2;
series.yAxis = valueAxis;
series.name = name;
series.tooltipText = "{name}: [bold]{valueY}[/]";
series.tensionX = 0.8;
series.showOnInit = true;
var interfaceColors = new am4core.InterfaceColorSet();
switch(bullet) {
case "triangle":
var bullet = series.bullets.push(new am4charts.Bullet());
bullet.width = 12;
bullet.height = 12;
bullet.horizontalCenter = "middle";
bullet.verticalCenter = "middle";
var triangle = bullet.createChild(am4core.Triangle);
triangle.stroke = interfaceColors.getFor("background");
triangle.strokeWidth = 2;
triangle.direction = "top";
triangle.width = 12;
triangle.height = 12;
break;
case "rectangle":
var bullet = series.bullets.push(new am4charts.Bullet());
bullet.width = 10;
bullet.height = 10;
bullet.horizontalCenter = "middle";
bullet.verticalCenter = "middle";
var rectangle = bullet.createChild(am4core.Rectangle);
rectangle.stroke = interfaceColors.getFor("background");
rectangle.strokeWidth = 2;
rectangle.width = 10;
rectangle.height = 10;
break;
default:
var bullet = series.bullets.push(new am4charts.CircleBullet());
bullet.circle.stroke = interfaceColors.getFor("background");
bullet.circle.strokeWidth = 2;
break;
}
valueAxis.renderer.line.strokeOpacity = 1;
valueAxis.renderer.line.strokeWidth = 2;
valueAxis.renderer.line.stroke = series.stroke;
valueAxis.renderer.labels.template.fill = series.stroke;
valueAxis.renderer.opposite = opposite;
valueAxis.min = 0;
}
createAxisAndSeries("send", "Parcel send", false, "circle");
createAxisAndSeries("receive", "parcel receive", true, "triangle");
chart.legend = new am4charts.Legend();
chart.cursor = new am4charts.XYCursor();
var scrollbar = new am4charts.XYChartScrollbar();
chart.scrollbarX = scrollbar;
});');
?>
<div class="kt-widget3">
<div id="graph1" style="height: 450px;width:100%;"></div>
</div>
</div>
</div>
</div>
<div class="kt-portlet">
<div class="kt-portlet__body">
<div class="kt-portlet__content">
<div class="kt-widget3">
<script src="https://code.highcharts.com/maps/highmaps.js"></script>
<script src="https://code.highcharts.com/maps/modules/exporting.js"></script>
<div id="graph5" style="height: 500px;width:100%;"></div>
<script>
(async () => {
const topology = await fetch('https://code.highcharts.com/mapdata/countries/my/my-all.topo.json').then(response => response.json());
const data = [{
'hc-key': 'my-sa', //sabah
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'SBH'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-sk', //sarawak
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'SWK'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-la', //labuan
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'LBN'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-pg', //penang
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'PNG'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-kh', //kedah
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'KDH'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-sl', //selangor
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'SGR'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-ph', //pahang
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'PHG'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-kl', //kuala lumpur
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'KUL'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-pj', //putrajaya
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'PJY'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-pl', //perlis
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'PLS'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-jh', //johor
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'JHR'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-pk', //perak
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'PRK'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-kn', //kelantan
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'KTN'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-me', //melaka
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'MLK'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-ns', //negeri sembilan
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'NSN'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
},
{
'hc-key': 'my-te', //terengganu
total: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
initiated: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'initiated'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
checked: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'checked'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
prepare: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'prepare'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
waiting: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'waiting'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
pickup: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'pickup'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
intransit: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'intransit'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
delivered: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'delivered'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
undeliver: <?= StockDelivery::find()->where(['=', 'customer_state', 'TRG'])->andwhere(['=', 'delivery_status', 'undeliver'])->andwhere(['=', 'YEAR(created_dt)', $year])->count() ?>,
}
];
Highcharts.mapChart('graph5', {
chart: {map: topology},
title: {text: 'Delivery Status by State <?= $year?>'},
subtitle: {text: ''},
mapNavigation: {
enabled: true,
buttonOptions: {verticalAlign: 'bottom'}
},
tooltip: {
useHTML: true,
headerFormat: '<table><tr><th colspan="2"><h5><b>{point.key}</b></h5></th></tr>',
pointFormat: '<tr><td>Order Initiated</span></td><td style="text-align: right;padding-left:1em;"><b>{point.initiated}</b></td></tr>' +
'<tr><td>Information checked</td><td style="text-align: right;padding-left:1em;"><b>{point.checked}</b></td></tr>' +
'<tr><td>Preparing the parcel for delivery</td><td style="text-align: right;padding-left:1em;"><b>{point.prepare}</b></td></tr>' +
'<tr><td>Waiting for courier to pick up the parcel</td><td style="text-align: right;padding-left:1em;"><b>{point.waiting}</b></td></tr>' +
'<tr><td>Parcel has been picked up by courier</td><td style="text-align: right;padding-left:1em;"><b>{point.pickup}</b></td></tr>' +
'<tr><td>Parcel is in transit</td><td style="text-align: right;padding-left:1em;"><b>{point.intransit}</b></td></tr>' +
'<tr><td>Parcel has been delivered</td><td style="text-align: right;padding-left:1em;"><b>{point.delivered}</b></td></tr>' +
'<tr><td>Undelivered</td><td style="text-align: right;padding-left:1em;"><b>{point.undeliver}</b></td></tr>' +
'<tr><td colspan="2"><hr></td></tr>' +
'<tr><td><h6>Total<h6></td><td style="text-align: right"><h6><b>{point.total}</b></h6></td></tr>',
footerFormat: '</table>',
valueDecimals: 2
},
colorAxis: {min: 0},
series: [
{
data: data,
name: 'Total Delivery',
states: {hover: {color: '#BADA55'}},
dataLabels: {
enabled: true,
format: '{point.name}'
},
}
],
});
}
)();
</script>
</div>
</div>
</div>
</div>
</div>