diff --git a/api/application/config/routes.php b/api/application/config/routes.php index b2829701..fda37078 100755 --- a/api/application/config/routes.php +++ b/api/application/config/routes.php @@ -357,4 +357,6 @@ $route['verifyOTP'] = 'User_Management_Controller/verifyOTP'; $route['awsrek/(:any)'] = 'Test/testAwsrek'; $route['optimizeImages/(:num)'] = 'PD_Controller/optimizeImages'; $route['downloadSMCExcelFile/(:num)'] = 'PD_Controller/downloadSMCExcelFile'; -$route['compareFaces'] = 'Test/compareFaces'; \ No newline at end of file +$route['compareFaces'] = 'Test/compareFaces'; + +$route['googleSheet'] = 'Data_Dump_Controller/googleSheet'; \ No newline at end of file diff --git a/api/application/controllers/Data_Dump_Controller.php b/api/application/controllers/Data_Dump_Controller.php index 1565e80d..3cea4004 100644 --- a/api/application/controllers/Data_Dump_Controller.php +++ b/api/application/controllers/Data_Dump_Controller.php @@ -81,4 +81,263 @@ class Data_Dump_Controller extends REST_Controller { } } + + //[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(){ + $sheetData = $this->post(); + // $reponse = $this->Data_Dump_Model->GsheetData($sheetData); + $modified = $this->modificationGsheetData($sheetData); + $reponse = $this->Data_Dump_Model->GsheetData($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){ + // echo count($GSdata); + $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;$iData_Dump_Model->getId(1,$GSdata[$i]); + $pd_details['fk_lender_id']=$fk_lender_id; + // $pd_details['sub_entity_id'] ="42"; + } + if($i==2 && $GSdata[$i] != ""){ + $modifiedData['lender_applicant_id'] = str_replace(" ", "", $GSdata[$i]); + $pd_details['lender_applicant_id'] =str_replace(" ", "", $GSdata[$i]); + } + $mobile_no = ""; + if($i==4 && $GSdata[$i] != ""){ + $modifiedData['mobileNumber'] = $GSdata[$i]; + $mobile_no = $GSdata[$i]; + } + if($i==3 && $GSdata[$i] != ""){ + $flag = 0; + $companyParts = explode('/', $GSdata[$i]); + if(count($companyParts)>1){ + $applicatantParts = explode(',', $companyParts[0]); + if(count($applicatantParts)>1){ + for($j=0;$j 0){ + $pd_applicant_details[0]['applicant_name'] = $GSdata[$i]; + $modifiedData['pd_applicant_details'][0]['applicant'] = $GSdata[$i]; + } + } + + 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]); + $modifiedData['pincode'] = $splitStateAndPincode[1]; + $pin = $this->Data_Dump_Model->getId(6,$splitStateAndPincode[1]); + $addresses['pincode'] = ($pin != "" ? $pin : 1); + $addresses['other_pincode']=($pin == "" ? $splitStateAndPincode[1] : null); + $city = array_slice($NormalParts, -2, 1); + $modifiedData['city'] = $city[0]; + $addresses['fk_city']=$this->Data_Dump_Model->getId(7,$city[0]); + 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)); + // echo "Original Address : ".$GSdata[$i]; + // echo "Modified Address : ".$address; + } + if($i==6 && $GSdata[$i] != ""){ + $modifiedData['createdPerson'] = $GSdata[$i]; + $pd_details['fk_createdby'] = $this->Data_Dump_Model->getId(8,$GSdata[$i]); + + } + 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); + } + 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 ; + } + } + 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) ) ; + } + } + 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; + } + if($i==11 && $GSdata[$i] != ""){ + $modifiedData['remarks'] = $GSdata[$i]; + $pd_details['remarks'] = $GSdata[$i]; + } + + } + ## 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->PD_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->PD_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; + $pd_id = $this->PD_Model->saveRecords($pd_details,PDTRIGGER); + // $pd_id = 0; + if($pd_id != null || $pd_id != '') + { + if($pd_applicant_details != "" || $pd_applicant_details != null) + { + foreach($pd_applicant_details as $pd_applicant_detail) + { + $pd_applicant_detail['fk_pd_id'] = null; + $pd_applicant_detail['applicant_name'] = trim(MYUTIL::applicantNameCamelCaseConvertion($pd_applicant_detail['applicant_name'])); + $pd_applicant_detail['company_name'] = trim(MYUTIL::applicantNameCamelCaseConvertion($pd_applicant_detail['company_name'])); + + $co_applicant_id = $this->PD_Model->saveRecords($pd_applicant_detail,PDAPPLICANTSDETAILS); + if($co_applicant_id != null || $co_applicant_id != '') + { + $count = $count + 1; + } + } + } + } + + + ## Address Section. + // print_r($addresses); + if($pd_id != null || $pd_id != '') + { + if(count($addresses)) + { + foreach($addresses as $address_key => $address) + { + // $address->fk = 7 ; + $address['fk_pd_id'] = $pd_id; + $address['is_primary'] = count($addresses) == 1 ? 1 :0 ; + $address['assigned_pd'] = count($addresses) == 1 ? 0 :null ; + $address_id = $this->PD_Model->saveRecords($address,PDADDRESS); + // if($address_key == 0) + // { + // $temp_address_id = $address_id; + // } + } + }} + // print_r($pd_details); + // print_r($modifiedData); + // print_r($addresses); + // print_r($pd_applicant_details); + // print_r($address); + // die(); + return $pd_id; + } } \ No newline at end of file diff --git a/api/application/models/Data_Dump_Model.php b/api/application/models/Data_Dump_Model.php index beaaee5a..db539205 100755 --- a/api/application/models/Data_Dump_Model.php +++ b/api/application/models/Data_Dump_Model.php @@ -120,4 +120,37 @@ class Data_Dump_Model extends SPARQ_Model { $result['pdid'] = $this->db->select('PDTRIGGER.pd_sno,PDTRIGGER.pd_id')->from(PDTRIGGER.' as PDTRIGGER')->WHERE('PDTRIGGER.pd_status !=',"TRUNCATED")->GET()->result_array(); return $result; } + + public function getId($flag,$keyword){ + // echo "flag".$flag; + $keyword = str_replace(" ", "",$keyword); + if($flag == 1){ + // "entity_id": "16", + // "full_name": "Clix Capital Services Private Limited", + // "short_name": "CLIX", + $select = "entity_id";$table = "m_entity";$where = "short_name";} + if($flag == 2){$select = "product_id"; $table = "m_products"; $where = "abbr";} + if($flag == 3){$select = "subproduct_id"; $table = "m_subproducts"; $where = "abbr";} + if($flag == 4){$select = "customer_segment_id"; $table = "m_customer_segment"; $where = "abbr";} + if($flag ==5 ){$select = "state_id"; $table = "m_states"; $where = "name";} + if($flag ==6 ){$select = "pincode_id";$where = "pincode";$table = "m_pincode";} + if($flag ==7 ){$select = "city_id";$where = "name";$table = "m_city";} + if($flag ==8 ){$select = "userid";$where = "first_name";$table = "m_user_profile";} + + $this->db->select($select); + $this->db->from($table); + $this->db->where($where." LIKE '%$keyword%'"); + $this->db->where("isactive",1); + + $row = $this->db->get()->row(); + if (isset($row)) { + $id = $row->$select; + } else { + $id = ""; + } + return $id; + } + + // public function GsheetData($GSdata){ + // } } \ No newline at end of file