performance report issues fixed

This commit is contained in:
sriramv 2018-05-25 18:32:04 +05:30
parent 26d9df5894
commit 0d39ee5faf
4 changed files with 302 additions and 28 deletions

View File

@ -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<br/>";
// 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"<br/>asdasd";die;
// print_r( $data['spurchse']);
$this->loadviews("report_emp",$this->global,$data, NULL);
}
/***************End *************/
public function cashbook()
{

View File

@ -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();
}

View File

@ -264,7 +264,7 @@ if(!empty($EmpCount))
<!-- <input type="text" id="datepic" name="datepic" placeholder="Select Date" style="color:#000;width:15%" /> -->
<!-- <input type="button" id="but" value="ok" style="color:blue; width:15%" /> -->
<a href="<?php echo base_url()?>Empperform" target="_blank">Click here to Employee Performance Report</a>
</div>

View File

@ -74,7 +74,8 @@
<?php echo 'Year'; ?>
</label>
<div class="input-group">
<select class="form-control" id="financialyear" name="financialyear">
<select class="form-control" id="financialyear" name="financialyear" required>
<option value="">Select Year</option>
<?php
@ -96,11 +97,9 @@
<?php echo 'Month'; ?>
</label>
<div class="input-group">
<select class="form-control" id="month" name="month">
<select class="form-control" id="month" name="month" required>
<option value="">Select Month</option>
<option value="January">January</option>
<option value="February">February</option>
<option value="March">March</option>
<option value="April">April</option>
<option value="May">May</option>
<option value="June">June</option>
@ -110,6 +109,9 @@
<option value="October">October</option>
<option value="November">November</option>
<option value="December">December</option>
<option value="January">January</option>
<option value="February">February</option>
<option value="March">March</option>
</select>
</div>
@ -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
?>
<tr>
<td><span>
@ -174,13 +178,14 @@
echo 'In Active';
}
?></span></td>
<td style="text-align:right"><span><?php
echo $rel->days;?></span></td>
<td style="text-align:right"><span><?php echo $rel->worked;?></span></td>
<td style="text-align:right"><span><?php echo $rel->percentage;?></span></td>
<td style="text-align:right"><span><?php echo $rel->yday;?></span></td>
<td style="text-align:right"><span><?php echo $rel->yworkd;?></span></td>
<td style="text-align:right"><span><?php echo $rel->ypercentage;?></span></td>
echo $cur_month;?></span></td>
<td style="text-align:right"><span><?php echo $rel->monthworked;?></span></td>
<td style="text-align:right"><span><?php echo $rel->monthpercentage;?></span></td>
<td style="text-align:right"><span><?php echo $yeardays[$index];?></span></td>
<td style="text-align:right"><span><?php echo $dayworked[$index];?></span></td>
<td style="text-align:right"><span><?php echo $yearpercentage[$index];?></span></td>
</tr>
<?php
}