403Webshell
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/water/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/water/ControlChart.php
<?php
session_start();
include("dbconfig.php");
date_default_timezone_set('Asia/Bangkok');
mysql_select_db("KPI");
mysql_query("SET NAMES 'tis620';");
$nowyear =  date('Y'); //ปีปัจจุบัน2022
$nowmon = date('m'); //เดือนปัจจุบัน 03
	//echo "ปี".$nowmon.'<br>';
if ($nowmon >=10) {
	$nowyear +=1;
	$nowmon -=9;
} else  $nowmon  += 3;
//mysql_query("SET NAMES utf8"); /*****/
$_SESSION['mName'] = Array("ตุลาคม", "พฤศจิกายน", "ธันวาคม","มกราคม",
	"กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม",
	"สิงหาคม", "กันยายน");

if (!isset($_SESSION['pagecount'])) $_SESSION['pagecount']=0;
else $_SESSION['pagecount']=$_SESSION['pagecount']+1;
function std_deviation($my_arr)
{
   $no_element = count($my_arr);
   $var = 0.0;
   $avg = array_sum($my_arr)/$no_element;
   foreach($my_arr as $i)
   {
      $var += pow(($i - $avg), 2);
   }
   return (float)sqrt($var/$no_element);
}
function chMonth($find){
	return  $_SESSION['mName'][$find-1];
}
if (isset($_GET['id_no'])) $_SESSION['rIDNO'] = $_GET['id_no'];
else $_SESSION['rIDNO'] ='';

if (isset($_GET['RepName'])) $_SESSION['rName'] = $_GET['RepName'];

if (isset($_GET['MinYear'])) {
	if ($_GET['MinMonth'] <= 3) $MinYear =($_GET['MinYear']-542);		//พ.ศ.> ค.ศ.+1
	else $MinYear = ($_GET['MinYear']-543);   		//พ.ศ.> ค.ศ.
	if ($_GET['MaxMonth'] <= 3) $MaxYear =($_GET['MaxYear']-542);	//พ.ศ.> ค.ศ.+1
	else 	$MaxYear = ($_GET['MaxYear'] -543);   //พ.ศ.> ค.ศ.
	$subtitle = 'ตั้งแต่ เดือน'.chMonth($MinMonth).' '.$_GET['MinYear'].
	'  ถึง เดือน'.chMonth($MaxMonth).' '.$_GET['MaxYear'];
} else {	
	if (isset($_GET['rYear'])) $MinYear = ($_GET['rYear']-543);
	else	$MinYear =date('Y');
	$MaxYear = $MinYear;
	$MinMonth = '1';
	$MaxMonth ='12';
	$subtitle = 'ปีงบประมาณ '.$_GET['rYear'];
}
if ($MinMonth <=3) $cMinY = $MinYear+542;
else $cMinY = $MinYear+543;
if ($MaxMonth <=3) $cMaxY = $MaxYear+542;
else $cMaxY = $MaxYear+543;
$lGoal ="'n'";
$DList=''; //แสดงเดือน/ปี
$TList=''; // แสดงเป้าหมาย
$HList=''; //แสดงผลประเมิน
$AList=''; //แสดงจำนวนเป้าหมายเดือน
$EList=''; //แสดงจำนวนผลงานเดือน
$SList=''; //แสดงจำนวนสะสม
$SDList=''; //แสดงSD
$sdVal = array();
$nSd=0;
$sumM=0;
$sumB=0; 
$eva ='';
$comp='';
$sql='select  *  from indicators where id_no='.$_SESSION['rIDNO'].' limit 1';
 
$result = mysql_query($sql);
$name1 ='';
$name2 ='';
$sd='N';
$st='N';
$sr='N';
$๐ = iconv('UTF-8','TIS-620',"๐");
while ($object = mysql_fetch_object($result)) {
	$name1 =iconv('TIS-620','UTF-8',$object -> name1);
	$name2 =iconv('TIS-620','UTF-8',$object -> name2);
	$sd = $object -> sd;
	$st = $object -> st;
	$sr = $object -> sr;
}
if ($name1==='') $name1= 'จำนวนทั้งหมด';
if ($name2==='') $name2= 'ผลงานตัวชี้วัด';
if ($st =='Y') $lSumB=false;  	//ค่าเป้าหมายใช้ล่าสุด
else $lSumB=true;					//รวมค่าเป้าหมาย
if ($sr =='Y') $lSumM=false;  	//ค่าผลงานใช้ล่าสุด
else $lSumM=true;					//รวมผลงาน
			
