GetModel();
$db->where("PM_PROPNO", $pmid);
$barr = $db->getOne("tb_prop_mas", "*");
$db->where("pm_prmstid", $barr["PM_PRMSTID"]);
$arr = $db->get("tb_prop_det", 99999, "*");
$db->where("type_id", $barr["COD_USAGE1"]);
$config = $db->getOne("tax_values", "*");
$config_rv_values = $db->get("RV_BASED_TAX_VALUES", 99999999, "*");
$malmat_kar = 0;
$vrush_kar = 0;
$vishy_shikshan_kar = 0;
$val = 1;
if ($barr["COD_USAGE1"] == 10) {
$val = 1;
}
$svach_kar = $config["svach_kar"] * $val;
$agnishamak_kar = 0;
$shikshan_kar = 0;
$rojgar = 0;
$col = "non_resi_shik";
if ($barr["COD_USAGE1"] == 13) {
$col = "resi_shiks";
}
$PROP_TYPE = $config["tax_type"];
$total_rv = 0;
$RV_RESI = 0;
$RV_NONRESI = 0;
foreach ($arr as $a) {
$col = "non_resi_shik";
if ($a["COD_USAGE1"] == 13) {
$col = "resi_shiks";
$RV_RESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
if ($col == "non_resi_shik") {
$RV_NONRESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
$rv = $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
$total_rv += $rv;
//MILKAT MAR
$malmat_kar += ROUND($rv * $config["malmat_kar"], 0);
$vrush_kar += ROUND($rv * $config["vrush_kar"], 0);
$vishy_shikshan_kar += ROUND(
$rv * $config["malmat_kar"] * $config["vishy_shiksan_kar"],
0
);
$agnishamak_kar += ROUND(
$rv * $config["malmat_kar"] * $config["agnishamak_kar"],
0
);
$trv = $a["PD_ALV"];
foreach ($config_rv_values as $c) {
if ($c["rv_from"] <= $trv && $c["rv_to"] >= $trv) {
$shikshan_kar += ROUND($rv * $c[$col], 0);
if ($col != "resi_shiks") {
$rojgar += ROUND($rv * $c["rojgar_non_resi"], 0);
}
break;
}
}
}
$rtn["total_tax1"] = round(
$malmat_kar +
$vrush_kar +
$vishy_shikshan_kar +
$svach_kar +
$agnishamak_kar +
$shikshan_kar +
$rojgar,
2
);
$rtn["pmid"] = round($pmid, 2);
$rtn["ptax_1"] = round($malmat_kar);
$rtn["ptax_10"] = round($vrush_kar);
$rtn["ptax_2"] = round($vishy_shikshan_kar);
$rtn["ptax_17"] = round($svach_kar);
$rtn["ptax_19"] = round($agnishamak_kar);
$rtn["ptax_4"] = round($shikshan_kar);
$rtn["ptax_5"] = round($rojgar);
$rtn_prop = "निवासी";
if ($PROP_TYPE == "NON_RESIDENT") {
$rtn_prop = "बिगर निवासी";
}
if ($PROP_TYPE == "MIXED") {
$rtn_prop = "मिश्र";
}
$rtn["RTN_PROP_TYPE"] = $rtn_prop;
$rtn["PROP_TYPE"] = $PROP_TYPE;
$rtn["RV_r"] = round($RV_RESI, 2);
$rtn["RV_nr"] = round($RV_NONRESI, 2);
$INTREST = 0;
$malmat_kar = 0;
$vishy_shikshan_kar = 0;
$vishy_pani_kar = 0;
$rojgar = 0;
$building = 0;
$vrush_kar = 0;
$agnishamak_kar = 0;
$general_water = 0;
$month_3 = 0;
$svach_kar = 0;
$db->orderby("BM_YEAR", "ASC");
$db->where("PM_PRMSTID", $barr["PM_PRMSTID"]);
$BM_IDNO = $db->get("TB_BILL_MAS", 99999999, "*");
$TB_TAXRT_MAS = $db->get("TB_TAXRT_MAS", 99999999, "*");
$tax_data = [];
$total_interest = 0;
$total_prev_tax = 0;
foreach ($BM_IDNO as $BM_IDNOk) {
$year = $BM_IDNOk["BM_YEAR"];
// ECHO $BM_IDNOk['BM_IDNO'];ECHO "
";
// ECHO $BM_IDNOk['BM_BILLDT'];ECHO "
";
$db->where("BD_CLEAR", "N");
$db->where("BM_IDNO", $BM_IDNOk["BM_IDNO"]);
$arr = $db->get("tb_BILL_DETAIL", 9999999, "*");
foreach ($arr as $a) {
if ($a["TM_TAXID"] != 15) {
$total_prev_tax += $a["BD_BAL_TAXAMT"];
if ($a["BD_BAL_TAXAMT"] > 0) {
$found = false;
$tmp_tax = ($a["BD_BAL_TAXAMT"] / 2) * 3 * 0.02;
$tmp_tax += $a["BD_BAL_TAXAMT"] * 3 * 0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] *
((date("Y") - $year - 1) * 12) *
0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] * (date("m") - 3) * 0.02;
$total_interest += $tmp_tax;
foreach ($tax_data as $ins => $td) {
if ($a["TM_TAXID"] == $td["TM_TAXID"]) {
$tax_data[$ins]["val"] =
round($a["BD_BAL_TAXAMT"], 2) + $td["val"];
$found = true;
}
}
if (!$found) {
$tax_data[] = [
"TM_TAXID" => $a["TM_TAXID"],
"val" => round($a["BD_BAL_TAXAMT"], 2),
];
}
}
}
}
}
function GET_PROP_DEMAND($pmid)
{
$db = $this->GetModel();
$db->where("PM_PROPNO", $pmid);
$barr = $db->getOne("tb_prop_mas", "*");
$db->where("pm_prmstid", $barr["PM_PRMSTID"]);
$arr = $db->get("tb_prop_det", 99999, "*");
$db->where("type_id", $barr["COD_USAGE1"]);
$config = $db->getOne("tax_values", "*");
$config_rv_values = $db->get("RV_BASED_TAX_VALUES", 99999999, "*");
$malmat_kar = 0;
$vrush_kar = 0;
$vishy_shikshan_kar = 0;
$val = 1;
if ($barr["COD_USAGE1"] == 10) {
$val = 1;
}
$svach_kar = $config["svach_kar"] * $val;
$agnishamak_kar = 0;
$shikshan_kar = 0;
$rojgar = 0;
$col = "non_resi_shik";
if ($barr["COD_USAGE1"] == 13) {
$col = "resi_shiks";
}
$PROP_TYPE = $config["tax_type"];
$total_rv = 0;
$RV_RESI = 0;
$RV_NONRESI = 0;
foreach ($arr as $a) {
$col = "non_resi_shik";
if ($a["COD_USAGE1"] == 13) {
$col = "resi_shiks";
$RV_RESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
if ($col == "non_resi_shik") {
$RV_NONRESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
$rv = $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
$total_rv += $rv;
//MILKAT MAR
$malmat_kar += ROUND($rv * $config["malmat_kar"], 0);
$vrush_kar += ROUND($rv * $config["vrush_kar"], 0);
$vishy_shikshan_kar += ROUND(
$rv * $config["malmat_kar"] * $config["vishy_shiksan_kar"],
0
);
$agnishamak_kar += ROUND(
$rv * $config["malmat_kar"] * $config["agnishamak_kar"],
0
);
$trv = $a["PD_ALV"];
foreach ($config_rv_values as $c) {
if ($c["rv_from"] <= $trv && $c["rv_to"] >= $trv) {
$shikshan_kar += ROUND($rv * $c[$col], 0);
if ($col != "resi_shiks") {
$rojgar += ROUND($rv * $c["rojgar_non_resi"], 0);
}
break;
}
}
}
$rtn["total_tax1"] = round(
$malmat_kar +
$vrush_kar +
$vishy_shikshan_kar +
$svach_kar +
$agnishamak_kar +
$shikshan_kar +
$rojgar,
2
);
$rtn["pmid"] = round($pmid, 2);
$rtn["ptax_1"] = round($malmat_kar);
$rtn["ptax_10"] = round($vrush_kar);
$rtn["ptax_2"] = round($vishy_shikshan_kar);
$rtn["ptax_17"] = round($svach_kar);
$rtn["ptax_19"] = round($agnishamak_kar);
$rtn["ptax_4"] = round($shikshan_kar);
$rtn["ptax_5"] = round($rojgar);
$rtn_prop = "निवासी";
if ($PROP_TYPE == "NON_RESIDENT") {
$rtn_prop = "बिगर निवासी";
}
if ($PROP_TYPE == "MIXED") {
$rtn_prop = "मिश्र";
}
$rtn["RTN_PROP_TYPE"] = $rtn_prop;
$rtn["PROP_TYPE"] = $PROP_TYPE;
$rtn["RV_r"] = round($RV_RESI, 2);
$rtn["RV_nr"] = round($RV_NONRESI, 2);
$INTREST = 0;
$malmat_kar = 0;
$vishy_shikshan_kar = 0;
$vishy_pani_kar = 0;
$rojgar = 0;
$building = 0;
$vrush_kar = 0;
$agnishamak_kar = 0;
$general_water = 0;
$month_3 = 0;
$svach_kar = 0;
$db->orderby("BM_YEAR", "ASC");
$db->where("PM_PRMSTID", $barr["PM_PRMSTID"]);
$BM_IDNO = $db->get("TB_BILL_MAS", 99999999, "*");
$TB_TAXRT_MAS = $db->get("TB_TAXRT_MAS", 99999999, "*");
$tax_data = [];
$total_interest = 0;
$total_prev_tax = 0;
foreach ($BM_IDNO as $BM_IDNOk) {
$year = $BM_IDNOk["BM_YEAR"];
// ECHO $BM_IDNOk['BM_IDNO'];ECHO "
";
// ECHO $BM_IDNOk['BM_BILLDT'];ECHO "
";
$db->where("BD_CLEAR", "N");
$db->where("BM_IDNO", $BM_IDNOk["BM_IDNO"]);
$arr = $db->get("tb_BILL_DETAIL", 9999999, "*");
foreach ($arr as $a) {
if ($a["TM_TAXID"] != 15) {
$total_prev_tax += $a["BD_BAL_TAXAMT"];
if ($a["BD_BAL_TAXAMT"] > 0) {
$found = false;
$tmp_tax = ($a["BD_BAL_TAXAMT"] / 2) * 3 * 0.02;
$tmp_tax += $a["BD_BAL_TAXAMT"] * 3 * 0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] *
((date("Y") - $year - 1) * 12) *
0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] * (date("m") - 3) * 0.02;
$total_interest += $tmp_tax;
foreach ($tax_data as $ins => $td) {
if ($a["TM_TAXID"] == $td["TM_TAXID"]) {
$tax_data[$ins]["val"] =
round($a["BD_BAL_TAXAMT"], 2) +
$td["val"];
$found = true;
}
}
if (!$found) {
$tax_data[] = [
"TM_TAXID" => $a["TM_TAXID"],
"val" => round($a["BD_BAL_TAXAMT"], 2),
];
}
}
}
}
}
}
$tax_data[] = ["TM_TAXID" => "15", "val" => round($total_interest, 2)];
$rtn["taxdet"] = $TB_TAXRT_MAS;
$rtn["yr"] = date("Y") + 0;
$rtn["pretax"] = $tax_data;
$rtn["totalint"] = round($total_interest, 2);
$rtn["totalprevtax"] = round($total_prev_tax, 2);
$rtn["property"] = $barr;
render_json($rtn);
}
function GET_PROP_DEMAND($pmid)
{
error_reporting(0);
$db = $this->GetModel();
$db->where("PM_PROPNO", $pmid);
$barr = $db->getOne("tb_prop_mas", "*");
$db->where("pm_prmstid", $barr["PM_PRMSTID"]);
$arr = $db->get("tb_prop_det", 99999, "*");
$db->where("property", $pmid);
$UPYOG_CATEGORIES = $db->get("UPYOG_CATEGORIES", 99999, "*") ;
$us = $db->get("Upyog_Shulk", 99999, "*") ;
$Expemtion_Info = $db->get("Expemtion_Info", 99999, "*");
$Expemtion_data = $db->get("Expemtion_DATA", 99999, "*");
$configration = $db->get("tax_configuration", 99999, "*");
$RV_VAL = $db->get("RV_BASED_TAX_VALUES", 99999, "*");
$TAXRT_MAS = $db->get("TB_TAXRT_MAS", 99999, "*");
$db->where("type_id", $barr["COD_USAGE1"]);
$config = $db->getOne("tax_values", "*");
$config_rv_values = $db->get("RV_BASED_TAX_VALUES", 99999999, "*");
$malmat_kar = 0;
$vrush_kar = 0;
$vishy_shikshan_kar = 0;
$PUT=[];
$val = 1;
if ($barr["COD_USAGE1"] == 10) {
$val = 1;
}
$svach_kar = $config["svach_kar"] * $val;
$agnishamak_kar = 0;
$shikshan_kar = 0;
$rojgar = 0;
$col = "non_resi_shik";
if ($barr["COD_USAGE1"] == 13) {
$col = "resi_shiks";
}
$PROP_TYPE = $config["tax_type"];
$total_rv = 0;
$RV_RESI = 0;
$RV_NONRESI = 0;
$TOTAL_TAX=0;
foreach ($arr as $a) {
$col = "non_resi_shik";
if ($a["COD_USAGE1"] == 13) {
$col = "resi_shiks";
$RV_RESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
if ($col == "non_resi_shik") {
$RV_NONRESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
$rv = $a["PD_ALV"] - $a["PD_ALV"] * 0.1;
$lv = $a["PD_ALV"] ;
$total_rv += $rv;
// //MILKAT MAR
// $malmat_kar += ROUND($rv * $config["malmat_kar"], 0);
// $vrush_kar += ROUND($rv * $config["vrush_kar"], 0);
// $vishy_shikshan_kar += ROUND(
// $rv * $config["malmat_kar"] * $config["vishy_shiksan_kar"],
// 0
// );
// $agnishamak_kar += ROUND(
// $rv * $config["malmat_kar"] * $config["agnishamak_kar"],
// 0
// );
// $trv = $a["PD_ALV"];
// foreach ($config_rv_values as $c) {
// if ($c["rv_from"] <= $trv && $c["rv_to"] >= $trv) {
// $shikshan_kar += ROUND($rv * $c[$col], 0);
// if ($col != "resi_shiks") {
// $rojgar += ROUND($rv * $c["rojgar_non_resi"], 0);
// }
// break;
// }
// }
// }
// $rtn["total_tax1"] = round(
// $malmat_kar +
// $vrush_kar +
// $vishy_shikshan_kar +
// $svach_kar +
// $agnishamak_kar +
// $shikshan_kar +
// $rojgar,
// 2
// );
$intprop="RESIDENTIAL";
$rtn_prop = "निवासी";
if ($PROP_TYPE == "NON_RESIDENT") {
$rtn_prop = "बिगर निवासी";
$intprop="NON_RESIDENTIAL";
}
if ($PROP_TYPE == "MIXED") {
$intprop="MIXED";
$rtn_prop = "मिश्र";
}
$tmpptx=0;
foreach ($TAXRT_MAS as $tax ) {
$tax_id=$tax['TM_TAXID'];
//CHECK FOR EXPTION.
$continue=false;
foreach($Expemtion_Info as $ei){
if(str_replace(" ","",$ei['exemption_tax_id'])==$tax_id){
$continue=true;
foreach($Expemtion_data as $ed){
if(str_replace(" ","",$ed['exemption_property_no'])==$pmid){
$continue=true;
continue;
}
}
}
}
if($continue){
continue;
}else{
$found=false;
$conf=[];
foreach($configration as $c){
if($c['taxid']==$tax_id && $c['property_type']==$intprop){
$found=true;
$conf=$c;
}
}
if($found){
// echo $tax_id;
if($conf['property_type']==$intprop){
$tax_type=$conf['tax_type'];
$calculation_on=$conf['calculation_on'];
if($tax_type=="PLAIN"){
if(!isset($PUT['ptax_'.$tax_id])){
$val=0;
if(isset($rtn['ptax_'.$tax_id])){
$val=$rtn['ptax_'.$tax_id];
}
$rtn['ptax_'.$tax_id]=$conf['prct']+$val;
$TOTAL_TAX+=$conf['prct'];
}
$PUT['ptax_'.$tax_id]='dne';
}
if($tax_type=="RV_PRCT"){
$tmp=$rv;
if($calculation_on=="LV"){
$tmp=$lv;
}
if($tax_id==1){
$tmpptx=$tmp*$conf['prct'];
}
if($calculation_on=="PTAX"){
$tmp=$tmpptx;
}
$rtn['ptax_'.$tax_id]=round($val+($tmp*$conf['prct']));
$TOTAL_TAX+=round($tmp*$conf['prct']);
}
if($tax_type=="RV_VALUE_VARIABLE_BASED"){
$tmp=$rv;
$tmpcmp=$rv;
if($calculation_on=="LV"){
$tmp=$lv;
}
if($calculation_on=="PTAX"){
$tmp=$tmpptx;
}
if($conf['search_on']=="LV"){
$tmpcmp=$lv;
}
$mul=0;
foreach($RV_VAL as $rva){
if($rva['tax_config_id']==$conf['id']){
if(
$tmpcmp>=$rva['rv_from']
&&
$tmpcmp<=$rva['rv_to']
){
$mul=$rva['prct'];
}
}
}
$val=0;
if(isset($rtn['ptax_'.$tax_id])){
$val=$rtn['ptax_'.$tax_id];
}
$rtn['ptax_'.$tax_id]=round($val+($tmp*$mul),2);
$TOTAL_TAX+=round($rv*$mul,2);
}
}
}
}
}
}
// if(isset($us['rate'])){
// print_r($UPYOG_CATEGORIES);
foreach($UPYOG_CATEGORIES as $uc){
foreach($us as $uss){
if($uss['id']==$uc['category']){
$TOTAL_TAX+=$uss['rate'];
$tmp=0;
if(isset($rtn["ptax_22"])){
$tmp=$rtn["ptax_22"];
}
$rtn["ptax_22"] = round($tmp+($uss['rate']*12), 2);
}
}
// }
}
$rtn["total_tax1"] = round($TOTAL_TAX, 2);
$rtn["pmid"] = round($pmid, 2);
// $rtn["ptax_1"] = round($malmat_kar);
// $rtn["ptax_10"] = round($vrush_kar);
// $rtn["ptax_2"] = round($vishy_shikshan_kar);
// $rtn["ptax_17"] = round($svach_kar);
// $rtn["ptax_19"] = round($agnishamak_kar);
// $rtn["ptax_4"] = round($shikshan_kar);
// $rtn["ptax_5"] = round($rojgar);
$rtn["RTN_PROP_TYPE"] = $rtn_prop;
$rtn["PROP_TYPE"] = $PROP_TYPE;
$rtn["RV_r"] = round($RV_RESI, 2);
$rtn["RV_nr"] = round($RV_NONRESI, 2);
$INTREST = 0;
$malmat_kar = 0;
$vishy_shikshan_kar = 0;
$vishy_pani_kar = 0;
$rojgar = 0;
$building = 0;
$vrush_kar = 0;
$agnishamak_kar = 0;
$general_water = 0;
$month_3 = 0;
$svach_kar = 0;
$db->orderby("BM_YEAR", "ASC");
$db->where("PM_PRMSTID", $barr["PM_PRMSTID"]);
$BM_IDNO = $db->get("TB_BILL_MAS", 99999999, "*");
$TB_TAXRT_MAS = $db->get("TB_TAXRT_MAS", 99999999, "*");
$tax_data = [];
$total_interest = 0;
$total_prev_tax = 0;
foreach ($BM_IDNO as $BM_IDNOk) {
$year = $BM_IDNOk["BM_YEAR"];
// ECHO $BM_IDNOk['BM_IDNO'];ECHO "
";
// ECHO $BM_IDNOk['BM_BILLDT'];ECHO "
";
$db->where("(BD_CLEAR='N' OR BD_BAL_TAXAMT<0)");
$db->where("BM_IDNO", $BM_IDNOk["BM_IDNO"]);
$arr = $db->get("tb_BILL_DETAIL", 9999999, "*");
foreach ($arr as $a) {
if ($a["TM_TAXID"] != 15) {
// if($a['BD_ARREASAMT']<0){
// $a["BD_BAL_TAXAMT"]=$a['BD_ARREASAMT'];
// }
$total_prev_tax += $a["BD_BAL_TAXAMT"];
if ($a["BD_BAL_TAXAMT"] > 0 || true) {
$found = false;
// if($a["BD_BAL_TAXAMT"] > 0)
$tmp_tax = ($a["BD_BAL_TAXAMT"] / 2) * 3 * 0.02;
$tmp_tax += $a["BD_BAL_TAXAMT"] * 3 * 0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] *
((date("Y") - $year - 1) * 12) *
0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] * (date("m") - 3) * 0.02;
$total_interest += $tmp_tax;
foreach ($tax_data as $ins => $td) {
if ($a["TM_TAXID"] == $td["TM_TAXID"]) {
$tax_data[$ins]["val"] =
round($a["BD_BAL_TAXAMT"], 2) + $td["val"];
$found = true;
}
}
if (!$found) {
$tax_data[] = [
"TM_TAXID" => $a["TM_TAXID"],
"val" => round($a["BD_BAL_TAXAMT"], 2),
];
}
}
}
}
}
function GET_PROP_DEMAND($pmid)
{
$db = $this->GetModel();
$db->where("PM_PROPNO", $pmid);
$barr = $db->getOne("tb_prop_mas", "*");
$db->where("pm_prmstid", $barr["PM_PRMSTID"]);
$arr = $db->get("tb_prop_det", 99999, "*");
$db->where("type_id", $barr["COD_USAGE1"]);
$config = $db->getOne("tax_values", "*");
$config_rv_values = $db->get("RV_BASED_TAX_VALUES", 99999999, "*");
$malmat_kar = 0;
$vrush_kar = 0;
$vishy_shikshan_kar = 0;
$val = 1;
if ($barr["COD_USAGE1"] == 10) {
$val = 1;
}
$svach_kar = $config["svach_kar"] * $val;
$agnishamak_kar = 0;
$shikshan_kar = 0;
$rojgar = 0;
$col = "non_resi_shik";
if ($barr["COD_USAGE1"] == 13) {
$col = "resi_shiks";
}
$PROP_TYPE = $config["tax_type"];
$total_rv = 0;
$RV_RESI = 0;
$RV_NONRESI = 0;
foreach ($arr as $a) {
$col = "non_resi_shik";
if ($a["COD_USAGE1"] == 13) {
$col = "resi_shiks";
$RV_RESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
if ($col == "non_resi_shik") {
$RV_NONRESI += $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
}
$rv = $a["PD_ALV"] - ($a["PD_ALV"] * 0.1);
$total_rv += $rv;
//MILKAT MAR
$malmat_kar += ROUND($rv * $config["malmat_kar"], 0);
$vrush_kar += ROUND($rv * $config["vrush_kar"], 0);
$vishy_shikshan_kar += ROUND(
$rv * $config["malmat_kar"] * $config["vishy_shiksan_kar"],
0
);
$agnishamak_kar += ROUND(
$rv * $config["malmat_kar"] * $config["agnishamak_kar"],
0
);
$trv = $a["PD_ALV"];
foreach ($config_rv_values as $c) {
if ($c["rv_from"] <= $trv && $c["rv_to"] >= $trv) {
$shikshan_kar += ROUND($rv * $c[$col], 0);
if ($col != "resi_shiks") {
$rojgar += ROUND($rv * $c["rojgar_non_resi"], 0);
}
break;
}
}
}
$rtn["total_tax1"] = round(
$malmat_kar +
$vrush_kar +
$vishy_shikshan_kar +
$svach_kar +
$agnishamak_kar +
$shikshan_kar +
$rojgar,
2
);
$rtn["pmid"] = round($pmid, 2);
$rtn["ptax_1"] = round($malmat_kar);
$rtn["ptax_10"] = round($vrush_kar);
$rtn["ptax_2"] = round($vishy_shikshan_kar);
$rtn["ptax_17"] = round($svach_kar);
$rtn["ptax_19"] = round($agnishamak_kar);
$rtn["ptax_4"] = round($shikshan_kar);
$rtn["ptax_5"] = round($rojgar);
$rtn_prop = "निवासी";
if ($PROP_TYPE == "NON_RESIDENT") {
$rtn_prop = "बिगर निवासी";
}
if ($PROP_TYPE == "MIXED") {
$rtn_prop = "मिश्र";
}
$rtn["RTN_PROP_TYPE"] = $rtn_prop;
$rtn["PROP_TYPE"] = $PROP_TYPE;
$rtn["RV_r"] = round($RV_RESI, 2);
$rtn["RV_nr"] = round($RV_NONRESI, 2);
$INTREST = 0;
$malmat_kar = 0;
$vishy_shikshan_kar = 0;
$vishy_pani_kar = 0;
$rojgar = 0;
$building = 0;
$vrush_kar = 0;
$agnishamak_kar = 0;
$general_water = 0;
$month_3 = 0;
$svach_kar = 0;
$db->orderby("BM_YEAR", "ASC");
$db->where("PM_PRMSTID", $barr["PM_PRMSTID"]);
$BM_IDNO = $db->get("TB_BILL_MAS", 99999999, "*");
$TB_TAXRT_MAS = $db->get("TB_TAXRT_MAS", 99999999, "*");
$tax_data = [];
$total_interest = 0;
$total_prev_tax = 0;
foreach ($BM_IDNO as $BM_IDNOk) {
$year = $BM_IDNOk["BM_YEAR"];
// ECHO $BM_IDNOk['BM_IDNO'];ECHO "
";
// ECHO $BM_IDNOk['BM_BILLDT'];ECHO "
";
$db->where("BD_CLEAR", "N");
$db->where("BM_IDNO", $BM_IDNOk["BM_IDNO"]);
$arr = $db->get("tb_BILL_DETAIL", 9999999, "*");
foreach ($arr as $a) {
if ($a["TM_TAXID"] != 15) {
$total_prev_tax += $a["BD_BAL_TAXAMT"];
if ($a["BD_BAL_TAXAMT"] > 0) {
$found = false;
$tmp_tax = ($a["BD_BAL_TAXAMT"] / 2) * 3 * 0.02;
$tmp_tax += $a["BD_BAL_TAXAMT"] * 3 * 0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] *
((date("Y") - $year - 1) * 12) *
0.02;
$tmp_tax +=
$a["BD_BAL_TAXAMT"] * (date("m") - 3) * 0.02;
$total_interest += $tmp_tax;
foreach ($tax_data as $ins => $td) {
if ($a["TM_TAXID"] == $td["TM_TAXID"]) {
$tax_data[$ins]["val"] =
round($a["BD_BAL_TAXAMT"], 2) +
$td["val"];
$found = true;
}
}
if (!$found) {
$tax_data[] = [
"TM_TAXID" => $a["TM_TAXID"],
"val" => round($a["BD_BAL_TAXAMT"], 2),
];
}
}
}
}
}
}
$tax_data[] = ["TM_TAXID" => "15", "val" => round($total_interest, 2)];
$rtn["taxdet"] = $TB_TAXRT_MAS;
$rtn["yr"] = date("Y") + 0;
$rtn["pretax"] = $tax_data;
$rtn["totalint"] = round($total_interest, 2);
$rtn["totalprevtax"] = round($total_prev_tax, 2);
$rtn["property"] = $barr;
render_json($rtn);
}
function generate_demand($ay)
{
$db = $this->getModel();
ini_set("max_execution_time", "0"); // for infinite time of execution
$barrr = $db->get("tb_prop_mas", 999999999, "COD_USAGE1,PM_PRMSTID");
foreach ($barrr as $barr) {
$db->where("pm_prmstid", $barr["PM_PRMSTID"]);
$arr = $db->get("tb_prop_det", 99999, "*");
$db->where("type_id", $barr["COD_USAGE1"]);
$config = $db->getOne("tax_values", "*");
$config_rv_values = $db->get("RV_BASED_TAX_VALUES", 99999999, "*");
$malmat_kar = 0;
$vrush_kar = 0;
$vishy_shikshan_kar = 0;
$val = 1;
if ($barr["COD_USAGE1"] == 10) {
$val = 1;
}
$svach_kar = $config["svach_kar"] * $val;
$agnishamak_kar = 0;
$shikshan_kar = 0;
$rojgar = 0;
$col = "non_resi_shik";
if ($barr["COD_USAGE1"] == 13) {
$col = "resi_shiks";
}
$PROP_TYPE = $config["tax_type"];
$total_rv = 0;
foreach ($arr as $a) {
$col = "non_resi_shik";
if ($a["COD_USAGE1"] == 13) {
$col = "resi_shiks";
}
$rv = $a["PD_RV"];
$total_rv += $rv;
//MILKAT MAR
$malmat_kar += ROUND($rv * $config["malmat_kar"], 0);
$vrush_kar += ROUND($rv * $config["vrush_kar"], 0);
$vishy_shikshan_kar += ROUND(
$rv * $config["malmat_kar"] * $config["vishy_shiksan_kar"],
0
);
$agnishamak_kar += ROUND(
$rv * $config["malmat_kar"] * $config["agnishamak_kar"],
0
);
foreach ($config_rv_values as $c) {
if ($c["rv_from"] <= $rv && $c["rv_to"] >= $rv) {
$shikshan_kar += ROUND($rv * $c[$col], 0);
if ($col != "resi_shiks") {
$rojgar += ROUND($rv * $c["rojgar_non_resi"], 0);
}
break;
}
}
}
$rtn = [];
$rtn["malmat_kar"] = round($malmat_kar, 2);
$rtn["vrush_kar"] = round($vrush_kar, 2);
$rtn["vishy_shikshan_kar"] = round($vishy_shikshan_kar, 2);
$rtn["svach_kar"] = round($svach_kar, 2);
$rtn["agnishamak_kar"] = round($agnishamak_kar, 2);
$rtn["shikshan_kar"] = round($shikshan_kar, 2);
$rtn["rojgar"] = round($rojgar, 2);
$rtn["PROP_TYPE"] = $PROP_TYPE;
echo $db->insert("TB_DEMAND_GENERATION", [
"property_id" => $barr["PM_PRMSTID"],
"malmat_kar" => $rtn["malmat_kar"],
"vrush_kar" => $rtn["vrush_kar"],
"vishy_shikshan_kar" => $rtn["vishy_shikshan_kar"],
"svach_kar" => $rtn["svach_kar"],
"agnishamak_kar" => $rtn["agnishamak_kar"],
"shikshan_kar" => $rtn["shikshan_kar"],
"rojgar" => $rtn["rojgar"],
"PROP_TYPE" => $rtn["PROP_TYPE"],
"total_tax" => 0,
"fin_year" => $ay,
]);
exit();
}
}
}