ComplaintController.php 7.4 KB
<?php namespace App\Http\Controllers;

use Auth;
use Input;
use Config;
use Session;
use App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
use DB;
use Log;
use App\Models\Group;
use App\Models\User;
use App\Models\CRMCall;

class ComplaintController extends Controller 
{
	public function __construct()
	{
		$this->middleware('auth');
		//$this->middleware('module_access');
	}
	
	public function saveComplaint()
	{
		$complainant_name = Input::get("complainant_name");
		$aan = Input::get("aan");
		$existing_customer = Input::get("existing_customer");
		$cust_id = Input::get("cust_id");
		$shadow_cust_id = Input::get("shadow_cust_id");
		$casa_number=Input::get("casa_number");
		$docket_number=Input::get("docket_number");
		$cust_name_on_card=Input::get("cust_name_on_card");
		$card_number=Input::get("card_number");
		$cust_band=Input::get("cust_band");
		$cust_city=Input::get("cust_city");
		$cust_type=Input::get("cust_type");
		$cust_mobile=Input::get("cust_mobile");
		$contact_number=Input::get("contact_number");
		$email=Input::get("email");
		$case_reference=Input::get("case_reference");
		$source_of_info=Input::get("source_of_info");
		$service_type=Input::get("service_type");
		$priority=Input::get("priority");
		$logging_branch_name=Input::get("logging_branch_name");
		$logging_class_unit=Input::get("logging_class_unit");
		$acknowledge=Input::get("acknowledge");
		$resolve_class_unit=Input::get("resolve_class_unit");
		$resolving_branch=Input::get("resolving_branch");
		$category=Input::get("category");
		$sub_category=Input::get("sub_category");
		$additional_info=Input::get("additional_info");
		$nature_of_complaint=Input::get("nature_of_complaint");
		$detailed_suggestion=Input::get("detailed_suggestion");
		$logging_branch_code=Input::get("logging_branch_code");
		$resolving_branch_code=Input::get("resolving_branch_code");
		$status=Input::get("status");
		$call_id=Input::get("call_id");

		$setComplaint = array();

		$setComplaint[]="upload_date='".date("Y-m-d H:i:s")."'";
		$setComplaint[]="complainant_name='$complainant_name'";
		$setComplaint[]="existing_customer='$existing_customer'";
		$setComplaint[]="cust_id='$cust_id'";
		$setComplaint[]="shadow_cust_id='$shadow_cust_id'";
		$setComplaint[]="casa_number='$casa_number'";
		$setComplaint[]="docket_number='$docket_number'";
		$setComplaint[]="cust_name_on_card='$cust_name_on_card'";
		$setComplaint[]="card_number='$card_number'";
		$setComplaint[]="cust_band='$cust_band'";
		$setComplaint[]="cust_city='$cust_city'";
		$setComplaint[]="cust_type='$cust_type'";
		$setComplaint[]="cust_mobile='$cust_mobile'";
		$setComplaint[]="contact_number='$contact_number'";
		$setComplaint[]="email='$email'";
		$setComplaint[]="case_reference='$case_reference'";
		$setComplaint[]="source_of_info='$source_of_info'";
		$setComplaint[]="service_type='$service_type'";
		$setComplaint[]="priority='$priority'";
		$setComplaint[]="logging_branch_name='$logging_branch_name'";
		$setComplaint[]="logging_class_unit='$logging_class_unit'";
		$setComplaint[]="acknowledge='$acknowledge'";
		$setComplaint[]="resolve_class_unit='$resolve_class_unit'";
		$setComplaint[]="resolving_branch='$resolving_branch'";
		$setComplaint[]="category='$category'";
		$setComplaint[]="sub_category='$sub_category'";
		$setComplaint[]="additional_info='$additional_info'";
		$setComplaint[]="nature_of_complaint='$nature_of_complaint'";
		$setComplaint[]="detailed_suggestion='$detailed_suggestion'";
		$setComplaint[]="aan='$aan'";
		$setComplaint[]="logging_branch_code='$logging_branch_code'";
		$setComplaint[]="resolving_branch_code='$resolving_branch_code'";
		$setComplaint[]="status='$status'";
		$setComplaint[]="call_id='$call_id'";

		$setCompl=implode(",",$setComplaint);

		DB::statement("insert into complaint_details set $setCompl");

		return "<script>simpleNotification('success','topRight','Complaint Saved Successfully');</script>";
	}