for ($y = $MinYear; $y <= $MaxYear; $y++) {	//---------------    ประมวลทีละปี
	if ($y == $MinYear) $fMonth =$MinMonth;		// หาค่า เดือนแรกของปีที่กำลังทำรายงาน
	else  $fMonth ='1';
	if ($y == $MaxYear) $lMonth =$MaxMonth;		// หาค่า เดือนสุดท้ายของปีที่กำลังทำรายงาน
	else  $lMonth ='12';					
	$sql="select * from goal where id_no=".$_SESSION['rIDNO']." and year = '".$y."' limit 1" ;
	$result=mysql_query($sql);
	$Rows = mysql_num_rows($result);
	$nSd= 0;
	if($Rows==0) {	
		// ไม่เคยมีบรรทัดปี นี้ ค่าแต่ละเดือน =0
		for ($m = $fMonth; $m <= $lMonth; $m++) {
			if ($m <=3) $cY = ($y+542);
			else $cY = ($y+543);
			if (	$DList==='') $DList = "'".chMonth($m).' '.$cY."'";
			else $DList .= ",'".chMonth($m).' '.$cY."'";
			if (	$TList==='') $TList = "'n'";
			else $TList .= ",'n'";
			if (	$HList==='') $HList = "'n'";
			else $HList .= ",'n'";
			if (	$AList==='') $AList = "'n'";
			else $AList .= ",'n'";
			if (	$EList==='') $EList = "'n'";
			else $EList .= ",'n'";
			if (	$SList==='') $SList = "'n'";
			else $SList .= ",'n'";
			if (	$SDList==='') $SDList = "[0,0]";
			else $SDList .= ",[0,0]";
		}
	} else {	
		// มีบรรทัดปี  หาค่าแต่ละเดือน
		while ($object = mysql_fetch_array($result)) {
			
			$eva = trim($object['eva']);
			$comp = trim($object['compair']);
			$nSum=0;
			if (strpos($eva,'S')) { 								//กำหนดให้ ค่าเป้าหมายเป็น ค่ารวมผลงานทั้งหมด
				$nSum = $object['m1'];
				for ($m = 2; $m < $fMonth; $m++) {	
					$nSum += $object['m'.$m];
				}  
			} 
			/*
			  กำหนดให้ แสดง SD
			*/
			if ($sd == 'Y'){											
				$nXbar = 0;
				$nXcount = 0;
				for ($m = 1; $m <= 12; $m++) {
					if (!is_null($object['m'.$m])){
						// ผลงานเดือน
						if ($object['m'.$m]==='') $nM=0;
						else  $nM = $object['m'.$m];	
						
						//เป้าหมายเดือน
						if ($object['m'.$m.'b']==='') $nB=0;
						else  $nB= $object['m'.$m.'b'];
					
						if ($nM== 0) $tval= 0;
						else {
							switch (substr($eva,0,1)) {
								case ':': 
									if ($nB == 0) $tval = 1;
									else $tval = $nM/$nB; 
									break;
								case '%':
									if ($nB == 0) $tval =100;
									else $tval = $nM*100/$nB;
									break;
								case 'T':
									if ($nB == 0) $tval =1000;
									else  $tval = $nM*1000/$nB;
									break;
								case 'H':
									if ($nB == 0) $tval =100000;
									else  $tval = $nM*100000/$nB;
									break;
								case '/': //ค่าเฉลี่ย
									if ($nB == 0) $tval = $nM/1;
									else $tval = $nM/$nB ; 
									break;
								default :
									$tval = $nM/1; 
							}
						}
						$nXbar = $nXbar+$tval;
						$nXcount +=1;
						array_push($sdVal,$tval);
					}
				}
				//==
				//$sdVal = array(7.69,0,10,0,11.11,0,11.11,0,9.09,0,0,7.69);
				//$nXbar =56.69;
				//$nXcount=12;
				//==
				if (!empty($sdVal)) {
					$nXbar = $nXbar/	$nXcount;
					$nSD = std_deviation($sdVal);
					$nSDmax = $nXbar+(1.5*$nSD);
					$nSDmin  = $nXbar-(1.5*$nSD);
					if ($nSDmin<=0) $nSDmin=0;
				
				}	else {
					$nSDmax = 0;
					$nSDmin=0;
				}
			}
			//--จบการหา SD ของปี
			// เตรียม ชุดข้อมูล เดือนและชื่อเดือน 
			for ($m = $fMonth; $m <= $lMonth; $m++) {
				// 1.  $DList  ชุดข้อมูลแสดงรายชื่อ เดือน   แสดงเป็น  "มกราคม 2563"
				if ($m <=3) $cY = ($y+542);
				else $cY = ($y+543);
				if (	$DList==='') $DList = "'".chMonth($m).' '.$cY."'";
				else $DList .= ",'".chMonth($m).' '.$cY."'";
				
				// 2. $TList   แสดงเส้นเป้าหมายของแต่ละปี  (เท่ากันตลอดปี)
				if ($object['goal']==='') $nM=0;
				else {
				 $nM = $object['goal'];
				 $lGoal = $nM;	
				}
				if (	$TList==='') $TList = $nM;
				else 	$TList .= ','.$nM;

				/*----  แสดงค่าที่บันทึกรายเดือน  
					$HList		แสดงค่าประเมินราย เดือน
					$AList		แสดงค่าเป้าหมายราย เดือน
					$EList		แสดงจำนวนผลงานรายเดือน
					$SList		แสดงจำนวนที่สะสมมาจากต้นปี
					$SDList	    แสดงค่า SD เป็น Array min,max
				*/
				if (($nowyear ==  $y ) && ( $m > $nowmon)){ 	// ข้อมูลปีปัจจุบัน ที่ยังไม่มีข้อมูล ไม่วาดกร๊าฟ
					if ($HList==='') $HList = "'n'";
					else $HList .= ",'n'";
					if (	$AList==='') $AList = "'n'";			
					else $AList .= ",'n'";
					if (	$EList==='') $EList = "'n'";
					else $EList .= ",'n'";			
					if (	$SList==='') {
						if ($nSum==0) $SList = "'n'";
						else 	$SList = $nSum;
					} else {
						if ($nSum==0) $SList .= ",'n'";
						else 	$SList .= ",'n'";		
					}
					if ($sd == 'Y'){	
						if (	$SDList=='') $SDList = '['.$nSDmin.','.$nSDmax.']';			
						else $SDList .= ',['.$nSDmin.','.$nSDmax.']';
					}
				} else { 
					if ($object['m'.$m]==='') $nM=0;
					else  $nM = $object['m'.$m];
					if ($object['m'.$m.'b']==='') $nB=0;
					else  $nB= $object['m'.$m.'b'];
				
					//เตรียมผลงาน ไว้ใส่ในช่องสรุป $sumM , $sumB
					if ($lSumM) $sumM += $nM; //รวม
					else 	$sumM = $nM;				//ล่าสุด		
					if ($lSumB) $sumB = ($sumB+$nB);    
					else {
						if ($nB > 0) $sumB = $nB;  				//เป้าหมายใช้ค่าล่าสุด  ถ้ามีใช้ค่านี้
						else if ($sumB > 0 )$nB = $sumB;		//ถ้าเดือนนี้ไม่มีบันทึก  เดือนนี้ใช้ค่าเดือนก่อนหน้าเพื่อประมวลผลงาน
					}
					if (strpos($eva,'S')) $nSum+=$nM;  	  //กรณีเป้าหมายใช้ผลงานสะสม เช่นทั้งปีเป็น 100% แต่ละเดือนเป็นกี่ %
					else $nSum = $nM; 
					
					// -- ประเมินผลงาน เดือน
					if ($nSum== 0) $tot = '0';				
					else {
						switch (substr($eva,0,1)) {
							case ':': 
								if ($nB == 0) $tot = '1';
								else $tot = ($nSum/$nB); 
								break;
							case '%':
								if ($nB == 0) $tot ='100.00';
								else $tot = number_format($nSum*100/$nB,2,'.','');
								break;
							case 'T':
								if ($nB == 0)   $tot ='1000.00';
								else   $tot = number_format($nSum*1000/$nB,2,'.','');
								break;
							case 'H':
								if ($nB == 0)   $tot ='100000.00';
								else   $tot = number_format($nSum*100000/$nB,2,'.','');
								break;
							case '/': //ค่าเฉลี่ย
								if ($nB == 0) $tot = $nM;
								else $tot = $nSum /$nB ; 
								break;
							default :
								$tot = $nSum; 
						}
					}
					$tot = str_replace(",", "",$tot);
					if ($HList==='') $HList = $tot;			
					else $HList .= ','.$tot;
					if (	$AList==='') $AList = $nB;			
					else $AList .= ','.$nB;
					if (	$EList==='') $EList = $nM;
					else $EList .= ','.$nM;	
					// กำหนดให้แสดงค่าสะสม	
					if (	$SList==='') {
						if ($nSum==0) $SList = "'n'";
						else 	$SList = $nSum;
					} else {
						if ($nSum==0) $SList .= ",'n'";
						else 	$SList .= ','.$nSum;		
					}
					if ($sd == 'Y'){	
						if (	$SDList==='') $SDList = '['.$nSDmin.','.$nSDmax.']';			
						else $SDList .= ',['.$nSDmin.','.$nSDmax.']';
					}
				}
			}
		}
	}	
}
//เพิ่ม Column แสดงผลงานรวม
if (	$DList==='') $DList = "'   รวม    '";	
else $DList .= ",'   รวม    '";
if (	$TList==='') $TList = $lGoal;
else $TList .= ','.$lGoal;

