| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/KPI monitor/ |
Upload File : |
<?php
//ถ้า click ที่ กร๊าฟ = DataInfo.php?&id_no=nnn&info=yyyymmdd
session_start();
include("dbconfig.php");
date_default_timezone_set('Asia/Bangkok');
mysql_select_db("KPI");
mysql_query("SET NAMES 'tis620'; "); //mysql_query("SET NAMES utf8");
if (!isset($_SESSION['pagecount'])) $_SESSION['pagecount']=0;
else $_SESSION['pagecount']=$_SESSION['pagecount']+1;
$sql='select * from indicators where id_no='.$_SESSION['rIDNO'].' limit 1';
$result = mysql_query($sql);
$Y1name ='';
$Y2name ='';
$Eva="";
$Goal="";
while ($object = mysql_fetch_object($result)) {
$Y1name =iconv( 'TIS-620', 'UTF-8',$object -> name1);
$Y2name =iconv( 'TIS-620', 'UTF-8',$object -> name2);
$Eva = iconv( 'TIS-620', 'UTF-8',$object -> eva);
$Goal= iconv( 'TIS-620', 'UTF-8',$object -> goal);
}
if ($Goal ==0) $Goal='"N"';
$cEva = substr($Eva,0,1);
switch ($cEva) {
case ':':
$cEva = ' ต่อหน่วย';
$cEvalabel = 'ผลงานต่อหนึ่งหน่วยเป้าหมาย';
break;
case '%':
$cEva = ' ร้อยละ';
$cEvalabel = 'ผลงานต่อหนึ่งร้อยเป้าหมาย(%)';
break;
case 'T':
$cEva = ' ต่อพัน';
$cEvalabel = 'ผลงานต่อหนึ่งพันเป้าหมาย';
break;
case 'H':
$cEva = ' ต่อแสน';
$cEvalabel = 'ผลงานต่อหนึ่งแสนเป้าหมาย';
break;
case '/':
$cEva = ' โดยเฉลี่ย';
$cEvalabel = 'ค่าเฉลี่ยผลงาน';
break;
default :
$cEva = ' '.iconv( 'TIS-620', 'UTF-8',$Eva);
$cEvalabel = $cEva;
}
if ($Y1name==='') $Y1name= 'จำนวนทั้งหมด';
if ($Y2name==='') $Y2name= 'ผลงานตัวชี้วัด';
if (isset($_GET['id_no'])) $idno = $_GET['id_no'];
else $idno='Unknown';
if (isset($_GET['st'])) $st = $_GET['st'];
else $st='N';
$pop='';
if ($st=='Y' && isset($_GET['pop'])) {
$pop = $_GET['pop'];
if ( $pop <>'') $pop = ' ( จำนวน:'.$pop.' )';
}
if (isset($_GET['info'])) $subtitle = $_GET['info'];
else $subtitle='Unknown';
if (isset($_GET['RepName'])) $_SESSION['rName'] = $_GET['RepName'];
$cMonth= array_search(trim(substr($subtitle,0,strpos($subtitle,' '))),$_SESSION['mName']);//0-11
if ($cMonth <=2) $cMonth +=10;
else $cMonth = '0'.($cMonth-2);
$Savedate = (trim(substr($subtitle,strpos($subtitle,' ')))-543).'-'.$cMonth.'-01';
$LastDay = date('Y-m-t',strtotime($Savedate));
$sql="select * from result where id_no=".$id_no." and date >= '".$Savedate."' and date <= '".$LastDay."' order by date" ;
$result=mysql_query($sql);
$numrows = mysql_num_rows($result);
/* ตัวแปรที่ใช้ในการสร้างกร๊าฟ */
$DList=''; //แสดงวันที่
$BList=''; //แสดงกร๊าฟจำนวนเป้า BASE
$RList=''; //แสดงกร๊าฟจำนวนผลงาน RESULT
$EList=''; //แสดงกร๊าฟประเมิน Evaluation
$GList=''; //แสดงกร๊าฟประเมิน Evaluation
$cur ='';
$last='00';
$suma=0;
$sumt=0;
while ($object = mysql_fetch_object($result)) {
$day = substr(($object ->date),-2);
//echo $day.' '.$object ->amount.' '.$object ->total.'<br>';
if ($day == $last || $cur ==='') { // วันที่ซ้ำ หรือ ครั้งแรก
if ($cur === '') $cur='00';
$last = $day;
$suma += $object ->amount;
$sumt += $object ->total;
} else {
for ($d = ($cur+1); $d <= $last; $d++) {
//--Daylist
if ($d <10) $d = '0'.($d+0);
if ($DList==='') $DList='"'.$d.'"';
else $DList .=',"'.$d.'"';
if ($d == $last) { //วันที่มีข้อมูล
if ($RList === '') $RList=$suma; //เศษ
else $RList .= ','.$suma;
if ($BList==='') $BList = $sumt; //ส่วน
else $BList .= ','.$sumt;
switch (substr($Eva,0,1)) {
case ':':
if ($sumt == 0) $tval = 1;
else $tval = $suma/$sumt;
break;
case '%':
if ($sumt == 0) $tval =100;
else $tval = $suma*100/$sumt;
break;
case 'T':
if ($sumt == 0) $tval =1000;
else $tval = $suma*1000/$sumt;
break;
case 'H':
if ($sumt == 0) $tval =100000;
else $tval = $suma*100000/$sumt;
break;
case '/': //ค่าเฉลี่ย
if ($sumt == 0) $tval = $suma/1;
else $tval = $suma/$sumt ;
break;
default :
$tval = $suma/1;
}
if ($EList==='') $EList = $tval; //ส่วน
else $EList .= ','.$tval;
if ($GList==='') $GList=$Goal;
else $GList .=','.$Goal;
} else { //วันที่ไม่มีข้อมูล
if ($RList==='') $RList='"n"';
else $RList .=',"n"';
if ($BList==='') $BList='"n"';
else $BList .=',"n"';
if ($EList==='') $EList='"n"';
else $EList .=',"n"';
if ($GList==='') $GList=$Goal;
else $GList .=','.$Goal;
}
}
$cur = $last;
$last = $day;
$suma = $object ->amount;
$sumt = $object ->total;
}
/*
echo 'Dlist:'.$DList.'<br>';
echo 'Rlist:'.$RList.'<br>';
echo 'Blist:'.$BList.'<br>';
echo 'Elist:'.$EList.'<br>';
*/
}
/*
echo '*******************<br>';
echo $last.'<br>';
*/
for ($d = ($cur+1); $d <= $last; $d++) {
//--Daylist
if ($d <10) $d = '0'.($d+0);
if ($DList==='') $DList='"'.$d.'"';
else $DList .=',"'.$d.'"';
if ($d == $last) {
if ($RList === '') $RList=$suma; //เศษ
else $RList .= ','.$suma;
if ($BList==='') $BList = $sumt; //ส่วน
else $BList .= ','.$sumt;
switch (substr($Eva,0,1)) {
case ':':
if ($sumt == 0) $tval = 1;
else $tval = $suma/$sumt;
break;
case '%':
if ($sumt == 0) $tval =100;
else $tval = $suma*100/$sumt;
break;
case 'T':
if ($sumt == 0) $tval =1000;
else $tval = $suma*1000/$sumt;
break;
case 'H':
if ($sumt == 0) $tval =100000;
else $tval = $suma*100000/$sumt;
break;
case '/': //ค่าเฉลี่ย
if ($sumt == 0) $tval = $suma/1;
else $tval = $suma/$sumt ;
break;
default :
$tval = $suma/1;
}
if ($EList==='') $EList = $tval; //ส่วน
else $EList .= ','.$tval;
if ($GList==='') $GList=$Goal;
else $GList .=','.$Goal;
} else {
if ($RList==='') $RList='"n"';
else $RList .=',"n"';
if ($BList==='') $BList='"n"';
else $BList .=',"n"';
if ($EList==='') $EList='"n"';
else $EList .=',"n"';
if ($GList==='') $GList=$Goal;
else $GList .=','.$Goal;
}
}
/*
echo 'Dlist:'.$DList.'<br>';
echo 'Rlist:'.$RList.'<br>';
echo 'Blist:'.$BList.'<br>';
*/
$cur = substr($LastDay,-2,2);
if ($last < $cur){
for ($d = ($last+1); $d <= $cur; $d++) {
if ($d <10) $d = '0'.($d+0);
if ($DList==='') $DList='"'.$d.'"';
else $DList .=',"'.$d.'"';
if ($BList==='') $BList='"n"';
else $BList .=',"n"';
if ($RList==='') $RList='"n"';
else $RList .=',"n"';
if ($EList==='') $EList='"n"';
else $EList .=',"n"';
if ($GList==='') $GList=$Goal;
else $GList .=','.$Goal;
}
}
/*
echo 'Dlist:'.$DList.'<br>';
echo 'Blist:'.$BList.'<br>';
echo 'Rlist:'.$RList.'<br>';
*/
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php echo $subtitle.'#'.$idno; ?></title>
<style type="text/css">
</style>
</head>
<body>
<script src="Jcode/highcharts.js"></script>
<script src="Jcode/modules/exporting.js"></script>
<script src="Jcode/modules/export-data.js"></script>
<div style="position: relative; padding: 10px;">
<div id="container" style="min-width: 310px; height: 600px; margin: 0 auto"></div>
<script type="text/javascript">
Highcharts.chart('container', {
chart: {zoomType: 'xy',marginBottom: 100},
title: {text: '<?php echo iconv( 'TIS-620', 'UTF-8', $_SESSION['rName']).$pop ; ?>'},
subtitle: {text: '<?php echo 'แสดงข้อมูลเดือน '.$subtitle.' แยกรายวัน'; ?>'},
xAxis: [{categories: [<?php echo $DList;?>],crosshair: true}],
yAxis: [
{
title: {text: 'จำนวนผลงาน ',style: {color: Highcharts.getOptions().colors[4]}},
labels: {format: '{value} ',style: {color: Highcharts.getOptions().colors[4]}}},
{
title: {text: '<?php echo $cEvalabel; ?>',style: {color: Highcharts.getOptions().colors[0]}},
labels: {format: '{value} ',style: {color: Highcharts.getOptions().colors[0]}},
opposite: true}
],
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function () { //DataInfo.php?&id_no=nnn&info=yyyymmdd
var URL;
URL="DataInfo.php?&id_no=<?php echo $_SESSION['rIDNO']; ?>";
URL+= "&info=<?php echo substr($Savedate,0,8);?>";
URL+= this.category;
window.open(URL, '_blank');
}
}
}
}
},
tooltip: {shared: true ,
formatter: function() {
var points = this.points, tooltipArray = ['วันที่: <b>' + this.x + '</b>']
points.forEach(function(point, index) {
tooltipArray.push('<br>'+point.series.name+': <b>' + point.y + '</b>');
});
return tooltipArray;
}
},
legend: {layout: 'vertical',align: 'left',x: 60, verticalAlign: 'bottom',y: 20,floating: true,
backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'},
series: [
<?php
if ($st<>'Y') echo "{name: '".$Y1name."',type: 'column',yAxis: 0,data: [".$BList."],tooltip: {valueSuffix: ''}},";
?>
{name: '<?php echo $Y2name;?>',type: 'column',yAxis: 0,data: [<?php echo $RList;?>],tooltip: {valueSuffix: ''}},
{name: 'ประเมิน',type: 'line',yAxis: 1,color:'#FF3399',zIndex: 3,data: [<?php echo $EList;?>],lineWidth:.3,tooltip: {valueSuffix:'<?php echo $cEva;?>'}},
{name: 'เป้าหมาย',type: 'line',yAxis: 1,color:'#C0DDC0',zIndex: 2,data: [<?php echo $GList;?>],lineWidth:.2}
]
});
function getValue(vname)
{
var n = document.getElementById(vname).value
return n;
}
function changeFunc() {
var URL;
URL= "<?php echo $_SERVER['PHP_SELF'] ?>";
URL+= "?&MaxYear=";
URL+= getValue('MaxYear');
URL+= "&MaxMonth=";
URL+= getValue('MaxMonth');
URL+= "&MinYear=";
URL+= getValue('MinYear');
URL+= "&MinMonth=";
URL+= getValue('MinMonth');
URL+= "&id_no=<?php echo $_SESSION['rIDNO']; ?>";
window.location= URL;
}
</script>
<p><p>หมายเหตุ ถ้าข้อมูลรวมในเดือนมีความคลาดเคลื่อน ให้ลงผลรายวัน วันใดวันหนึ่งใหม่ เพื่อให้ปรับปรุงยอดรวมของเดือนนั้นใหม่ทั้งหมด <br>
พบการบันทึกข้อมูล = <?php echo $numrows;?> Reccords<br>
</body>
</html>
<?php
function chMonth($find){
return $_SESSION['mName'][$find-1];
}
?>