File: /home/cafsindia/lifemaze_in/bend/chart_callback.php
<?php
require_once('../lp_lib/lpObject.php');
require_once('../lp_lib/lp_calculation.php');
$lp_session = lpObject::newObject('lp_session');
$lp_session->startSession();
$libObject = $lp_session->is_session_exist();
if(!$libObject){
echo json_encode(array('sts' => false, 'info' =>"Required Login"));
exit(0);
}
$is_customer = $libObject->is_customer();
if(!$is_customer){
echo json_encode(array('sts' => false, 'info' =>"Required Login"));
exit(0);
}
$dbObject = $libObject->getDBObject();
$repObject = lpObject::newObject('lp_reports');
$repObject->setLibObject($libObject);
$repObject->set_cust_id($libObject->cust_id);
$frm = "";
if(isset($_POST['frm'])){
$frm = $_POST['frm'];
}
$income_total = 0;
$expense_total = 0;
$loan_total = 0;
$investment_total = 0;
/**** OVER ALL INCOME CHART ****/
if($frm === "over_all_income_chart"){
$income_rslt = $repObject->all_income_chart();
$drill_list = array();
$tr_line = "";
foreach($income_rslt as $income){
$family_id = $income->family_id;
$family_name = $income->family_name;
$income_amt = (int)$income->income_amt;
$income_yearly = (int)$income->income_yearly;
$income_total += $income_yearly;
$rows['data'][] = array("name"=>$family_name,"y"=>$income_yearly,"drilldown"=>$family_name);
$drill_result = $repObject->get_income_family_id($family_id);
$drill = array();
$drill['name'] = $family_name;
$drill['id'] = $family_name;
foreach ($drill_result as $drill_info) {
$income_amt = (int)$drill_info->income_amt;
$income_yearly = (int)$drill_info->income_yearly;
$income_type = $drill_info->income_type;
$type = "Other";
if((int)$income_type === 1){
$type = "Salary";
}
$drill['data'][] = array($type,$income_yearly);
array_push($drill_list,$drill);
}
$name_len = strlen($family_name);
if($name_len >=9){
$family_name = substr($family_name,0,6).'...';
}
$tr_line .= "<tr>
<td>$family_name</td>
<td>$income_yearly</td>
</tr>";
}
$chart_table = "<table class='striped responsive-table'>
<tbody>
$tr_line
</tbody>
</table>";
$rslt = array();
array_push($rslt,$rows);
$_SESSION['income_total'] = $income_total;
echo json_encode(array('series' => $rslt, 'drill_list' => $drill_list,'chart_table'=>$chart_table,'income_total'=>$income_total),JSON_NUMERIC_CHECK);
}else
/**** SALARY INCOME CHART ****/
if($frm === "salary_income_chart"){
$income_hike = "";
if(isset($_POST['income_hike'])){
$income_hike = $_POST['income_hike'];
}
$income_rslt = $repObject->all_income_chart("1");
$list = array();
$cat = array();
foreach($income_rslt as $income){
$family_id = $income->family_id;
$family_name = $income->family_name;
$income_amt = $income->income_amt;
$income_yearly = (int)$income->income_yearly;
$start_date = date("Y-m-d");
$list_data = array();
$list_data['name'][] = $family_name;
$list_data['data'][] = $income_yearly;
$push_date = explode("-",$start_date);
$push_date = $push_date[0];
array_push($cat,$push_date);
for($x = 1; $x <= 10; $x++){
$tot_salary = $income_yearly * $income_hike /100;
$tot_salary = $income_yearly + $tot_salary;
$list_data['data'][] = $tot_salary;
$income_yearly = $tot_salary;
$date = new DateTime($start_date);
$date = $date->modify("+ 1 year");
$date = $date->format("Y-m-d");
//$date = date("Y-m-d", strtotime(date("Y-m-d", strtotime($start_date)) ."+ 1 years"));
$start_date = $date;
$push_date = explode("-",$start_date);
$push_date = $push_date[0];
array_push($cat,$push_date);
}
array_push($list,$list_data);
}
echo json_encode(array('series' => $list, 'categories' => $cat),JSON_NUMERIC_CHECK);
}else
/**** OTHER INCOME CHART ****/
if($frm === "other_income_chart"){
$income_hike = "";
if(isset($_POST['income_hike'])){
$income_hike = $_POST['income_hike'];
}
$income_rslt = $repObject->all_income_chart("2");
$list = array();
$cat = array();
foreach($income_rslt as $income){
$family_id = $income->family_id;
$family_name = $income->family_name;
$income_amt = $income->income_amt;
$income_yearly = (int)$income->income_yearly;
$start_date = date("Y-m-d");
$list_data = array();
$list_data['name'][] = $family_name;
$list_data['data'][] = $income_yearly;
$push_date = explode("-",$start_date);
$push_date = $push_date[0];
array_push($cat,$push_date);
for ($x = 1; $x <= 10; $x++) {
$tot_salary = $income_yearly * $income_hike /100;
$tot_salary = $income_yearly + $tot_salary;
$list_data['data'][] = $tot_salary;
$income_yearly = $tot_salary;
$date = new DateTime($start_date);
$date = $date->modify("+ 1 year");
$date = $date->format("Y-m-d");
//$date = date("Y-m-d", strtotime(date("Y-m-d", strtotime($start_date)) ."+ 1 years"));
$start_date = $date;
$push_date = explode("-",$start_date);
$push_date = $push_date[0];
array_push($cat,$push_date);
}
array_push($list,$list_data);
}
echo json_encode(array('series' => $list, 'categories' => $cat),JSON_NUMERIC_CHECK);
}else
/**** EXPENSE CHART ****/
if($frm === "expense_chart"){
$expense_rslt = $repObject->get_expense();
$drill_list = array();
foreach($expense_rslt as $expense){
$expense_name = $expense->expense_name;
$exp_amt = (int)$expense->exp_amt;
$exp_yearly = (int)$expense->exp_yearly;
$expense_related = $expense->expense_related;
$exp_family = $expense->exp_family;
$expense_total += $exp_yearly;
$rows['data'][] = array("name"=>$expense_name,"y"=>$exp_yearly,"drilldown"=>$expense_name);
$drill_result = $repObject->get_expense_drill($expense_name,$expense_related);
$drill = array();
$drill['name'] = $expense_name;
$drill['id'] = $expense_name;
foreach ($drill_result as $drill_info) {
$exp_amt = (int)$drill_info->exp_amt;
$exp_yearly = (int)$drill_info->exp_yearly;
if((int)$expense_related === 1){
$sub_name = $drill_info->expense_sub_name;
}
if((int)$expense_related === 2){
$sub_name = $drill_info->family_name;
}
$drill['data'][] = array($sub_name,$exp_yearly);
array_push($drill_list,$drill);
}
}
$rslt = array();
array_push($rslt,$rows);
$_SESSION['expense_total'] = $expense_total;
$income_total = $_SESSION['income_total'];
//$total = $income_total - $expense_total;
//$expense_info = "$income_total - $expense_total = $total";
$total = round(($expense_total / $income_total) *100,2);
$expense_info = "(Yearly Expense $expense_total) <span style='font-size:12px;'>$total%</span>";
echo json_encode(array('series' => $rslt, 'drill_list' => $drill_list, 'expense_total' => $expense_info),JSON_NUMERIC_CHECK);
}else
/**** LOAN CHART ****/
if($frm === "loan_chart"){
$loan_rslt = $repObject->get_loan();
$rows = [];
foreach($loan_rslt as $loan){
$loan_name = $loan->loan_type_name;
$loan_amt = (int)$loan->loan_outstanding;
$emi_yearly = (int)$loan->emi_yearly;
$loan_total += $emi_yearly;
$loan_chart[] = array($loan_name,$emi_yearly);
$rows['data'][] = array("name"=>$loan_name,"y"=>$emi_yearly);
}
$rslt = array();
array_push($rslt,$rows);
if(empty($rows)){
$sts = false;
}else{
$sts = true;
}
$_SESSION['loan_total'] = $loan_total;
$income_total = $_SESSION['income_total'];
//$expense_total = $_SESSION['expense_total'];
//$in_exp_total = $income_total - $expense_total;
//$total = $in_exp_total - $loan_total;
//$loan_info = "$in_exp_total - $loan_total = $total";
$total = round(($loan_total / $income_total) *100,2);
$loan_info = "(Yearly Loan $loan_total) <span style='font-size:12px;'>$total%</span>";
echo json_encode(array('sts'=>$sts,'series' => $rslt,'loan_total' => $loan_info),JSON_NUMERIC_CHECK);
}else
/**** INVESTMENTS CHART ****/
if($frm === "investment_chart"){
$drill_list = array();
// BANK INFORMATION
$bank_sum = $repObject->get_bank_sum();
$rows['data'][] = array("name"=>"Bank","y"=>$bank_sum,"drilldown"=>"Bank");
$investment_total += $bank_sum;
$drill = array();
$drill['name'] = "Bank";
$drill['id'] = "Bank";
$drill_result = $repObject->get_bank_list();
$drill_result = json_decode($drill_result);
foreach ($drill_result as $drill_info) {
$bank_scheme = $drill_info->bank_scheme;
$bank_amt = (int)$drill_info->bank_amt;
$bank_maturity_amt = (int)$drill_info->bank_maturity_amt;
$bank_scheme_info = array('1'=>"Bank Fixed Deposit",'2'=>"Company Deposit",'3'=>"Bank Recurring Deposit",'4'=>"Bonds",'5'=>"Other Deposits");
$bank_scheme_name = $bank_scheme_info[$bank_scheme];
$drill['data'][] = array($bank_scheme_name,$bank_amt);
array_push($drill_list,$drill);
}
//INSURANCE INFORMATION
$insurance_rslt = $repObject->get_insurance_sum();
foreach($insurance_rslt as $insurance){
$insurance_type_name = $insurance->insurance_type_name;
$ins_premium = (int)$insurance->ins_premium;
$premium_yearly = (int)$insurance->premium_yearly;
$rows['data'][] = array("name"=>"Insurance","y"=>$premium_yearly,"drilldown"=>"Insurance");
$investment_total += $premium_yearly;
$drill = array();
$drill['name'] = "Insurance";
$drill['id'] = "Insurance";
$drill_result = $repObject->get_insurance_list();
foreach ($drill_result as $drill_info) {
$insurance_type_name = $drill_info->insurance_type_name;
$ins_premium = (int)$drill_info->ins_premium;
$premium_yearly = (int)$drill_info->premium_yearly;
$drill['data'][] = array($insurance_type_name,$premium_yearly);
array_push($drill_list,$drill);
}
}
//MUTUAL FUND INFORMATION
$mf_rslt = $repObject->get_mf_sum();
foreach($mf_rslt as $mf){
$amc_name = $mf->amc_name;
$mf_present_val = (int)$mf->mf_present_val;
$mf_live_sip = (int)$mf->mf_live_sip;
$mf_yearly = (int)$mf->mf_yearly;
$rows['data'][] = array("name"=>"Mutual Fund","y"=>$mf_yearly,"drilldown"=>"Mutual Fund");
$investment_total += $mf_yearly;
$drill = array();
$drill['name'] = "Mutual Fund";
$drill['id'] = "Mutual Fund";
$drill_result = $repObject->get_mf_list();
foreach ($drill_result as $drill_info) {
$amc_name = $drill_info->amc_name;
$mf_present_val = (int)$drill_info->mf_present_val;
$mf_live_sip = (int)$drill_info->mf_live_sip;
$mf_yearly = (int)$drill_info->mf_yearly;
$drill['data'][] = array($amc_name,$mf_yearly);
array_push($drill_list,$drill);
}
}
//GOVERNMENT SCHEME INFORMATION
$gov_rslt = $repObject->get_gov_sum();
foreach($gov_rslt as $gov){
$gov_scheme_name = $gov->gov_scheme_name;
$gov_amount = (int)$gov->gov_amount;
$gov_yearly = (int)$gov->gov_yearly;
$rows['data'][] = array("name"=>"Government scheme","y"=>$gov_yearly,"drilldown"=>"Government scheme");
$investment_total += $gov_yearly;
$drill = array();
$drill['name'] = "Government scheme";
$drill['id'] = "Government scheme";
$drill_result = $repObject->get_gov_list();
foreach ($drill_result as $drill_info) {
$gov_scheme_name = $drill_info->gov_scheme_name;
$gov_amount = (int)$drill_info->gov_amount;
$gov_yearly = (int)$drill_info->gov_yearly;
$drill['data'][] = array($gov_scheme_name,$gov_yearly);
array_push($drill_list,$drill);
}
}
//STOCK & BULLION INFORMATION
$stock_rslt = $repObject->get_stock_sum();
foreach($stock_rslt as $stock){
$stockname_info = array('1'=>"Stocks",'2'=>"Bullion");
$bullion_info = array('1'=>"Gold",'2'=>"Silver",'3'=>"Others");
$stock_type = $stock->stock_type;
$bullion_type = $stock->bullion_type;
$stock_current_value = (int)$stock->stock_current_value;
$stock_inflow_value = (int)$stock->stock_inflow_value;
$stock_yearly = (int)$stock->stock_yearly;
$rows['data'][] = array("name"=>"Stock & bullion","y"=>$stock_yearly,"drilldown"=>"Stock & bullion");
$investment_total += $stock_yearly;
$drill = array();
$drill['name'] = "Stock & bullion";
$drill['id'] = "Stock & bullion";
$drill_result = $repObject->get_stock_list();
foreach ($drill_result as $drill_info) {
$stock_type = $drill_info->stock_type;
$bullion_type = $drill_info->bullion_type;
$stock_current_value = (int)$drill_info->stock_current_value;
$stock_inflow_value = (int)$drill_info->stock_inflow_value;
$stock_yearly = (int)$drill_info->stock_yearly;
$stock_name = $stockname_info[$stock_type];
$drill['data'][] = array($stock_name,$stock_yearly);
array_push($drill_list,$drill);
}
}
//OTHER INFORMATION
$other_rslt = $repObject->get_other_sum();
foreach($other_rslt as $other){
$others_amt = (int)$other->others_amt;
$other_yearly = (int)$other->other_yearly;
$rows['data'][] = array("name"=>"Others","y"=>$other_yearly,"drilldown"=>"Others");
$investment_total += $other_yearly;
$drill = array();
$drill['name'] = "Others";
$drill['id'] = "Others";
$drill_result = $repObject->get_other_list();
foreach ($drill_result as $drill_info) {
$family_name = $drill_info->family_name;
$others_amt = (int)$drill_info->others_amt;
$other_yearly = (int)$drill_info->other_yearly;
$drill['data'][] = array($family_name,$other_yearly);
array_push($drill_list,$drill);
}
}
$rslt = array();
array_push($rslt,$rows);
$_SESSION['investment_total'] = $investment_total;
$income_total = $_SESSION['income_total'];
$expense_total = $_SESSION['expense_total'];
$loan_total = $_SESSION['loan_total'];
//$in_exp_total = $income_total - $expense_total;
//$total_loan = $in_exp_total - $loan_total;
//$inv_toal = $total_loan - $investment_total;
//$inv_info = "$total_loan - $investment_total = $inv_toal";
$total = round(($investment_total / $income_total) *100,2);
$inv_info = "(Yearly Investment $investment_total) <span style='font-size:12px;'>$total%</span>";
echo json_encode(array('series' => $rslt, 'drill_list' => $drill_list, 'investment_total' => $inv_info, 'inv_total' => $investment_total),JSON_NUMERIC_CHECK);
}else
/**** IN OUT FLOW CHART ****/
if($frm === "in_out_flow_chart"){
$in_out_years = "";
if(isset($_POST['in_out_years'])){
$in_out_years = $_POST['in_out_years'];
}
$in_out_inflation = "";
if(isset($_POST['in_out_inflation'])){
$in_out_inflation = $_POST['in_out_inflation'];
}
$income_hike = "";
if(isset($_POST['income_hike'])){
$income_hike = $_POST['income_hike'];
}
$in_out_rslt = $repObject->get_in_out_flow();
$tot_income = $in_out_rslt->tot_income;
$tot_expence = $in_out_rslt->tot_expence;
$loan_info = $in_out_rslt->loan_info;
$bank_in_info = $in_out_rslt->bank_in_info;
$bank_out_info = $in_out_rslt->bank_out_info;
$insurance_in_info = $in_out_rslt->insurance_in_info;
$insurance_out_info = $in_out_rslt->insurance_out_info;
$mf_list = $in_out_rslt->mf_list;
$gov_in_info = $in_out_rslt->gov_in_info;
$gov_out_info = $in_out_rslt->gov_out_info;
$others_in_info = $in_out_rslt->others_in_info;
$others_out_info = $in_out_rslt->others_out_info;
$start_date = date("Y-m-d");
$list = array();
$cat = array();
$income_data['name'][] = "Income";
$expense_data['name'][] = "Expense";
$loan_data['name'][] = "Loan";
$bank_in_data['name'][] = "Bank In";
$bank_out_data['name'][] = "Bank Out";
$ins_in_data['name'][] = "Insurance In";
$insurance_out_data['name'][] = "Insurance Out";
$mf_list_data['name'][] = "Mutual Fund";
$gov_in_data['name'][] = "Government In";
$gov_out_data['name'][] = "Government Out";
$others_in_data['name'][] = "Others In";
$others_out_data['name'][] = "Others Out";
$check_year = new DateTime($start_date);
$check_year = $check_year->format("Y");
//$check_year = date('Y',strtotime($start_date));
for ($x = 0; $x <= (int)$in_out_years; $x++) {
if($x === 0){
$tot_income = $tot_income;
$tot_expence = $tot_expence;
$date = $start_date;
}else{
$tot_salary = $tot_income * $income_hike /100;
$tot_salary = $tot_income + $tot_salary;
$tot_income = round($tot_salary);
$expence_total = $tot_expence * $in_out_inflation /100;
$expence_total = $tot_expence + $expence_total;
$tot_expence = round($expence_total);
$check_year = $check_year + 1;
}
array_push($cat,$check_year);
$income_data['data'][] = (int)$tot_income;
$expense_data['data'][] = "-$tot_expence";
$loan_amt = 0;
foreach(json_decode($loan_info) as $loan_out){
$maturity_year = $loan_out->maturity_year;
$emi_yearly = $loan_out->emi_yearly;
if((int)$maturity_year >= (int)$check_year){
$loan_amt += $emi_yearly;
}
}
$loan_data['data'][] = "-$loan_amt";
$mf_amt = 0;
foreach(json_decode($mf_list) as $mf){
$maturity_year = $mf->maturity_year;
$mf_yearly = $mf->mf_yearly;
if((int)$maturity_year >= (int)$check_year){
$mf_amt += $mf_yearly;
}
}
$mf_list_data['data'][] = "-$mf_amt";
$bank_in_amt = 0;
if(in_array($check_year, array_column(json_decode($bank_in_info,true), 'maturity_year'))) {
foreach(json_decode($bank_in_info) as $bank_in){
$maturity_year = $bank_in->maturity_year;
$bank_maturity_amt = $bank_in->bank_maturity_amt;
if((int)$maturity_year === (int)$check_year){
$bank_in_amt += $bank_maturity_amt;
}
}
}
$bank_in_data['data'][] = $bank_in_amt;
$bank_out_amt = 0;
foreach(json_decode($bank_out_info) as $bank_out){
$maturity_year = $bank_out->maturity_year;
$bank_yearly = $bank_out->bank_yearly;
if((int)$maturity_year >= (int)$check_year){
$bank_out_amt += $bank_yearly;
}
}
$bank_out_data['data'][] = "-$bank_out_amt";
$ins_in_amt = 0;
if(in_array($check_year, array_column(json_decode($insurance_in_info,true), 'maturity_year'))) {
foreach(json_decode($insurance_in_info) as $insurance_in){
$maturity_year = $insurance_in->maturity_year;
$ins_sum_assured = $insurance_in->ins_sum_assured;
$premium_yearly = $insurance_in->premium_yearly;
$ins_term = $insurance_in->ins_term;
$ins_ppt = $insurance_in->ins_ppt;
$inflation = $premium_yearly;
if((int)$maturity_year === (int)$check_year){
for($i=1; $i<(int)$ins_ppt; $i++){
$interst= $inflation * 0.06;
$inflation=$inflation+$interst+$premium_yearly;
}
for($i=(int)$ins_ppt; $i<=(int)$ins_term; $i++){
$inflation_info = lp_calculation::compound_interest($inflation,6,1);
$inflation_info = json_decode($inflation_info);
$inflation = $inflation_info->future_value;
}
$ins_in_amt += $inflation;
}
}
}
$ins_in_data['data'][] = $ins_in_amt;
$insurance_out_amt = 0;
foreach(json_decode($insurance_out_info) as $insurance_out){
$maturity_year = $insurance_out->maturity_year;
$premium_yearly = $insurance_out->premium_yearly;
if((int)$maturity_year >= (int)$check_year){
$insurance_out_amt += $premium_yearly;
}
}
$insurance_out_data['data'][] = "-$insurance_out_amt";
$gov_in_amt = 0;
if(in_array($check_year, array_column(json_decode($gov_in_info,true), 'maturity_year'))) {
foreach(json_decode($gov_in_info) as $gov_in){
$maturity_year = $gov_in->maturity_year;
$gov_maturity_value = $gov_in->gov_maturity_value;
if((int)$maturity_year === (int)$check_year){
$gov_in_amt += $gov_maturity_value;
}
}
}
$gov_in_data['data'][] = $gov_in_amt;
$gov_out_amt = 0;
foreach(json_decode($gov_out_info) as $gov_out){
$maturity_year = $gov_out->maturity_year;
$gov_yearly = $gov_out->gov_yearly;
if((int)$maturity_year >= (int)$check_year){
$gov_out_amt += $gov_yearly;
}
}
$gov_out_data['data'][] = "-$gov_out_amt";
$others_in_amt = 0;
if(in_array($check_year, array_column(json_decode($others_in_info,true), 'maturity_year'))) {
foreach(json_decode($others_in_info) as $others){
$maturity_year = $others->maturity_year;
$others_maturity_val = $others->others_maturity_val;
if((int)$maturity_year === (int)$check_year){
$others_in_amt += $others_maturity_val;
}
}
}
$others_in_data['data'][] = $others_in_amt;
//print_r($others_out_info);
$others_out_amt = 0;
foreach(json_decode($others_out_info) as $others_out){
$maturity_year = $others_out->maturity_year;
$other_yearly = $others_out->other_yearly;
if((int)$maturity_year >= (int)$check_year){
$others_out_amt += $other_yearly;
}
}
$others_out_data['data'][] = "-$others_out_amt";
}
array_push($list,$income_data);
array_push($list,$expense_data);
array_push($list,$loan_data);
array_push($list,$bank_in_data);
array_push($list,$bank_out_data);
array_push($list,$ins_in_data);
array_push($list,$insurance_out_data);
array_push($list,$mf_list_data);
array_push($list,$gov_in_data);
array_push($list,$gov_out_data);
array_push($list,$others_in_data);
array_push($list,$others_out_data);
echo json_encode(array('series' => $list, 'categories' => $cat),JSON_NUMERIC_CHECK);
}else
/**** IN OUT FLOW INFORMATION ****/
if($frm === "in_out_flow_info"){
$in_out_years = "";
if(isset($_POST['in_out_years'])){
$in_out_years = $_POST['in_out_years'];
}
$in_out_inflation = "";
if(isset($_POST['in_out_inflation'])){
$in_out_inflation = $_POST['in_out_inflation'];
}
$income_hike = "";
if(isset($_POST['income_hike'])){
$income_hike = $_POST['income_hike'];
}
$in_out_rslt = $repObject->get_in_out_flow();
$tot_income = $in_out_rslt->tot_income;
$tot_expence = $in_out_rslt->tot_expence;
$loan_info = $in_out_rslt->loan_info;
$bank_in_info = $in_out_rslt->bank_in_info;
$bank_out_info = $in_out_rslt->bank_out_info;
$insurance_in_info = $in_out_rslt->insurance_in_info;
$insurance_out_info = $in_out_rslt->insurance_out_info;
$mf_list = $in_out_rslt->mf_list;
$gov_in_info = $in_out_rslt->gov_in_info;
$gov_out_info = $in_out_rslt->gov_out_info;
$others_in_info = $in_out_rslt->others_in_info;
$others_out_info = $in_out_rslt->others_out_info;
$start_date = date("Y-m-d");
$check_year = new DateTime($start_date);
$check_year = $check_year->format("Y");
//$check_year = date('Y',strtotime($start_date));
$th_line = "<th>Type</th> <th>Name</th>";
$salary_line = "<td colspan='2'>Salary</td>";
$expense_line = "<td colspan='2'>House Hold Expense</td>";
$in_total_line = "<td colspan='2'>TOTAL INCOME PER YEAR</td>";
$out_total_line = "<td colspan='2'>TOTAL EXPENSES PER YEAR</td>";
$final_total_line = "<td colspan='2'>SURPLUS FUND PER YEAR</td>";
$bank_in_line = "";
$bank_in_td = "";
$bank_bal_td = "";
$insurance_in_line = "";
$insurance_in_td = "";
$insurance_bal_td = "";
$gov_in_line = "";
$gov_in_td = "";
$gov_bal_td = "";
$others_in_line = "";
$others_in_td = "";
$others_bal_td = "";
$total_years = (int)$in_out_years;
for ($x = 0; $x <= $total_years; $x++) {
if($x === 0){
$tot_income = $tot_income;
$tot_expence = $tot_expence;
$date = $start_date;
}else{
$tot_salary = $tot_income * $income_hike /100;
$tot_salary = $tot_income + $tot_salary;
$tot_income = round($tot_salary);
$expence_total = $tot_expence * $in_out_inflation /100;
$expence_total = $tot_expence + $expence_total;
$tot_expence = round($expence_total);
$check_year = $check_year + 1;
$bank_in_td .= "<td>0</td>";
$insurance_in_td .= "<td>0</td>";
$gov_in_td .= "<td>0</td>";
$others_in_td .= "<td>0</td>";
}
$in_toal = $tot_income;
$out_toal = $tot_expence;
if(in_array($check_year, array_column(json_decode($bank_in_info,true), 'maturity_year'))) {
foreach(json_decode($bank_in_info) as $bank_in){
$maturity_year = $bank_in->maturity_year;
$bank_maturity_amt = $bank_in->bank_maturity_amt;
$bank_scheme_name = $bank_in->bank_scheme_name;
if((int)$maturity_year === (int)$check_year){
//$bank_in_amt += $bank_maturity_amt;
$in_toal += $bank_maturity_amt;
$x_count = $x +1;
for ($j = $x_count; $j <= $total_years; $j++) {
$bank_bal_td .= "<td>0</td>";
}
$bank_in_line .= "<tr><td>Bank</td><td>$bank_scheme_name</td>$bank_in_td<td>$bank_maturity_amt</td>$bank_bal_td</tr>";
$bank_bal_td = "";
}
}
}
if(in_array($check_year, array_column(json_decode($insurance_in_info,true), 'maturity_year'))) {
foreach(json_decode($insurance_in_info) as $insurance_in){
$maturity_year = $insurance_in->maturity_year;
$ins_sum_assured = $insurance_in->ins_sum_assured;
$insurance_type_name = $insurance_in->insurance_type_name;
$premium_yearly = $insurance_in->premium_yearly;
$ins_term = $insurance_in->ins_term;
$ins_ppt = $insurance_in->ins_ppt;
$inflation = $premium_yearly;
if($insurance_type_name === "Annuity"){
$pension_amount = $insurance_in->pension_amount;
$x_count = $x +1;
for ($j = $x_count; $j <= $total_years; $j++) {
$insurance_bal_td .= "<td>$pension_amount</td>";
}
if((int)$maturity_year === (int)$check_year){
$in_toal += $ins_sum_assured;
$insurance_in_line .= "<tr><td>Insurance</td><td>$insurance_type_name</td>$insurance_in_td<td>$ins_sum_assured</td>$insurance_bal_td</tr>";
}
$insurance_bal_td = "";
}else{
//$insurance_in_line = "";
if((int)$maturity_year === (int)$check_year){
$x_count = $x +1;
for ($j = $x_count; $j <= $total_years; $j++) {
$insurance_bal_td .= "<td>0</td>";
}
for($i=1; $i<(int)$ins_ppt; $i++){
$interst= $inflation * 0.06;
$inflation=$inflation+$interst+$premium_yearly;
}
for($i=(int)$ins_ppt; $i<=(int)$ins_term; $i++){
$inflation_info = lp_calculation::compound_interest($inflation,6,1);
$inflation_info = json_decode($inflation_info);
$inflation = $inflation_info->future_value;
}
$in_toal += $inflation;
$insurance_in_line .= "<tr><td>Insurance</td><td>$insurance_type_name</td>$insurance_in_td<td>$inflation</td>$insurance_bal_td</tr>";
$insurance_bal_td = "";
}
}
}
}
if(in_array($check_year, array_column(json_decode($gov_in_info,true), 'maturity_year'))) {
foreach(json_decode($gov_in_info) as $gov_in){
$maturity_year = $gov_in->maturity_year;
$gov_maturity_value = $gov_in->gov_maturity_value;
$gov_scheme_name = $gov_in->gov_scheme_name;
if((int)$maturity_year === (int)$check_year){
$in_toal += $gov_maturity_value;
$x_count = $x +1;
for ($j = $x_count; $j <= $total_years; $j++) {
$gov_bal_td .= "<td>0</td>";
}
$gov_in_line .= "<tr><td>Government</td><td>$gov_scheme_name</td>$gov_in_td<td>$gov_maturity_value</td>$gov_bal_td</tr>";
$gov_bal_td = "";
}
}
}
if(in_array($check_year, array_column(json_decode($others_in_info,true), 'maturity_year'))) {
foreach(json_decode($others_in_info) as $others){
$maturity_year = $others->maturity_year;
$others_maturity_val = $others->others_maturity_val;
$others_descript = $others->others_descript;
if((int)$maturity_year === (int)$check_year){
$in_toal += $others_maturity_val;
$x_count = $x +1;
for ($j = $x_count; $j <= $total_years; $j++) {
$others_bal_td .= "<td>0</td>";
}
$others_in_line .= "<tr><td>Others</td><td>$others_descript</td>$others_in_td<td>$others_maturity_val</td>$others_bal_td</tr>";
$others_bal_td = "";
}
}
}
foreach(json_decode($insurance_in_info) as $insurance_in){
$maturity_year = $insurance_in->maturity_year;
$ins_sum_assured = $insurance_in->ins_sum_assured;
$insurance_type_name = $insurance_in->insurance_type_name;
if($insurance_type_name === "Annuity"){
$pension_amount = $insurance_in->pension_amount;
if((int)$maturity_year < (int)$check_year){
$in_toal += $pension_amount;
}
}
//$maturity_year = $insurance_in->maturity_year;
//$emi_yearly = $insurance_in->emi_yearly;
}
foreach(json_decode($loan_info) as $loan_out){
$maturity_year = $loan_out->maturity_year;
$emi_yearly = $loan_out->emi_yearly;
if((int)$maturity_year >= (int)$check_year){
$out_toal += $emi_yearly;
}
}
foreach(json_decode($bank_out_info) as $bank_out){
$maturity_year = $bank_out->maturity_year;
$bank_yearly = $bank_out->bank_yearly;
if((int)$maturity_year >= (int)$check_year){
$out_toal += $bank_yearly;
}
}
foreach(json_decode($insurance_out_info) as $insurance_out){
$maturity_year = $insurance_out->maturity_year;
$premium_yearly = $insurance_out->premium_yearly;
if((int)$maturity_year >= (int)$check_year){
$out_toal += $premium_yearly;
}
}
foreach(json_decode($mf_list) as $mf){
$maturity_year = $mf->maturity_year;
$mf_yearly = $mf->mf_yearly;
if((int)$maturity_year >= (int)$check_year){
$out_toal += $mf_yearly;
}
}
foreach(json_decode($gov_out_info) as $gov_out){
$maturity_year = $gov_out->maturity_year;
$gov_yearly = $gov_out->gov_yearly;
if((int)$maturity_year >= (int)$check_year){
$out_toal += $gov_yearly;
}
}
foreach(json_decode($others_out_info) as $others_out){
$maturity_year = $others_out->maturity_year;
$other_yearly = $others_out->other_yearly;
if((int)$maturity_year >= (int)$check_year){
$out_toal += $other_yearly;
}
}
$th_line .= "<th>$check_year</th>";
$salary_line .= "<td>$tot_income</td>";
$expense_line .= "<td>$tot_expence</td>";
$in_total_line .= "<td>$in_toal</td>";
$out_total_line .= "<td>$out_toal</td>";
$final_total = $in_toal - $out_toal;
$final_total_line .= "<td>$final_total</td>";
$in_toal = 0;
$out_toal = 0;
}
$loan_line = "";
foreach(json_decode($loan_info) as $loan_out){
$maturity_year = $loan_out->maturity_year;
$emi_yearly = $loan_out->emi_yearly;
$loan_type_name = $loan_out->loan_type_name;
$out_start_date = date("Y-m-d");
$out_start_date = new DateTime($out_start_date);
$out_check_year = $out_start_date->format("Y");
//$out_check_year = date('Y',strtotime($out_start_date));
for ($x = 0; $x <= $total_years; $x++) {
if($x === 0){
$loan_td_line = "<td>Loan</td><td>$loan_type_name</td>";
}else{
$out_check_year = $out_check_year + 1;
}
if((int)$maturity_year >= (int)$out_check_year){
$loan_td_line .= "<td>$emi_yearly</td>";
}else{
$loan_td_line .= "<td>0</td>";
}
}
$loan_line .= "<tr>$loan_td_line</tr>";
$loan_td_line = "";
}
$bank_out_line = "";
foreach(json_decode($bank_out_info) as $bank_out){
$maturity_year = $bank_out->maturity_year;
$bank_yearly = $bank_out->bank_yearly;
$bank_scheme_name = $bank_out->bank_scheme_name;
$out_start_date = date("Y-m-d");
$out_start_date = new DateTime($out_start_date);
$out_check_year = $out_start_date->format("Y");
//$out_check_year = date('Y',strtotime($out_start_date));
for ($x = 0; $x <= $total_years; $x++) {
if($x === 0){
$bank_out_td_line = "<td>Bank</td><td>$bank_scheme_name</td>";
}else{
$out_check_year = $out_check_year + 1;
}
if((int)$maturity_year >= (int)$out_check_year){
$bank_out_td_line .= "<td>$bank_yearly</td>";
}else{
$bank_out_td_line .= "<td>0</td>";
}
}
$bank_out_line .= "<tr>$bank_out_td_line</tr>";
$bank_out_td_line = "";
}
$insurance_out_line = "";
foreach(json_decode($insurance_out_info) as $insurance_out){
$insurance_id = $insurance_out->insurance_id;
$maturity_year = $insurance_out->maturity_year;
$premium_yearly = $insurance_out->premium_yearly;
$insurance_type_name = $insurance_out->insurance_type_name;
$out_start_date = date("Y-m-d");
$out_start_date = new DateTime($out_start_date);
$out_check_year = $out_start_date->format("Y");
//$out_check_year = date('Y',strtotime($out_start_date));
for ($x = 0; $x <= $total_years; $x++) {
if($x === 0){
$insurance_out_td_line = "<td>Insurance</td><td>$insurance_type_name</td>";
}else{
$out_check_year = $out_check_year + 1;
}
if((int)$maturity_year >= (int)$out_check_year){
$insurance_out_td_line .= "<td>$premium_yearly</td>";
}else{
$insurance_out_td_line .= "<td>0</td>";
}
}
$insurance_out_line .= "<tr>$insurance_out_td_line</tr>";
$insurance_out_td_line = "";
}
$mf_line = "";
foreach(json_decode($mf_list) as $mf){
$maturity_year = $mf->maturity_year;
$mf_yearly = $mf->mf_yearly;
$amc_name = $mf->amc_name;
$out_start_date = date("Y-m-d");
//$out_check_year = date('Y',strtotime($out_start_date));
$out_start_date = new DateTime($out_start_date);
$out_check_year = $out_start_date->format("Y");
for ($x = 0; $x <= $total_years; $x++) {
if($x === 0){
$mf_td_line = "<td>Mutual Fund</td><td>$amc_name</td>";
}else{
$out_check_year = $out_check_year + 1;
}
if((int)$maturity_year >= (int)$out_check_year){
$mf_td_line .= "<td>$mf_yearly</td>";
}else{
$mf_td_line .= "<td>0</td>";
}
}
$mf_line .= "<tr>$mf_td_line</tr>";
$mf_td_line = "";
}
$gov_out_line = "";
foreach(json_decode($gov_out_info) as $gov_out){
$maturity_year = $gov_out->maturity_year;
$gov_yearly = $gov_out->gov_yearly;
$gov_scheme_name = $gov_out->gov_scheme_name;
$out_start_date = date("Y-m-d");
//$out_check_year = date('Y',strtotime($out_start_date));
$out_start_date = new DateTime($out_start_date);
$out_check_year = $out_start_date->format("Y");
for ($x = 0; $x <= $total_years; $x++) {
if($x === 0){
$gov_out_td_line = "<td>Government</td><td>$gov_scheme_name</td>";
}else{
$out_check_year = $out_check_year + 1;
}
if((int)$maturity_year >= (int)$out_check_year){
$gov_out_td_line .= "<td>$gov_yearly</td>";
}else{
$gov_out_td_line .= "<td>0</td>";
}
}
$gov_out_line .= "<tr>$gov_out_td_line</tr>";
$gov_out_td_line = "";
}
$others_out_line = "";
foreach(json_decode($others_out_info) as $others_out){
$maturity_year = $others_out->maturity_year;
$other_yearly = $others_out->other_yearly;
$others_descript = $others_out->others_descript;
$out_start_date = date("Y-m-d");
//$out_check_year = date('Y',strtotime($out_start_date));
$out_start_date = new DateTime($out_start_date);
$out_check_year = $out_start_date->format("Y");
for ($x = 0; $x <= $total_years; $x++) {
if($x === 0){
$others_out_td_line = "<td>Others</td><td>$others_descript</td>";
}else{
$out_check_year = $out_check_year + 1;
}
if((int)$maturity_year >= (int)$out_check_year){
$others_out_td_line .= "<td>$other_yearly</td>";
}else{
$others_out_td_line .= "<td>0</td>";
}
}
$others_out_line .= "<tr>$others_out_td_line</tr>";
$others_out_td_line = "";
}
$total_years = $total_years+2;
$income_table = "<h3 style='text-align:center;color:#43d854;'>Income per year</h3>
<table class='striped highlight centered responsive-table' style='margin-bottom:15px;'>
<thead style='background-color:#43d854;font-weight:bold;color:#FFFFFF;'>
$th_line
</thead>
<tbody>
<tr>$salary_line</tr>
$bank_in_line
$insurance_in_line
$gov_in_line
$others_in_line
<tr style='color:#43d854;font-weight:bold;'>$in_total_line</tr>
</tbody>
</table>";
$expence_table = "<h3 style='text-align:center;color:#CC3366;'>Expense per year</h3>
<table class='striped highlight centered responsive-table' style='margin-bottom:15px;'>
<thead style='background-color:#CC3366;font-weight:bold;color:#FFFFFF;'>
$th_line
</thead>
<tbody>
<tr>$expense_line</tr>
$loan_line
$bank_out_line
$insurance_out_line
$mf_line
$gov_out_line
$others_out_line
<tr style='color:#CC3366;font-weight:bold;'>$out_total_line</tr>
</tbody>
</table>";
$final_table = "<h3 style='text-align:center;color:#ed780e;'>Surplus fund per year</h3>
<table class='striped highlight centered responsive-table' style='margin-bottom:15px;'>
<thead style='background-color:#ed780e;font-weight:bold;color:#FFFFFF;'>
$th_line
</thead>
<tbody>
<tr>$final_total_line</tr>
</tbody>
</table>";
$content = "$income_table $expence_table $final_table";
echo json_encode(array('content' => $content),JSON_NUMERIC_CHECK);
}else
/**** PROTECTION SUGGESTED INFORMATION ****/
if($frm === "protection_suggested"){
echo $repObject->protection_suggested();
}else
/**** GOAL INFORMATION ****/
if($frm === "goal_info"){
$in_out_inflation = "";
if(isset($_POST['in_out_inflation'])){
$in_out_inflation = $_POST['in_out_inflation'];
}
$income_hike = "";
if(isset($_POST['income_hike'])){
$income_hike = $_POST['income_hike'];
}
echo $repObject->get_goal_info();
}else
/**** GOAL DETAIL INFORMATION ****/
if($frm === "goal_info_detail"){
$goal_id = "";
if(isset($_POST['goal_id'])){
$goal_id = $_POST['goal_id'];
}
$returns = 6;
echo $repObject->get_goal_info_detail($goal_id,$returns);
}else
/**** GOAL DETAIL INFORMATION BY RETURS****/
if($frm === "suggestion_returs"){
$goal_id = "";
if(isset($_POST['goal_id'])){
$goal_id = $_POST['goal_id'];
}
$returns = "";
if(isset($_POST['suggestion_returs'])){
$returns = $_POST['suggestion_returs'];
}
echo $repObject->get_goal_info_detail($goal_id,$returns);
}else{
echo json_encode(array('sts' => FALSE, 'info' =>"No Record found"));
}
?>