2ae961c9 by Viral Patel

Merge branch 'dev-InboundDrop'

# Conflicts:
#	application/app/Http/Controllers/SmsController.php
2 parents cba2ceb2 fa1c5d0f
1 <?php namespace App\Console\Commands;
2
3 use Illuminate\Console\Command;
4 use DB;
5 use Config;
6
7 use App\Models\User;
8 use App\Models\Accesslog;
9
10 use App\Models\CRMCall;
11 use Schema;
12 use PDO;
13
14 use Illuminate\Database\Schema\Blueprint;
15
16 class UserlogOne extends Command {
17
18 /**
19 * The console command name.
20 *
21 * @var string
22 */
23 protected $signature = 'UserlogOne';
24
25 /**
26 * The console command description.
27 *
28 * @var string
29 */
30 protected $description = 'UserlogOne';
31
32 /**
33 * Execute the console command.
34 *
35 * @return mixed
36 */
37 public function handle()
38 {
39 $nowts=time();
40 echo "\n".date('Y-m-d')."\n";
41
42 if(env('app_ip')=="10.125.14.127")
43 {
44
45
46 $offline=array();
47 $arr=Config::get("app.hdfcnodes");
48 $logdate=strtotime('-1 day');
49 $userlogsTable = "userlogs_".date("d_m_Y",$logdate);
50 //echo "\n".$userlogsTable."\n";
51
52 //$slist=DB::select(DB::raw("select * from server_details where type='COP' and id!='32'"));
53 $slist=DB::select(DB::raw("select * from server_details where id>11"));
54 $server_ip='';
55 $std_code='';
56 $conn='';
57 foreach($slist as $sline)
58 {
59 $tcol=0;$fieldsarr=array();$extrahdrarr=array();
60 $server_ip=$sline->server_ip;
61 $server_id=$sline->id;
62 $std_code=$sline->std_code;
63
64 $conn = array(
65 'driver' => 'mysql',
66 'host' => $server_ip,
67 'database' => env('DB_DATABASE', 'kstych_flexydial'),
68 'username' => env('DB_USERNAME', 'root'),
69 'password' => env('DB_PASSWORD', ''),
70 'charset' => 'utf8',
71 'collation' => 'utf8_unicode_ci',
72 'prefix' => '',
73 'options' => array(
74 PDO::ATTR_TIMEOUT => 5,
75 ),
76 );
77 Config::set("database.connections.conn", $conn);
78
79
80 if(DB::connection("conn")->getDatabaseName())
81 {
82
83 echo ",".$server_ip;
84
85 $i=0;
86
87 $ulist=DB::connection("conn")->select(DB::raw("select * from users WHERE 1"));
88 foreach($ulist as $uline) {
89 $users[$uline->id] = $uline->username;
90 }
91
92 if($alist=DB::connection("conn")->select(DB::raw("select * from userlogs WHERE created_at>'".date("Y-m-d",$logdate)."' and created_at<'".date("Y-m-d",$logdate+24*60*60)."'"))){
93
94 //if($alist=DB::connection("conn")->select(DB::raw("select * from userlogs WHERE created_at>'2017-09-01' and created_at<'2017-10-01'"))){
95
96 foreach($alist as $aline) {
97
98 $i++;
99 $global_id = $server_id . $i;
100
101 $rowdata = array('server'=>$server_id,'server_ip'=>$server_ip,'global_id'=>$global_id,'id'=>$aline->id,
102 'created_at'=>$aline->created_at,'updated_at'=>$aline->updated_at,'user_id'=>$aline->user_id,'user'=>$users[$aline->user_id],
103 'startdate'=>$aline->startdate,'starttime'=>$aline->starttime,'enddate'=>$aline->enddate,'endtime'=>$aline->endtime,
104 'durationsec'=>$aline->durationsec,'data'=>$aline->data,'group'=>$aline->group,'login'=>'','dialnext'=>'','dialnext-agentbriefing'=>'','dialnext-downtime'=>'','dialnext-floorannouncements'=>'','dialnext-incoming'=>'','dialnext-lunchbreak'=>'','dialnext-manual'=>'','dialnext-notready'=>'','dialnext-qualityfeedback'=>'','dialnext-teabreak'=>'','dialnext-teammeeting'=>'','dialnext-utilitybreak'=>'','manual'=>'','manual-agentbriefing'=>'','manual-agentbriefing'=>'','manual-downtime'=>'','manual-floorannouncements'=>'','manual-incoming'=>'','manual-lunchbreak'=>'','manual-manual'=>'','manual-notready'=>'','manual-qualityfeedback'=>'','manual-teabreak'=>'','manual-teammeeting'=>'','manual-utilitybreak'=>'','paused'=>'','paused-agentbriefing'=>'','paused-downtime'=>'','paused-floorannouncements'=>'','paused-incoming'=>'','paused-lunchbreak'=>'','paused-manual'=>'','paused-notready'=>'','paused-qualityfeedback'=>'','paused-teabreak'=>'','paused-teammeeting'=>'','paused-utilitybreak'=>'','paused-autowrapup'=>'','paused-wrapup'=>'','progressive'=>'','progressive-agentbriefing'=>'','progressive-agentbriefing'=>'','progressive-downtime'=>'','progressive-floorannouncements'=>'','progressive-incoming'=>'','progressive-lunchbreak'=>'','progressive-manual'=>'','progressive-notready'=>'','progressive-qualityfeedback'=>'','progressive-teabreak'=>'','progressive-teammeeting'=>'','progressive-utilitybreak'=>'','ready-incoming'=>''
105 );
106
107 $data=json_decode($aline->data,true);
108
109 foreach($data as $sipid=>$sdata)
110 {
111 $prets= isset($sdata[1]) ? $sdata[1] : (strtotime($aline->startdate . " " . $aline->starttime)+19600)*1000;
112 if(isset($sdata['states']))
113 {
114 $previous="login";
115 foreach($sdata['states'] as $fts=>$states)
116 {
117 if($states[0] != 1)
118 {
119 $rowdata[$previous] +=round(($fts-$prets)/1000,2);
120
121 $previous = (trim($states[1]) != '') ? strtolower($states[0]."-".$states[1]) : strtolower($states[0]);
122 $prets=$fts;
123 }
124
125 }
126 $rowdata[$previous] += round(($sdata['ts']-$prets)/1000,2);
127 }
128 }
129 $rowdata["login"] = $aline->durationsec;
130
131 $rowdata['not-ready']=$rowdata['paused-agentbriefing']+$rowdata['paused-autowrapup']+$rowdata['paused-downtime']+$rowdata['paused-floorannouncements']+$rowdata['paused-lunchbreak']+$rowdata['paused-notready']+$rowdata['paused-qualityfeedback']+$rowdata['paused-teammeeting']+$rowdata['paused-teabreak']+$rowdata['paused-utilitybreak'];
132
133
134 $key_value = '';
135 foreach($rowdata AS $key=>$value) {
136 if($key != 1)
137 $key_value .= "`$key` = '$value', ";
138 }
139
140 $startTime=$aline->startdate." ".$aline->starttime;
141 $endTime=$aline->enddate." ".$aline->endtime;
142
143 $crmCalls=DB::connection("conn")->select(DB::raw("select user_id,type,ts_Wait,ts_Call,ts_Talk,ts_Recstart,ts_Recend,ts_Dispo,ts_Close from crmcalls WHERE updated_at>='".$startTime."' and updated_at<'".$endTime."' and user_id='".$aline->user_id."'"));
144
145 $ts_Wait=0;$ts_Call=0;$ts_Talk=0;$ts_Dispo=0;
146 $progTs_Wait=0;$progTs_Call=0;$progTs_Talk=0;$progTs_Dispo=0;
147 $manTs_Wait=0;$manTs_Call=0;$manTs_Talk=0;$manTs_Dispo=0;
148 $inbTs_Wait=0;$inbTs_Call=0;$inbTs_Talk=0;$inbTs_Dispo=0;
149 $tt_prog=0;$tt_man=0;$tt_inb=0;
150
151 if($crmCalls!=null){
152 foreach($crmCalls as $crmCall){
153 $ts_Wait += round(($crmCall->ts_Call - $crmCall->ts_Wait)/1000,2);
154 $ts_Call += round(($crmCall->ts_Talk - $crmCall->ts_Call)/1000,2);
155 $ts_Talk += round(($crmCall->ts_Dispo - $crmCall->ts_Talk)/1000,2);
156 $ts_Dispo += round(($crmCall->ts_Close - $crmCall->ts_Dispo)/1000,2);
157
158 if($crmCall->type == 'Progressive')
159 {
160 $progTs_Wait += round(($crmCall->ts_Call - $crmCall->ts_Wait)/1000,2);
161 $progTs_Call += round(($crmCall->ts_Talk - $crmCall->ts_Call)/1000,2);
162 $progTs_Talk += round(($crmCall->ts_Dispo - $crmCall->ts_Talk)/1000,2);
163 $progTs_Dispo += round(($crmCall->ts_Close - $crmCall->ts_Dispo)/1000,2);
164 }
165
166 if($crmCall->type == 'Manual')
167 {
168 $manTs_Wait += round(($crmCall->ts_Call - $crmCall->ts_Wait)/1000,2);
169 $manTs_Call += round(($crmCall->ts_Talk - $crmCall->ts_Call)/1000,2);
170 $manTs_Talk += round(($crmCall->ts_Dispo - $crmCall->ts_Talk)/1000,2);
171 $manTs_Dispo += round(($crmCall->ts_Close - $crmCall->ts_Dispo)/1000,2);
172 }
173
174 if($crmCall->type == 'Inbound')
175 {
176 $inbTs_Wait += round(($crmCall->ts_Call - $crmCall->ts_Wait)/1000,2);
177 $inbTs_Call += round(($crmCall->ts_Talk - $crmCall->ts_Call)/1000,2);
178 $inbTs_Talk += round(($crmCall->ts_Dispo - $crmCall->ts_Talk)/1000,2);
179 $inbTs_Dispo += round(($crmCall->ts_Close - $crmCall->ts_Dispo)/1000,2);
180 }
181 }
182 }
183 $tt_prog = $progTs_Wait + $progTs_Call + $progTs_Talk + $progTs_Dispo;
184 $tt_man = $manTs_Wait + $manTs_Call + $manTs_Talk + $manTs_Dispo;
185 $tt_inb = $inbTs_Wait + $inbTs_Call + $inbTs_Talk + $inbTs_Dispo;
186 $prod_TOS = $ts_Wait + $ts_Call + $ts_Talk + $ts_Dispo;
187
188 $key_value .= "`tt_prog` = '$tt_prog', ";
189 $key_value .= "`tt_man` = '$tt_man', ";
190 $key_value .= "`tt_inb` = '$tt_inb', ";
191 $key_value .= "`ts_Wait` = '$ts_Wait', ";
192 $key_value .= "`ts_Call` = '$ts_Call', ";
193 $key_value .= "`ts_Talk` = '$ts_Talk', ";
194 $key_value .= "`ts_Dispo` = '$ts_Dispo', ";
195 $key_value .= "`progts_Wait` = '$progTs_Wait', ";
196 $key_value .= "`progts_Call` = '$progTs_Call', ";
197 $key_value .= "`progts_Talk` = '$progTs_Talk', ";
198 $key_value .= "`progts_Dispo` = '$progTs_Dispo', ";
199 $key_value .= "`mants_Wait` = '$manTs_Wait', ";
200 $key_value .= "`mants_Call` = '$manTs_Call', ";
201 $key_value .= "`mants_Talk` = '$manTs_Talk', ";
202 $key_value .= "`mants_Dispo` = '$manTs_Dispo', ";
203 $key_value .= "`incts_Wait` = '$inbTs_Wait', ";
204 $key_value .= "`incts_Call` = '$inbTs_Call', ";
205 $key_value .= "`incts_Talk` = '$inbTs_Talk', ";
206 $key_value .= "`incts_Dispo` = '$inbTs_Dispo', ";
207 $key_value .= "`prod_tos` = '$prod_TOS', ";
208
209 $key_value = substr($key_value, 0, -2);
210 $userlogsTable = "userlogs_".date("d_m_Y",$logdate);
211 DB::insert(DB::raw("INSERT INTO ".$userlogsTable." SET $key_value"));
212 //DB::insert(DB::raw("INSERT INTO userlogs_050218 SET $key_value"));
213 }
214 DB::connection("conn")->disconnect();
215 }else{
216 DB::connection("conn")->disconnect();
217 }
218
219 }
220 }
221 }
222 }
223 }
...@@ -721,14 +721,12 @@ if($action=="closecall") ...@@ -721,14 +721,12 @@ if($action=="closecall")
721 $userlog=UserLog::where('user_id','=',Auth::user()->id)->orderBy("id","DESC")->first(); 721 $userlog=UserLog::where('user_id','=',Auth::user()->id)->orderBy("id","DESC")->first();
722 $userlog->getLastTs($crmcall->sipid_id,$nowts); 722 $userlog->getLastTs($crmcall->sipid_id,$nowts);
723 $userlog->save(); 723 $userlog->save();
724 if(Auth::user()->username=='S32732' && $kstychCall['callnumber']=='9324046534'){
725 try{ 724 try{
726 $smscontroller = new SmsController(); 725 $smscontroller = new SmsController();
727 $smscontroller->sendSmsBasedOnSubDisposition($kstychCall); 726 $smscontroller->sendSmsBasedOnSubDisposition($kstychCall);
728 } catch(Exception $e) { 727 } catch(Exception $e) {
729 Log::info($e->getMessage()); 728 Log::info($e->getMessage());
730 } 729 }
731 }
732 } 730 }
733 731
734 return Response::make(""); 732 return Response::make("");
......
...@@ -9,26 +9,20 @@ class SmsController extends Controller ...@@ -9,26 +9,20 @@ class SmsController extends Controller
9 { 9 {
10 public $smsUrl = 'https://10.2.55.165:443/servlet/com.aclwireless.pushconnectivity.listeners.TextListener?'; 10 public $smsUrl = 'https://10.2.55.165:443/servlet/com.aclwireless.pushconnectivity.listeners.TextListener?';
11 //public $userarray = array("A21568","admin"); 11 //public $userarray = array("A21568","admin");
12 public function sendSmsBasedOnSubDisposition($kstychCall) 12 public function sendSmsBasedOnSubDisposition($kstychCall)
13 { 13 {
14 //public $userarray = array("A21568","admin"); 14 $msgText = $this->getSmsTemplate($kstychCall);
15 //$users = $this->userarray; 15 if( !empty($msgText) ) {
16 //Log::info(Auth::user()->username." ^ ".$users[0]); 16 $msgText = $this->fillValuesInTemplate($msgText);
17 //Log::info(in_array(Auth::user()->username , $users));
18 //if(in_array(Auth::user()->username , $users)){
19 $msgText = $this->getSmsTemplate($kstychCall);
20 if( !empty($msgText) ) {
21 $msgText = $this->fillValuesInTemplate($msgText);
22 //Log::info($msgText); 17 //Log::info($msgText);
23 $this->sendSmsRequest($kstychCall, $msgText); 18 $this->sendSmsRequest($kstychCall, $msgText);
24 } 19 }
25 //} 20 //}
26 return; 21 return;
27 } 22 }
28 public function sendSmsRequest($kstychCall, $msgText) 23 public function sendSmsRequest($kstychCall, $msgText)
29 { 24 {
30 $url = $this->smsUrl; 25 $url = $this->smsUrl;
31 //Log::info($kstychCall['callnumber']);
32 $inputArray = [ 26 $inputArray = [
33 'userId'=>'hdfcbalrt', 27 'userId'=>'hdfcbalrt',
34 "pass"=>'hdfcbalrt25', 28 "pass"=>'hdfcbalrt25',
...@@ -51,16 +45,19 @@ class SmsController extends Controller ...@@ -51,16 +45,19 @@ class SmsController extends Controller
51 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 45 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
52 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 46 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
53 $response = curl_exec($ch); 47 $response = curl_exec($ch);
54 $number=$kstychCall['callnumber']; 48
55 $callid=intval($kstychCall['callid'])+0; 49 $number=$kstychCall['callnumber'];
56 $serverip=env(app_ip); 50 $callid=intval($kstychCall['callid'])+0;
57 $rmname=Auth::user()->fullname; 51 $serverip=env(app_ip);
58 $subdispo=$kstychCall["usersubstatus"]; 52 $rmname=Auth::user()->fullname;
59 DB::insert(DB::raw("insert into sms_log set server_ip='$serverip',call_id='$callid',rm_name='$rmname',subdispo='$subdispo',number='$number',message='$msgText',response='$response'")); 53 $subdispo=$kstychCall["usersubstatus"];
60 Log::useFiles(storage_path().'/logs/SMS_Messages_'.date("Y-m-d").'.log'); 54
61 Log::info('|'.env(app_ip).'|'.date('Y-m-d H:i:s', strtotime('+5 hours 30 minutes')).'|'.Auth::user()->fullname.'|'.$kstychCall['callnumber'].'|"'.$msgText.'"|'.$response.'|'); 55 DB::insert(DB::raw("insert into sms_log set server_ip='$serverip',call_id='$callid',rm_name='$rmname',subdispo='$subdispo',number='$number',message='$msgText',response='$response'"));
62 //Log::info($response); 56
63 curl_close($ch); 57 Log::useFiles(storage_path().'/logs/SMS_Messages_'.date("Y-m-d").'.log');
58 Log::info('|'.env(app_ip).'|'.date('Y-m-d H:i:s', strtotime('+5 hours 30 minutes')).'|'.Auth::user()->fullname.'|'.$kstychCall['callnumber'].'|"'.$msgText.'"|'.$response.'|');
59
60 curl_close($ch);
64 } catch(Exception $e) { 61 } catch(Exception $e) {
65 Log::info($e->getMessage()); 62 Log::info($e->getMessage());
66 } 63 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!