$nB = $sumB;									
$nM = $sumM;
$cEva = substr($eva,0,1);
switch ($cEva) {
	case ':':
		if ($nM== 0) $tot = '0';
		else {				
			if ($nB == 0) $tot = '1';
			else $tot = $nM /$nB ; 
		}
		$cEva = ' ต่อหน่วย';
		$cEvalabel = 'ผลงานต่อหนึ่งหน่วยเป้าหมาย';
		break;
	case '%':
		$cEva =  ' '.iconv( 'TIS-620', 'UTF-8',$eva);
		$cEvalabel = 'ผลงานต่อหนึ่งร้อยเป้าหมาย(%)';
		if ($nM== 0) $tot = '0';
		else {				
			if ($nB == 0) $tot = '100.00';
			else $tot = number_format(($nM *100)/$nB,2,'.','');
		}
		break;
	case 'T':
		$cEva = ' ต่อพัน';
		$cEvalabel = 'ผลงานต่อหนึ่งพันเป้าหมาย';
		if ($nM == 0)   $tot ='0';
		else {
			if ($nB == 0) $tot = '1000.00';
			else $tot = number_format(($nM *1000)/$nB,2,'.','');
		} 
		break;
	case 'H':
		$cEva = ' ต่อแสน';
		$cEvalabel = 'ผลงานต่อหนึ่งแสนเป้าหมาย';
		if ($nM == 0)   $tot ='0';
		else {
			if ($nB == 0) $tot = '100000.00';
			else $tot = number_format(($nM *100000)/$nB,2,'.','');
		} 
		break;
	case '/':
		if ($nM== 0) $tot = '0';
		else {					
			if ($nB == 0) $tot = $nM;
			else $tot = $nM /$nB; 
		}
		$cEva = ' โดยเฉลี่ย';
		$cEvalabel = 'ค่าเฉลี่ยผลงาน';
		break;
	default :
		$cEva =  ' '.iconv( 'TIS-620', 'UTF-8',$eva);
		$cEvalabel = $cEva;
		$tot = $nM; 
}
if ($HList==='') $HList = $tot;
else $HList .= ','.$tot;							
if ($AList==='') $AList = $nB;
else $AList = $AList.','.$nB;

