From 0d39ee5faffe6ed5b81c71d8cf7226a791ce326e Mon Sep 17 00:00:00 2001 From: sriramv Date: Fri, 25 May 2018 18:32:04 +0530 Subject: [PATCH] performance report issues fixed --- application/controllers/report.php | 264 ++++++++++++++++++++++++- application/models/dahsboard_model.php | 35 ++-- application/views/dashboard.php | 2 +- application/views/report_emp.php | 29 +-- 4 files changed, 302 insertions(+), 28 deletions(-) diff --git a/application/controllers/report.php b/application/controllers/report.php index 08efbebc..19eecad3 100755 --- a/application/controllers/report.php +++ b/application/controllers/report.php @@ -988,7 +988,58 @@ class report extends BaseController } - public function per() +/*******************Performance report start **************/ + public function getFinancialStartDate() + { + + + + $CURMONTH = date('n'); + $CURYEAR = date('Y'); + $FINYEAR = 0; + if ($CURMONTH >= 4) + { + $FINYEAR = $CURYEAR; + } else + { + $FINYEAR = $CURYEAR - 1; + } + + $dateInString = $FINYEAR . '-4-1'; + $result = date_create($dateInString); + // print_r($result); + + return $result; + +} + + +/*this function uesd to finance EndDate */ + public function getFinancialEndDate() + { + $CURMONTH = date('n'); + $CURYEAR = date('Y'); + $FINYEAR = 0; + if ($CURMONTH < 4) + { + $FINYEAR = $CURYEAR; + } else + { + $FINYEAR = $CURYEAR + 1; + } + + $dateInString = $FINYEAR . '-3-31'; + $result = date_create($dateInString); + + + // print_r($result); + return $result; + + + } + + +public function per() { $this->global['pageTitle'] = 'Siddharth : Reports'; @@ -1004,13 +1055,222 @@ class report extends BaseController $data['fy']=$this->dahsboard_Model->fy(); $data['per']=$this->dahsboard_Model->per($fa,$aa,$m); - + $cur_month = date('M'); + //echo $cur_month; + if($cur_month == $m ){ + + $cur_date = date('d'); + }else{ + + $cur_date = date('t',strtotime($m)); + } + $data['cur_month'] = $cur_date; + + $CURMONTH = date('m'); + $CURDATE = date('d'); + $CURYEAR = date('Y'); + $EmpID = ''; + $empId = $this->dahsboard_Model->get_employee(); + foreach($empId as $Employee){ + + $day = array(); + + $DateofJoiningInString = $Employee->DateofJoining; + $DateofJoining = date_create($DateofJoiningInString); + // print_r($DateofJoining); + $doj_month = date_format($DateofJoining, "n"); + $doj_year = date_format($DateofJoining, "Y"); + $doj_day = date_format($DateofJoining, "j"); + + $finStart = $this->getFinancialStartDate(); + $finEnd = $this->getFinancialEndDate(); + + $JoinedMonth = date_format($DateofJoining, "n"); + //print_r($JoinedMonth);echo "1285
"; + // print_r($finStart);print_r($finEnd); + //print $JoinedMonth; + + if ($DateofJoining >= $finStart && $DateofJoining <= $finEnd) + { + $JoinedMonthAttendance = $this->dahsboard_Model->getAllAttendances($EmpID,$JoinedMonth); + $joinedMonthDaysCount = cal_days_in_month(CAL_GREGORIAN, $doj_month, $doj_year); + + if ($CURMONTH == $doj_month && $CURYEAR == $doj_year) + { + $joinedMonthWorkingDayCount = $CURDATE - $doj_day +1 ; + } + else + { + $joinedMonthWorkingDayCount = $joinedMonthDaysCount - $doj_day +1; + } + + $joinedMonthDays = 0; + for ($j = $doj_day; $j <= $joinedMonthDaysCount; $j++) + { + $weekdays[] = 'WH' . $j; + } + foreach ($JoinedMonthAttendance as $day) + { + foreach ($day as $key => $value) + { + foreach ($weekdays as $weeks) + { + if ($weeks == $key) + { + if ($value != 0) + { + // echo $value; + $joinedMonthDays++; + } + } + + } + } + + } + + //echo $joinedMonthDays;die; + + $result = $this->dahsboard_Model->attendanceyear($EmpID, $JoinedMonth + 1); + + //print_r($result); + $yearabs = $this->dahsboard_Model->getAllAttendance($EmpID, $CURMONTH); + $TotalNoofDays = $result[0]->TotalWorkingDays; + $DaysWorked = $result[0]->DaysWorked; + + // echo $TotalNoofDays; + // echo $DaysWorked;die; + $values = 0; + $values = array(); + $weekdays = array(); + $date = date('d'); + + $Work = array_sum($weekdays); + + for ($j = 1; $j <= $date; $j++) + { + $weekdays[] = 'WH' . $j; + } + $totalhours =0; + foreach ($yearabs as $day) + { + foreach ($day as $key => $value) + { + foreach ($weekdays as $weeks) + { + if ($weeks == $key) + { + if ($value != 0) + { + //$values++; + //$totalhours = array_sum($value); + $values[] = $value; + + } + } + + } + } + } + + $DaysWorked = 0; + + $totalhours = array_sum($values); + + $values = $totalhours/8; + //print_r($totalhours); + + if ($CURMONTH == $doj_month && $CURYEAR == $doj_year) + { + $TotalNoofDays = $TotalNoofDays + $joinedMonthWorkingDayCount; + $DaysWorked = $joinedMonthDays; + } + else + { + $TotalNoofDays = $TotalNoofDays + $CURDATE + $joinedMonthWorkingDayCount; + $DaysWorked = $DaysWorked + $joinedMonthDays + $values; + } + + + + + $final_res = round(($DaysWorked / $TotalNoofDays) * 100); + // echo "------"; + //echo $final_res;exit(); + $workeds[] = $DaysWorked; + $yeardata[] = $final_res; + $totaldays[] = $TotalNoofDays; + + + } + + else + { + $EmpID = $Employee->EmpID; + $result = $this->dahsboard_Model->attendanceyear($EmpID, 4); + $yearabs = $this->dahsboard_Model->getAllAttendance($EmpID, $CURMONTH); + $TotalNoofDays = $result[0]->TotalWorkingDays; + $DaysWorked = $result[0]->DaysWorked; + + + $values = 0; + $values = array(); + $weekdays = array(); + $date = date('d'); + + $Work = array_sum($weekdays); + + for ($j = 1; $j <= $date; $j++) + { + $weekdays[] = 'WH' . $j; + } + foreach ($yearabs as $day) + { + foreach ($day as $key => $value) + { + foreach ($weekdays as $weeks) + { + if ($weeks == $key) + { + if ($value != 0) + { + + $values[]=$value; + } + } + + } + } + } + + $totalhours = array_sum($values); + + $values = $totalhours/8; + + $TotalNoofDays = $TotalNoofDays + $CURDATE; + $DaysWorked = $DaysWorked + $values; + $final_res = round(($DaysWorked / $TotalNoofDays) * 100); + // echo "------"; + //echo $final_res;exit(); + $workeds[] = $DaysWorked; + $yeardata[] = $final_res; + $totaldays[] = $TotalNoofDays; + //print_r($data); + + } + } + $data['dayworked'] = $workeds; + $data['yearpercentage'] = $yeardata; + $data['yeardays'] = $totaldays; + //print_r($data['workeds']);echo"
asdasd";die; + // print_r( $data['spurchse']); $this->loadviews("report_emp",$this->global,$data, NULL); } + /***************End *************/ public function cashbook() { diff --git a/application/models/dahsboard_model.php b/application/models/dahsboard_model.php index 6d692bea..4b4f9a04 100755 --- a/application/models/dahsboard_model.php +++ b/application/models/dahsboard_model.php @@ -253,27 +253,36 @@ GROUP BY financial_year"; $query = $this->db->query($sql); return $query->result(); } - +function get_employee(){ + + $yes_date = date('Y-m-d',strtotime("-1 days")); + $sql = "select * from T_Employee_Details where date(created_date) <='".$yes_date."' and isActive =1"; + $query = $this->db->query($sql); + return $query->result(); +} function per($fa,$aa,$m) { - $sql= "SELECT year.Eid as Eid,year.ename as ename,year.active as active,month.days as days,month.Days_Worked as worked,month.percentage as percentage,year.days as yday,year.workd as yworkd,year.percentage as ypercentage + //echo $m; + $cur_month = date('M'); + //echo $cur_month; + if($cur_month == $m ){ + + $cur_date = date('d'); + }else{ + + $cur_date = date('t',strtotime($m)); + } + //echo $cur_date;die; + $sql= "SELECT month.Eid as Eid,month.ename as ename,month.active as active,month.days as monthdays,month.Days_Worked as monthworked,month.percentage as monthpercentage from (select em.EmpID as Eid,concat(em.FirstName,'.',em.LastName) as ename,em.IsActive as active,at.NoofDays as days, -Days_Worked,round((Days_Worked/NoofDays*100)) as percentage from +Days_Worked,round((Days_Worked/".$cur_date."*100)) as percentage from T_Employee_Details em join T_Attendance at on at.EmpID = em.EmpID where (Month_Year >= '".$fa."-04-01' and Month_Year <= '".$aa."-04-01') and monthname(Month_Year) = '".$m."' -) as month left join -(select em.EmpID as Eid,concat(em.FirstName,'.',em.LastName) as ename,em.IsActive as active,sum(at.NoofDays) as days, -sum(Days_Worked) workd,round((sum(Days_Worked)/sum(NoofDays)*100)) as percentage from -T_Employee_Details em -join T_Attendance at on at.EmpID = em.EmpID -where (Month_Year >= '".$fa."-04-01' and Month_Year <= '".$aa."-04-01') -group by Eid -) as year on year.Eid = month.Eid and year.ename = month.ename -group by Eid "; +) as month"; $query = $this->db->query($sql); - return $query->result(); + return $query->result(); } diff --git a/application/views/dashboard.php b/application/views/dashboard.php index 99ada18d..7c31d7f6 100755 --- a/application/views/dashboard.php +++ b/application/views/dashboard.php @@ -264,7 +264,7 @@ if(!empty($EmpCount)) - + Click here to Employee Performance Report diff --git a/application/views/report_emp.php b/application/views/report_emp.php index 4ce73e4d..8a223f8c 100755 --- a/application/views/report_emp.php +++ b/application/views/report_emp.php @@ -74,7 +74,8 @@
- +
- - - - + @@ -110,6 +109,9 @@ + + +
@@ -158,8 +160,10 @@ $tr4=0; $last = $this->uri->total_segments(); $ab=$this->uri->segment($last); - foreach($per as $rel) + foreach($per as $index =>$rel) { + //echo $index; + //echo ?> @@ -174,13 +178,14 @@ echo 'In Active'; } ?> + days;?> - worked;?> - percentage;?> - yday;?> - yworkd;?> - ypercentage;?> + echo $cur_month;?> + monthworked;?> + monthpercentage;?> + + +