<?php
/** ensure this file is being included by a parent file */
defined( '_VALID_' ) or die( 'Direct Access to this location is not allowed.' );
//ปีงบประมาณ
$sql = "select * from la_year where year_active='1' order by budget_year desc limit 1";
$dbquery = mysqli_query($connect,$sql);
$year_active_result = mysqli_fetch_array($dbquery);
if($year_active_result['budget_year']==""){
echo "<br />";
echo "<div align='center'>ยังไม่ได้กำหนดทำงานในปีงบประมาณใด ๆ กรุณาไปที่เมนูตั้งค่าระบบ เพื่อกำหนดปีงบประมาณ</div>";
exit();
}
//กรณีเลือกปีงบประมาณ
if(!(isset($_REQUEST['year_index']))){
$_REQUEST['year_index']="";
}
if($_REQUEST['year_index']!=""){
$year_active_result['budget_year']=$_REQUEST['year_index'];
}
$year=$year_active_result['budget_year'];
$start_year=$year-544;
$end_year=$year-543;
$start_date=$start_year."-10-01";
$end_date=$end_year."-09-30";
//อาเรย์วันลาสะสม
$sql = "select person_main.person_id,la_collect.collect_day,la_collect.this_year_day from person_main left join la_collect on person_main.person_id=la_collect.person_id where la_collect.year='$year_active_result[budget_year]' ";
$dbquery = mysqli_query($connect,$sql);
While ($result = mysqli_fetch_array($dbquery)){
$collect_day_ar[$result['person_id']]=$result['collect_day'];
$this_year_day_ar[$result['person_id']]=$result['this_year_day'];
}
//ส่วนหัว
echo "<br />";
echo "<table width='95%' border='0' align='center'>";
echo "<tr align='center'>
<td align=center><font color='#006666' size='3'><strong>สถิติการลาพักผ่อน</strong></font>
<font color='#006666' size='3'><strong>ปีงบประมาณ $year_active_result[budget_year]</strong></font>
</td></tr>";
echo "</table>";
echo "<br />";
$sql = "select * from person_position order by position_code";
$dbquery = mysqli_query($connect,$sql);
While ($result = mysqli_fetch_array($dbquery)){
$position_ar[$result['position_code']]=$result['position_name'];
}
//ส่วนแสดงหลัก
echo "<form id='frm1' name='frm1'>";
echo "<table width='90%' border='1' align='center' style='border-collapse: collapse' class='table table-striped table-bordered table-hover'>";
echo "<Tr align='left'><Td align='right' colspan='9'>เลือกปีงบประมาณ <Select name='year_index' size='1'>";
$sql = "select * from la_year order by budget_year desc";
$query = mysqli_query($connect,$sql);
While ($result = mysqli_fetch_array($query))
{
if($result['budget_year']==$year_active_result['budget_year']){
echo "<option value = $result[budget_year] selected>ปีงบประมาณ $result[budget_year]</option>";
}
else{
echo "<option value = $result[budget_year]>ปีงบประมาณ $result[budget_year]</option>";
}
}
echo "</select>";
echo " <INPUT TYPE='button' name='smb' value='เลือก' onclick='goto_url2(1)'>";
echo "</Td></Tr>";
$sql = "select * from person_main where status='0' order by department,position_code,person_order";
$dbquery = mysqli_query($connect,$sql);
echo "<Tr align='center'><Td width='50' rowspan='2'>ที่</Td>";
echo "<Td rowspan='2'>ชื่อ</Td><Td rowspan='2'>ตำแหน่ง</Td><Td colspan='3'>วันลาพักผ่อนประจำปี</Td><Td colspan='2'>ลา</Td><td>เหลือ</td></Tr>";
echo "<Tr align='center' bgcolor='#CCFFFF'>";
echo "<Td>สะสม</Td><Td>ปีนี้</td><Td>รวม</td><Td>ครั้ง</Td><Td>วัน</Td><Td>เหลือ</Td></Tr>";
$N=1;
$M=1;
$sum_collect=0;
$rest=0;
While ($result = mysqli_fetch_array($dbquery)){
$id = $result['id'];
$person_id = $result['person_id'];
$prename=$result['prename'];
$name= $result['name'];
$surname = $result['surname'];
$position_code= $result['position_code'];
$department= $result['department'];
if(!(isset($this_year_day_ar[$person_id]))){
$this_year_day_ar[$person_id]=0;
}
if(!(isset($collect_day_ar[$person_id]))){
$collect_day_ar[$person_id]=0;
}
$sum_collect=$collect_day_ar[$person_id]+$this_year_day_ar[$person_id];
if(($M%2) == 0){
$color="#FFFFC";
}
else {
$color="#FFFFFF";
}
$la_num=0;
$la_day=0;
$la_cancel_num=0;
$la_cancel_day=0;
$sql_la= "select la_type, la_total from la_main where person_id='$person_id' and (la_start>='$start_date') and (la_finish<='$end_date') and la_type='4' and commander_grant='1' " ;
$query_la= mysqli_query($connect,$sql_la);
While ($result_la= mysqli_fetch_array($query_la)){
$la_num=$la_num+1;
$la_day=$la_day+$result_la['la_total'];
}
//กรณีลาคาบเกียวต้นปีงบประมาณ
$sql_la= "select la_type, la_finish from la_main where person_id='$person_id' and (la_start<'$start_date') and (la_finish>='$start_date') and la_type='4' and commander_grant='1' " ;
$query_la= mysqli_query($connect,$sql_la);
While ($result_la= mysqli_fetch_array($query_la)){
$la_finish=$result_la['la_finish'];
$la_num=$la_num+1;
//หาจำนวนวันลาตั้งแต่ต้นช่วง
$date1=date_create($start_date);
$date2=date_create($la_finish);
$diff=date_diff($date1,$date2);
$day_num=$diff->format("%R%a");
$day_num=intval($day_num)+1;
$start_day=date('w', strtotime($start_date));
$y=$start_day;
$z=0; //จำนวนวันลา
for ($x = 0; $x <$day_num; $x++) {
if(!($y==0 or $y==6)){
$z=$z+1;
}
$y++;
if($y==7){
$y=0;
}
}
$la_day=$la_day+$z;
}
//
///กรณีลาคาบเกียวปลายปีงบประมาณ
$sql_la= "select la_type, la_start from la_main where person_id='$person_id' and (la_start<='$end_date') and (la_finish>'$end_date') and la_type='4' and commander_grant='1' " ;
$query_la= mysqli_query($connect,$sql_la);
While ($result_la= mysqli_fetch_array($query_la)){
$la_start=$result_la['la_start'];
$la_num=$la_num+1;
//หาจำนวนวันลาตั้งแต่ต้นช่วง
$date1=date_create($la_start);
$date2=date_create($end_date);
$diff=date_diff($date1,$date2);
$day_num=$diff->format("%R%a");
$day_num=intval($day_num)+1;
$start_day=date('w', strtotime($la_start));
$y=$start_day;
$z=0; //จำนวนวันลา
for ($x = 0; $x <$day_num; $x++) {
if(!($y==0 or $y==6)){
$z=$z+1;
}
$y++;
if($y==7){
$y=0;
}
}
$la_day=$la_day+$z;
}
///
$sql_la= "select * from la_cancel where person_id='$person_id' and (cancel_la_start>='$start_date') and (cancel_la_finish<='$end_date') and la_type='4' and commander_grant='1' " ;
$query_la= mysqli_query($connect,$sql_la);
While ($result_la= mysqli_fetch_array($query_la)){
$cancel_la_type=$result_la['la_type'];
$cancel_la_start=$result_la['cancel_la_start'];
$cancel_la_finish=$result_la['cancel_la_finish'];
$sql_chk="select la_type, la_total from la_main where person_id='$person_id' and (la_start='$cancel_la_start') and (la_finish='$cancel_la_finish') and commander_grant='1' and $cancel_la_type='4' " ;
$query_chk= mysqli_query($connect,$sql_chk);
if(mysqli_fetch_array($query_chk)){
$la_cancel_num=$la_cancel_num+1;
}
$la_cancel_day=$la_cancel_day+$result_la['cancel_la_total'];
}
//กรณียกเลิกวันลาคาบเกี่ยวต้นปี
$sql_la= "select cancel_la_finish, cancel_la_start from la_cancel where person_id='$person_id' and (cancel_la_start<'$start_date') and (cancel_la_finish>='$start_date') and la_type='4' and commander_grant='1' " ;
$query_la= mysqli_query($connect,$sql_la);
While ($result_la= mysqli_fetch_array($query_la)){
$la_finish=$result_la['cancel_la_finish'];
//หาจำนวนวันลาตั้งแต่ต้นช่วง
$date1=date_create($start_date);
$date2=date_create($la_finish);
$diff=date_diff($date1,$date2);
$day_num=$diff->format("%R%a");
$day_num=intval($day_num)+1;
$cancel_la_start=$result_la['cancel_la_start'];
$cancel_la_finish=$result_la['cancel_la_finish'];
$start_day=date('w', strtotime($start_date));
$y=$start_day;
$z=0; //จำนวนวันลา
for ($x = 0; $x <$day_num; $x++) {
if(!($y==0 or $y==6)){
$z=$z+1;
}
$y++;
if($y==7){
$y=0;
}
}
$la_cancel_day=$la_cancel_day+$z;
//กรณียกเลิกทุกวัน
$sql_chk="select id from la_main where person_id='$person_id' and (la_start='$cancel_la_start') and (la_finish='$cancel_la_finish') and la_type='4' and commander_grant='1' " ;
$query_chk= mysqli_query($connect,$sql_chk);
if(mysqli_fetch_array($query_chk)){
$la_cancel_num=$la_cancel_num+1;
}
}
//
//กรณียกเลิกวันลาคาบเกี่ยวปลายปี
$sql_la= "select cancel_la_finish, cancel_la_start from la_cancel where person_id='$person_id' and (cancel_la_start<='$end_date') and (cancel_la_finish>'$end_date') and la_type='4' and commander_grant='1' " ;
$query_la= mysqli_query($connect,$sql_la);
While ($result_la= mysqli_fetch_array($query_la)){
$la_start=$result_la['cancel_la_start'];
//หาจำนวนวันลาตั้งแต่ต้นช่วง
$date1=date_create($la_start);
$date2=date_create($end_date);
$diff=date_diff($date1,$date2);
$day_num=$diff->format("%R%a");
$day_num=intval($day_num)+1;
$cancel_la_start=$result_la['cancel_la_start'];
$cancel_la_finish=$result_la['cancel_la_finish'];
$start_day=date('w', strtotime($la_start));
$y=$start_day;
$z=0; //จำนวนวันลา
for ($x = 0; $x <$day_num; $x++) {
if(!($y==0 or $y==6)){
$z=$z+1;
}
$y++;
if($y==7){
$y=0;
}
}
$la_cancel_day=$la_cancel_day+$z;
//กรณียกเลิกทุกวัน
$sql_chk="select id from la_main where person_id='$person_id' and (la_start='$cancel_la_start') and (la_finish='$cancel_la_finish') and la_type='4' and commander_grant='1' " ;
$query_chk= mysqli_query($connect,$sql_chk);
if(mysqli_fetch_array($query_chk)){
$la_cancel_num=$la_cancel_num+1;
}
}
//
/////////////////////////////////////////////////
$la_day=$la_day-$la_cancel_day; //วันลาหักยกเลิกวันลา
$rest=$sum_collect-$la_day; //วันลาคงเหลือ
$la_num=$la_num-$la_cancel_num; //จำนวนครั้งหักยกเลิก
echo "<Tr bgcolor='$color' align='center'><Td>$N</Td>";
echo "<Td align='left'><a href=?option=la&task=main/report_7&person_id=$person_id>$prename $name $surname</a></Td><Td align='left'>";
if(isset($position_ar[$position_code])){
echo $position_ar[$position_code];
}
echo "</Td>";
echo "<Td>$collect_day_ar[$person_id]</Td><Td>$this_year_day_ar[$person_id]</Td><Td>$sum_collect</Td><Td>$la_num</Td><Td>$la_day</Td><td>$rest</td>";
echo "</tr>";
$M++;
$N++;
}
echo "</Table>";
echo "</form>";
?>
<script>
function goto_url2(val){
callfrm("?option=la&task=main/report_5");
}
</script>