	public function getBranchName()
	{
		$resClassUnitId = Input::get("resclassUnitVal");

		$resClassUnitVal = DB::table('complaint_resol_class_unit')->where('id','=',$resClassUnitId)->select('resolve_class_unit')->first();

		$resClassUnit = $resClassUnitVal->resolve_class_unit;
		$resClassUnit = trim($resClassUnit);

		if($resClassUnit == "Retail Branch Banking")
		{
			$resBranch = DB::select("select rbb from complaint_fields");
		}

		if($resClassUnit != "Retail Branch Banking")
		{
			$resBranch = DB::select("select non_rbb from complaint_fields");
		}

		return $resBranch;		

	}

	public function getCat($resClassUnitId)
	{
		$catIds = array();
		$resClassUnitIds = array();
		$data= array('category'=>'');

		$resDetails = DB::table('complaint_sub_category')
					->where('complaint_sub_category.resolve_class_unit_id','=',$resClassUnitId)
					->get();

		foreach ($resDetails as $key => $resDet) {
			if(!in_array($resDet->category_id, $catIds))
			$catIds[] = $resDet->category_id;
		}

		$catDetails = DB::table('complaint_category')
							->whereIn('id',$catIds)
							->distinct()
							->get();

		$data['category'] = $catDetails;

		return $data;
	}

	public function getSubCat($catId,$resClassUnitId)
	{
		$subCat = array();
		$data= array('sub_category'=>'');

		$resDetails = DB::table('complaint_sub_category')
					->where('complaint_sub_category.category_id','=',$catId)
					->where('resolve_class_unit_id', '=', $resClassUnitId)
					->distinct()
					->get();

		foreach ($resDetails as $key => $resDet) {
			if(!in_array($resDet->sub_category, $subCat))
			$subCat[] = $resDet->sub_category;
		}

		$data['sub_category'] = $subCat;

		return $data;
	}

	public function saveChildCase()
	{
		$complainant_name = Input::get("complainant_name");
		$cust_type=Input::get("cust_type");
		$service_type=Input::get("service_type");
		$priority=Input::get("priority");
		$resolve_class_unit=Input::get("resolve_class_unit");
		$resolving_branch=Input::get("resolving_branch");
		$category=Input::get("category");
		$sub_category=Input::get("sub_category");
		$additional_info=Input::get("additional_info");
		$task_desc=Input::get("task_desc");
		$comments=Input::get("comments");
		$status=Input::get("status");
		$complaint_id=Input::get("complaint_id");
		$varid=Input::get("var_id");
		$call_id="";

		$crmcallDetails=CRMCall::where('crm_id','=',$varid)->orderBy("created_at","DESC")->first();

		if($crmcallDetails)
		$call_id = $crmcallDetails->id;

		$compDetails=DB::table('complaint_details')->where('call_id','=',$call_id)->orderBy("upload_date","DESC")->first();

		if($compDetails)
		{
		$setChild = array();

		$setChild[]="upload_date='".date("Y-m-d H:i:s")."'";
		$setChild[]="complainant_name='$complainant_name'";
		$setChild[]="cust_type='$cust_type'";
		$setChild[]="service_type='$service_type'";
		$setChild[]="priority='$priority'";
		$setChild[]="resolve_class_unit='$resolve_class_unit'";
		$setChild[]="resolving_branch='$resolving_branch'";
		$setChild[]="category='$category'";
		$setChild[]="sub_category='$sub_category'";
		$setChild[]="additional_info='$additional_info'";
		$setChild[]="task_desc='$task_desc'";
		$setChild[]="comments='$comments'";
		$setChild[]="status='$status'";
		$setChild[]="complaint_id='$complaint_id'";

		$setCompl=implode(",",$setChild);

		DB::statement("insert into comp_child_details set $setCompl");

		return "<script>simpleNotification('success','topRight','Child  Saved Successfully');</script>";
		}
		else
		{
			return "<script>simpleNotification('error','topRight','Please Submit Complait First!!');</script>";
		}
	}
}