sparqapi/api/application/controllers/Data_Dump_Controller.php

420 lines
19 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: kms
* Date: 11/13/17
* Time: 7:40 PM
*/
defined('BASEPATH') OR exit('No direct script access allowed');
// This can be removed if you use __autoload() in config.php OR use Modular Extensions
/** @noinspection PhpIncludeInspection */
require_once APPPATH . '/libraries/REST_Controller.php';
include_once APPPATH.'/vendor/autoload.php';
/**
* This is an example of a few basic user interaction methods you could use
* all done with a hardcoded array
*
* @package CodeIgniter
* @subpackage Rest Server
* @category Controller
* @author
* @license MIT
* @link
*/
class Data_Dump_Controller extends REST_Controller {
function __construct()
{
parent::__construct();
$this->load->model('PD_Model','PD_Model');
$this->load->model('Data_Dump_Model','Data_Dump_Model');
//$this->load->library('AWS_S3');
}
public function getRawData_get()
{
$pdid = $this->get('pdid');
$rs = $this->get('rs');
$pd_processed_forms = array();
$master = $this->PD_Model->getPDMasterDetails($pdid);
if($pdid != '')// && $rs != '')
{
$this->load->helper('data_dump');
for($i = 1;$i<=30;$i++)
{
$fields = array('processed_json');
$where_condition_array = array('isactive' => 1,'fk_pd_id'=>$pdid,'fk_form_id' => $i);
$pd_processed_forms[$i] = $this->PD_Model->selectCustomRecords($fields,$where_condition_array,PDFORMDETAILSJSON,array(),'','company_id','ASC');
// $fields2 = array('*');
// $data['pd_images'][$i] = $this->PD_Model->getSignedPDDocsURL($pdid,$i,null,null,null,'report');
}
//get General form dump
$gen_data_dump = array();
if(isset($pd_processed_forms[18]))
{
$gen_data = (json_decode($pd_processed_forms[18][0]['processed_json'],TRUE));
//print_r($gen_data);die();
$gen_data_dump = DATA_DUMP::convertGeneralDetailsForm($gen_data,$master);
print_r($gen_data_dump);
$this->Data_Dump_Model->saveGenDumpData($gen_data_dump);
}
if(isset($pd_processed_forms[13]))
{
if(array_key_exists('company_data', $gen_data_dump) && count($gen_data_dump))
{
$business_data = (json_decode($pd_processed_forms[13][0]['processed_json'],TRUE));
//print_r($business_data);die();
$business_data_dump = DATA_DUMP::convertBusinessDetailsForm($business_data,$master,$gen_data_dump['company_data']);
print_r($business_data_dump);
$this->Data_Dump_Model->saveBusinessDUmpData($business_data_dump);
}
}
}
}
//[true,"IIB","A50397621","Kamal Kumar Garg","9773522518","M/s Bhawani Matel,,,F-3, Kh. No. 105/72, New Mandoli Industrial Area, East Delhi New Delhi, Delhi-110093","Mukund","50 lacs","LAP PD","Tue Jul 06 16:18:00 GMT+05:30 2021","Fix for tomorrow morning 11-12 Pm...08 June",null,null,null,null]
public function googleSheet_post(){
// $logger = MYLOG::logFunction(null,"Gsheet");
log_message('ERROR','#/# G-Sheet Fns Entered - '.date('Y-m-d H:i:s A'));
$sheetData = $this->post();
log_message('ERROR','#/# Params Are - '.$this->post());
if(count($sheetData) > 0){
$pd_id = $this->modificationGsheetData($sheetData);
if($pd_id != null || $pd_id != '')
{
log_message('ERROR',"#/# G-Sheet For PD ID : ".$pd_id);
// PDALERTS::pdnotification($pd_id);
$data['dataStatus'] = true;
$data['status'] = REST_Controller::HTTP_OK;
$data['pdid'] = $pd_id;
$data['records'] = $pd_id;
$this->response($data,REST_Controller::HTTP_OK);
}
else
{
log_message("info","G-Sheet SomeThing went Wrong mistake on Gsheet-data PDID not Founded");
$data['dataStatus'] = false;
$data['status'] = REST_Controller::HTTP_NO_CONTENT;
$data['msg'] = "Some thing went wrong";
$this->response($data,REST_Controller::HTTP_OK);
}
}else{
log_message("info","G-Sheet Data Not Founded");
$data['dataStatus'] = false;
$data['status'] = REST_Controller::HTTP_NO_CONTENT;
$data['msg'] = "Some thing went wrong !";
$this->response($data,REST_Controller::HTTP_OK);
}
// if($reponse){
// $data['dataStatus'] = true;
// $data['status'] = REST_Controller::HTTP_OK;
// $data['pdid'] = $reponse;
// $data['sheetData'] = $sheetData;
// $data['modifiedData'] = $modified;
// }
$data['dataStatus'] = true;
$data['status'] = REST_Controller::HTTP_OK;
$data['sheetData'] = $sheetData;
$data['modifiedData'] = $modified;
$data['reponseData'] = $reponse;
$this->response($data,REST_Controller::HTTP_OK);
}
public function modificationGsheetData($GSdata){
// $logger = MYLOG::logFunction(null,"Gsheet");
log_message('ERROR',"G-Sheet For PD Step 1 (G-sheet Data)");
$modifiedData = array();
$pd_details = array();
$pd_applicant_details = array();
$addresses = array();
// pd_details
// {"fk_lender_id":"42","sub_entity_id":"42","lender_applicant_id":"SR201819351","pd_branch_id":null,"lender_sales_person":"376","lender_credit_person":"350","imgc_fin_institute":null,"fk_product_id":"24","fk_subproduct_id":null,"fk_pd_type":"1","is_notify_enabled":null,"fk_customer_segment":"5","loan_amount":"3000000","addressline1":"Third Floor Right Side Bal K 83-84 Udyan Road Uttam Nagar New Delhi","fk_city":"869","fk_state":"5","pincode":"27491","other_pincode":null,"remarks":null,"pd_status":"TRIGGERED","fk_createdby":"397"}
// pd_applicant_details
// [{"applicant_name":"Ranjit Kumar Sharma","applicant_title_name":"5","company_name":"Kr Tourist Services Pvt Ltd","mobile_no":"9717361459","additional_mobile_no":null,"landline":null,"applicant_type":1,"relation":""}]
// addresses
// [{"addressline1":"Third Floor Right Side Bal K 83-84 Udyan Road Uttam Nagar New Delhi","fk_city":"869","fk_state":"5","pincode":"27491","other_pincode":null}]
for($i=0;$i<count($GSdata);$i++){
log_message('ERROR',"G-Sheet For PD Step 2 (Processing data for-loop)");
if($i==1 && $GSdata[$i] != ""){
$modifiedData['lender'] = $GSdata[$i];
$fk_lender_id = $this->Data_Dump_Model->getId(1,$GSdata[$i]);
$pd_details['fk_lender_id']=$fk_lender_id;
$pd_details['sub_entity_id']=$fk_lender_id;
log_message('ERROR',"G-Sheet For PD Step 2.1 (First Cell lender/casebookedin) GSheet data : ".$GSdata[$i]." Modify : ".$modifiedData['lender']." PD :".$pd_details['fk_lender_id']." ".$pd_details['sub_entity_id']);
}
if($i==2 && $GSdata[$i] != ""){
$modifiedData['lender_applicant_id'] = str_replace(" ", "", $GSdata[$i]);
$pd_details['lender_applicant_id'] =str_replace(" ", "", $GSdata[$i]);
log_message('ERROR',"G-Sheet For PD Step 2.2 (Second Cell - loan applicantid)GSheet data : ".$GSdata[$i]." Modify : ".$modifiedData['lender_applicant_id']." PD :".$pd_details['lender_applicant_id']);
}
if($i==3 && $GSdata[$i] != ""){
$applicatantParts = explode(',',$GSdata[$i]);
if(count($applicatantParts)>1){
for($j=0;$j<count($applicatantParts);$j++){
$splitCompanyandApplicant = explode('/',$applicatantParts[$j]);
$pd_applicant_details[$j]['applicant_name'] = $splitCompanyandApplicant[0];
$modifiedData['pd_applicant_details'][$j]['applicant'] = $splitCompanyandApplicant[0];
$pd_applicant_details[$j]['company_name'] = isset($splitCompanyandApplicant[1]) ? $splitCompanyandApplicant[1] : null;
$modifiedData['pd_applicant_details'][$j]['company_name'] = isset($splitCompanyandApplicant[1]) ? $splitCompanyandApplicant[1] : null;
}
}else{
$pd_applicant_details[0]['applicant_name'] = $applicatantParts[0];
$pd_applicant_details[0]['company_name'] = null;
$modifiedData['pd_applicant_details'][0]['applicant'] = $applicatantParts[0];
$modifiedData['pd_applicant_details'][0]['company_name'] = null;
}
$pd_applicant_details[0]['mobile_no'] = $GSdata[4] ? $GSdata[4] : null;
$modifiedData['pd_applicant_details'][0]['mobile_no'] = $GSdata[4] ? $GSdata[4] : null;
$pd_applicant_details[0]['applicant_type'] = 1;
$modifiedData['pd_applicant_details'][0]['applicant_type'] = 1;
log_message('ERROR',"G-Sheet For PD Step 2.3 (Third Cell applicantdetails) GSheet data : ".$GSdata[$i]);
//." Modify : ".$modifiedData." PD :".$pd_details);
}
if($i==4 && $GSdata[$i] != ""){ $modifiedData['mobileNumber'] = $GSdata[$i];
log_message('ERROR',"G-Sheet For PD Step 2.4 (Fourth Cell mobilenumber) GSheet data : ".$GSdata[$i]);
//." Modify : ".$modifiedData." PD :".$pd_details);
}
if($i==5 && $GSdata[$i] != ""){//address section.
$NormalParts = explode(',', $GSdata[$i]);
$stateAndPincode = end($NormalParts);
$splitStateAndPincode = explode('-',$stateAndPincode , 2);
$modifiedData['state'] = $splitStateAndPincode[0];
$addresses['fk_state']=$this->Data_Dump_Model->getId(5,$splitStateAndPincode[0]);
$pd_details['fk_state'] =$addresses['fk_state'];
$modifiedData['pincode'] = $splitStateAndPincode[1];
$pin = $this->Data_Dump_Model->getId(6,$splitStateAndPincode[1]);
$addresses['pincode'] = ($pin != "" ? $pin : 1);
$pd_details['pincode'] = $addresses['pincode'];
$addresses['other_pincode']=($pin == "" ? $splitStateAndPincode[1] : null);
$pd_details['other_pincode'] = $addresses['other_pincode'];
$city = array_slice($NormalParts, -2, 1);
$modifiedData['city'] = $city[0];
$addresses['fk_city']=$this->Data_Dump_Model->getId(7,$city[0]);
$pd_details['fk_city']=$addresses['fk_city'];
array_splice($NormalParts, -2);//removing city state and pincode.
// $reversedParts = explode('-', strrev($GSdata[$i]), 2);
// array_push($result_data["Pincode"],strrev($reversedParts[0]));
// print_r($NormalParts);
// print_r(array_filter($NormalParts));// removing Null values
$modifiedData['address'] = implode(",",array_filter($NormalParts));
$addresses['addressline1'] = implode(",",array_filter($NormalParts));
$pd_details['addressline1']=$addresses['addressline1'];
// echo "Original Address : ".$GSdata[$i];
// echo "Modified Address : ".$address;
log_message('ERROR',"G-Sheet For PD Step 2.5 (Fifth Cell address) GSheet data : ".$GSdata[$i]);
//." Modify : ".$modifiedData." PD :".$pd_details);
}
if($i==6 && $GSdata[$i] != ""){
$modifiedData['createdPerson'] = $GSdata[$i];
$pd_details['fk_createdby'] = $this->Data_Dump_Model->getId(8,$GSdata[$i]);
log_message('ERROR',"G-Sheet For PD Step 2.6 (Sixth Cell createdPerson) GSheet data : ".$GSdata[$i]);
// ." Modify : ".$modifiedData." PD :".$pd_details);
}
if($i==7 && ($GSdata[$i] != "" || $GSdata[$i] != 0)){
$amount = strtolower($GSdata[$i]);
$amount = explode(' ', $amount);
// 3 zeros in 1,000 - One Thousand
// 4 zeros in 10,000 - Ten Thousand
// 5 zeros in 100,000 - 1 Lakh / 100 Thousand
// 6 zeros in 1,000,000 - 10 Lakh / 1 Million
// 7 zeros in 10,000,000 - 1 Crore / 10 Million
// 8 zeros in 100,000,000 - 10 Crore / 100 Million
// 9 zeros in 1,000,000,000 - 100 Crore / 1 Billion
// 10 zeros in 10,000,000,000 - 1,000 Crore / 10 Billion
// 11 zeros in 100,000,000,000 - 10,000 Crore / 100 Billion
// 12 zeros in 1,000,000,000,000 - 1 Lakh Crore / 1 Trillion
// 13 zeros in 10,000,000,000,000 - 10 Lakh Crore / 10 Trillion
if(gettype($amount[1]) == 'string'){
if($amount[1] == 'cr' || $amount[1] == 'crore'){
$amount[1] = "0000000";
}
if($amount[1] == 'lac' || $amount[1] == 'lacs' || $amount[1] == 'lakh'){
$amount[1] = "000000";
}
if($amount[1] =='k' ||$amount[1] == 'thousand'){
$amount[1] = "000";
}}
$modifiedData['loanAmount'] = implode("",$amount);
$pd_details['loan_amount'] = implode("",$amount);
log_message('ERROR',"G-Sheet For PD Step 2.7 (Seventh Cell Amount) GSheet data : ".$GSdata[$i]." Modify : ".$modifiedData['loanAmount']." PD :".$pd_details['loan_amount']);
}
if($i==8 && $GSdata[$i] != ""){
$product = explode('/', $GSdata[$i]);
if(count($product)>1){
$modifiedData['product'] = $product[0] ? $product[0] : null;
$modifiedData['subproduct'] = $product[1] ? $product[1] : null ;
$fk_product_id = $this->Data_Dump_Model->getId(2,$product[0]);
$pd_details['fk_product_id'] = $fk_product_id;
$pd_details['fk_subproduct_id'] = $this->Data_Dump_Model->getId(3,$product[1]);
}
else{
$modifiedData['product'] = $product[0] ? $product[0] : null ;
$fk_product_id = $this->Data_Dump_Model->getId(2,$product[0]);
$pd_details['fk_product_id'] = $product[0] ? $fk_product_id : null ;
}
log_message('ERROR',"G-Sheet For PD Step 2.8 (eighth Cell Product/SubProduct) GSheet data : ".$GSdata[$i]);
//." Modify : ".$modifiedData." PD :".$pd_details);
}
if($i==9 && $GSdata[$i] != ""){
$type = explode('/', $GSdata[$i]);
$modifiedData['type'] = ($type[0] != "") ? strtoupper(str_replace(' ', '', $type[0])) : "FULLPD";
if(count($type)>1){
$pd_details['fk_pd_type'] = $modifiedData['type'] == "FULLPD" ? 1 : ($modifiedData['type'] == "SMARTPD" ? 2 :($modifiedData['type'] == "TELEPD" ? 3 : 0) ) ;
$modifiedData['customerSegment'] = ($type[1] != "") ? $type[1] : null;
$fk_customer_segment = $this->Data_Dump_Model->getId(4,$modifiedData['customerSegment']);
$pd_details['fk_customer_segment'] = $fk_customer_segment;
}else{
$pd_details['fk_pd_type'] = $modifiedData['type'] == "FULLPD" ? 1 : ($modifiedData['type'] == "SMARTPD" ? 2 :($modifiedData['type'] == "TELEPD" ? 3 : 0) ) ;
}
log_message('ERROR',"G-Sheet For PD Step 2.9 (ninth Cell type/cs) GSheet data : ".$GSdata[$i]." Modify : ".$modifiedData['type']." PD :".$pd_details['fk_pd_type']);
}
if($i==10 && $GSdata[$i] != ""){
// $modifiedData['date'] = $GSdata[$i];
$new_date_format = date('Y-m-d H:i:s', strtotime($GSdata[$i]));
$modifiedData['date'] = $new_date_format;
$pd_details['pd_date_of_initiation'] = $new_date_format;
log_message('ERROR',"G-Sheet For PD Step 2.10 (tenth Cell initiationdate) GSheet data : ".$GSdata[$i]." Modify : ".$modifiedData['date']." PD :".$pd_details['pd_date_of_initiation']);
}
if($i==11 && $GSdata[$i] != ""){
$modifiedData['remarks'] = $GSdata[$i];
$pd_details['remarks'] = $GSdata[$i];
log_message('ERROR',"G-Sheet For PD Step 2.11 (eleventh Cell Remarks) GSheet data : ".$GSdata[$i]." Modify : ".$modifiedData['remarks']." PD :".$pd_details['remarks']);
}
}
## Default Status section;
$pd_details['pd_status'] = TRIGGERED;
## Template ID Section.
$fields = array('fk_template_id');
$where_condition_array = array('fk_lender_id'=>$fk_lender_id ,'fk_product_id'=> $fk_product_id,'fk_customer_segment'=> $fk_customer_segment,'isactive' => 1);
$table = LENDERTEMPLATE;
$choosed_template_id = $this->Data_Dump_Model->selectCustomRecords($fields,$where_condition_array,$table);
if(count($choosed_template_id))## CHOOSE FILTERED TEMPLATE
{
$pd_details['fk_pd_template_id'] = $choosed_template_id[0]['fk_template_id'];
}
else ## CHOOSE GENERIC TEMPLATE
{ $customer_segment_abbr = $this->Data_Dump_Model->selectCustomRecords(array('*'),array('customer_segment_id' => $pd_details['fk_customer_segment'],'isactive' => 1),CUSTOMERSEGMENT);
$customer_segment_abbr = $customer_segment_abbr[0]['abbr'];
if( !strcasecmp($customer_segment_abbr,'SAL'))// || !strcasecmp($customer_segment_abbr,'SAL-CHQ'))
{$pd_details['fk_pd_template_id'] = 1;## SAL-(CASH/CHQ)
}
else if( !strcasecmp($customer_segment_abbr,'SE-DI') || !strcasecmp($customer_segment_abbr,'SEP-DI') || !strcasecmp($customer_segment_abbr,'SEP_INDV'))
{$pd_details['fk_pd_template_id'] = 2;## SENP/SEP-(DI)
}
else if( !strcasecmp($customer_segment_abbr,'SE-AI') || !strcasecmp($customer_segment_abbr,'SEP-AI') )
{$pd_details['fk_pd_template_id'] = 3;## SENP/SEP-(DI)
}
else if( !strcasecmp($customer_segment_abbr,'SE-RI'))
{$pd_details['fk_pd_template_id'] = 4;## SENP/SEP-(RI)
}
}
## Random URL Section.
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < 16; $i++)
{
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
$pd_details['random_string'] = $randomString;
$pd_details['is_notify_enabled'] = 1;
log_message('ERROR',"G-Sheet For PD Step 3 (Before Inserting Trigger)");
// PDdetails :".$pd_details);
try {
$pd_id = $this->Data_Dump_Model->saveRecords($pd_details,PDTRIGGER);
log_message('ERROR',"G-Sheet For PD Step 4 (PDID gotten) PDID : ".$pd_id);
if(empty($pd_id)) {
throw new Exception('Error On Inserting TRIGGER details');
}
} catch (Exception $e) {
log_message('ERROR',"G-Sheet For PD Step 4 (PDID gotten) ERR : ".$e->getMessage());
var_dump($e->getMessage());
}
// $pd_id = 3073;
if($pd_id != null || $pd_id != '')
{
if($pd_applicant_details != "" || $pd_applicant_details != null)
{
log_message('ERROR',"G-Sheet For PD Step 5 (applicant)");
// Applicant : ".$pd_applicant_details);
foreach($pd_applicant_details as $pd_applicant_detail)
{
$pd_applicant_detail['fk_pd_id'] = $pd_id;
$pd_applicant_detail['applicant_name'] = trim(MYUTIL::applicantNameCamelCaseConvertion($pd_applicant_detail['applicant_name']));
if($pd_applicant_detail['company_name']){ $pd_applicant_detail['company_name'] = trim(MYUTIL::applicantNameCamelCaseConvertion($pd_applicant_detail['company_name'])); }
try {
$co_applicant_id = $this->Data_Dump_Model->saveRecords($pd_applicant_detail,PDAPPLICANTSDETAILS);
log_message('ERROR',"G-Sheet For PD Step 5.1 (applicant pkid) Applicant-ID : ".$co_applicant_id);
if(empty($co_applicant_id)) {
throw new Exception('Error On Inserting Applicant details');
}
} catch (Exception $e) {
//alert the user.
log_message('ERROR',"G-Sheet For PD Step 5.1 (applicant pkid) ERR : ".$e->getMessage());
var_dump($e->getMessage());
}
}
}
}
## Address Section.
if($pd_id != ""){
$addresses['fk_pd_id'] = $pd_id;
$addresses['is_primary'] = 1 ;
$addresses['assigned_pd'] = $pd_id;
try {
$address_id = $this->Data_Dump_Model->saveRecords($addresses,PDADDRESS);
log_message('ERROR',"G-Sheet For PD Step 6 (Addresses) addressId : ".$address_id);
if(empty($address_id)) {
throw new Exception('Error On Inserting Adresses details');
}
} catch (Exception $e) {
log_message('ERROR',"G-Sheet For PD Step 6 (Addresses) ERR : ".$e->getMessage());
var_dump($e->getMessage());
}
$triggertbl_records = array('fk_primary_address_id'=>$address_id,'fk_address_id'=>$address_id);
try {
$this->Data_Dump_Model->updateRecords($triggertbl_records,PDTRIGGER,array('pd_id' => $pd_id));
log_message('ERROR',"G-Sheet For PD Step 7 (updateAddresses in trigger)");
if(empty($this->Data_Dump_Model->updateRecords($triggertbl_records,PDTRIGGER,array('pd_id' => $pd_id)))) {
throw new Exception('Error On updated Adresses Details in trigger table');
}
} catch (Exception $e) {
//alert the user.
log_message('ERROR',"G-Sheet For PD Step 7 (updateAddresses in trigger) ERR : ".$e->getMessage());
var_dump($e->getMessage());
}
}
// print_r($pd_details);
// print_r($modifiedData);
// print_r($addresses);
// print_r($pd_applicant_details);
// die();
log_message('ERROR',"#/# G-Sheet Final PDID : ".$pd_id);
return $pd_id;
}
}