128 lines
3.5 KiB
PHP
128 lines
3.5 KiB
PHP
<?php
|
|
include('log_entry.php');
|
|
$label=array();
|
|
$data=array();
|
|
$v=array();
|
|
$colors=array("#FF7733",
|
|
"#F6FF33",
|
|
"#33FFDF",
|
|
"#334BFF" );
|
|
$backColor=array();
|
|
function isBinary(string $string):bool
|
|
{
|
|
if (strpos($string, ".")===FALSE){
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
$sql_query="SELECT t.item_id,sum(t.issued_qty) as total FROM `treatment` t left join employee_appointment a on t.appointment_id=a.appointment_id where Month(a.appointment_date) = Month(current_date)-1 GROUP by item_id order by total desc LIMIT 0,10";
|
|
error_log("id query:".$sql_query);
|
|
//$result=mysqli_query($conn,$sql_query);
|
|
if (!$result = @mysqli_query($conn,$sql_query)) {
|
|
exit(mysqli_error($conn));
|
|
}
|
|
if(mysqli_num_rows($result) > 0) {
|
|
$i=0;
|
|
while ($row = @mysqli_fetch_array($result)) {
|
|
// $item_sql="select item_name from tbl_items where item_id='".$row[0]."'";
|
|
// error_log("name query:".$item_sql);
|
|
// // $name_result=mysqli_query($conn,$item_sql);
|
|
// if (!$name_result = @mysqli_query($conn,$item_sql)) {
|
|
// exit(mysqli_error($conn));
|
|
// }
|
|
// while($name=mysqli_fetch_array($name_result))
|
|
// {
|
|
// array_push($label,$name[0]);
|
|
// }
|
|
$name="";
|
|
$name=getTableFieldValue("tbl_items","item_name","item_id",$row[0]);
|
|
array_push($label,$name);
|
|
error_log("type".gettype($row[1]));
|
|
if(isBinary($row[1])== true){
|
|
error_log("isbinary".bindec($row[1]));
|
|
$row[1]=bindec($row[1]);
|
|
}else{
|
|
$row[1]=($row[1]);
|
|
}
|
|
|
|
|
|
array_push($data,($row[1]));
|
|
array_push($backColor,$colors[$i]);
|
|
error_log("name".$label[$i]);
|
|
|
|
|
|
$i++;
|
|
|
|
error_log("in medicine chart".$data." ".($row[1]));
|
|
$v=$data;
|
|
}
|
|
} else {
|
|
echo '0';
|
|
}
|
|
|
|
?>
|
|
<script>
|
|
var xaxis = [<?php echo json_encode($label); ?>];
|
|
var chartData = [<?php echo join(',',$v); ?>];
|
|
// var color = [<?php echo join(',',$backColor); ?>];
|
|
console.log(chartData);
|
|
// function formatDate(input) {
|
|
// var datePart = input.match(/\d+/g),
|
|
// year = datePart[0],
|
|
// month = datePart[1],
|
|
// day = datePart[2];
|
|
// return day + '-' + month + '-' + year;
|
|
// }
|
|
for (let i = 0; i < 7; i++) {
|
|
xaxis[0][i] = (xaxis[0][i]);
|
|
}
|
|
var pieOptions = {
|
|
tooltips: {
|
|
enabled: false
|
|
},
|
|
responsive: true,
|
|
title: {
|
|
display: true,
|
|
text: "Top Medicines"
|
|
},
|
|
legend: {
|
|
position: "bottom"
|
|
},
|
|
tooltips: {
|
|
enabled: false
|
|
},
|
|
plugins: {
|
|
datalabels: {
|
|
formatter: (value, ctx) => {
|
|
let datasets = ctx.chart.data.datasets;
|
|
if (datasets.indexOf(ctx.dataset) === datasets.length - 1) {
|
|
let sum = datasets[0].data.reduce((a, b) => a + b, 0);
|
|
let percentage = Math.round((value / sum) * 100) + '%';
|
|
return percentage;
|
|
} else {
|
|
return percentage;
|
|
}
|
|
},
|
|
color: '#fff',
|
|
}
|
|
}
|
|
};
|
|
var ctx = document.getElementById('piechart').getContext('2d');
|
|
var myChart = new Chart(ctx, {
|
|
type: 'pie',
|
|
data: {
|
|
labels: xaxis[0],
|
|
datasets: [{
|
|
data: chartData,
|
|
label: "Medicine",
|
|
//borderColor: "#3e95cd",
|
|
backgroundColor: ['#f56954', '#00a65a', '#f39c12', '#00c0ef', '#3c8dbc', '#d2d6de',
|
|
"#FF3383", "#33A4FF", "#43FF33", "#B9FF33"
|
|
],
|
|
options: pieOptions,
|
|
}]
|
|
},
|
|
options: pieOptions
|
|
});
|
|
</script>
|