if (strpos($eva,'S')) { 
	if ($EList==='') $EList = "'n'";
	else $EList .=",'n'";
	if ($SList==='') $SList = $nM;
	else $SList .=",".$nM;
} else {
	if ($EList==='') $EList = $nM;
	else $EList .=','.$nM;;
}
/*
	//Test value
	echo $DList.'<br>';
	echo $TList.'<br>';
	echo $HList.'<br>';  //ข้อมูล
	echo $sumM.'<br>';
	echo $sumB.'<br>';
	echo $SList.'<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>ControlChart<?php echo  '#'.$_SESSION['rIDNO']  ;?></title>
	<style type="text/css">
	</style>
  </head>
  <body>
	<script src="../KPI monitor/Jcode/highcharts.js"></script>
	<script src="../KPI monitor/Jcode/highcharts-more.js"></script>
	<script src="../KPI monitor/Jcode/modules/exporting.js"></script>
	<script src="../KPI monitor/Jcode/modules/export-data.js"></script>
	<script src="../KPI monitor/Jcode/modules/accessibility.js"></script>
	<div style="position: relative; padding: 10px;">
	<div id="container" style="min-width: 310px; height: 520px; margin: 0 auto"></div>
	<script type="text/javascript">
	Highcharts.chart('container', {
	  chart: {zoomType: 'xy',   marginBottom: 150},
	  title: {text: '<?php echo iconv( 'TIS-620', 'UTF-8', $_SESSION['rName'])  ;?>'},
	  subtitle: {text: '<?php echo $subtitle; ?>'},
	  xAxis: [{categories: [<?php echo $DList;?>],crosshair: true}],
	  yAxis: [		//แสดงแกน Y
		{				//ซ้าย
		  title: {text: 'แสดง<?php  echo $cEvalabel;?>',style: {color: '#F03090',font: '14px "Tahoma",  sans-serif'}},
		  labels: {format: '{value}',style: {color: '#F03090'}}},
		{ 				//ขวา
		  title: {text: 'แสดงจำนวน',style: {color: '#0000DD',font: '14px "Tahoma",  sans-serif'}},
		  labels: {format: '{value} ',style: {color: Highcharts.getOptions().colors[0]}},
		  opposite: true }
	  ],
	  
	  plotOptions: {
            series: {
                cursor: 'pointer',
                point: {
                    events: {
                        click: function () {
							var URL;
							URL="ReportMonth.php?&id_no=<?php echo $_SESSION['rIDNO']; ?>";
							URL+= "&info=";
							URL+= this.category;
							if (this.category.indexOf("รวม") != -1) alert('ไม่อนุญาติแสดงข้อมูลรายวันทั้งหมด');
						   else 	window.open(URL, '_blank');
						}
                    }
                }
            }
      },
	  
	  tooltip: {shared: true }, 
	  legend: {layout: 'vertical',align: 'left',x: 60, verticalAlign: 'bottom',y: 20,floating: true,
				backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'},
	  series: [
		{name: '<?php echo $name2;?>',type: 'line',yAxis: 1,zIndex: 3,data: [<?php echo $EList;?>],tooltip: {valueSuffix: ''}},
		<?php
			if (substr($eva,1,1) =='S') { 						//ผลงานสะสม
				echo  "{name: '".$name2."สะสม',type: 'line',yAxis: 1,data: [".$SList."],tooltip: {valueSuffix: ''}},";

			}
		?>
		
		{name: '<?php echo $name1;?>',type: 'line',yAxis: 1,zIndex: 3,color:'#0060fd',data: [<?php echo $AList;?>],tooltip: {valueSuffix: ''}},
		{name: 'เป้าหมาย ',type: 'line',lineWidth: 1,yAxis: 0,zIndex: 1,color:'<?php  if ($comp=='<') echo '#EE0000' ; else echo '#00EE00'; ?>',data: [<?php echo $TList; ?>],tooltip: {
		valueSuffix: '<?php  echo $cEva;?>' , valuePrefix: '<?php  echo $comp.' ';?>' }},
		{name: 'ประเมิน',type: 'line',yAxis: 0,color:'#FF3399',zIndex: 3,data: [<?php echo $HList;?>],tooltip: {valueSuffix: ' <?php  echo $cEva;?>'}}
		<?php 
			if ($sd == 'Y'){	?>
				,{name: 'sd',type: 'arearange',lineWidth: 0,yAxis: 0, linkedTo: ':previous',color:'#9d9ddd',fillOpacity: 0.3,zIndex: 0,data: [<?php echo $SDList; ?>],tooltip: {valueSuffix: ' <?php  echo $cEva;?>'}}
			<?php
			}
			?>	
		]
	});
	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>
<br>
<table width="88%" height="30" border="1" align="center" cellpadding="1" cellspacing="1" background="../KPI monitor/bak/image/bg.JPG">
  <tr>
	<td width="20%" align="center"><span class="style4"><button  id="demo" onClick="changeFunc()">แสดงข้อมูล</button></span>
	</td>
	<td width="25%"  align="center" ><p>&nbsp;&nbsp;เดือน
		<select name="MinMonth" id="MinMonth" >
		<?php
			for ($m = 1; $m <= 12; $m++) {
				$cEcho = '<option value="'.$m.'" ';
				if ($m == $MinMonth) $cEcho .= 'selected';
				$cEcho .= '>&nbsp;&nbsp;'.chMonth($m).'</option>';
				echo $cEcho;
			}
		?>
		</select></p>
	</td>  
	<td width="15%"  align="center"><p>&nbsp;&nbsp;ปี
	    <input type="text" name="MinYear" id="MinYear"  align="center" maxlength="4" size="2" value="<? echo $cMinY;?>" >
	</td>
	<td width="25%"  align="center"><p>&nbsp;&nbsp;ถึง
		<select name="MaxMonth" id="MaxMonth" >
		<?php
			for ($m = 1; $m <= 12; $m++) {
				$cEcho = '<option value="'.$m.'" ';
				if ($m == $MaxMonth) $cEcho .= 'selected';
				$cEcho .= '>&nbsp;&nbsp;'.chMonth($m).'</option>';
				echo $cEcho;
			}
		?>
		</select></p>
	</td>  
	<td width="15%"  align="center"><p>&nbsp;&nbsp;ปี
	    <input type="text" name="MaxYear" id="MaxYear"  align="center" maxlength="4" size="2" value="<? echo $cMaxY;?>" >
	</td>
  </tr>
</table>

</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit