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 @@