sparqapi/api/application/controllers/Dash_Board_Controller.php

218 lines
7.4 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);
$pre_defined_lenders = array('ICICI','CLIX','HHFL','IMGC','IIB');
$title = array();$title2 = array();
if(in_array($lender_short_name,$pre_defined_lenders)){
$field_mapping = $this->Dash_Board_Model->lenderwise_field_mapping($lender_short_name);
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);
$new = array();
for($i=0;$i<count($array);$i++){
for($j=0;$j<count($column);$j++){
$new[$i][$column[$j]] = $array[$i][$column[$j]];
}
}
for($k=0;$k<count($column);$k++){
$title[$column[$k]] = $title_arr[$k];
$title2[$k] = $title_arr[$k];
}
$final = $new;
}else{
$lender = $lender_short_name;
$final = json_decode(json_encode($res), true);
}
$data['dataStatus'] = true;
$data['status'] = REST_Controller::HTTP_OK;
// $data['records'] = $res;
$data['records'] = $final;
$data['lender'] = $lender;
$data['header'] = $title;
$data['header2']= $title2;
$this->response($data,REST_Controller::HTTP_OK);
}
}