sparqapi/api/application/helpers/smc_creditpd_helper.php
2022-09-26 16:04:05 +00:00

738 lines
34 KiB
PHP

<?php
class smc_creditpd
{
private static $current_pd_id = null;
public static function getSMCCreditPDReportContent($section,$pd_id,$company)//1 = Di, 2 = SAL
{
SELF::$current_pd_id = $pd_id;
// $CI =&get_instance();
// $CI->load->model('PD_Model');
$return_data =array();
switch($section['fk_form_id'])
{
case 1://borrower
$return_data = SELF::getBorrowerSectionData($section);
break;
case 4://General Business
$json = json_decode($section['json'],true);
for($i=0;$i<count($json['business_entity']);$i++)
{
$value = $json['business_entity'][$i]['company_name'];
$json['business_entity'][$i]['name_of_the_company'] = (isset($value) ? $company[$value] : 'NA');
}
$return_data = $json;
break;
case 5://Key Stakeholders
$json = json_decode($section['json'],true);
for($i=0;$i<count($json['key_stakeholders']);$i++)
{
$value = $json['key_stakeholders'][$i]['company_name'];
$json['key_stakeholders'][$i]['name_of_the_company'] = (isset($value) ? $company[$value] : 'NA');
}
$return_data = $json;
break;
case 6://bbusiness brief
$json = json_decode($section['json'],true);
for($i=0;$i<count($json['key_products_contribution']);$i++)
{
$value = $json['key_products_contribution'][$i]['company_name'];
$json['key_products_contribution'][$i]['name_of_the_company'] = (isset($value) ? $company[$value] : 'NA');
}
$return_data = $json;
break;
case 7://emp strength
case 9://banking
case 10://finance
case 14://future
case 18://credit
case 19://final remarks
// $return_data = json_decode($section['json'],true);
$return_data = SELF::getFinalRemarksSectionData($section);
break;
case 3://fund
$return_data = SELF::getLoanSectionData($section);
break;
case 2://address
$return_data = SELF::getAddressSectionData($section);
break;
case 8://assest
$return_data = SELF::getAssestSectionData($section);
// print_r($return_data);
break;
case 11://supplier
$return_data = SELF::getSupplierSectionData($section,$company);
break;
case 12://client
$return_data = SELF::getClientSectionData($section,$company);
break;
case 13://stock
$return_data = SELF::getStockSectionData($section,$company);
break;
case 15://existing loan
$return_data = SELF::getExistingLoanSectionData($section);
break;
case 16://other family
$return_data = SELF::getFamilySectionData($section);
// print_r($return_data);die();
break;
case 17://neighborhood
$return_data = SELF::getNeibourSectionData($section);
break;
case 21://General Section
$return_data = json_decode($section['json'],true);
break;
case 22://Profile
$return_data = json_decode($section['json'],true);
break;
case 23://Size and Geographical Reach
$return_data = json_decode($section['json'],true);
break;
case 24://Product and Process
$return_data = json_decode($section['json'],true);
break;
case 25://Portfolio Health
$return_data = json_decode($section['json'],true);
break;
case 26://Total Overall Debt/Equity Profile
$return_data = json_decode($section['json'],true);
break;
case 27://Financial Analysis
$return_data = json_decode($section['json'],true);
break;
case 28://Overall Plan of Action
$return_data = json_decode($section['json'],true);
break;
case 29://Validation Points vide Systems and Books at HQ & Branches
$return_data = json_decode($section['json'],true);
break;
}
// print_r($return_data);die();
return $return_data;
}
static function getBorrowerSectionData($section)
{
$json = json_decode($section['json'],true);
$person_met = '';
$mobile_numbers_array = array();
// echo "Step 1 Mobile Number Arr Empty";print_r($mobile_numbers_array);
$inx = 0;
foreach ($json['borrower_details'] as $key => $value)
{
$mobile_numbers = '';
if(isset($value['mobile_numbers']) && count($value['mobile_numbers']))
{
// echo "Step 2 Incoming Mobile Numbers Checks"; print_r($value['mobile_numbers']);
foreach ($value['mobile_numbers'] as $k => $smn)
{
if((count($value['mobile_numbers']) - 1) == $k){$mobile_numbers .= ($smn['mobile_no']); break;}
$mobile_numbers .= ($smn['mobile_no'].',<br>');
}
$json['borrower_details'][ $key ] ['mobile_numbers'] = $mobile_numbers;
if($mobile_numbers)
{
$mobile_numbers_array[('##'.$inx.'##')] = '( ' . str_replace('<br>', '', $mobile_numbers) . ' ) ';
}
// echo "Step 3 Now I have Mobile Arrs"; print_r($mobile_numbers_array);
}
if(isset($value['borrower_met']) && !strcasecmp($value['borrower_met'],'yes'))
{
$temp_person_met = $value['borrower_name'].', ';
// echo "Step 4 In person Met and I have "; print_r($mobile_numbers_array);
if(isset($value['mobile_numbers']) && count($value['mobile_numbers']))
{ //echo "Step 5 person met is connected to spec inx ".$value['borrower_name'].'##'.$inx.'##';
$temp_person_met = $value['borrower_name'].'##'.$inx.'## , ';
}
//$temp_person_met .= ($mobile_numbers != '' ? '(' .$mobile_numbers. ') ,': ',');
$person_met .= $temp_person_met;
}
$mobile_numbers = '';
$inx++;
}
// echo 'Step 6 Visted Person are '.$person_met;
// if(!isset($json['person_met']))
// {
// $json['person_met'] = '';
// }
if($person_met != '')
{
$person_met = substr_replace($person_met,'',-2);
// echo 'Step 7 Visted Person are but removed Comma'.$person_met;
if(substr_count($person_met,','))
{
$person_met = substr_replace($person_met,' and ',strrpos($person_met,','),2);
}
}
// print_r($person_met);
foreach ($mobile_numbers_array as $key => $value)
{
$person_met = str_replace($key, $value, $person_met);
}
// echo "Step 8 person with Mobile Number".$person_met;
$json['person_met'] = $person_met;
return $json;
}
static function getAssestSectionData($section)
{
$json = json_decode($section['json'],true);
$rupee_symbol = "<span style='font-family: DejaVu Sans; sans-serif;font-size:10px'>₹</span>";
// $CI =&get_instance();
// $CI->load->model('PD_Model');
if(isset($json['business_assets_details']) && is_array($json['business_assets_details']) && count($json['business_assets_details']))
{
$applicant_details = applicantname_grabber::getLatestApplicantsName($section['fk_pd_id']);
$asset_type = array('2' => 'Property','3' => 'Vehicle','4' => 'Equipments and machinery','5' => 'Jewellery','6' => 'Life Insurance Policy','7' => 'Investments','1' => 'Others');
$address_type = array('2' => 'Clinic','3' => 'Factory','4' => 'Warehouse / Godown','5' => 'Shop','6' => 'Residence','7' => 'Residence cum Office','1' => 'Others','8' => 'Industrial Shed','9'=> 'Workshop','10'=> 'Business Centre','11'=> 'Shared Office','12'=> 'Office');
$vehicle_type = array('2' => 'Car/Jeep','3' => 'Truck/ Bus','4' => 'Rickshaw/Tempo','5' => 'Tractor','6' => 'Two Wheeler','1' => 'Others');
// print_r($applicant_details);die();
$header_row = '<tr>'.'<th> Particulars </th>';
$first_row = '<tr>'.'<td> Asset Type </td>';
$second_row = '<tr>'.'<td> Asset Description </td>';
$third_row = '<tr>'.'<td> Asset Ownership (Owned / Rented) </td>';
$fourth_row = '<tr>'.'<td> If Owned then Owner Name </td>';
$five_row = '<tr>'.'<td> If Owned then Market Value </td>';
$siz_row = '<tr>'.'<td> Age of the Asset (Years) </td>';
$seven_row = '<tr>'.'<td> Is there a Loan Against the Asset? (Yes / No) </td>';
foreach ($json['business_assets_details'] as $key => $value)
{
$json['business_assets_details'][$key]['business_assets_mode_name'] = ( $value['business_assets_mode'] == 1 ? $value['other_asset_description'] : $asset_type [ $value['business_assets_mode'] ]);
$json['business_assets_details'][$key]['business_owner_name'] = (isset($value['business_name_of_the_owner']) ? (applicantname_grabber::getApplicantsNameById($value['business_name_of_the_owner'],$applicant_details)): 'NA');
$description = $value['other_asset_description'];
if(isset($value['property_type']))
{
if($value['property_type'] == 1){ $description .= '('. $value['property_type_others'] .')'; }
else{ $description .= '('. $address_type[ $value['property_type'] ] .')'; }
}
if(isset($value['vehicle_type']))
{
if($value['vehicle_type'] == 1){ $description .= '('. $value['vehicle_type_others'] .')'; }
else{$description .= '('. $vehicle_type[ $value['vehicle_type'] ] .')';}
}
if(isset($value['business_purchase_year']))
{
$description .= ' purchased at '.$value['business_purchase_year'];
}
if(isset($value['property_address']))
{
$description .= ' is in '. $value['property_address'];
}
$business_ownership_type = $value['business_ownership_type'] . (isset($value['business_monthly_rented_amt']) ? ' ( '. $rupee_symbol .' '. MYUTIL::customIndianNumberFormat($value['business_monthly_rented_amt']) .' ) ' : '');
$header_row .= '<th> Assest '. ( $key + 1 ).'</th>';
$first_row .= '<td style="text-align:center;">'. ( $value['business_assets_mode'] == 1 ? $value['other_asset_description'] : $asset_type [ $value['business_assets_mode'] ]).'</td>';
$second_row .= '<td style="text-align:center;">'. $description .'</td>';
$third_row .= '<td style="text-align:center;"> '.$business_ownership_type.' </td>';
$business_name_of_the_owner = (isset($value['business_name_of_the_owner']) ? (applicantname_grabber::getMultipleApplicantsNameById($value['business_name_of_the_owner'],$applicant_details)): 'NA');
$fourth_row .= '<td style="text-align:center;"> '. $business_name_of_the_owner .' </td>';
$five_row .= '<td style="text-align:center;"> '. (isset($value['business_approximate_market_value']) ? ( $rupee_symbol .' '. MYUTIL::customIndianNumberFormat($value['business_approximate_market_value'])) : 'NA') .' </td>';
$siz_row .= '<td style="text-align:center;"> '. (isset($value['business_purchase_year']) ? $value['business_purchase_year'] : 'NA') .' </td>';
$seven_row .= '<td style="text-align:center;"> '. (isset($value['business_emi']) ? $value['business_emi'] : 'NA') .' </td>';
}
$header_row .= '</tr>';
$first_row .= '</tr>';
$second_row .= '</tr>';
$third_row .= '</tr>';
$fourth_row .= '</tr>';
$five_row .= '</tr>';
$siz_row .= '</tr>';
$json['display_data'] = array('header_row' => $header_row,'first_row' => $first_row,'second_row' => $second_row,'third_row' => $third_row,'fourth_row' => $fourth_row,'five_row' => $five_row,'siz_row' => $siz_row,'seven_row' => $seven_row);
}
return $json;
}
static function getSupplierSectionData($section,$company)
{
// echo "i am in supp Fns";print_r($company);exit();
$json = json_decode($section['json'],true);
// print_r(json_decode($section['clist'],true));
$payment_term = array('1' => 'Supply against advance payment','2' => 'Payment on Receipt of goods / service','3' => 'Payment after Credit Period provided');
// print_r($json);//die();
$header_row = '<tr>'.'<th> Particulars </th>';
$first_row = '<tr>'.'<td> Item Purchased </td>';
$second_row = '<tr>'.'<td> Contact Person </td>';
$third_row = '<tr>'.'<td> Mobile Number </td>';
$fourth_row = '<tr>'.'<td> Landline No </td>';
$five_row = '<tr>'.'<td> Payment Terms </td>';
$siz_row = '<tr>'.'<td> Payment Mode </td>';
$seven_row = '<tr>'.'<td> No of days credit </td>';
$eigth_row = '<tr>'.'<td>Total purchase done on credit </td>';
$ninth_row = '<tr>'.'<td>Name of the Company</td>';
if(isset($json['supplier_details']) && is_array($json['supplier_details']) && count($json['supplier_details']))
{
foreach ($json['supplier_details'] as $key => $value)
{
$json['supplier_details'][$key]['name_of_the_company'] = (isset($value['company_name']) ? $company[$value['company_name']] : 'NA');
$json['supplier_details'][$key]['type_of_payment'] = (isset($value['payment_type']) ? $payment_term [ $value['payment_type'] ]: 'NA');
$header_row .= '<th>Supplier '.$value['supplier_name'].'</th>';
$first_row .= '<td style="text-align:center;">'. $value['provider_name'] .'</td>';
$second_row .= '<td style="text-align:center;">'. $value['contact_person_name'] .'</td>';
$third_row .= '<td style="text-align:center;"> '. (empty($value['contact_person_mobile_no']) ? '-':$value['contact_person_mobile_no']) .' </td>';
// $business_name_of_the_owner = (isset($value['business_name_of_the_owner']) ? (applicantname_grabber::getApplicantsNameById($value['business_name_of_the_owner'],$applicant_details)): 'NA');
$fourth_row .= '<td style="text-align:center;"> '. $value['person_stdcode'].' - '.$value['person_landline'] .' </td>';
$five_row .= '<td style="text-align:center;"> '. (isset($value['payment_type']) ? $payment_term [ $value['payment_type'] ]: 'NA') .' </td>';
$siz_row .= '<td style="text-align:center;"> '. (isset($value['payment_mode']) ? $value['payment_mode'] : 'NA') .' </td>';
$seven_row .= '<td style="text-align:center;"> '. (isset($value['credit_period_no']) ? $value['credit_period_no'] : 'NA') .' </td>';
$eigth_row .= '<td style="text-align:center;"> '. (isset($value['credit_total_purchase']) ? $value['credit_total_purchase'].'%' : 'NA') .' </td>';
$ninth_row .= '<td style="text-align:center;"> '. (isset($value['company_name']) ? $company[$value['company_name']] : 'NA') .' </td>';
}
$header_row .= '</tr>';
$first_row .= '</tr>';
$second_row .= '</tr>';
$third_row .= '</tr>';
$fourth_row .= '</tr>';
$five_row .= '</tr>';
$siz_row .= '</tr>';
$seven_row .= '</tr>';
$eigth_row .= '</tr>';
$ninth_row .= '</tr>';
$json['display_data'] = array('header_row' => $header_row,'first_row' => $first_row,'second_row' => $second_row,'third_row' => $third_row,'fourth_row' => $fourth_row,'five_row' => $five_row,'siz_row' => $siz_row,'seven_row' => $seven_row,'eigth_row' => $eigth_row,'ninth_row'=>$ninth_row);
}
return $json;
}
static function getClientSectionData($section,$company)
{
$json = json_decode($section['json'],true);
$payment_term = array('1' => 'Supply against advance payment','2' => 'Payment on Receipt of goods / service','3' => 'Payment after Credit Period provided');
// print_r($json);die();
if(isset($json['client_details']) && is_array($json['client_details']) && count($json['client_details']))
{
$header_row = '<tr>'.'<th> Particulars </th>';
$first_row = '<tr>'.'<td> Product/ Service </td>';
$second_row = '<tr>'.'<td> Contact Person </td>';
$third_row = '<tr>'.'<td> Mobile Number </td>';
$fourth_row = '<tr>'.'<td> Landline No </td>';
$five_row = '<tr>'.'<td> Payment Terms </td>';
$siz_row = '<tr>'.'<td> Payment Mode </td>';
$seven_row = '<tr>'.'<td> No of days credit </td>';
$eight_row = '<tr>'.'<td>Total sales done on credit</td>';
$ninth_row = '<tr>'.'<td>Name of the Company</td>';
foreach ($json['client_details'] as $key => $value)
{
$json['client_details'][$key]['name_of_the_company'] = (isset($value['company_name']) ? $company[$value['company_name']] : 'NA');
$json['client_details'][$key]['type_of_payment'] = (isset($value['payment_type']) ? $payment_term [ $value['payment_type'] ]: 'NA');
$header_row .= '<th>Client '.$value['client_name'].'</th>';
$first_row .= '<td style="text-align:center;">'. $value['provider_name'] .'</td>';
$second_row .= '<td style="text-align:center;">'. $value['contact_person_name'] .'</td>';
$third_row .= '<td style="text-align:center;"> '. (empty($value['contact_person_mobile_no']) ? '-':$value['contact_person_mobile_no']) .' </td>';
// $business_name_of_the_owner = (isset($value['business_name_of_the_owner']) ? (applicantname_grabber::getApplicantsNameById($value['business_name_of_the_owner'],$applicant_details)): 'NA');
$fourth_row .= '<td style="text-align:center;"> '. $value['person_stdcode'].' - '.$value['person_landline'] .' </td>';
$five_row .= '<td style="text-align:center;"> '. (isset($value['payment_type']) ? $payment_term [ $value['payment_type'] ]: 'NA') .' </td>';
$siz_row .= '<td style="text-align:center;"> '. (isset($value['payment_mode']) ? $value['payment_mode'] : 'NA') .' </td>';
$seven_row .= '<td style="text-align:center;"> '. (isset($value['credit_period_no']) ? $value['credit_period_no'] : 'NA') .' </td>';
$eight_row .= '<td style="text-align:center;"> '. (isset($value['credit_total_purchase']) ? $value['credit_total_purchase'].'%' : 'NA') .' </td>';
$ninth_row .= '<td style="text-align:center;"> '. (isset($value['company_name']) ? $company[$value['company_name']] : 'NA') .' </td>';
}
$header_row .= '</tr>';
$first_row .= '</tr>';
$second_row .= '</tr>';
$third_row .= '</tr>';
$fourth_row .= '</tr>';
$five_row .= '</tr>';
$siz_row .= '</tr>';
$seven_row .= '</tr>';
$eight_row .= '</tr>';
$ninth_row .= '</tr>';
$json['display_data'] = array('header_row' => $header_row,'first_row' => $first_row,'second_row' => $second_row,'third_row' => $third_row,'fourth_row' => $fourth_row,'five_row' => $five_row,'siz_row' => $siz_row,'seven_row' => $seven_row,'eight_row' => $eight_row,'ninth_row'=>$ninth_row);
}
return $json;
}
static function getStockSectionData($section)
{
$json = json_decode($section['json'],true);
$CI =&get_instance();
$CI->load->model('PD_Model');
$uom_master = $CI->PD_Model->selectCustomRecords(array('*'),array('isactive' => 1),UOM);
// print_r($json);die();
if(isset($json['stock_details']) && is_array($json['stock_details']) && count($json['stock_details']))
{
foreach ($json['stock_details'] as $key => $value)
{
if(isset($value['company_name']))
{
$json['stock_details'][$key]['name_of_the_company'] = (isset($value['company_name']) ? $company[$value['company_name']] : 'NA');
}
if(isset($value['estimated_uom']))
{
//echo $value['estimated_uom'];die();
foreach ($uom_master as $m_key => $mvalue)
{
if($value['estimated_uom'] == $mvalue['uom_id'])
{ $json['stock_details'][$key]['estimated_uom'] = $mvalue['name'];break; }
}
}
}
}
//echo 'asfter';
// print_r($json);die();
return $json;
}
static function getExistingLoanSectionData($section)
{
$json = json_decode($section['json'],true);
$payment_term = array('1' => 'Supply against advance payment','2' => 'Payment on Receipt of goods / service','3' => 'Payment after Credit Period provided');
// print_r($json);die();
$header_row = '<tr>'.'<th> Particulars </th>';
$first_row = '<tr>'.'<td> Loan Type </td>';
$second_row = '<tr>'.'<td> Loan Amount </td>';
$third_row = '<tr>'.'<td> Availed From </td>';
$fourth_row = '<tr>'.'<td> Borrower`s Name </td>';
$five_row = '<tr>'.'<td> Instalment Amount (Rs) </td>';
$install_fre_row = '<tr>'.'<td> Instalment Frequency (Rs) </td>';
$siz_row = '<tr>'.'<td> Original Tenure (Mnts) </td>';
$seven_row = '<tr>'.'<td> Elapsed Tenure (Mnts) </td>';
$eight_row = '<tr>'.'<td> Balance Tenure (Mnts) </td>';
foreach ($json['existing_loan_details'] as $key => $value)
{
$json['existing_loan_details'][$key]['lender_name'] = ((isset($value['lender_name']) && $value['lender_name'] != 0) ? $value['lender_name'] : 'NA');
$json['existing_loan_details'][$key]['business_owner_name'] = (isset($value['business_name_of_the_owner']) ? (applicantname_grabber::getApplicantsNameById($value['business_name_of_the_owner'],$applicant_details)): 'NA');
$header_row .= '<th>Loan '.($key + 1).'</th>';
$first_row .= '<td style="text-align:center;">'. $value['loan_type'] .'</td>';
$second_row .= '<td style="text-align:center;">'. $value['loan_amount'] .'</td>';
$third_row .= '<td style="text-align:center;"> '. $value['loan_taken_by'] .' </td>';
// $business_name_of_the_owner = (isset($value['business_name_of_the_owner']) ? (applicantname_grabber::getApplicantsNameById($value['business_name_of_the_owner'],$applicant_details)): 'NA');
$fourth_row .= '<td style="text-align:center;"> '. $value['lender_name'] .' </td>';
$five_row .= '<td style="text-align:center;"> '. (isset($value['instalment_amount']) ? $value['instalment_amount'] : 'NA') .' </td>';
$install_fre_row .= '<td style="text-align:center;"> '. (isset($value['instalment_frequency']) ? $value['instalment_frequency'] : 'NA') .' </td>';
$siz_row .= '<td style="text-align:center;"> '. (isset($value['original_tenure_months']) ? $value['original_tenure_months'] : 'NA') .' </td>';
$seven_row .= '<td style="text-align:center;"> '. (isset($value['elapsed_tenure_months']) ? $value['elapsed_tenure_months'] : 'NA') .' </td>';
$eight_row .= '<td style="text-align:center;"> '. (isset($value['current_tenure_months']) ? $value['current_tenure_months'] : 'NA') .' </td>';
}
$header_row .= '</tr>';
$first_row .= '</tr>';
$second_row .= '</tr>';
$third_row .= '</tr>';
$fourth_row .= '</tr>';
$five_row .= '</tr>';
$install_fre_row .= '</tr>';
$siz_row .= '</tr>';
$seven_row .= '</tr>';
$eight_row .= '</tr>';
$json['display_data'] = array('header_row' => $header_row,'first_row' => $first_row,'second_row' => $second_row,'third_row' => $third_row,'fourth_row' => $fourth_row,'five_row' => $five_row,'siz_row' => $siz_row,'seven_row' => $seven_row,'eight_row' => $eight_row,'install_fre_row' => $install_fre_row);
return $json;
}
static function getNeibourSectionData($section)
{
$json = json_decode($section['json'],true);
$applicant_details = applicantname_grabber::getLatestApplicantsName(SELF::$current_pd_id);
$payment_term = array('1' => 'Supply against advance payment','2' => 'Payment on Receipt of goods / service','3' => 'Payment after Credit Period provided');
// print_r($json);die();
// $header_row = '<tr>'.'<th> Particulars </th>';
$first_row = '<tr>'.'<td> Name & brief of Person <br>with whom check done </td>';
$second_row = '<tr>'.'<td> Does the person met <br>know who operates this business?
(Yes / NO) </td>';
$third_row = '<tr>'.'<td> As per person met, how long has the applicants` <br>business been running from this location </td>';
$owner_row = '<tr>'.'<td> As per person met, Name of the owner(s) </td>';
$fourth_row = '<tr>'.'<td> Any other remarks </td>';
$five_row = '<tr>'.'<td> Neighbourhood Check <br>Positive / Negative / Could not verify </td>';
// $siz_row = '<tr>'.'<td> Payment Mode </td>';
// $seven_row = '<tr>'.'<td> No of days credit </td>';
$colspan = 0;
foreach ($json['neighbourhood_list'] as $key => $value)
{
// $header_row .= '<th>Client '.$value['client_name'].'</th>';
$first_row .= '<td style="text-align:center;">'. $value['neighbourhood_name'] .'</td>';
$second_row .= '<td style="text-align:center;">'. ucfirst($value['know_business_operation']) .'</td>';
$time = isset($value['how_long_do_know_in_year']) ? $value['how_long_do_know_in_year'].'Yr(s)' : '';$time .= (isset($value['how_long_do_know_in_month']) && $value['how_long_do_know_in_month'] != 0 ? (' & '.$value['how_long_do_know_in_month'].' Mnt(s)'): '');
$time = empty($time) ? '-' : $time;
$third_row .= '<td style="text-align:center;"> '. $time .' </td>';
$owner_name = isset($value['organisation_owner']) ? applicantname_grabber::getMultipleApplicantsNameById($value['organisation_owner'],$applicant_details) : '';
$owner_row .= '<td style="text-align:center;">'.($owner_name != '' ? $owner_name : '-').'</td>';
$colspan++;
// $business_name_of_the_owner = (isset($value['business_name_of_the_owner']) ? (applicantname_grabber::getApplicantsNameById($value['business_name_of_the_owner'],$applicant_details)): 'NA');
// $fourth_row .= '<td style="text-align:center;"> '. $value['how_long_do_know_in_year'].' - '.$value['how_long_do_know_in_month'] .' </td>';
// $five_row .= '<td style="text-align:center;"> '. (isset($value['payment_type']) ? $payment_term [ $value['payment_type'] ]: 'NA') .' </td>';
// $siz_row .= '<td style="text-align:center;"> '. (isset($value['payment_mode']) ? $value['payment_mode'] : 'NA') .' </td>';
// $seven_row .= '<td style="text-align:center;"> '. (isset($value['credit_period_no']) ? $value['credit_period_no'] : 'NA') .' </td>';
}
// $header_row .= '</tr>';
$first_row .= '</tr>';
$second_row .= '</tr>';
$third_row .= '</tr>';
$fourth_row .= '<td style="text-align:center;" colspan='.$colspan.'>'.$json['neighbourhood_remarks'].'</td>'.'</tr>';
$five_row .= '<td style="text-align:center;" colspan='.$colspan.'>'.$json['neighbourhood_status'].'</td>'.'</tr>';
// $siz_row .= '</tr>';
// $seven_row .= '</tr>';
$json['display_data'] = array('first_row' => $first_row,'second_row' => $second_row,'third_row' => $third_row,'fourth_row' => $fourth_row,'five_row' => $five_row,'owner_row' => $owner_row);
return $json;
}
static function getAddressSectionData($section)
{
$json = json_decode($section['json'],true);
// print_r($json);//die();
$json['address_type'] = isset($json['address_type_others']) && ($json['address_type'] == 1) ? (array('address_type' => $json['address_type_others'])):SELF::getDBvalue(ADDRESSTYPE,ADDRESSTYPEID,$json['address_type']);
$json['pd_locality'] = isset($json['locality_other']) && $json['pd_locality'] == 1 ? (array('locality_name' => $json['locality_other'])) : SELF::getDBvalue(LOCALITY,LOCALITYID,$json['pd_locality']);
$json['pd_location'] = SELF::getDBvalue(PDLOCATIONAPPROACH,PDLOCATIONAPPROACHID,$json['pd_location']);
$json['comment_locality'] = SELF::getDBvalue(COMMENTSONLOCALITY,COMMENTSONLOCALITYID,$json['comment_locality']);
$json['alternative_address'] = isset($json['alternative_address']) ? $json['alternative_address'] : '';
// die();
return $json;
}
static function getDBvalue($table_name,$field_name,$pk)
{
$CI =&get_instance();
$CI->load->model('PD_Model');
$res_data = $CI->PD_Model->selectCustomRecords(array('*'),array('isactive' => 1,$field_name => $pk),$table_name);
//print_r($CI->db->last_query());
if(is_array($res_data) && count($res_data))
{
return $res_data[0];
}
return null;
}
static function getFamilySectionData($section)
{
$json = json_decode($section['json'],true);
$applicant_details = applicantname_grabber::getLatestApplicantsName(SELF::$current_pd_id);
// print_r($json);die();
if(isset($json['family_details']) && count($json['family_details']))
{
foreach ($json['family_details'] as $key => $value)
{
$json['family_details'][$key]['relationship'] = SELF::getDBvalue(RELATIONSHIPS,RELATIONSHIPSID,$value['relationship']);
$json['family_details'][$key]['stakeholder_relation'] = applicantname_grabber::getApplicantsNameById($value['stakeholder_relation'],$applicant_details);
$json['family_details'][$key]['company_relation'] = SELF::getDBvalue(COMPANYRELATIONSHIPS,COMPANYRELATIONSHIPSID,$value['company_relation']);
// $json[$key]['comment_locality'] = SELF::getDBvalue(COMMENTSONLOCALITY,COMMENTSONLOCALITYID,$value['comment_locality']);
// $json['alternative_address'] = isset($json['alternative_address']) ? $json['alternative_address'] : '';
}
}
// print_r($json);die();
// die();
return $json;
}
static function getLoanSectionData($section)
{
$json = json_decode($section['json'],true);
$applicant_details = applicantname_grabber::getLatestApplicantsName(SELF::$current_pd_id);
// print_r($json);die();
$json['owner_name'] = isset($json['owner_name']) ? applicantname_grabber::getMultipleApplicantsNameById($json['owner_name'],$applicant_details) : '';
if(isset($json['lender']))
{
$json['lender'] = SELF::getDBvalue(BTLENDERLIST,BTLENDERLISTID,$json['lender']);
}
$json['state'] = isset($json['state']) ? SELF::getDBvalue(STATE,STATEID,$json['state']) : '';
$json['city'] = isset($json['city']) ? SELF::getDBvalue(CITY,CITYID,$json['city']) : '';
if(isset($json['pincode']))
{
$pin = $json['pincode'] != 1 ? SELF::getDBvalue(PINCODE,PINCODEID,$json['pincode']) : $json['pincode_others'];
$json['pincode'] = is_array($pin) ? $pin['pincode'] : $pin;
}
// print_r($json);die();
return $json;
}
static function getFinalRemarksSectionData($section)
{
$json = json_decode($section['json'],true);
$customer_behaviour = array("1" => 'Others',"2" => 'Rude',"3" => 'Polite');
$pd_officer_recommandations = array("2"=>'Positive',"3"=>'Negative',"5"=>'Refer to Credit',"0"=>'Others');
$json['pd_officer_recommendation_name'] = isset($json['pd_officer_recommendation'])? $pd_officer_recommandations[$json['pd_officer_recommendation']] : 'NA';
$json['customer_behaviour_name'] = (isset($json['customer_behaviour']) ? $customer_behaviour[ $json['customer_behaviour'] ] : 'NA');
// echo 'json***';
// print_r($json);
return $json;
}
public static function covertSMCImgs2ZIP($pdid,$random_string,$pd_master_details = array(),$regenerate = 0)
{
$CI =&get_instance();
$CI->load->model('PD_Model');
if(!count($pd_master_details))
{
$pd_master_details = $CI->PD_Model->getPDMasterDetails($pdid,$random_string,$pd_master_details);
}
if(!file_exists($CI->external_path.'/pd_reports/'.$pdid))
{
mkdir($CI->external_path.'/pd_reports/'.$pdid,0777);
}
$bucketname = LENDER_BUCKET_NAME_PREFIX.$pd_master_details[0]['fk_lender_id'];
$main_applicant_name = $pd_master_details[0]['main_applicant'];
//get zip url from s3 if any
$key = 'pd'.$pdid.'/'.$main_applicant_name.'_'.$pdid.'_'.'pd_images.zip';
//$singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+30 minutes');
if($pd_master_details[0]['is_zip_created'] && ($regenerate == 0))
{
return $singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+30 minutes');
// $response_data['dataStatus'] = true;
// $response_data['status'] = REST_Controller::HTTP_OK;
// $response_data['records'] = $singed_uri;
// $CI->response($response_data,REST_Controller::HTTP_OK); 9344876517
} else
{
$all_pd_images = $CI->PD_Model->selectCustomRecords(array('doc_id', 'fk_smc_credit_pd_id','img','img_name','isactive'),array('fk_smc_credit_pd_id' => $pdid,'isactive' => 1 ),SMC_CREDIT_PD_DOCS);
if(count($all_pd_images)>0){
// $all_form_names = array('pd_form_id'=>19,'pd_form_name'=>"photograph");
// $form_name[19] = "photograph";
//Generate zip file
$CI->load->library('zip');
$CI->zip->add_dir('pdimages');
$is_this_multiple_image = array('property_images','supplier_image','stock_image','client_image','additional_photograph');
$cl=1;$st=1;$su=1;$pr=1;$ad=1;//$first2character flag don't Deleted it.
foreach($all_pd_images as $image)
{
$temp_dir_name = 'Common';
$doc_name = str_replace(':', '-', $image['img_name']);
$src_local_file = XLPATH.'/tmp/'.$doc_name.'.png';
$ifp = fopen( $src_local_file, 'wb' );
$img = explode( ',', $image['img'] );
// fwrite( $ifp, base64_decode( $img[ 1 ] ) );
if($doc_name == "satellite"){
fwrite( $ifp, base64_decode($image['img']) );
}else{
fwrite( $ifp, base64_decode( $img[ 1 ] ) );
}
fclose( $ifp );
$MyFile = file_get_contents($src_local_file);
if( in_array($image['img_name'] ,$is_this_multiple_image))
{ $first2character = substr($image['img_name'], 0, 2);
$char = ${$first2character};
$doc_name = $image['img_name']."_".$char;
${$first2character}++;
}
$CI->zip->add_data('pdimages/'.$doc_name.'.png',$MyFile);
unlink($src_local_file);
}
$temp_path = $main_applicant_name.'_'.$pdid.'_'.'pd_images.zip';
$CI->zip->archive($CI->external_path.'/pd_reports/'.$pdid.'/'.$temp_path);
$bucket_data = array('bucket_name'=>$bucketname,'key'=>$key,'sourcefile'=>($CI->external_path.'/pd_reports/'.$pdid.'/'.$temp_path));
$s3result= $CI->aws_s3->uploadFileToS3Bucket($bucket_data);
//print_r($s3result);
if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200)
{
//$result_array[0]['content']
$where_condition_array = array("pd_id" => $pdid);
$temp_array['is_zip_created'] = 1;
$id = $CI->PD_Model->updateRecords($temp_array,PDTRIGGER,$where_condition_array);
unlink($CI->external_path.'/pd_reports/'.$pdid.'/'.$temp_path);
}
return $singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+30 minutes');
}else return "";
}
}
public static function covertSMCImgs2PDF($pdid,$random_string,$pd_master_details = array(),$regenerate = 0)
{
$CI =&get_instance();
$CI->load->model('PD_Model');
$CI->load->model('SMC_Credit_PD_Model');
$CI->load->library('pdfgenerator');
if(!count($pd_master_details))
{
$pd_master_details = $CI->PD_Model->getPDMasterDetails($pdid,$random_string);
}
set_time_limit(60);
$bucketname = LENDER_BUCKET_NAME_PREFIX.$pd_master_details[0]['fk_lender_id'];
$main_applicant_name = $pd_master_details[0]['main_applicant'];
//get zip url from s3 if any
$key = 'pd'.$pdid.'/'.$main_applicant_name.'_'.$pdid.'_'.'pd_images.pdf';
//$singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+30 minutes');
if($pd_master_details[0]['is_img_pdf_created'] && ($regenerate == 0))
{
return $singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+7 days');
}
else
{
$all_pd_images = $CI->SMC_Credit_PD_Model->selectCustomRecords(array('doc_id', 'fk_smc_credit_pd_id','img','img_name','isactive'),array('fk_smc_credit_pd_id' => $pdid,'isactive' => 1),SMC_CREDIT_PD_DOCS);
// $all_pd_images = $CI->SMC_Credit_PD_Model->selectCustomRecords(array('doc_id', 'fk_smc_credit_pd_id','img','img_name','isactive'),array('fk_smc_credit_pd_id' => $pdid,'isactive' => 1),SMC_CREDIT_PD_DOCS);
if(count($all_pd_images)>0){
$data_to_view['all_pd_images'] = $all_pd_images;
$img_pdf_data = $CI->load->view('report_templates/PDSMCIMG_PDF',$data_to_view,true);
//print_r($img_pdf_data);die();
$pdf_doc = $CI->pdfgenerator->generate($img_pdf_data, $filename='version', $stream=false, $paper = 'A4', $orientation = "portrait");
//End of PDF Gen using DOM PDF
$output_file2 = $CI->external_path ."/pd_reports/" . $pdid . "/pd_images_pdf.pdf";
$ti = file_put_contents($output_file2, $pdf_doc);
//echo $ti;die();
$bucket_data = array('bucket_name'=>$bucketname,'key'=>$key,'sourcefile'=>($output_file2));
$s3result= $CI->aws_s3->uploadFileToS3Bucket($bucket_data);
//print_r($s3result);
if(is_object($s3result) && $s3result['ObjectURL'] != '' && $s3result['@metadata']['statusCode'] == 200)
{
//$result_array[0]['content']
$where_condition_array = array("pd_id" => $pdid);
$temp_array['is_img_pdf_created'] = 1;
$id = $CI->PD_Model->updateRecords($temp_array,PDTRIGGER,$where_condition_array);
unlink($output_file2);
}
return $singed_uri = $CI->aws_s3->getSingleObjectInaBucketAsSignedURI($bucketname,$key,'+7 days');
}
else return "";
}
}
}
?>