complaint_data.php 2.95 KB
<?php namespace App\Console\Commands;

use Illuminate\Console\Command;

use DB;
use App\Models\ComplaintCategory;
use App\Models\ComplaintResolclassUnit;
use App\Models\ComplaintSubCategory;

use Config;
use Schema;
use PDO;

use Illuminate\Database\Schema\Blueprint;

class complaint_data extends Command {

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

	/**
	* The console command description.
	*
	* @var string
	*/
	protected $description = 'complaint_data';

	/**
	* Execute the console command.
	*
	* @return mixed
	*/
	public function handle()
	{
		$nowts=time();

		echo date('Y-m-d H:i:s')."\n";

		$tcol=0;$fieldsarr=array();$extrahdrarr=array();
		$server_ip=env('app_ip');
		$central_ip=env('central_ip');

		$conn = array(
			'driver'    => 'mysql',
			'host'      => $central_ip,
			'database'  => env('CENTRAL_DB'),
			'username'  => env('CENTRAL_USERNAME'),
			'password'  => env('CENTRAL_PASSWORD'),
			'charset'   => 'utf8',
			'collation' => 'utf8_unicode_ci',
			'prefix'    => '',
			'options'   => array(
				PDO::ATTR_TIMEOUT => 5,
			),
		);

		Config::set("database.connections.conn", $conn);
		
		if(DB::connection("conn")->getDatabaseName())
		{

			DB::table('complaint_category')->truncate();
			DB::table('complaint_resol_class_unit')->truncate();
			DB::table('complaint_sub_category')->truncate();

			$complaintdataList = DB::connection("conn")->select(DB::raw("SELECT * FROM complaint_category"));

			$complaintData = 0; $newCategory = 0; $newSubCategory = 0; $newComplaintResolClassUnit = 0;

			foreach ($complaintdataList as $list) {
				$category = ComplaintCategory::where('category','=',$list->category)->first();

				if(count($category)){
					$categoryId = $category->id;
					
				}else{
					$addCategory = ComplaintCategory::create(['category'=>$list->category]);
					$categoryId = $addCategory->id;
					$newCategory++;
				}
		
				
				$complaintResolClassUnit = ComplaintResolclassUnit::where('resolve_class_unit','=',$list->resolve_class_unit)->first();

				if(count($complaintResolClassUnit)){
					$complaintResolClassUnitId = $complaintResolClassUnit->id;
				}else{
					$addComplaintResolClassUnit = ComplaintResolclassUnit::create(['resolve_class_unit'=>$list->resolve_class_unit]);
					$complaintResolClassUnitId = $addComplaintResolClassUnit->id;
					$newComplaintResolClassUnit++;
				}

				$subCategory = ComplaintSubCategory::where('resolve_class_unit_id','=',$complaintResolClassUnitId)->where('category_id','=',$categoryId)->where('sub_category','=',$list->sub_category)->first();
				
				if(count($subCategory)){
					$subCategoryId = $subCategory->id;
					
				}else{
					$addSubCategory = ComplaintSubCategory::create(['sub_category'=>$list->sub_category,'resolve_class_unit_id'=>$complaintResolClassUnitId,'category_id'=>$categoryId]);
					$subCategoryId = $addSubCategory->id;
					$newSubCategory++;
				}

				$complaintData++;
			}
			DB::connection("conn")->disconnect();

		}

	}

}