Smsreport.php 3.71 KB
<?php namespace App\Console\Commands;

use Illuminate\Console\Command;
//use Mail;
use DB;
use Config;

use App\Models\User;
use App\Models\Accesslog;

use App\Models\CRMCall;
use Schema;
use PDO;

use Illuminate\Database\Schema\Blueprint;

class Smsreport extends Command {

	/**
	 * The console command name.
	 *
	 * @var string
	 */
	protected $signature = 'Smsreport';

	/**
	 * The console command description.
	 *
	 * @var string
	 */
	protected $description = 'App Main Daily Task for Smsreport';

	/**
	 * Execute the console command.
	 *
	 * @return mixed
	 */
	public function handle()
	{
		$nowts=time();
		$date=date('F_Y');
		echo "\n".date('Y-m-d H:i:s')."\n";		
		
		$logdate=strtotime('0 day');

		$tcol=0;$fieldsarr=array();$extrahdrarr=array();
		$central_ip=env('central_ip');
		$server_ip=env('app_ip');
		$calllog_report = "calllog_report_".$date;
		$conn = array(
			'driver'    => 'mysql',
			'host'      => $central_ip,
			'database'  => env('DB_DATABASE', 'kstych_flexydial'),
			'username'  => env('DB_USERNAME', 'root'),
			'password'  => env('DB_PASSWORD', ''),
			'charset'   => 'utf8',
			'collation' => 'utf8_unicode_ci',
			'prefix'    => '',
			'options'   => array(
				PDO::ATTR_TIMEOUT => 5,
				),
			);
		Config::set("database.connections.conn", $conn);

		DB::connection("conn")->getDatabaseName();

		$serverclist=DB::connection("conn")->select(DB::raw("select id from server_details where server_ip='$server_ip'"));     
		$server_id=$serverclist[0]->id;
		if($server_id<10){
			$server_id="0".$server_id;
		}


		$maxid=DB::connection("conn")->select(DB::raw("SELECT max(sms_id) as maxid from sms_report where server='$server_id'"));

		$maxids=$maxid[0]->maxid;

			//$alist=DB::select(DB::raw("SELECT * from crmcalls where id>'$maxids' and created_at<'".date("Y-m-d H:i:s",$logdate-(60*60))."'"));
		$alist=DB::select(DB::raw("SELECT * from sms_log where id>'$maxids'"));
		$countnumber=count($alist);
		$finalnumber=$countnumber/50;
		$finalnumber=floor($finalnumber);
		$datainser='';
		$iii=1;
		$kkk=1;
		$shortinsert="";
		$userarr=array();
		foreach($alist as $aline)
		{

			$server = $server_id;
			$sms_id = $aline->id;
			$created_at = $aline->created_at;
			$message_time = date("Y-m-d H:i:s",strtotime($aline->created_at)+330*60);
			$server_ip = $aline->server_ip;
			$call_id = $aline->call_id;
			$agent_name = $aline->agent_name;
			$subdispo = $aline->subdispo;
			$number = $aline->number;
			$message = $aline->message;
			$response = $aline->response;

			$shortinsert.="('$server', '$sms_id','$created_at', '$message_time', '$server_ip', '$call_id', '$agent_name', '$subdispo', '$number', '$message', '$response'),";
			
				if($kkk<=$finalnumber){
				if($iii%50==0){

					$shortinsert=substr($shortinsert,0,-1);
					DB::connection("conn")->insert(DB::raw("INSERT INTO sms_report (`server`,  `sms_id`, `created_at`, `message_time`, `server_ip`, `call_id`, `agent_name`, `subdispo`, `number`, `message`, `response`) VALUES $shortinsert"));
					$kkk++;
				}
				}else{
				DB::connection("conn")->insert(DB::raw("INSERT INTO sms_report set server='$server', sms_id='$sms_id', created_at='$created_at', message_time='$message_time', server_ip='$server_ip', call_id='$call_id', agent_name='$agent_name', subdispo='$subdispo', number='$number', message='$message', response='$response'"));

			}
			if($iii%50==0){
			$shortinsert="";
			}
			$iii++;

			//$update=DB::connection("conn")->select(DB::raw("SELECT crmcall_id as updateid from $calllog_report where server='$server_id' and `state` IN ('DialBegin','DialEnd')"));
//echo $update;
			//DB::update(DB::raw("UPDATE crmcalls set call_flag='C' where id=$crmcall_id"));
		}
			echo "\n".date('Y-m-d H:i:s')."\n";
                        DB::connection("conn")->disconnect();
	}

}