9c31f85c by Manish Mihsra

Removed unwanted code from dialer controller, changed patching logic and applied…

… changes in call log report
1 parent 8531fe49
......@@ -66,6 +66,8 @@ class CreateCall extends Command {
$availChannel = $cntAndStrArr['cnt'];
$availDialStr = $cntAndStrArr['dialstr'];
//$availDialStr = "SIP/GATEWAY1/";
if(count($usrArrs)){
//Log::useFiles(storage_path()."/logs/predictive_".date("Y_m_d").".log");
......@@ -302,12 +304,14 @@ class CreateCall extends Command {
if(sizeof($users)>=1)
{
DB::table('records_'.$client)->where('id',$users[0]['id'])->update(['filter_condition'=>'2','modified'=>date("Y-m-d H:i:s")]);
$record=$wakka->getPerson($users[0]['id'],$client);
if($record)
{
$record["peopledata"]["status"]="AutoCall";
$wakka->setPerson($users[0]['id'],$record,$client);
DB::table('records_'.$client)->where('id',$users[0]['id'])->update(['filter_condition'=>'2','modified'=>date("Y-m-d H:i:s")]);
// DB::table('records_'.$client)->where('id',$users[0]['id'])->update(['filter_condition'=>'2','modified'=>date("Y-m-d H:i:s")]);
}
$dialline->user_id=$user_id;
......
......@@ -158,10 +158,10 @@ class DialerController extends Controller {
}
//$client=$this->campaignlist($client);
if(!empty($kstychCall["previewcrmid"])){
$users=$wakka->getPersons("id='".$kstychCall["previewcrmid"]."' limit 1",$client);}
$users=$wakka->getPersons("id='".$kstychCall["previewcrmid"]."' limit 1",$client);}
else{
$users=$this->getCallSequencing(1);
}
$users=$this->getCallSequencing(1);
}
//$wakka->setPersonKey($users[0]['id'],"status","Incall");
if($users[0]['id']>0){
if($client!=''){
......@@ -453,8 +453,8 @@ $users=$this->getCallSequencing(1);
}
}
if($action=="addconfcall")
{
if($action=="addconfcall")
{
$retstr="";
$callnumber=Input::get("confnumber");
$callerid="";
......@@ -532,10 +532,10 @@ if($action=="addconfcall")
}
return Response::make($retstr);
}
}
if($action=="transfercall")
{
if($action=="transfercall")
{
$retstr="";
$callnumber=Input::get("confnumber");
$callerid="";
......@@ -613,11 +613,11 @@ if($action=="transfercall")
}
return Response::make($retstr);
}
}
if($action=="hangupall")
{
if($action=="hangupall")
{
$res=0;
$aUser = Auth::user();
If($aUser->current_dialmode == "Predictive"){
......@@ -703,10 +703,10 @@ if($action=="hangupall")
}
}
else return Response::make("//Error : Call Not Found ($callid)");
}
}
if($action=="closecall")
{
if($action=="closecall")
{
//echo "Manoj";
$callid=intval($kstychCall['callid'])+0;
$crmcall=CRMCall::find($callid);
......@@ -1434,18 +1434,6 @@ public function show($id)
$setClient = '';
$count = 0;
/*$calllog = DB::table('records')
->join('crmcalls', 'records.dialer_callback', '=', 'crmcalls.usercallback')
->select('records.firstname', 'records.cust_id', 'records.mobile', 'records.dialer_callback', 'records.status','records.dialer_lastcall','records.id','records.dialer_status','records.client')
->where("crmcalls.user_id",$user)
//->where("records.dialer_substatus","Follow Up")
->where("records.dialer_callback", "!=","0000-00-00 00:00:00")
//->where("crmcalls.usercallback", "!=","0000-00-00 00:00:00")
//->where("crmcalls.created_at", ">",date("Y-m-d 08:00:00"))
//->where("crmcalls_archive.usercallback", "=","records.dialer_callback")
//->where("records.dialer_lastcall", "<=","crmcalls_archive.usercallback")
->get();*/
$calllog = DB::table('records')
//->join('crmcalls', 'records.dialer_callback', '=', 'crmcalls.usercallback')
->select('customer_name', 'cust_id', 'mobile', 'dialer_callback', 'status','dialer_lastcall','id','dialer_status','client')
......@@ -1457,9 +1445,8 @@ public function show($id)
$userIds= [];
foreach ($supervisorUsers as $key => $value) $userIds[] = "'".$value['id']."'";
$supervisorUsers = implode(",",$userIds);
//print_r($supervisorUsers);
//$supervisorUsers = implode(",",$supervisorUsers);
print_r($supervisorUsers);
print_r($supervisorUsers);
if(!empty($supervisorUsers)){
if($selection == 'all'){
......@@ -1468,11 +1455,7 @@ print_r($supervisorUsers);
}else{
$setClient = $client;
$calllog = $calllog = DB::select("select records.customer_name, records.cust_id, records.mobile, records.dialer_callback, records.status,records.dialer_lastcall,records.id,records.dialer_status,records.client from records where usr_id in (".$supervisorUsers.") and records.dialer_callback !='0000-00-00 00:00:00' and client = '$client'");
//$calllog = $calllog->where('client', '=', $client);
}
//print_r($supervisorUsers);
//$calllog = $calllog = DB::select("select records.customer_name, records.cust_id, records.mobile, records.dialer_callback, records.status,records.dialer_lastcall,records.id,records.dialer_status,records.client from records where usr_id in (".$supervisorUsers.") and records.dialer_callback !='0000-00-00 00:00:00'");
//$calllog = $calllog->whereIn("usr_id",[$supervisorUsers]) ->get();
echo $count = count($calllog);
}
......@@ -1509,15 +1492,15 @@ print_r($supervisorUsers);
->select('customer_name', 'cust_id', 'mobile', 'dialer_appointment', 'status','dialer_lastcall','id','dialer_status','client')
->where("dialer_appointment", "!=","0000-00-00 00:00:00")
->where('dialer_appointment','>',date('Y-m-d H:i:s',time()-(7*24*60*60)));
//print_r($totalAppointmentCount);
if($role == 'Supervisor'){
$userName = Auth::user()->username;
$supervisorUsers=$wakka->LoadAll("select id from users where supervisor='$userName';");
$userIds = [];
//print_r($supervisorUsers);
foreach ($supervisorUsers as $key => $value) $userIds[] = "'".$value['id']."'";
$supervisorUsers = implode(",",$userIds);
//echo $supervisorUsers;
if(!empty($supervisorUsers)){
if($selection == 'all'){
......@@ -1718,7 +1701,6 @@ print_r($supervisorUsers);
$mobile.= $dbrow['mobile']."-".$dbrow['client']."-".$dbrow['modified'].",";
}
return "<script>alert('Missed call is pending for :-----".$mobile." !')</script>";
//echo "<pre>".print_r($dbres)."</pre>";
}
else
{
......@@ -1751,7 +1733,6 @@ print_r($supervisorUsers);
public function getCallSequencing($limit,$client=null)
{
//Log::info("Inside getCall");
$wakka = new KHRMSLib();
$roclientstr=array();$didlinesstr=array();
......@@ -1777,11 +1758,9 @@ print_r($supervisorUsers);
}else{
$roclientstr="client='$client'";
}
//$client=$this->campaignlist($client);
if($client!='')$records='records_'.$client;else $records='records';
DB::table($records)->where('filter_condition','=','2')->where('modified','<',date('Y-m-d H:i:s',time()-(2*60)))->update(['filter_condition'=>'1']);
//if($client!=''){
$tusers=$wakka->getPersonshome("filter_condition IN('0','1','4') and $roclientstr and dialer_callback <'".date('Y-m-d H:i:s',time()+(15*60))."' and usr_id='".Auth::user()->id."' and dialer_substatus='Follow Up' limit 1;",$client);
if(count($tusers)>0){
if($limit>0){
......@@ -1799,9 +1778,7 @@ print_r($supervisorUsers);
$limit=$limit-sizeof($tusers);
}
}
//Log::info("clients-->".$roclientstr);
$campaign=DB::table("campaign_query")->where('campaign', '=', $client)->where('current_queue','=','selected')->first();
//Log::info($campaign);
if($campaign)
{
if(stripos($campaign->where_cond,"order by")===false){
......@@ -1810,14 +1787,11 @@ print_r($supervisorUsers);
$orderby ="";
}
$tusers=$wakka->getPersonshome("filter_condition IN ('1','0') and dialer_callback ='0000-00-00 00:00:00' and $campaign->where_cond $orderby limit 1;",$client);
//print_r($tusers);
if(count($tusers)>0){
if($limit>0){
$l=1;
foreach($tusers as $tuser){
//Log::info($tuser);
if(!isset($users[$tuser['id']])){
//Log::info("2-".$users[$tuser['id']]);
$users[$tuser['id']]=$tuser;
$l++;
......@@ -1866,226 +1840,10 @@ print_r($supervisorUsers);
$limit=$limit-sizeof($tusers);
}
//print_r($clientDetails);
//print_r($clientDetails);
/*if($limit>0)
{
$tusers = array_filter($clientDetails, function($var){
return ($var['dialer_status']=='InboundDROP' && $var['dialer_lastcall']>'2018-09-11 00:00:00' && $var['dialer_lastcall']>date('Y-m-d H:i:s',time()-(7*24*60*60)));
});
$l=1;
foreach($tusers as $tuser){
if(!isset($users[$tuser['id']])){
$users[$tuser['id']]=$tuser;
$l++;
if($l>$limit)
break;
}
}
$limit=$limit-sizeof($tusers);
}*/
/*if($limit>0)
{
if(!empty($didlinesstr))
{
$udidlinesstr = array();
foreach($didlinesstr as $didlinestr){
$didlinestrArr=explode(":",$didlinestr);
$udidlinesstr[] = substr($didlinestrArr[0], env('didnumber'));
}
$tusers=array();
$mc=CRMCall::where('userstatus','=','InboundDROP')->where('created_at','>','2018-09-11 00:00:00')->where('created_at','>',date('Y-m-d H:i:s',time()-(7*24*60*60)));
$mc=$mc->where(function ($query) use($mroclientstr,$udidlinesstr){
$query->orWhereIn('client',$mroclientstr)->orWhereIn('did',$udidlinesstr);
});
$mc=$mc->get();
$number_list=array();
foreach($mc as $key=>$tcall){
$tccal=substr($tcall->number,-10);
$mc_number=CRMCall::where('userstatus','!=','InboundDROP')
->where('created_at','>',$tcall->created_at)
->where('number','like',"%".$tccal."%")
->orderBy("id","DESC")
->first();
$mccount= count($mc_number);
if($mccount==0){
$number_list[] = $tcall->number;
}
}
$othermissedcalls=DB::select("SELECT * FROM crmcalls where id in (SELECT max(id) FROM crmcalls WHERE number IN
('" . implode("','", $number_list). "') GROUP BY number )");
// $othermissedcalls=CRMCall::where('crm_id','=','0')->where('userstatus','=','InboundDROP')->where('did','like','%'.$didlinesstr.'%')->where('created_at','>',date('Y-m-d H:i:s',time()-(7*24*60*60)))->take($limit)->groupBy('number')->get();
/* Changes For Missed Call - 14/02/17 */
/*foreach($othermissedcalls as $othermissedcall)
{
$crmnumber = substr($othermissedcall->number, -10);
$tcall=array_filter($clientDetails, function($var) use ($crmnumber){
return ($var['mobile']==$crmnumber);
});
if($tcall)
{
$tcall = array_values($tcall);
$tcall = $tcall[0];
if(isset($tcall['id']) || $tcall['dialer_status']=="InboundDROP")
{
$tusers[$othermissedcall->id]=array('id'=>$tcall['id'],'mobile'=>$othermissedcall->number,'client'=>$tcall['client'],'clientcode'=>$tcall['clientcode'],'clientinternalid'=>$tcall['clientinternalid'], 'firstname'=>$tcall['firstname'],'callid'=>$othermissedcall->id);
}
}
}
/* Changes For Missed Call - 14/02/17 */
/*foreach($tusers as $tuser)if(!isset($users[$tuser['id']]))$users[$tuser['id']]=$tuser;
$limit=$limit-sizeof($tusers);
}
}*/
/*if($limit>0)
{
$tusers = array_filter($clientDetails, function($var){
return ($var['dialer_callback']>'2018-09-11 00:00:00'&&strtotime($var['dialer_callback'])<strtotime(date('Y-m-d H:i:s',time()+(15*60)))&&($var['dialer_status']=='Contacted - FollowUp - Specific' || $var['dialer_substatus']=='Followup Call' || $var['dialer_status']=='Service Call - Inbound Follow up' || $var['dialer_status'])=='Productive Call - Sales Follow Up');
});
// echo "1";
$l=1;
foreach($tusers as $tuser){
if(!isset($users[$tuser['id']])){
$users[$tuser['id']]=$tuser;
$l++;
if($l>$limit)
break;
}
}
$limit=$limit-sizeof($tusers);
}*/
/*for($p=15;$p>0;$p--)
{
// echo "2";
if($limit>0)
{
$tusers = array_filter($clientDetails, function($var) use ($p){
return (($var['priority']==$p)&&$var['mobile']!='');
}, ARRAY_FILTER_USE_BOTH);
if(!empty($tusers))
{
$l=1;
foreach($tusers as $tuser){
if(!isset($users[$tuser['id']])){
$users[$tuser['id']]=$tuser;
$l++;
if($l>$limit)
break;
}
}
$limit=$limit-sizeof($tusers);
}
}
}*/
/*if($limit>0)
{
$tusers = array_filter($clientDetails, function($var){
return ($var['status']=='New'&&$var['mobile']!='');
});
// echo "3";
$l=1;
foreach($tusers as $tuser){
if(!isset($users[$tuser['id']])){
$users[$tuser['id']]=$tuser;
$l++;
if($l>$limit)
break;
}
}
$limit=$limit-sizeof($tusers);
}*/
/*if($limit>0)
{
$tusers = array_filter($clientDetails, function($var){
//return ($var['status']=='Called'&&($var['dialer_substatus']=='NC - Customer in Meeting' || $var['dialer_substatus']=='NC - Ringing / No response' || $var['dialer_substatus']=='NC - Not Reachable' || $var['dialer_substatus']=='NC - Switched off' || $var['dialer_substatus']=='NC - Third Party' || $var['dialer_status'=='Not Contacted']));
return ($var['status']=='Called'&&$var['dialer_status']=='Not Contacted');
});
// echo "4";
$l=1;
foreach($tusers as $tuser){
if(!isset($users[$tuser['id']])){
$users[$tuser['id']]=$tuser;
$l++;
if($l>$limit)
break;
}
}
$limit=$limit-sizeof($tusers);
}*/
/*if($limit>0)
{
$tusers = array_filter($clientDetails, function($var){
return ($var['status']=='Called'&&$var['dialer_status']=='Contacted - Follow-Up - Generic');
});
$l=1;
foreach($tusers as $tuser){
if(!isset($users[$tuser['id']])){
$users[$tuser['id']]=$tuser;
$l++;
if($l>$limit)
break;
}
}
$limit=$limit-sizeof($tusers);
}*/
/*if($limit>0)
{
// echo "5";
$tusers = array_filter($clientDetails, function($var){
return ($var['status']=='Called'&&$var['dialer_status']=='AUTOWRAPUP');
});
$l=1;
foreach($tusers as $tuser){
if(!isset($users[$tuser['id']])){
$users[$tuser['id']]=$tuser;
$l++;
if($l>$limit)
break;
}
}
$limit=$limit-sizeof($tusers);
}*/
}
$tusers=array();foreach($users as $tuser)$tusers[]=$tuser;
// }
$tusers=array();if(!empty($users))foreach($users as $tuser)$tusers[]=$tuser;
return $tusers;
}
......
......@@ -267,7 +267,7 @@ class KPAMIListen implements IEventListener
$callerid=$event->getKey("CallerIDName");
//echo "$accountcode:NewextenEvent : $context:$eventname $channelstate:$channelstatedesc $uniqueid $phonenumber $exten:$priority $channel\n";
if($context=="kstychDialerINB"&&$exten!="s"&&$priority=="1")
if($context=="kstychDialerINB"&&$exten!="s"&&$priority=="1"&&$phonenumber!='<unknown>')
{
if(strtolower(substr($channel,0,4))=="sip/")
{
......@@ -314,7 +314,7 @@ class KPAMIListen implements IEventListener
$crmcall->data=json_encode($tdata);
$crmcall->save();
$userStatus=User::where("updated_at",">",date("Y-m-d"))->where("exten","like","%".substr($exten,-4)."%")->where("usertype","!=","Admin")->where('presence', '=', '1')->select('*')->get();
/*$userStatus=User::where("updated_at",">",date("Y-m-d"))->where("exten","like","%".substr($exten,-4)."%")->where("usertype","!=","Admin")->where('presence', '=', '1')->select('*')->get();
if($userStatus=="[]")
{
......@@ -330,8 +330,7 @@ class KPAMIListen implements IEventListener
$newqueue=new Kqueue();
$newqueue->playbusyfile($dialline->channel,$dialline->server);
}
}*/
}
}
}
......@@ -432,6 +431,11 @@ class KPAMIListen implements IEventListener
$cause=$event->getKey("Cause");
$causetxt=$event->getKey("Cause-txt");
//Log::info("<<<<<<<<<<<<<<<<<<=====Start");
//Log::info("eventname");
//Log::info("eventname=====".$eventname);
//Log::info("exten=====".$exten);
//Log::info("context=====".$context);
if($accountcode!="")
{
......@@ -465,7 +469,7 @@ class KPAMIListen implements IEventListener
$dialline=Dialline::find($crmcall->dialline_id);
if($dialline)
if($dialline && $dialline->status != "Auto" && $dialline->status != "AutoCall")
{
$dialline->user_id=0;
$dialline->status="Free";
......@@ -564,7 +568,8 @@ class KPAMIListen implements IEventListener
}
$dialline=Dialline::find($crmcall->dialline_id);
if($dialline && ($dialline->channel==$channel || $dialline->status== "AutoCall"))
if($dialline && ($dialline->channel==$channel || $dialline->status== "AutoCall") )
{
$dialline->status="Free";
$dialline->conf="";
......@@ -1149,7 +1154,7 @@ class KPAMIListen implements IEventListener
$dialline->save();
}
$crmcall->addEventLog($nowts,"$accountcode:Unknown : $eventname $dchannelstate:$dchannelstatedesc $duniqueid $dexten:$dpriority $dchannel $dialstatus");
$crmcall->addEventLog($nowts,"$accountcode:$accountcodearr[1] : $eventname $dchannelstate:$dchannelstatedesc $duniqueid $dexten:$dpriority $dchannel $dialstatus");
$crmcall->type="Auto";
$crmcall->save();
......@@ -1425,7 +1430,7 @@ class KPAMIListen implements IEventListener
{
$lastUpdatedTime = strtotime(date("Y-m-d H:i:s")) - strtotime($dialline->updated_at);
if($lastUpdatedTime < 3) continue;
if($lastUpdatedTime < 8) continue;
exec("/usr/sbin/asterisk -rx 'core show channels'",$allChnnlsArr);
$cnt = 0;
......@@ -1702,6 +1707,7 @@ class KPAMIListen implements IEventListener
private function sendAMICommands()
{
$queues=Kqueue::where("type","=","SIP_".$this->sipip)->where("status","=","New")->take(5)->get();
if(!$queues->isEmpty())foreach($queues as $i=>$tqueue)
{
$data=json_decode($tqueue->data,true);
......@@ -1731,9 +1737,11 @@ class KPAMIListen implements IEventListener
}
else if($tqueue->key=="hangupchannel")
{
if(isset($data["channel"])){
$hangup = new HangupAction($data['channel']);
$res=$this->_client->send($hangup);
}
}
else if($tqueue->key=="recordchannel")
{
$mixmonitor=new MixMonitorAction($data['channel']);
......
......@@ -376,9 +376,15 @@ foreach($alist as $aline)
$username="";if(isset($userarr[$aline->user_id]))$username=$userarr[$aline->user_id]->username;
$recstr='';
if($dashboarduser->moduleACL("Dialer",false,false,true))
$finalTalkTime = round($talktime/1000,2);
if($dashboarduser->moduleACL("Dialer",false,false,true) && $finalTalkTime>=1)
{
if(isset($tpostdata['recFolder']))$recstr="<a href=# onclick='getCallRec(".$aline->id.");return false;' title='Size : ".round($aline->recsize/1024,0)." KB'><i class='fa fa-play-circle'></i> &nbsp;</a> <a href='dialer/playrecfile?calllog=$aline->id&out=wav' title=''><i class='fa fa-download'></i> &nbsp;</a><span id='recspan_".$aline->id."'</span>";
$recordingSize = round($aline->recsize/1024,0);
if(isset($tpostdata['recFolder']) && $recordingSize>0) {
$recstr="<a href=# onclick='getCallRec(".$aline->id.");return false;' title='Size : ".$recordingSize." KB'><i class='fa fa-play-circle'></i> &nbsp;</a> <a href='dialer/playrecfile?calllog=$aline->id&out=wav' title=''><i class='fa fa-download'></i> &nbsp;</a><span id='recspan_".$aline->id."'</span>";
}
}
$outstr.="<tr><td>".$i."</td>
......@@ -413,7 +419,7 @@ foreach($alist as $aline)
<td>".$aline->did."</td>
<td>".gmdate("H:i:s",round($aline->waitSec/1000,2))."</td>
<td>".gmdate("H:i:s",round($aline->callSec/1000,2))."</td>
<td>".gmdate("H:i:s",round($talktime/1000,2))."</td>
<td>".gmdate("H:i:s",$finalTalkTime)."</td>
<td>".gmdate("H:i:s",round($aline->dispoSec/1000,2))."</td>
<td>$recstr</td>
</tr>";
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!