248 lines
8.7 KiB
PHP
248 lines
8.7 KiB
PHP
<?php
|
|
/**
|
|
|
|
* User: velz
|
|
* This Controller deals with PD Related CRUD Operations
|
|
*/
|
|
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
|
|
require_once APPPATH . '/libraries/REST_Controller.php';
|
|
|
|
|
|
class Dash_Board_Controller extends REST_Controller {
|
|
|
|
function __construct()
|
|
{
|
|
// Construct the parent class
|
|
parent::__construct();
|
|
$this->load->model('Dash_Board_Model');
|
|
$this->load->model('PD_Model');
|
|
|
|
}
|
|
|
|
public function getDashBoardDetailsOfPDTypeAndPDStatusWithDayWeekMonth_get()
|
|
{
|
|
$res = $this->Dash_Board_Model->getDetailsOfPDTypeAndPDStatusWithDayWeekMonth();
|
|
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['records'] = $res;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
}
|
|
|
|
public function getDashBoardDetails_post()
|
|
{
|
|
$fdate = '';
|
|
$tdate = '';
|
|
$cityarr = '';
|
|
$lenderarr = '';
|
|
|
|
if($this->post('fromdate')) { $fdate = $this->post('fromdate'); }
|
|
if($this->post('todate')){ $tdate = $this->post('todate'); }
|
|
if($this->post('cityarr')) { $cityarr = $this->post('cityarr'); }
|
|
if($this->post('lenderarr')) { $lenderarr = $this->post('lenderarr'); }
|
|
|
|
// echo $from_date;
|
|
// echo $to_date;
|
|
// print_r($city_arr);
|
|
// print_r($lender_arr);
|
|
// die();
|
|
$res = $this->Dash_Board_Model->getDetailsOfPDType($fdate,$tdate,$cityarr,$lenderarr);
|
|
|
|
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['records'] = $res;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
}
|
|
|
|
public function getDashBoardDetailsOfLenderAndCitywise_get()
|
|
{
|
|
$res = $this->Dash_Board_Model->getDetailsOfLenderAndCitywise();
|
|
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['records'] = $res;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
}
|
|
|
|
public function getDashBoardDetailsOfCitywise_get()
|
|
{
|
|
$res = $this->Dash_Board_Model->getDashBoardDetailsOfCitywise();
|
|
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['records'] = $res;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
}
|
|
public function getDashBoardDetailsOfAlert_get(){
|
|
|
|
$res = $this->Dash_Board_Model->getDashBoardDetailsOfAlert();
|
|
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['records'] = $res;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
|
|
}
|
|
|
|
public function PD_MIS_report_post()
|
|
{
|
|
|
|
$filter_params = ($this->post());
|
|
$applicant_id = isset($filter_params['applicant_id']) && $filter_params['applicant_id'] != '' ? $filter_params['applicant_id'] : null;
|
|
$from_date = isset($filter_params['from_date']) && $filter_params['from_date'] != '' ? $filter_params['from_date'] : null;
|
|
$to_date = isset($filter_params['to_date']) && $filter_params['to_date'] != '' ? $filter_params['to_date'] : null;
|
|
$city = isset($filter_params['city']) && $filter_params['city'] != '' ? $filter_params['city'] : null;
|
|
$branch = isset($filter_params['branch']) && $filter_params['branch'] != '' ? $filter_params['branch'] : null;
|
|
|
|
$res = $this->Dash_Board_Model->PD_MIS_report($applicant_id,$from_date,$to_date,$city,$branch);
|
|
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['records'] = $res;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
}
|
|
public function PD_MIS_report_remarks_post()
|
|
{
|
|
$pd_id = $this->post('pd_id');
|
|
$remarks = $this->post('remarks');
|
|
if(!empty($pd_id)){
|
|
$result_data = $this->Dash_Board_Model->PD_MIS_report_remarks($pd_id,$remarks);
|
|
}else{
|
|
$result_data = "PDID Not Available. Unable to Update the Remarks";
|
|
}
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['msg'] = $result_data ;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
}
|
|
|
|
public function alertPDTAT_get()
|
|
{
|
|
$pd_tat = $this->Dash_Board_Model->selectRecords('PD_TAT');
|
|
//print_r($pd_tat);
|
|
//die();
|
|
$res_array = array();
|
|
foreach ($pd_tat as $key => $value)
|
|
{
|
|
|
|
|
|
if($value['Allocated'] != "" && $value['Accepted'] == "")
|
|
{
|
|
$allocated_date = date_create($value['Allocated']);
|
|
$accepted_date = $value['Accepted'] != "" ? date_create( $value['Accepted'] ) : date_create(date('Y-m-d H:i:s'));
|
|
$diff = date_diff($allocated_date,$accepted_date);
|
|
|
|
$res_array[$key]['pdid'] = $value['PD'];
|
|
$res_array[$key]['pd_sno'] = $value['pd_sno'];
|
|
$res_array[$key]['allocated'] = $value['Allocated'];
|
|
$res_array[$key]['accepted'] = $value['Accepted'];
|
|
$res_array[$key]['tat'] = $value['tat'] ? $value['tat'] : 'TAT NOT DEFINED';
|
|
//$res_array[$key]['diff'] = $diff->format('%m months %d days %H hrs %i mins %s secs');
|
|
|
|
if( $diff->d )
|
|
{
|
|
$res_array[$key]['comment'] = $diff->format('%d days %H hrs %i mins %s secs');
|
|
$res_array[$key]['status'] = $value['tat'] && $diff->d ? 'TAT BREACH': 'NORMAL';
|
|
}
|
|
else if( !$diff->d && $diff->h)
|
|
{
|
|
$res_array[$key]['comment'] = $diff->format('%H hrs %i mins %s secs');
|
|
$res_array[$key]['status'] = $value['tat'] && $diff->h ? 'TAT BREACH': 'NORMAL';
|
|
}
|
|
else if(!$diff->d && !$diff->h && $diff->i)
|
|
{
|
|
$res_array[$key]['comment'] = $diff->format('%i mins %s secs');
|
|
$res_array[$key]['status'] = $value['tat'] && $diff->i ? 'TAT BREACH': 'NORMAL';
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
print_r($res_array);
|
|
|
|
}
|
|
|
|
public function pdTATReport_post()
|
|
{
|
|
|
|
$filter_params = ($this->post());
|
|
$applicant_id = isset($filter_params['applicant_id']) && $filter_params['applicant_id'] != '' ? $filter_params['applicant_id'] : null;
|
|
$from_date = isset($filter_params['from_date']) && $filter_params['from_date'] != '' ? $filter_params['from_date'] : null;
|
|
$to_date = isset($filter_params['to_date']) && $filter_params['to_date'] != '' ? $filter_params['to_date'] : null;
|
|
$city = isset($filter_params['city']) && $filter_params['city'] != '' ? $filter_params['city'] : null;
|
|
$branch = isset($filter_params['branch']) && $filter_params['branch'] != '' ? $filter_params['branch'] : null;
|
|
$lender_short_name = isset($filter_params['lender_short_name']) && $filter_params['lender_short_name'] != '' ? $filter_params['lender_short_name'] : null;
|
|
|
|
$res = $this->Dash_Board_Model->pdTATreport($applicant_id,$from_date,$to_date,$city,$branch,$lender_short_name);
|
|
|
|
$mapped_title = array();
|
|
$title = array();
|
|
$final = array();
|
|
|
|
$lender = in_array($lender_short_name,array('ICICI','CLIX','HHFL','IMGC','IIB')) ? $lender_short_name : 'OTHERS';
|
|
|
|
$field_mapping = $this->Dash_Board_Model->lenderwise_field_mapping($lender);
|
|
for($a=0;$a<count($field_mapping);$a++){
|
|
$column = explode(",",$field_mapping[$a]['column_list']);
|
|
$lender = $field_mapping[$a]['lender_short_name'];
|
|
$title_arr = explode(",",$field_mapping[$a]['column_title']);
|
|
}
|
|
$array = json_decode(json_encode($res), true);
|
|
for($i=0;$i<count($array);$i++){
|
|
for($j=0;$j<count($title_arr);$j++){
|
|
if($column[$j] == "address_visited"){
|
|
$final[$i]["address_visited"] = str_replace( ',', '', $array[$i]['address_visited'] )." \n ".$array[$i]['state']." \n ".$array[$i]['city']." ".$array[$i]['pincode'];
|
|
}else{
|
|
$final[$i][$column[$j]] = $array[$i][$column[$j]];
|
|
}
|
|
}
|
|
}
|
|
for($k=0;$k<count($column);$k++){
|
|
// $mapped_title[$column[$k]] = $title_arr[$k];
|
|
$mapped_title[$k] = array($column[$k] => $title_arr[$k],"is_multi_line_enabled" => ($column[$k]=="address_visited"?true:false));
|
|
$title[$k] = $title_arr[$k];
|
|
}
|
|
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
// $data['records'] = $res;
|
|
$data['records'] = $final;
|
|
$data['lender'] = $lender_short_name;
|
|
$data['mappedHeader'] = $mapped_title;
|
|
$data['header']= $title;
|
|
$this->response($data,REST_Controller::HTTP_OK);
|
|
}
|
|
|
|
/****************************\
|
|
* API : callAPIForPortals *
|
|
* Method : post *
|
|
\****************************/
|
|
public function callAPIForPortals_post()
|
|
{
|
|
$logger = MYLOG::logSalesCET();
|
|
try {
|
|
$sales_details = $this->post('sales_object');
|
|
$user_details = $this->post('user_object');
|
|
$link_url = $this->post('link_url');
|
|
if (!$sales_details && !$user_details && !$link_url) {
|
|
throw new Exception("Data not found.");
|
|
}
|
|
$logger->info($link_url, array('Link' => $link_url, 'Sales Details' => $sales_details, 'User Details' => $user_details));
|
|
$data['dataStatus'] = true;
|
|
$data['status'] = REST_Controller::HTTP_OK;
|
|
$data['message'] = 'Message Logged';
|
|
} catch (Exception $e) {
|
|
$logger->error('Caught Exception: ' . $e->getMessage());
|
|
$data['dataStatus'] = false;
|
|
$data['status'] = REST_Controller::HTTP_NO_CONTENT;
|
|
$data['message'] = 'An error occurred: ' . $e->getMessage();
|
|
}
|
|
$this->response($data, REST_Controller::HTTP_OK);
|
|
}
|
|
}
|