4079cd55 by Yashwant

Login report changes

1 parent bb0764be
......@@ -76,7 +76,7 @@ kstychAppObject['config']['colorInverse']='{!!$skinarr[8]!!}';
<script src="{!!url('/')!!}/assets/components/modules/admin/chat/chatboxmanager.js"></script>
<script src="{!!url('/')!!}/assets/js/highchart/highcharts.js"></script>
<script>
var envCallback = "{{ env(app_domain) }}";
var envCallback = "{{ env('app_domain') }}";
</script>
<script src="{!!url('/')!!}/jsbody?v={!!$v!!}"></script>
......
......@@ -15,11 +15,15 @@ $logtime =(isset($_GET['logtime'])) ? $_GET['logtime'] :9;
$logtimeto =(isset($_GET['logtimeto']))? $_GET['logtimeto']:20;
$logdate =(isset($_GET['logdate'])) ? strtotime($_GET['logdate']." ".$logtime.":00:00")
: strtotime(date("Y-m-d")." 09:00:00");
: strtotime(date("Y-m-d")." 09:00:00");
$logdateto =(isset($_GET['logdateto']))? strtotime($_GET['logdateto']." ".$logtimeto.":00:00")
: strtotime(date("Y-m-d")." 20:00:00");
: strtotime(date("Y-m-d")." 20:00:00");
$campaign =(isset($_GET['campaign'])) ? $_GET['campaign'] : "All";
// testing input
// $logtime = 9;$logtimeto = 20;$logdate = strtotime("2017-10-03 ".$logtime.":00:00");$logdateto = strtotime("2017-10-03 ".$logtimeto.":00:00");$campaign = 'All';
// testing input
$alist=CRMCallArchive::where('user_id','!=',0)->where('created_at','>=',date("Y-m-d H:i:s",$logdate+$timeoffset))->where('created_at','<=',date("Y-m-d H:i:s",$logdateto+$timeoffset));
$alist->orderBy('user_id', 'ASC')->orderBy('ts_Close', 'ASC');
......@@ -29,8 +33,8 @@ if($campaign != 'All') $alist->where('client','=',$campaign);
$userarr=array();
$allusers = DB::table('users as u1')->leftjoin('users AS u2', 'u2.username', '=', 'u1.supervisor')
->select('u1.id','u1.username','u1.fullname AS telecaller', 'u2.fullname AS sepervisor')
->where('u1.status','=','Active');
->select('u1.id','u1.username','u1.fullname AS telecaller', 'u2.fullname AS sepervisor')
->where('u1.status','=','Active');
$roclientstr=array();$didlinesstr=array();
if($dashboarduser->exten!="")$didlinesstr[]=$dashboarduser->exten;
......@@ -45,7 +49,7 @@ if(!empty($oclientlst))foreach($oclientlst as $tclnt)if($tclnt!="")
}
$breaks=array("Paused","AgentBriefing","TeamMeeting","QualityFeedback","LunchBreak","TeaBreak","UtilityBreak","FloorAnnouncements","DownTime");
$reporthead=array_merge(array("#","Telecaller","TelecallerID","Supervisor","Signin","Signout","Count","Duration","Total","Wait","Call","Talk","Dispo","P-Call","P-Talk","P-Dispo","M-Call","M-Talk","M-Dispo","I-Call","I-Talk","I-Dispo"),$breaks);
$reporthead=array_merge(array("#","Telecaller","TelecallerID","Supervisor","Sessions","CallCount","Duration","Total","Wait","Call","Talk","Dispo","P-Call","P-Talk","P-Dispo","M-Call","M-Talk","M-Dispo","I-Call","I-Talk","I-Dispo"),$breaks);
$reportarray=array();
$i=1;
......@@ -81,10 +85,14 @@ if($dashboarduser->usertype != 'Admin')
}
}
// echo "<pre>"; print_r($allusers);exit;
$alist=$alist->get();
$userlog=$userlog->get();
$prev_close = 0;
// echo count($userlog);exit;
foreach($alist as $aline)
{
if($prev_user != $aline->user_id || $prev_close <= $aline->ts_Wait)
......@@ -121,7 +129,7 @@ foreach($alist as $aline)
$reportarray[$userid]["I-Dispo"]+=$aline->dispoSec/1000;
}
}
$reportarray[$userid]["Count"]++;
$reportarray[$userid]["CallCount"]++;
$prev_close = $aline->ts_Close;//-ts_Wait
$prev_user = $aline->user_id;//-ts_Wait
}
......@@ -175,38 +183,56 @@ if(count($userLogin)) foreach ($userLogin as $userid => $value)
foreach ($breaks as $break) {
$break_time+=$reportarray[$userid][$break];
}
$reportarray[$userid]["Signin"]=date("Y-m-d H:i:s", min($value['start'])-$timeoffset);
$reportarray[$userid]["Signout"]=date("Y-m-d H:i:s", max($value['end'])-$timeoffset);
// print_r($value);
$sessionsStr = "";
for($i = 0; $i < count($value['start']); $i++){
if($sessionsStr == ""){
$sessionsStr .= date("Y-m-d H:i:s", $value['start'][$i]-$timeoffset)." - ".date("Y-m-d H:i:s", $value['end'][$i]-$timeoffset);
}else{
$sessionsStr .= ",\n".date("Y-m-d H:i:s", $value['start'][$i]-$timeoffset)." - ".date("Y-m-d H:i:s", $value['end'][$i]-$timeoffset);
}
}
// echo $sessionsStr."<br>-----------<br>";
$reportarray[$userid]["Sessions"]=$sessionsStr;
// $reportarray[$userid]["Signin"]=date("Y-m-d H:i:s", min($value['start'])-$timeoffset);
// $reportarray[$userid]["Signout"]=date("Y-m-d H:i:s", max($value['end'])-$timeoffset);
$reportarray[$userid]["Duration"]=$value['duration'];
$reportarray[$userid]["Total"]=$value['duration']-$break_time;
$reportarray[$userid]["Wait"]=$reportarray[$userid]["Total"]-$reportarray[$userid]['oncall'];
}
// echo "<pre>"; print_r($userLogin);
// exit;
$highestColumn = sizeof($reporthead);
if(count($reportarray)) {
$outhead="<tr>";$outstr="";
for ($head = 0; $head < $highestColumn; $head++){
if($reporthead[$head] == '#') {
$mode_str = "<a onclick='displayMode(".'"summation"'.");return false;' href='#'><i class='fa fa-plus-square-o'></i></a> / <a onclick='displayMode(".'"percent"'.");return false;' href='#'>%</a>";
$outhead.="<td>".$mode_str."</td>";
}
else {
if($reporthead[$head] == "Sessions"){
$outhead.="<td style='width:270px;display:block;'>".$reporthead[$head]."</td>";
}else{
$outhead.="<td>".$reporthead[$head]."</td>";
}
}
$outhead.="</tr>";
$utotalarr = array("Telecaller"=>'Total');
$reportRowNo = 1;
foreach($reportarray as $uid=>$uarr)
{
if(array_key_exists('Signin',$uarr))
if(array_key_exists('Duration',$uarr) && array_key_exists('TelecallerID',$uarr))
{
$outstr.="<tr>";
for ($head = 0; $head < $highestColumn; $head++){
if($head < 6) {
if($head < 1){
$data_str = $reportRowNo; $reportRowNo++;
}elseif($head < 5) {
// if($head < 6) {
$data_str = $uarr[$reporthead[$head]];
}
elseif($head < 7) {
elseif($head < 6) {
$data_str = $uarr[$reporthead[$head]];
$utotalarr[$reporthead[$head]] += $uarr[$reporthead[$head]];
}
......@@ -222,7 +248,7 @@ if(count($reportarray)) {
$outstr.="<tr>";
for ($head = 0; $head < $highestColumn; $head++)
{
if($head < 7) {
if($head < 6) {
$data_str = $utotalarr[$reporthead[$head]];
}
else {
......@@ -231,8 +257,7 @@ if(count($reportarray)) {
$outstr.="<td>".$data_str."</td>";
}
$outstr.="</tr>";
}
else {
} else {
$outhead.="<tr><td>No Records Found.</td></tr>";
}
......@@ -258,7 +283,7 @@ if(Input::has("dllogxls"))
$col = 0;
for ($head = 0; $head < $highestColumn; $head++){
$excelval = ($head < 7) ? $uarr[$reporthead[$head]] : secToDuration(round($uarr[$reporthead[$head]]));
$excelval = ($head < 6) ? $uarr[$reporthead[$head]] : secToDuration(round($uarr[$reporthead[$head]]));
$colstr=PHPExcel_Cell::stringFromColumnIndex($head);
$objPHPExcel->getActiveSheet()->setCellValue($colstr.$row, $excelval);
}
......@@ -266,7 +291,7 @@ if(Input::has("dllogxls"))
$row++;
for ($head = 0; $head < $highestColumn; $head++){
$excelval = ($head < 7) ? $utotalarr[$reporthead[$head]] : secToDuration(round($utotalarr[$reporthead[$head]]));
$excelval = ($head < 6) ? $utotalarr[$reporthead[$head]] : secToDuration(round($utotalarr[$reporthead[$head]]));
$colstr=PHPExcel_Cell::stringFromColumnIndex($head);
$objPHPExcel->getActiveSheet()->setCellValue($colstr.$row, $excelval);
}
......@@ -286,7 +311,7 @@ function secToDuration($sec) {
}
?>
<style>#logtable.td{vertical-align:top;padding:20px;}#logtable.tr{height:28px;overflow-y:hidden;}
<style>#logtable.td{vertical-align:top;padding:20px;}#logtable.tr{height:28px;overflow-y:hidden;}
/*#logtable.table thead tr{
display:block;
}
......@@ -295,17 +320,17 @@ function secToDuration($sec) {
display:block;
height:500px;
overflow:auto;//set tbody to auto
}*/
}*/
</style>
<div class=innerAll>
<h4 style="float:left;width:50%;margin:10px 0;">Agent Time Report</h4>
<div style="float:right;width:50%">
<h4 style="float:left;width:50%;margin:10px 0;">Login Report <small>(Agent Time Report)</small></h4>
<div style="float:right;width:50%">
<button class="pull-right btn btn-sm btn-default" onclick='dlAgentlogXls();return false;' title='Download'><i class='fa fa-download'></i> Download</button>
</div>
<div style="clear:both"></div>
<hr style="margin-bottom: 5px;">
<div>
</div>
<div style="clear:both"></div>
<hr style="margin-bottom: 5px;">
<div>
Search <input id=filter name="filter" type="text" style="border:1px solid #efefef; padding: 2px 10px;">&nbsp;&nbsp;
Date: From <input size=10 id='modfrom' name='modfrom' type='text' value='<?php echo date("Y-m-d",$logdate); ?>' onchange='statusLogReloadFun("");' />
<select id="modtime" style="border:1px solid #efefef;" onchange='statusLogReloadFun("");'>
......@@ -314,7 +339,8 @@ function secToDuration($sec) {
$selected = ($hour == $logtime) ? "selected" : "";
echo "<option value='$hour' $selected>".str_pad($hour, 2, "0", STR_PAD_LEFT) . ":00</option>";
}
?></select>
?>
</select>
To <input size=10 id='modto' name='modto' type='text' value='<?php echo date("Y-m-d",$logdateto); ?>' onchange='statusLogReloadFun("");' />
<select id="modtimeto" style="border:1px solid #efefef;" onchange='statusLogReloadFun("");'>
<?php
......@@ -327,19 +353,19 @@ function secToDuration($sec) {
<select id="campaign" style="border:1px solid #efefef;" onchange='statusLogReloadFun("");'>
<?php foreach($oclientlst as $c){$s="";if($c==$campaign)$s='selected';echo "<option value='$c' $s>$c</option>";} ?>
</select>
</div>
</div>
<div style="clear:both"></div>
<hr style="margin:5px;">
<div style="clear:both"></div>
<hr style="margin:5px;">
<div style="overflow: auto; margin-top: 10px;">
<div style="overflow: auto; margin-top: 10px;">
<table id=logtable class='footable table table-striped table-bordered table-white table-primary footable-loaded' style='font-size:12px; margin:0; border:1px solid #BBB;'>
<thead><?php echo $outhead; ?></thead>
<?php echo $outstr; ?>
<tbody id="logTableData"><?php echo $outstr; ?></tbody>
</table>
</div>
</div>
<div id=dialoglog></div>
<div id=dialoglog></div>
</div>
<script>
......@@ -359,8 +385,7 @@ $(document).ready(function() {
}
});
}
waitKeyUpRun("filter",function() { filter2(document.getElementById('filter'), 'logtable') },"2000");
waitKeyUpRun("filter",function() { filter2(document.getElementById('filter'), 'logTableData') },"2000");
$('#modfrom').datepicker({dateFormat: 'yy-mm-dd',inline: true,changeYear: true,selectOtherMonths: true,yearRange: '<?php echo (date('Y')-70).":".(date('Y')+5); ?>'});
$('#modto').datepicker({dateFormat: 'yy-mm-dd',inline: true,changeYear: true,selectOtherMonths: true,yearRange: '<?php echo (date('Y')-70).":".(date('Y')+5); ?>'});
});
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!