Ejemplo n.º 1
0
 function updateBacktaxTD($xmlStr)
 {
     if (!($domDoc = domxml_open_mem($xmlStr))) {
         return false;
     }
     $backtaxTD = new BacktaxTD();
     $backtaxTD->parseDomDocument($domDoc);
     $ret = $backtaxTD->updateRecord();
     return $ret;
 }
Ejemplo n.º 2
0
 function getBacktaxTD2($backtaxTDID)
 {
     $backtaxTD = new BacktaxTD();
     $backtaxTD->selectRecord("", $backtaxTDID);
     if (!($domDoc = $backtaxTD->getDomDocument())) {
         return false;
     } else {
         $xmlStr = $domDoc->dump_mem(true);
         return $xmlStr;
     }
 }
Ejemplo n.º 3
0
 function getTDNumber($tdID, $backtaxTDID)
 {
     if ($tdID != "") {
         $td = new TD();
         $td->selectRecord($tdID);
         $tdNumber = $td->getTaxDeclarationNumber();
     } else {
         if ($backtaxTDID != "") {
             $backtaxTD = new BacktaxTD();
             $backtaxTD->selectRecord("", $backtaxTDID);
             $tdNumber = $backtaxTD->getTDNumber();
         }
     }
     return $tdNumber;
 }
Ejemplo n.º 4
0
 function getDueIDFromBacktaxTDID($backtaxTDID, $dueType)
 {
     $backtaxTD = new BacktaxTD();
     $backtaxTD->selectRecord("", $backtaxTDID);
     // look for tdID with associated backtaxTD->tdNum
     $tdIDArray = $this->getTDIDArrayFromTDNumber($backtaxTD->getTdNumber());
     if (is_array($tdIDArray)) {
         if (count($tdIDArray) > 1) {
             unset($tdIDArray);
             $tdIDArray = $this->getTDIDArrayFromParentTDID($backtaxTD->getTDID());
             foreach ($tdIDArray as $tdID) {
                 if ($this->isSameTDNumber($tdID, $backtaxTD->getTdNumber())) {
                     // this is it!
                     if ($dueID = $this->getDueIDFromTDID($tdID, $dueType, $backtaxTD->getStartYear())) {
                         return $dueID;
                     }
                 }
             }
         } else {
             // this is it!
             $tdID = $tdIDArray[0];
             $dueID = $this->getDueIDFromTDID($tdID, $dueType, $backtaxTD->getStartYear());
             return $dueID;
         }
     }
     return false;
 }
Ejemplo n.º 5
0
 function displayBacktaxTD($ownerSwitch = false)
 {
     $backtaxTDID = $_POST['backtaxTDCheckbox'];
     $backtaxTD = new BacktaxTD();
     $backtaxTD->selectRecord("", $backtaxTDID);
     // get parent TD
     $tdID = $backtaxTD->getTDID();
     if ($ownerSwitch != true) {
         $rptopID = isset($_POST['rptopID']) ? $_POST['rptopID'] : $_GET['rptopID'];
         $rptop = new RPTOP();
         $rptop->selectRecord($rptopID);
         $owner = $rptop->getOwner();
         $personArray = $owner->getPersonArray();
         if (is_array($personArray)) {
             foreach ($personArray as $person) {
                 $ownerValues['ownerKey'] = "personID";
                 $ownerValues['ownerScript'] = "PersonDetails.php";
                 $ownerValues['ownerID'] = $person->getPersonID();
                 $ownerValues['ownerName'] = $person->getLastName() . ", " . $person->getFirstName() . " " . $person->getMiddleName();
                 $this->tpl->set_var($ownerValues);
                 $this->tpl->parse('Owners', 'Owner', 'true');
             }
         }
         $companyArray = $owner->getCompanyArray();
         if (is_array($companyArray)) {
             foreach ($companyArray as $company) {
                 $ownerValues['cownerKey'] = "companyID";
                 $ownerValues['cownerScript'] = "CompanyDetails.php";
                 $ownerValues['cownerID'] = $company->getCompanyID();
                 $ownerValues['cownerName'] = $company->getCompanyName();
                 $this->tpl->set_var($ownerValues);
                 $this->tpl->parse('Owners', 'Owner', 'true');
             }
         }
         if (is_array($personArray)) {
             if (count($personArray) > 1) {
                 $receivedFrom = $personArray[0]->getFirstName() . " " . $personArray[0]->getMiddleName() . " " . $personArray[0]->getLastName() . " et al.";
             } else {
                 $receivedFrom = $personArray[0]->getFirstName() . " " . $personArray[0]->getMiddleName() . " " . $personArray[0]->getLastName();
             }
         } else {
             if (is_array($companyArray)) {
                 if (count($companyArray) > 1) {
                     $receivedFrom = $companyArray[0]->getCompanyName() . " et al.";
                 } else {
                     $receivedFrom = $companyArray[0]->getCompanyName();
                 }
             }
         }
         $this->tpl->set_var('receivedFrom', $receivedFrom);
     }
     $this->tpl->set_var("lotAddress", "");
     $this->tpl->set_var("idleStatus", "");
     $this->tpl->set_var("tdNum", "");
     $this->tpl->set_var("assessedValueLand", "");
     $this->tpl->set_var("assessedValueOthers", "");
     $this->tpl->set_var("num", "");
     $this->tpl->set_var("partialPmt", "");
     $this->tpl->set_var("fullPmt", "");
     $this->tpl->set_var("penalty", "");
     $assessedValue = $backtaxTD->getTotalAssessedValue();
     $subTotal = $backtaxTD->getTotalTaxDue();
     $this->tpl->set_var("assessedValue", number_format($assessedValue, 2));
     $this->tpl->set_var("subTotal", number_format($subTotal, 2));
     $this->tpl->set_var("grandTotal", number_format($subTotal, 2));
     $this->tpl->parse("Properties", "Property", true);
     return $backtaxTD->getTotalTaxDue();
 }
Ejemplo n.º 6
0
 function Main()
 {
     $eRPTSSettings = new eRPTSSettings();
     if ($eRPTSSettings->selectRecord(1)) {
         $this->tpl->set_var("lguType", strtoupper($eRPTSSettings->getLguType()));
         $this->tpl->set_var("lguName", strtoupper($eRPTSSettings->getLguName()));
     }
     $dbTD = new DB_RPTS();
     $dbBacktaxTD = new DB_RPTS();
     $dbPaymentBacktaxTD = new DB_RPTS();
     $dbPaymentTD = new DB_RPTS();
     $dbCollectionBacktaxTD = new DB_RPTS();
     $dbCollectionTD = new DB_RPTS();
     $dbDue = new DB_RPTS();
     // gather TD's
     $sql = "SELECT Due.dueID as dueID, " . "Due.tdID as tdID, " . "Due.dueType as dueType, " . "Due.dueDate as dueDate, " . "Due.basicTax as basicTax, " . "Due.basicTaxRate as basicTaxRate, " . "Due.sefTax as sefTax, " . "Due.sefTaxRate as sefTaxRate, " . "Due.idleTax as idleTax, " . "Due.idleTaxRate as idleTaxRate, " . "TD.afsID as afsID, " . "TD.propertyType as propertyType, " . "TD.taxDeclarationNumber as taxDeclarationNumber, " . "AFS.odID as odID, " . "AFS.arpNumber as arpNumber, " . "AFS.propertyIndexNumber as propertyIndexNumber, " . "AFS.taxability as taxability, " . "AFS.effectivity as effectivity, " . "AFS.totalMarketValue as totalMarketValue, " . "AFS.totalAssessedValue as totalAssessedValue " . "FROM Due, TD, AFS " . "WHERE Due.tdID = TD.tdID " . "AND TD.afsID = AFS.afsID " . "AND AFS.archive != 'true' " . "AND TD.archive != 'true' " . "AND Due.dueType = 'Annual' " . "AND TD.propertyType LIKE '" . $this->formArray["classification"] . "' " . "GROUP BY Due.tdID, YEAR(Due.dueDate) " . "ORDER BY Due.dueDate DESC";
     $dbTD->query($sql);
     if ($dbTD->nf() > 0) {
         // gather BacktaxTD's
         while ($dbTD->next_record()) {
             $sqlBacktaxTD = "SELECT backtaxTDID, " . "tdID, " . "tdNumber, " . "startYear, " . "endYear, " . "startQuarter, " . "assessedValue, " . "basicRate, " . "sefRate, " . "basicTax, " . "sefTax, " . "idleTax, " . "penalties, " . "paid, " . "balance, " . "total " . "FROM BacktaxTD " . "WHERE tdID='" . $dbTD->f("tdID") . "' " . "ORDER BY startYear ASC ";
             $dbBacktaxTD->query($sqlBacktaxTD);
             if ($dbBacktaxTD->nf() > 0) {
                 while ($dbBacktaxTD->next_record()) {
                     $backtaxTDRecordArray[] = $dbBacktaxTD->Record;
                 }
             }
             $tdRecordArray[] = array("td" => $dbTD->Record, "backtaxTD" => $backtaxTDRecordArray);
             unset($backtaxTDRecordArray);
         }
     }
     if (is_array($tdRecordArray)) {
         foreach ($tdRecordArray as $recordArray) {
             // gather backtaxTD details
             if (is_array($recordArray["backtaxTD"])) {
                 foreach ($recordArray["backtaxTD"] as $backtaxTDRecord) {
                     $paidBasic = 0;
                     $paidSEF = 0;
                     $paidPenalty = 0;
                     $totalTaxCollected = 0;
                     $basic = 0;
                     $sef = 0;
                     $penalty = 0;
                     $totalCollectible = 0;
                     // get totalTaxCollected
                     $sqlPaymentBacktaxTD = "SELECT paymentID, " . "dueType, " . "backtaxTDID, " . "taxDue, " . "earlyPaymentDiscount, " . "advancedPaymentDiscount, " . "penalty, " . "amnesty, " . "balanceDue, " . "amountPaid, " . "dueDate, " . "paymentDate " . "FROM Payment " . "WHERE backtaxTDID='" . $backtaxTDRecord["backtaxTDID"] . "' " . "AND status!='cancelled'";
                     $dbPaymentBacktaxTD->query($sqlPaymentBacktaxTD);
                     if ($dbPaymentBacktaxTD->nf() > 0) {
                         while ($dbPaymentBacktaxTD->next_record()) {
                             $sqlCollectionBacktaxTD = "SELECT * " . "FROM Collection " . "WHERE paymentID='" . $dbPaymentBacktaxTD->f("paymentID") . "' " . "AND status!='cancelled' ";
                             $dbCollectionBacktaxTD->query($sqlCollectionBacktaxTD);
                             if ($dbCollectionBacktaxTD->nf() > 0) {
                                 while ($dbCollectionBacktaxTD->next_record()) {
                                     switch ($dbCollectionBacktaxTD->f("taxType")) {
                                         case "basic":
                                             if ($dbCollectionBacktaxTD->f("amnesty") != "true") {
                                                 $paidBasic += $dbCollectionBacktaxTD->f("amountPaid") - $dbCollectionBacktaxTD->f("penalty");
                                                 $paidPenalty += $dbCollectionBacktaxTD->f("penalty");
                                                 $totalTaxCollected += $dbCollectionBacktaxTD->f("amountPaid");
                                             } else {
                                                 $paidBasic += $dbCollectionBacktaxTD->f("amountPaid");
                                                 $totalTaxCollected += $paidBasic;
                                             }
                                             break;
                                         case "sef":
                                             if ($dbCollectionBacktaxTD->f("amnesty") != "true") {
                                                 $paidSEF += $dbCollectionBacktaxTD->f("amountPaid") - $dbCollectionBacktaxTD->f("penalty");
                                                 $paidPenalty += $dbCollectionBacktaxTD->f("penalty");
                                                 $totalTaxCollected += $dbCollectionBacktaxTD->f("amountPaid");
                                             } else {
                                                 $paidSEF += $dbCollectionBacktaxTD->f("amountPaid");
                                                 $totalTaxCollected += $paidSEF;
                                             }
                                             break;
                                     }
                                 }
                             }
                         }
                     }
                     // get totalCollectible
                     $basic = $backtaxTDRecord["basicTax"];
                     $sef = $backtaxTDRecord["sefTax"];
                     $backtaxTD = new BacktaxTD();
                     $backtaxTD->selectRecord("", $backtaxTDRecord["backtaxTDID"], "");
                     $backtaxTD->calculatePenalty(date("Y-m-d"));
                     $penalty = $backtaxTD->getPenalties();
                     $totalCollectible = $basic + $sef + $penalty;
                     $lineRecordArray[] = array("propertyIndexNumber" => "TD#:" . $backtaxTDRecord["tdNumber"] . " (" . $backtaxTDRecord["startYear"] . ")", "tdNumber" => $backtaxTDRecord["tdNumber"], "paidBasic" => $paidBasic, "paidSEF" => $paidSEF, "paidPenalty" => $paidPenalty, "totalTaxCollected" => $totalTaxCollected, "basic" => $basic, "sef" => $sef, "penalty" => $penalty, "totalCollectible" => $totalCollectible);
                 }
             }
             $paidBasic = 0;
             $paidSEF = 0;
             $paidPenalty = 0;
             $totalTaxCollected = 0;
             $basic = 0;
             $sef = 0;
             $penalty = 0;
             $totalCollectible = 0;
             // gather TD details
             if (is_array($recordArray["td"])) {
                 $tdRecord = $recordArray["td"];
                 // get totalTaxCollected
                 $sqlPaymentTD = "SELECT paymentID, " . "dueType, " . "backtaxTDID, " . "taxDue, " . "earlyPaymentDiscount, " . "advancedPaymentDiscount, " . "penalty, " . "amnesty, " . "balanceDue, " . "amountPaid, " . "dueDate, " . "paymentDate " . "FROM Payment " . "WHERE tdID='" . $tdRecord["tdID"] . "' " . "AND status!='cancelled'";
                 $dbPaymentTD->query($sqlPaymentTD);
                 if ($dbPaymentTD->nf() > 0) {
                     while ($dbPaymentTD->next_record()) {
                         $sqlCollectionTD = "SELECT * " . "FROM Collection " . "WHERE paymentID='" . $dbPaymentTD->f("paymentID") . "' " . "AND status!='cancelled' ";
                         $dbCollectionTD->query($sqlCollectionTD);
                         if ($dbCollectionTD->nf() > 0) {
                             while ($dbCollectionTD->next_record()) {
                                 switch ($dbCollectionTD->f("taxType")) {
                                     case "basic":
                                         if ($dbCollectionTD->f("amnesty") != "true") {
                                             $paidBasic += $dbCollectionTD->f("amountPaid") - $dbCollectionTD->f("penalty");
                                             $paidPenalty += $dbCollectionTD->f("penalty");
                                             $totalTaxCollected += $dbCollectionTD->f("amountPaid");
                                         } else {
                                             $paidBasic += $dbCollectionTD->f("amountPaid");
                                             $totalTaxCollected += $paidBasic;
                                         }
                                         break;
                                     case "sef":
                                         if ($dbCollectionTD->f("amnesty") != "true") {
                                             $paidSEF += $dbCollectionTD->f("amountPaid") - $dbCollectionTD->f("penalty");
                                             $paidPenalty += $dbCollectionTD->f("penalty");
                                             $totalTaxCollected += $dbCollectionTD->f("amountPaid");
                                         } else {
                                             $paidSEF += $dbCollectionTD->f("amountPaid");
                                             $totalTaxCollected += $paidSEF;
                                         }
                                         break;
                                 }
                             }
                         }
                     }
                 }
                 // get totalCollectible
                 $due = new Due();
                 if ($due->selectRecord($tdRecord["dueID"])) {
                     $basic = $due->getBasicTax();
                     $sef = $due->getSefTax();
                     $due = $this->computePenalty(date("Y-m-d"), $due);
                     $penalty = $due->getPenalty();
                     $totalCollectible = $basic + $sef + $penalty;
                 }
                 $lineRecordArray[] = array("propertyIndexNumber" => $tdRecord["propertyIndexNumber"], "tdNumber" => $tdRecord["taxDeclarationNumber"], "paidBasic" => $paidBasic, "paidSEF" => $paidSEF, "paidPenalty" => $paidPenalty, "totalTaxCollected" => $totalTaxCollected, "basic" => $basic, "sef" => $sef, "penalty" => $penalty, "totalCollectible" => $totalCollectible);
             }
         }
     }
     // print page
     if (is_array($lineRecordArray)) {
         $ypos = 400;
         $decrementYposBy = 12;
         $linesPerPage = 20;
         $count = count($lineRecordArray);
         $numOfPages = ceil($count / $linesPerPage);
         $pageCtr = 1;
         $lineCtr = 1;
         $recordCtr = 1;
         $this->tpl->set_var("classification", $this->formArray["classification"]);
         $this->tpl->set_var("numOfPages", $numOfPages);
         $this->tpl->set_block("rptsTemplate", "Page", "PageBlock");
         $this->tpl->set_block("Page", "Row", "RowBlock");
         $this->tpl->set_block("Page", "Totals", "TotalsBlock");
         $totalsArray = array("totalPaidBasic" => 0, "totalPaidSEF" => 0, "totalPaidPenalty" => 0, "totalTotalTaxCollected" => 0, "totalBasic" => 0, "totalSef" => 0, "totalPenalty" => 0, "totalTotalCollectible" => 0);
         foreach ($lineRecordArray as $recordArray) {
             $this->tpl->set_var("ypos", $ypos);
             $this->tpl->set_var("recordCtr", $recordCtr);
             // tally totals
             $totalsArray["totalPaidBasic"] += un_number_format($recordArray["paidBasic"]);
             $totalsArray["totalPaidSEF"] += un_number_format($recordArray["paidSEF"]);
             $totalsArray["totalPaidPenalty"] += un_number_format($recordArray["paidPenalty"]);
             $totalsArray["totalTotalTaxCollected"] += un_number_format($recordArray["totalTaxCollected"]);
             $totalsArray["totalBasic"] += un_number_format($recordArray["basic"]);
             $totalsArray["totalSef"] += un_number_format($recordArray["sef"]);
             $totalsArray["totalPenalty"] += un_number_format($recordArray["penalty"]);
             $totalsArray["totalTotalCollectible"] += un_number_format($recordArray["totalCollectible"]);
             // write values
             foreach ($recordArray as $key => $value) {
                 switch ($key) {
                     case "paidBasic":
                     case "paidSEF":
                     case "paidPenalty":
                     case "totalTaxCollected":
                     case "basic":
                     case "sef":
                     case "penalty":
                     case "totalCollectible":
                         $value = formatCurrency($value);
                         break;
                 }
                 $this->tpl->set_var($key, $value);
             }
             $this->tpl->parse("RowBlock", "Row", true);
             if ($recordCtr == count($lineRecordArray) || $lineCtr == $linesPerPage) {
                 if ($pageCtr == $numOfPages) {
                     foreach ($totalsArray as $key => $value) {
                         $value = formatCurrency($value);
                         $this->tpl->set_var($key, $value);
                     }
                     $this->tpl->parse("TotalsBlock", "Totals", true);
                 } else {
                     $this->tpl->set_var("TotalsBlock", "");
                 }
                 $this->tpl->set_var("page", $pageCtr);
                 $this->tpl->parse("PageBlock", "Page", true);
                 $this->tpl->set_var("RowBlock", "");
                 $this->tpl->set_var("TotalsBlock", "");
                 $ypos = 400;
                 $lineCtr = 0;
                 $pageCtr++;
             }
             $lineCtr++;
             $recordCtr++;
             $ypos = $ypos - $decrementYposBy;
         }
         $this->tpl->parse("templatePage", "rptsTemplate");
         $this->tpl->finish("templatePage");
         $testpdf = new PDFWriter();
         $testpdf->setOutputXML($this->tpl->get("templatePage"), "test");
         if (isset($this->formArray["print"])) {
             $testpdf->writePDF($name);
             //,$this->formArray["print"]);
         } else {
             $testpdf->writePDF($name);
         }
     } else {
         exit("no records to display");
     }
 }
Ejemplo n.º 7
0
 function captureBacktaxTDDetails($backtaxTDID, $dueType)
 {
     $BacktaxTDDetails = new SoapObject(NCCBIZ . "BacktaxTDDetails.php", "urn:Object");
     if (!($xmlStr = $BacktaxTDDetails->getBacktaxTD2($backtaxTDID))) {
         // error xmlStr
     } else {
         if (!($domDoc = domxml_open_mem($xmlStr))) {
             // error domDoc
         } else {
             $backtaxTD = new BacktaxTD();
             $backtaxTD->parseDomDocument($domDoc);
             foreach ($this->tdArray as $tdID => $tdElementArray) {
                 foreach ($tdElementArray as $tdElementKey => $tdElementValue) {
                     switch ($tdElementKey) {
                         case "btTD":
                             if (is_array($tdElementValue)) {
                                 $btTDArray = $tdElementValue;
                                 foreach ($btTDArray as $btTDID => $btTDElementArray) {
                                     if ($btTDID == $backtaxTDID) {
                                         $backtaxTD->setBasicTax($btTDElementArray["basicTax"]);
                                         $backtaxTD->setSefTax($btTDElementArray["sefTax"]);
                                         $backtaxTD->setIdleTax($btTDElementArray["idleTax"]);
                                         $backtaxTD->setPenalties($btTDElementArray["penalty"]);
                                         $backtaxTD->setBalance($btTDElementArray["balance"]);
                                         $backtaxTD->setPaid($btTDElementArray["amountPaid"]);
                                     }
                                 }
                             }
                             break;
                     }
                 }
             }
             return $backtaxTD;
         }
     }
     return false;
 }
Ejemplo n.º 8
0
 function refreshTDHistory($td)
 {
     $ODDetails = new SoapObject(NCCBIZ . "ODDetails.php", "urn:Object");
     if ($this->formArray["odID"] = $ODDetails->getOdIDFromTdID($td->getTdID())) {
         $ODHistoryList = new SoapObject(NCCBIZ . "ODHistoryList.php", "urn:Object");
         $ODHistoryRecords = new ODHistoryRecords();
         if (!($xmlStr = $ODHistoryList->getPrecedingODList($this->formArray["odID"]))) {
             // do nothing. no preceding OD
             return false;
         } else {
             if (!($domDoc = domxml_open_mem($xmlStr))) {
                 // no nothing. no preceding OD
             } else {
                 $ODHistoryRecords->parseDomDocument($domDoc);
                 $precedingODList = $ODHistoryRecords->arrayList;
                 $AFSEncode = new SoapObject(NCCBIZ . "AFSEncode.php", "urn:Object");
                 $AFSDetails = new SoapObject(NCCBIZ . "AFSDetails.php", "urn:Object");
                 $TDDetails = new SoapObject(NCCBIZ . "TDDetails.php", "urn:Object");
                 foreach ($precedingODList as $key => $odHistory) {
                     $previousODID = $odHistory->getPreviousODID();
                     $previousAFSID = $AFSEncode->getAfsID($previousODID);
                     $previousAFSxml = $AFSDetails->getAfs($previousAFSID);
                     $previousAFSdomDoc = domxml_open_mem($previousAFSxml);
                     $previousAFS = new AFS();
                     $previousAFS->parseDomDocument($previousAFSdomDoc);
                     $precedingTDxml = $TDDetails->getTDFromAfsID($previousAFSID);
                     $precedingTDdomDoc = domxml_open_mem($precedingTDxml);
                     $precedingTD = new TD();
                     $precedingTD->parseDomDocument($precedingTDdomDoc);
                     // capture DUES of precedingTD
                     $DueList = new SoapObject(NCCBIZ . "DueList.php", "urn:Object");
                     if (!($xmlStr = $DueList->getDueList($precedingTD->getTdID(), $this->formArray["taxableYear"] - 1))) {
                         // no Dues for precedingTD
                         //echo "no dues";
                     } else {
                         if (!($domDoc = domxml_open_mem($xmlStr))) {
                             // no Dues for precedingTD
                             //echo "no dues";
                         } else {
                             $dueRecords = new DueRecords();
                             $dueRecords->parseDomDocument($domDoc);
                             foreach ($dueRecords->getArrayList() as $due) {
                                 foreach ($due as $dueKey => $dueValue) {
                                     switch ($dueKey) {
                                         case "dueType":
                                             $dueArray[$dueValue] = $due;
                                             break;
                                     }
                                 }
                             }
                             $BacktaxTDDetails = new SoapObject(NCCBIZ . "BacktaxTDDetails.php", "urn:Object");
                             $BacktaxTDEncode = new SoapObject(NCCBIZ . "BacktaxTDEncode.php", "urn:Object");
                             if (!($xmlStr = $BacktaxTDDetails->getBacktaxTD($td->getTdID(), $this->formArray["taxableYear"] - 1))) {
                                 // backtax for Due does not exist, create backtax record
                                 $backtaxTD = $this->setBacktaxTDFromDueArray($td->getTdID(), "", $dueArray, $precedingTD, $previousAFS);
                                 $backtaxTD->setDomDocument();
                                 $backtaxTDDoc = $backtaxTD->getDomDocument();
                                 $backtaxTDXmlStr = $backtaxTDDoc->dump_mem(true);
                                 if (!($backtaxTDID = $BacktaxTDEncode->saveBacktaxTD($backtaxTDXmlStr))) {
                                     echo "Error saving BacktaxTD";
                                 }
                             } else {
                                 if (!($domDoc = domxml_open_mem($xmlStr))) {
                                     // backtax for Due does not exist, create backtax
                                     $backtaxTD = $this->setBacktaxTDFromDueArray($td->getTdID(), "", $dueArray, $precedingTD, $previousAFS);
                                     $backtaxTD->setDomDocument();
                                     $backtaxTDDoc = $backtaxTD->getDomDocument();
                                     $backtaxTDXmlStr = $backtaxTDDoc->dump_mem(true);
                                     if (!($backtaxTDID = $BacktaxTDEncode->saveBacktaxTD($backtaxTDXmlStr))) {
                                         echo "Error saving BacktaxTD";
                                     }
                                 } else {
                                     // update backtax record from Due
                                     $backtaxTD = new BacktaxTD();
                                     $backtaxTD->parseDomDocument($domDoc);
                                     $backtaxTD = $this->setBacktaxTDFromDueArray($td->getTdID(), $backtaxTD->getBacktaxTDID(), $dueArray, $precedingTD, $previousAFS);
                                     $backtaxTD->setDomDocument();
                                     $backtaxTDDoc = $backtaxTD->getDomDocument();
                                     $backtaxTDXmlStr = $backtaxTDDoc->dump_mem(true);
                                     if (!($backtaxTDID = $BacktaxTDEncode->updateBacktaxTD($backtaxTDXmlStr))) {
                                         echo "Error updating BacktaxTD";
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 9
0
 function deleteRecords($backtaxTDIDArray = "")
 {
     $backTaxTD = new BacktaxTD();
     $rows = 0;
     foreach ($backtaxTDIDArray as $key => $value) {
         if ($backTaxTD->deleteRecord($value)) {
             $rows++;
         }
     }
     return $rows;
 }
Ejemplo n.º 10
0
 function recordReceipt($varValues)
 {
     # create receipt object
     $collections = new Collections();
     # set the details of the receipt
     $collections->setOldReceiptNum($varValues['prevORNum']);
     $collections->setRPTOPNum($varValues['rptopNum']);
     $tdID = $varValues['tdID'];
     $amountPaid = $varValues['amountPaid'];
     $isAmnesty = isset($varValues['amnesty']) ? "Yes" : "No";
     $proceed = true;
     // insert backtaxTD record as a payment
     // and FLAG backtaxTD as PAID!!! ;)
     if ($_POST["backtaxTDCheckbox"]) {
         $backtaxTDID = $_POST['backtaxTDCheckbox'];
         $backtaxTD = new BacktaxTD();
         $backtaxTD->selectRecord("", $backtaxTDID);
         $assessedValue = $backtaxTD->getTotalAssessedValue();
         $paymentPeriod = $_POST['paymentPeriod'];
         $application = $paymentPeriod;
         $penalty = $backtaxTD->getTotalPenalties();
         $totalTaxDue = $backtaxTD->getTotalTaxDue();
         $totalTaxes = $backtaxTD->getTotalTaxes();
         $amountPaid = str_replace(",", "", $amountPaid);
         if ($totalTaxDue > $amountPaid) {
             // payment is partial
             $totalPaid = $backtaxTD->getTotalPaid() + $amountPaid;
             $backtaxTD->setTotalPaid($totalPaid);
             $backtaxTD->updateRecord();
             // FLAG paidStatus as "" (NOT YET FULLY PAID) for backtaxTDRecord
             $backtaxTD->updatePaidStatus("");
             $amountPaid = 0;
         } else {
             if ($totalTaxDue <= $amountPaid) {
                 // payment is full or exceeding full to payoff successive TD's
                 // FLAG paidStatus as PAID for backtaxTDRecord
                 $backtaxTD->updatePaidStatus("PAID");
                 $backtaxTD->setTotalPaid($totalTaxes);
                 $backtaxTD->updateRecord();
                 $amountPaid = $amountPaid - $totalTaxDue;
             }
         }
         //Partial payment handler??
         $basic = $backtaxTD->getTotalBasicTax();
         $sef = $backtaxTD->getTotalSEFTax();
         $idle = $backtaxTD->getTotalIdleTax();
         $discount = 0;
         # record the payments for each receipt
         # recomputed instead of getting values from $_POST
         # used createRecord
         $payments[0] = new Payment("sef");
         $payments[0]->setApplication($application);
         $payments[0]->createRecord("000");
         $payments[0]->setAmount($sef);
         $payments[0]->setDiscount("0");
         $payments[0]->setPenalty("0");
         $payments[0]->setDueID("000");
         $payments[0]->setDueType("backtaxTDID-sef,backtaxTDID=" . $backtaxTD->getBacktaxTDID());
         $payments[0]->setReceiptNum($varValues['receiptNo']);
         $payments[0]->storeRecord();
         $collections->addPayment($payments[0]);
         $payments[1] = new Payment("basic");
         $payments[1]->setApplication($application);
         $payments[1]->createRecord("000");
         $payments[1]->setAmount($basic);
         $payments[1]->setDiscount("0");
         $payments[1]->setPenalty("0");
         $payments[1]->setDueID("000");
         $payments[1]->setDueType("backtaxTD-basic,backtaxTDID=" . $backtaxTD->getBacktaxTDID());
         $payments[1]->setReceiptNum($varValues['receiptNo']);
         $payments[1]->storeRecord();
         $collections->addPayment($payments[1]);
         $payments[2] = new Payment("idle");
         $payments[2]->setApplication($application);
         $payments[2]->createRecord("000");
         $payments[2]->setAmount($idle);
         $payments[2]->setDiscount("0");
         $payments[2]->setPenalty("0");
         $payments[2]->setDueID("000");
         $payments[2]->setDueType("backtaxTD-idle,backtaxTDID=" . $backtaxTD->getBacktaxTDID());
         $payments[2]->setReceiptNum($varValues['receiptNo']);
         $payments[2]->storeRecord();
         $collections->addPayment($payments[2]);
         $payments[3] = new Payment("penalty");
         $payments[3]->setApplication($application);
         $payments[3]->createRecord("0");
         $payments[3]->setAmount($penalty);
         $payments[3]->setDiscount("0");
         $payments[3]->setPenalty("0");
         $payments[3]->setDueID("000");
         $payments[3]->setDueType("backtaxTD-penalty,backtaxTDID=" . $backtaxTD->getBacktaxTDID());
         $payments[3]->setReceiptNum($varValues['receiptNo']);
         $payments[3]->storeRecord();
         $collections->addPayment($payments[3]);
         $payments[4] = new Payment("pd1185");
         $payments[4]->setApplication($application);
         $payments[4]->createRecord("000");
         $payments[4]->setAmount("0");
         $payments[4]->setDiscount("0");
         $payments[4]->setPenalty("0");
         $payments[4]->setDueID("000");
         $payments[4]->setDueType("backtaxTD-pd1185,backtaxTDID=" . $backtaxTD->getBacktaxTDID());
         $payments[4]->setReceiptNum($varValues['receiptNo']);
         $payments[4]->storeRecord();
         $collections->addPayment($payments[4]);
         //$taxDue->reapplyPayments();
         //$taxDue->store();
         //print_r($payments);
         if (!$proceed) {
             break;
         }
     }
     if (is_array($tdID)) {
         foreach ($tdID as $key => $id) {
             $td = new TD();
             $td->selectRecord($id);
             # get assessed value and use it to compute taxes -- 07 Aug 2003
             $propertyType = $td->getPropertyType();
             $propertyID = $td->getPropertyID();
             $assessedValue = number_format($td->getAssessedValue(), 2, ".", "");
             $tdNum = $td->getTaxDeclarationNumber();
             $collections->setTDNum($tdNum);
             # get the specific due by using the tdNum and the date on the RPTOP
             $rptop = new RPTOP();
             # changed to taxableYear & selected record using rptopID instead of rptopNum
             if ($rptop->selectRecord($varValues['rptopID'])) {
                 $dueDate = $rptop->getTaxableYear();
             } else {
                 # did not find due date in POST
                 // if there is no valid RPTOP provided, then just use the dueDate
                 $dueDate = $varValues['dueDate'];
             }
             $dueDate = $td->getTaxBeginsWithTheYear();
             $taxDue = new Dues($id, $dueDate);
             /*$taxDue = new Dues();*/
             if (!$taxDue->create($id, $dueDate)) {
                 $taxDue->setBasic($assessedValue);
                 $taxDue->setSEF($assessedValue);
                 # check if land is idle, if yes, set assessed value
                 if ($taxDue->getIdleStatus() == 1) {
                     $taxDue->setIdle($assessedValue);
                     $idleStatus = 1;
                 } else {
                     $taxDue->setIdle(0);
                     $idleStatus = 0;
                 }
             }
             $paymentPeriod = $taxDue->getPaymentMode();
             if ($taxDue->getPctPenalty() > 0 && $paymentPeriod != "Annual") {
                 $paymentPeriod = "Annual";
             }
             $application = $paymentPeriod;
             if ($application == "Quarter") {
                 $application = "Q" . ceil(date("n") / 3);
                 $taxDue->setPaidQuarters(ceil(date("n") / 3));
             }
             #echo("b=$basic<br>s=$sef<br>i=$idle");
             # if amnesty declared, no interest on late payments, set penalty to 0
             if (isset($varValues['amnesty']) || $taxDue->getIsDiscount()) {
                 $taxDue->setAmnesty("Yes");
                 $taxDue->resetPenalty();
                 $interest = 0;
             } else {
                 $taxDue->setAmnesty("No");
                 $interest = $taxDue->getPctPenalty();
             }
             $penalty = $taxDue->getBalancePenalty($paymentPeriod);
             $totalTaxDue = $taxDue->getTotalDue($paymentPeriod);
             //Partial payment handler
             $basic = $taxDue->getBalanceBasic($paymentPeriod);
             $sef = $taxDue->getBalanceSEF($paymentPeriod);
             $idle = $taxDue->getBalanceIdle($paymentPeriod);
             $discount = $taxDue->getDiscount();
             $discountSEF = $taxDue->getIsDiscount() ? $sef * $taxDue->getDiscountPercentage() / 100 : 0;
             $discountBasic = $taxDue->getIsDiscount() ? $basic * $taxDue->getDiscountPercentage() / 100 : 0;
             if (str_replace(",", "", $amountPaid) < $totalTaxDue) {
                 $basic = round(str_replace(",", "", $amountPaid) * (($basic - $discountBasic) / $totalTaxDue), 2);
                 $sef = round(str_replace(",", "", $amountPaid) * (($sef - $discountSEF) / $totalTaxDue), 2);
                 $idle = round(str_replace(",", "", $amountPaid) * ($idle / $totalTaxDue), 2);
                 $penalty = round(str_replace(",", "", $amountPaid) * ($penalty / $totalTaxDue), 2);
                 $proceed = false;
             }
             # record the payments for each receipt
             # recomputed instead of getting values from $_POST
             # used createRecord
             $payments[0] = new Payment("sef");
             $payments[0]->setApplication($application);
             $payments[0]->createRecord($taxDue->getDueID());
             $payments[0]->setAmount($sef);
             $payments[0]->setDiscount($discountSEF);
             $payments[0]->setPenalty($sef * $interest);
             $payments[0]->setDueID($taxDue->getDueID());
             $payments[0]->setDueType("sef");
             $payments[0]->setReceiptNum($varValues['receiptNo']);
             $payments[0]->storeRecord();
             $collections->addPayment($payments[0]);
             # $gfTotal = ($basic*0.7)*(1+interest);
             # $ibTotal = ($basic*0.15)*(1+interest);
             # $cbTotal = ($basic*0.15)*(1+interest);
             $payments[1] = new Payment("basic");
             $payments[1]->setApplication($application);
             $payments[1]->createRecord($taxDue->getDueID());
             $payments[1]->setAmount($basic);
             $payments[1]->setDiscount($discountBasic);
             $payments[1]->setPenalty($basic * $interest);
             $payments[1]->setDueID($taxDue->getDueID());
             $payments[1]->setDueType("basic");
             $payments[1]->setReceiptNum($varValues['receiptNo']);
             $payments[1]->storeRecord();
             $collections->addPayment($payments[1]);
             $payments[2] = new Payment("idle");
             $payments[2]->setApplication($application);
             $payments[2]->createRecord($taxDue->getDueID());
             $payments[2]->setAmount($idle);
             $payments[2]->setDiscount(0);
             $payments[2]->setPenalty($idle * $interest);
             $payments[2]->setDueID($taxDue->getDueID());
             $payments[2]->setDueType("idle");
             $payments[2]->setReceiptNum($varValues['receiptNo']);
             $payments[2]->storeRecord();
             $collections->addPayment($payments[2]);
             $payments[3] = new Payment("penalty");
             $payments[3]->setApplication($application);
             $payments[3]->createRecord($taxDue->getDueID());
             $payments[3]->setAmount($penalty);
             $payments[3]->setDiscount(0);
             $payments[3]->setPenalty(0);
             $payments[3]->setDueID($taxDue->getDueID());
             $payments[3]->setDueType("penalty");
             $payments[3]->setReceiptNum($varValues['receiptNo']);
             $payments[3]->storeRecord();
             $collections->addPayment($payments[3]);
             $payments[4] = new Payment("pd1185");
             $payments[4]->setApplication($application);
             $payments[4]->createRecord($taxDue->getDueID());
             $payments[4]->setAmount(round(0, 2));
             $payments[4]->setDiscount(0);
             $payments[4]->setPenalty(0);
             $payments[4]->setDueID($taxDue->getDueID());
             $payments[4]->setDueType("pd1185");
             $payments[4]->setReceiptNum($varValues['receiptNo']);
             #				print_r($payments);
             $payments[4]->storeRecord();
             $collections->addPayment($payments[4]);
             $taxDue->reapplyPayments();
             $taxDue->store();
             if (!$proceed) {
                 break;
             }
         }
     }
     # end foreach
     //*
     // get parent TD
     //$tdID = $backtaxTD->getTDID();
     //*/
     # set collection details and save to db; no receipt number yet
     # format date to db date YYYY-MM-DD
     list($month, $day, $year) = explode("-", $varValues['checkDate']);
     list($oldReceiptMonth, $oldReceiptDay, $oldReceiptYear) = explode("-", $varValues['prevORDate']);
     $collections->setCollectionDate(date("Y-m-d"));
     $collections->setCollectionSum($varValues['collectionSum']);
     $collections->setReceivedFrom($varValues['receivedFrom']);
     $collections->setKindOfPayment($varValues['kindOfPayment']);
     $collections->setCheckNum($varValues['checkNum']);
     $collections->setCheckDate($year . "-" . $month . "-" . $day);
     $collections->setOldReceiptNum($varValues['prevORNum']);
     $collections->setOldReceiptDate($oldReceiptYear . "-" . $oldReceiptMonth . "-" . $oldReceiptDay);
     $collections->setMunicipality($varValues['municipalityCityID']);
     $collections->setAmnesty($isAmnesty);
     $collections->createRecord();
     $collections->storeRecord();
     # get collection id and use it to close receipt
     $collectionID = $collections->getCollectionID();
     $_POST['collectionID'] = $collectionID;
 }
Ejemplo n.º 11
0
 function Main()
 {
     switch ($this->formArray["formAction"]) {
         case "save":
             $BacktaxTDEncode = new SoapObject(NCCBIZ . "BacktaxTDEncode.php", "urn:Object");
             if ($this->formArray["backtaxTDID"] != "") {
                 $BacktaxTDDetails = new SoapObject(NCCBIZ . "BacktaxTDDetails.php", "urn:Object");
                 if (!($xmlStr = $BacktaxTDDetails->getBacktaxTD2($this->formArray["backtaxTDID"]))) {
                     $this->tpl->set_block("rptsTemplate", "Table", "TableBlock");
                     $this->tpl->set_var("TableBlock", "record not found");
                 } else {
                     if (!($domDoc = domxml_open_mem($xmlStr))) {
                         $this->tpl->set_block("rptsTemplate", "Table", "TableBlock");
                         $this->tpl->set_var("TableBlock", "error xmlDoc");
                     } else {
                         $backtaxTD = new BacktaxTD();
                         $backtaxTD->parseDomDocument($domDoc);
                         $backtaxTD->setBacktaxTDID($this->formArray["backtaxTDID"]);
                         $backtaxTD->setTDID($this->formArray["tdID"]);
                         $backtaxTD->setTdNumber($this->formArray["tdNumber"]);
                         $backtaxTD->setStartYear($this->formArray["startYear"]);
                         $backtaxTD->setEndYear($this->formArray["startYear"]);
                         $backtaxTD->setStartQuarter($this->formArray["startQuarter"]);
                         $backtaxTD->setAssessedValue($this->formArray["assessedValue"]);
                         $backtaxTD->setBasicRate($this->formArray["basicRate"]);
                         $backtaxTD->setSefRate($this->formArray["sefRate"]);
                         $backtaxTD->setBasicTax($this->formArray["basicTax"]);
                         $backtaxTD->setSefTax($this->formArray["sefTax"]);
                         $backtaxTD->setIdleTax($this->formArray["idleTax"]);
                         $backtaxTD->setPenalties($this->formArray["penalties"]);
                         $backtaxTD->setPaid($this->formArray["paid"]);
                         $backtaxTD->setBalance($this->formArray["balance"]);
                         $backtaxTD->setModifiedBy($this->userID);
                         //$backtaxTD->setPaidStatus($this->formArray["paidStatus"]);
                         //$backtaxTD->setTotal($this->formArray["total"]);
                         $backtaxTD->setDomDocument();
                         $doc = $backtaxTD->getDomDocument();
                         $xmlStr = $doc->dump_mem(true);
                         if (!($ret = $BacktaxTDEncode->updateBacktaxTD($xmlStr))) {
                             exit("error update");
                         }
                     }
                 }
             } else {
                 $startYear = $this->formArray["startYear"];
                 //print_r($startYear);
                 //exit;
                 ///*
                 $endYear = $this->formArray["endYear"];
                 //echo($startYear."->".$endYear);
                 sort($startYear, SORT_NUMERIC);
                 //print_r($startYear);
                 //exit;
                 foreach ($startYear as $key => $value) {
                     //for ($i = $startYear; $i<=$endYear; $i++){
                     //echo $i."<br>";
                     ///*
                     $backtaxTD = new BacktaxTD();
                     $backtaxTD->selectRecord($this->formArray["backtaxTDID"]);
                     //$backtaxTD->parseDomDocument($domDoc);
                     $backtaxTD->setBacktaxTDID($this->formArray["backtaxTDID"]);
                     $backtaxTD->setTDID($this->formArray["tdID"]);
                     $backtaxTD->setTdNumber($this->formArray["tdNumber"]);
                     $backtaxTD->setStartYear($value);
                     $backtaxTD->setEndYear($value);
                     $quarter = $key == 0 ? $this->formArray["startQuarter"] : 1;
                     $backtaxTD->setStartQuarter($quarter);
                     $backtaxTD->setAssessedValue($this->formArray["assessedValue"]);
                     $backtaxTD->setBasicRate($this->formArray["basicRate"]);
                     $backtaxTD->setSefRate($this->formArray["sefRate"]);
                     $backtaxTD->setBasicTax($this->formArray["basicTax"]);
                     $backtaxTD->setSefTax($this->formArray["sefTax"]);
                     $backtaxTD->setIdleTax($this->formArray["idleTax"]);
                     $backtaxTD->setPenalties($this->formArray["penalties"]);
                     $paid = $key == 0 ? $this->formArray["paid"] : 0;
                     $backtaxTD->setPaid($paid);
                     $backtaxTD->setBalance($backtaxTD->getTotalTaxDue());
                     $backtaxTD->setCreatedBy($this->userID);
                     //$backtaxTD->setPaidStatus($this->formArray["paidStatus"]);
                     //$backtaxTD->setTotal($this->formArray["total"]);
                     $backtaxTD->setDomDocument();
                     $doc = $backtaxTD->getDomDocument();
                     $xmlStr = $doc->dump_mem(true);
                     //echo $i." - ".$xmlStr."<br>";
                     if (!($ret = $BacktaxTDEncode->saveBacktaxTD($xmlStr))) {
                         echo "Error saving";
                     }
                 }
                 //*/
             }
             //exit;
             $this->formArray["backtaxTDID"] = $ret;
             header("location: BacktaxTDClose.php" . $this->sess->url("") . $this->sess->add_query(array("afsID" => $this->formArray["afsID"])));
             exit($ret);
             break;
         default:
             if ($this->formArray["backtaxTDID"]) {
                 $BacktaxTDDetails = new SoapObject(NCCBIZ . "BacktaxTDDetails.php", "urn:Object");
                 if (!($xmlStr = $BacktaxTDDetails->getBacktaxTD2($this->formArray["backtaxTDID"]))) {
                     echo "xml failed";
                 } else {
                     //echo $xmlStr;
                     if (!($domDoc = domxml_open_mem($xmlStr))) {
                         //
                     } else {
                         $backtaxTD = new BacktaxTD();
                         $backtaxTD->parseDomDocument($domDoc);
                         foreach ($backtaxTD as $key => $value) {
                             switch ($key) {
                                 default:
                                     $this->formArray[$key] = $value;
                             }
                         }
                     }
                 }
             }
     }
     $this->setForm();
     $this->tpl->set_var("Session", $this->sess->url("") . $this->sess->add_query(array("tdID" => $this->formArray["tdID"], "afsID" => $this->formArray["afsID"])));
     $this->tpl->parse("templatePage", "rptsTemplate");
     $this->tpl->finish("templatePage");
     $this->tpl->p("templatePage");
 }
 function getPropertyClassificationFromBacktaxTD($backtaxTDID)
 {
     $backtaxTD = new BacktaxTD($this->dbName);
     if ($backtaxTD->selectRecord("", $backtaxTDID)) {
         $tdID = $backtaxTD->getTDID();
         return $this->getPropertyClassificationFromTD($tdID);
     }
     return false;
 }
Ejemplo n.º 13
0
 function purge()
 {
     $rptsDB = new DB_RPTS();
     $rptsDB2 = new DB_RPTS();
     $sqlselect = "SELECT collectionID FROM collections WHERE receiptNum = '' OR receiptNum is NULL;";
     $rptsDB->query($sqlselect);
     $due = new Dues();
     while ($rptsDB->next_record()) {
         $collectionID = $rptsDB->f("collectionID");
         $this->collectionID = $collectionID;
         $this->isStoredInDatabase = true;
         $sqlselect2 = "select payments.paymentID, payments.dueID from payments \n  \t\t\t\t\t\tinner join collectionPayments on payments.paymentID=collectionPayments.paymentID \n                        where collectionPayments.collectionID ={$collectionID}";
         #echo("$sqlselect2<br>");
         $rptsDB2->query($sqlselect2);
         $payment = new Payment();
         while ($rptsDB2->next_record()) {
             $payment->setPaymentID($rptsDB2->f("paymentID"));
             $payment->selectRecord();
             // if Payment is BacktaxTD, FLAG BacktaxTD paidStatus as '' for false / UNPAID
             if ($strstr = strstr($payment->dueType, ",")) {
                 $backtaxTDID = strstr($strstr, "=");
                 $backtaxTDID = str_replace("=", "", $backtaxTDID);
                 $backtaxTD = new BacktaxTD();
                 $backtaxTD->selectRecord("", $backtaxTDID);
                 $backtaxTD->setBacktaxTDID($backtaxTDID);
                 $backtaxTD->setTotalPaid(0);
                 $backtaxTD->updatePaidStatus("");
                 $backtaxTD->updateRecord();
             }
             $dueID = $rptsDB2->f("dueID");
             $due->setDueID($dueID);
             $due->select();
             $due->resetPayments();
             $due->store();
         }
         if (!$this->deleteRecord()) {
             return false;
         }
     }
     return true;
 }
Ejemplo n.º 14
0
 function Main()
 {
     $eRPTSSettings = new eRPTSSettings();
     if ($eRPTSSettings->selectRecord(1)) {
         $this->tpl->set_var("lguType", strtoupper($eRPTSSettings->getLguType()));
         $this->tpl->set_var("lguName", strtoupper($eRPTSSettings->getLguName()));
     }
     $dbTD = new DB_RPTS();
     $dbBacktaxTD = new DB_RPTS();
     $dbPaymentBacktaxTD = new DB_RPTS();
     $dbPaymentTD = new DB_RPTS();
     $dbDues = new DB_RPTS();
     // gather TD's
     $sql = "SELECT Due.dueID as dueID, " . "Due.tdID as tdID, " . "Due.dueType as dueType, " . "Due.dueDate as dueDate, " . "Due.basicTax as basicTax, " . "Due.basicTaxRate as basicTaxRate, " . "Due.sefTax as sefTax, " . "Due.sefTaxRate as sefTaxRate, " . "Due.idleTax as idleTax, " . "Due.idleTaxRate as idleTaxRate, " . "TD.afsID as afsID, " . "TD.propertyType as propertyType, " . "TD.taxDeclarationNumber as taxDeclarationNumber, " . "AFS.odID as odID, " . "AFS.arpNumber as arpNumber, " . "AFS.propertyIndexNumber as propertyIndexNumber, " . "AFS.taxability as taxability, " . "AFS.effectivity as effectivity, " . "AFS.totalMarketValue as totalMarketValue, " . "AFS.totalAssessedValue as totalAssessedValue " . "FROM Due, TD, AFS " . "WHERE Due.tdID = TD.tdID " . "AND TD.afsID = AFS.afsID " . "AND AFS.archive != 'true' " . "AND TD.archive != 'true' " . "AND Due.dueType = 'Annual' " . "AND YEAR(Due.dueDate)  <= YEAR(NOW()) " . "AND TD.propertyType LIKE '" . $this->formArray["classification"] . "' " . "GROUP BY Due.tdID, YEAR(Due.dueDate) " . "ORDER BY Due.dueDate DESC";
     $dbTD->query($sql);
     if ($dbTD->nf() > 0) {
         // gather BacktaxTD's
         while ($dbTD->next_record()) {
             $sqlBacktaxTD = "SELECT backtaxTDID, " . "tdID, " . "tdNumber, " . "startYear, " . "endYear, " . "startQuarter, " . "assessedValue, " . "basicRate, " . "sefRate, " . "basicTax, " . "sefTax, " . "idleTax, " . "penalties, " . "paid, " . "balance, " . "total " . "FROM BacktaxTD " . "WHERE tdID='" . $dbTD->f("tdID") . "' " . "ORDER BY startYear ASC ";
             $dbBacktaxTD->query($sqlBacktaxTD);
             if ($dbBacktaxTD->nf() > 0) {
                 while ($dbBacktaxTD->next_record()) {
                     $backtaxTDRecordArray[] = $dbBacktaxTD->Record;
                 }
             }
             $tdRecordArray[] = array("td" => $dbTD->Record, "backtaxTD" => $backtaxTDRecordArray);
             unset($backtaxTDRecordArray);
         }
     }
     if (is_array($tdRecordArray)) {
         // verify whether each TD Record or BacktaxTD Record is delinquent by comparing it to Payment
         // if it is not in Payment it is considered delinquent
         // if amountPaid is insufficient to amountDue, it is considered delinquent
         foreach ($tdRecordArray as $recordArray) {
             $basicAmountDelinquent = 0;
             $sefAmountDelinquent = 0;
             $penalty = 0;
             $totalDelinquent = 0;
             // find delinquent backtaxTD's
             if (is_array($recordArray["backtaxTD"])) {
                 foreach ($recordArray["backtaxTD"] as $backtaxTDRecord) {
                     $basicAmountDelinquent = 0;
                     $sefAmountDelinquent = 0;
                     $penalty = 0;
                     $totalDelinquent = 0;
                     $sqlPaymentBacktaxTD = "SELECT paymentID, " . "dueType, " . "backtaxTDID, " . "taxDue, " . "earlyPaymentDiscount, " . "advancedPaymentDiscount, " . "penalty, " . "amnesty, " . "balanceDue, " . "amountPaid, " . "dueDate, " . "paymentDate " . "FROM Payment " . "WHERE backtaxTDID='" . $backtaxTDRecord["backtaxTDID"] . "' " . "AND status!='cancelled'";
                     $dbPaymentBacktaxTD->query($sqlPaymentBacktaxTD);
                     if ($dbPaymentBacktaxTD->nf() > 0) {
                         if ($dbPaymentBacktaxTD->next_record()) {
                             // if amountPaid is less than balanceDue, it is delinquent
                             if ($dbPaymentBacktaxTD->f("amountPaid") < $dbPaymentBacktaxTD->f("balanceDue")) {
                                 $paidBasic = $backtaxTDRecord["basicRate"] / ($backtaxTDRecord["basicRate"] + $backtaxTDRecord["sefRate"]) * $dbPaymentBacktaxTD->f("amountPaid");
                                 $paidSef = $backtaxTDRecord["sefRate"] / ($backtaxTDRecord["basicRate"] + $backtaxTDRecord["sefRate"]) * $dbPaymentBacktaxTD->f("amountPaid");
                                 $basicAmountDelinquent = $backtaxTDRecord["basicTax"] - $paidBasic;
                                 $sefAmountDelinquent = $backtaxTDRecord["sefTax"] - $paidSef;
                                 $backtaxTD = new BacktaxTD();
                                 $backtaxTD->selectRecord("", $backtaxTDRecord["backtaxTDID"], "");
                                 $backtaxTD->calculatePenalty(date("Y-m-d"));
                                 $penalty = $backtaxTD->getPenalties();
                                 $totalDelinquent = $basicAmountDelinquent + $sefAmountDelinquent + $penalty;
                                 $delinquentRecordArray[] = array("propertyIndexNumber" => "", "taxDeclarationNumber" => $backtaxTDRecord["tdNumber"], "yearDelinquent" => $backtaxTDRecord["startYear"], "basicAmountDelinquent" => $basicAmountDelinquent, "sefAmountDelinquent" => $sefAmountDelinquent, "penalty" => $penalty, "totalDelinquent" => $totalDelinquent);
                             }
                         }
                     } else {
                         $paidBasic = $backtaxTDRecord["basicRate"] / ($backtaxTDRecord["basicRate"] + $backtaxTDRecord["sefRate"]) * $backtaxTDRecord["paid"];
                         $paidSef = $backtaxTDRecord["sefRate"] / ($backtaxTDRecord["basicRate"] + $backtaxTDRecord["sefRate"]) * $backtaxTDRecord["paid"];
                         $basicAmountDelinquent = $backtaxTDRecord["basicTax"] - $paidBasic;
                         $sefAmountDelinquent = $backtaxTDRecord["sefTax"] - $paidSef;
                         $backtaxTD = new BacktaxTD();
                         $backtaxTD->selectRecord("", $backtaxTDRecord["backtaxTDID"], "");
                         $backtaxTD->calculatePenalty(date("Y-m-d"));
                         $penalty = $backtaxTD->getPenalties();
                         $totalDelinquent = $basicAmountDelinquent + $sefAmountDelinquent + $penalty;
                         $delinquentRecordArray[] = array("propertyIndexNumber" => "", "taxDeclarationNumber" => $backtaxTDRecord["tdNumber"], "yearDelinquent" => $backtaxTDRecord["startYear"], "basicAmountDelinquent" => $basicAmountDelinquent, "sefAmountDelinquent" => $sefAmountDelinquent, "penalty" => $penalty, "totalDelinquent" => $totalDelinquent);
                     }
                 }
             }
             // find delinquent TD's
             if (is_array($recordArray["td"])) {
                 $tdRecord = $recordArray["td"];
                 $basicAmountDelinquent = 0;
                 $sefAmountDelinquent = 0;
                 $penalty = 0;
                 $totalDelinquent = 0;
                 $sqlPaymentTD = "SELECT paymentID, " . "dueID, " . "dueType, " . "tdID, " . "taxDue, " . "earlyPaymentDiscount, " . "advancedPaymentDiscount, " . "penalty, " . "amnesty, " . "balanceDue, " . "amountPaid, " . "dueDate, " . "paymentDate " . "FROM Payment " . "WHERE tdID='" . $tdRecord["tdID"] . "' " . "AND status!='cancelled'";
                 $dbPaymentTD->query($sqlPaymentTD);
                 if ($dbPaymentTD->nf() > 0) {
                     while ($dbPaymentTD->next_record()) {
                         if ($dbPaymentTD->f("dueType") == "Annual") {
                             if ($dbPaymentTD->f("amountPaid") < $dbPaymentTD->f("balanceDue")) {
                                 $paidBasic = $tdRecord["basicRate"] / ($tdRecord["basicRate"] + $tdRecord["sefRate"]) * $dbPaymentTD->f("amountPaid");
                                 $paidSef = $tdRecord["sefRate"] / ($tdRecord["basicRate"] + $tdRecord["sefRate"]) * $dbPaymentTD->f("amountPaid");
                                 $basicAmountDelinquent = $tdRecord["basicTax"] - $paidBasic;
                                 $sefAmountDelinquent = $tdRecord["sefTax"] - $paidSef;
                                 $due = new Due();
                                 $due->selectRecord($tdRecord["dueID"]);
                                 $due = $this->computePenalty(date("Y-m-d"), $due);
                                 $penalty = $due->getPenalty();
                                 $totalDelinquent = $basicAmountDelinquent + $sefAmountDelinquent + $penalty;
                                 $delinquentRecordArray[] = array("propertyIndexNumber" => $tdRecord["propertyIndexNumber"], "taxDeclarationNumber" => $tdRecord["taxDeclarationNumber"], "yearDelinquent" => date("Y", strtotime($tdRecord["dueDate"])), "basicAmountDelinquent" => $basicAmountDelinquent, "sefAmountDelinquent" => $sefAmountDelinquent, "penalty" => $penalty, "totalDelinquent" => $totalDelinquent);
                             }
                             break;
                         } else {
                             $tmpPaidQuarterDues[] = $dbPaymentTD->f("dueID");
                         }
                     }
                     if (is_array($tmpPaidQuarterDues)) {
                         // not all quarters have been paid if less than four
                         if (count($tmpPaidQuarterDues) < 4) {
                             foreach ($tmpPaidQuarterDues as $dueID) {
                                 $sqlDueCondition .= " AND Due.dueID!='" . $dueID . "' ";
                             }
                             // grab unpaid quarterly dues that have not been paid before quarterly dueDate
                             $sqlDues = "SELECT Due.dueID as dueID, " . "Due.dueType as dueType, " . "Due.tdID as tdID " . "FROM Due, TD, AFS " . "WHERE TD.afsID = AFS.afsID " . "AND AFS.archive != 'true' " . "AND TD.archive != 'true' " . "AND Due.dueType != 'Annual' " . "AND Due.tdID = '" . $tdRecord["tdID"] . "'" . "AND TD.propertyType LIKE '" . $this->formArray["classification"] . "' " . "AND YEAR(Due.dueDate)  <= " . date("Y", strtotime($tdRecord["dueDate"])) . " " . "AND Due.dueDate <= '" . date("Y-m-d") . "' " . $sqlDueCondition . " " . "GROUP BY Due.tdID, Due.dueDate " . "ORDER BY Due.dueDate DESC";
                             $dbDues->query($sqlDues);
                             while ($dbDues->next_record()) {
                                 $due = new Due();
                                 $due->selectRecord($dbDues->f("dueID"));
                                 $basicAmountDelinquent += $due->getBasicTax();
                                 $sefAmountDelinquent += $due->getSefTax();
                                 $due = $this->computePenalty(date("Y-m-d"), $due);
                                 $penalty += $due->getPenalty();
                             }
                             $totalDelinquent = $basicAmountDelinquent + $sefAmountDelinquent + $penalty;
                             $delinquentRecordArray[] = array("propertyIndexNumber" => $tdRecord["propertyIndexNumber"], "taxDeclarationNumber" => $tdRecord["taxDeclarationNumber"], "yearDelinquent" => date("Y", strtotime($tdRecord["dueDate"])), "basicAmountDelinquent" => $basicAmountDelinquent, "sefAmountDelinquent" => $sefAmountDelinquent, "penalty" => $penalty, "totalDelinquent" => $totalDelinquent);
                         }
                         unset($sqlDueCondition);
                         unset($tmpPaidQuarterDues);
                     }
                 } else {
                     $basicAmountDelinquent = $tdRecord["basicTax"];
                     $sefAmountDelinquent = $tdRecord["sefTax"];
                     $due = new Due();
                     $due->selectRecord($tdRecord["dueID"]);
                     $due = $this->computePenalty(date("Y-m-d"), $due);
                     $penalty = $due->getPenalty();
                     $totalDelinquent = $basicAmountDelinquent + $sefAmountDelinquent + $penalty;
                     $delinquentRecordArray[] = array("propertyIndexNumber" => $tdRecord["propertyIndexNumber"], "taxDeclarationNumber" => $tdRecord["taxDeclarationNumber"], "yearDelinquent" => date("Y", strtotime($tdRecord["dueDate"])), "basicAmountDelinquent" => $basicAmountDelinquent, "sefAmountDelinquent" => $sefAmountDelinquent, "penalty" => $penalty, "totalDelinquent" => $totalDelinquent);
                 }
             }
         }
     }
     // print page
     if (is_array($delinquentRecordArray)) {
         $ypos = 615;
         $decrementYposBy = 12;
         $linesPerPage = 42;
         $count = count($delinquentRecordArray);
         $numOfPages = ceil($count / $linesPerPage);
         $pageCtr = 1;
         $lineCtr = 1;
         $recordCtr = 1;
         $this->tpl->set_var("classification", $this->formArray["classification"]);
         $this->tpl->set_var("numOfPages", $numOfPages);
         $this->tpl->set_block("rptsTemplate", "Page", "PageBlock");
         $this->tpl->set_block("Page", "Row", "RowBlock");
         $this->tpl->set_block("Page", "Totals", "TotalsBlock");
         $totalsArray = array("totalBasicAmountDelinquent" => 0, "totalSefAmountDelinquent" => 0, "totalPenalty" => 0, "totalTotalDelinquent" => 0);
         foreach ($delinquentRecordArray as $recordArray) {
             $this->tpl->set_var("ypos", $ypos);
             $this->tpl->set_var("recordCtr", $recordCtr);
             // write values
             $totalsArray["totalBasicAmountDelinquent"] += un_number_format($recordArray["basicAmountDelinquent"]);
             $totalsArray["totalSefAmountDelinquent"] += un_number_format($recordArray["sefAmountDelinquent"]);
             $totalsArray["totalPenalty"] += un_number_format($recordArray["penalty"]);
             $totalsArray["totalTotalDelinquent"] += un_number_format($recordArray["totalDelinquent"]);
             foreach ($recordArray as $key => $value) {
                 switch ($key) {
                     case "basicAmountDelinquent":
                     case "sefAmountDelinquent":
                     case "penalty":
                     case "totalDelinquent":
                         $value = formatCurrency($value);
                         break;
                 }
                 $this->tpl->set_var($key, $value);
             }
             $this->tpl->parse("RowBlock", "Row", true);
             if ($recordCtr == count($delinquentRecordArray) || $lineCtr == $linesPerPage) {
                 if ($pageCtr == $numOfPages) {
                     foreach ($totalsArray as $key => $value) {
                         $value = formatCurrency($value);
                         $this->tpl->set_var($key, $value);
                     }
                     $this->tpl->parse("TotalsBlock", "Totals", true);
                 } else {
                     $this->tpl->set_var("TotalsBlock", "");
                 }
                 $this->tpl->set_var("page", $pageCtr);
                 $this->tpl->parse("PageBlock", "Page", true);
                 $this->tpl->set_var("RowBlock", "");
                 $this->tpl->set_var("TotalsBlock", "");
                 $ypos = 615;
                 $lineCtr = 0;
                 $pageCtr++;
             }
             $lineCtr++;
             $recordCtr++;
             $ypos = $ypos - $decrementYposBy;
         }
         $this->tpl->parse("templatePage", "rptsTemplate");
         $this->tpl->finish("templatePage");
         $testpdf = new PDFWriter();
         $testpdf->setOutputXML($this->tpl->get("templatePage"), "test");
         if (isset($this->formArray["print"])) {
             $testpdf->writePDF($name);
             //,$this->formArray["print"]);
         } else {
             $testpdf->writePDF($name);
         }
     } else {
         exit("no delinquent collectible records to display");
     }
 }
Ejemplo n.º 15
0
 function getBacktaxTD($backtaxTDID)
 {
     $BacktaxTDDetails = new SoapObject(NCCBIZ . "BacktaxTDDetails.php", "urn:Object");
     if (!($xmlStr = $BacktaxTDDetails->getBacktaxTD2($backtaxTDID))) {
         // error xmlStr
     } else {
         if (!($domDoc = domxml_open_mem($xmlStr))) {
             // error domDoc
         } else {
             $backtaxTD = new BacktaxTD();
             $backtaxTD->parseDomDocument($domDoc);
             return $backtaxTD;
         }
     }
 }
 function getPropertyClassificationFromBacktaxTD($backtaxTDID)
 {
     $BacktaxTDDetails = new SoapObject(NCCBIZ . "BacktaxTDDetails.php", "urn:Object");
     if (!($xmlStr = $BacktaxTDDetails->getBacktaxTD2($backtaxTDID))) {
         return false;
     } else {
         if (!($domDoc = domxml_open_mem($xmlStr))) {
             return false;
         } else {
             $backtaxTD = new BacktaxTD();
             $backtaxTD->parseDomDocument($domDoc);
             if ($tdID = $backtaxTD->getTDID()) {
                 return $this->getPropertyClassificationFromTD($tdID);
             } else {
                 return false;
             }
         }
     }
 }
Ejemplo n.º 17
0
 function displayBacktaxTD($tdID)
 {
     $BacktaxTDDetails = new SoapObject(NCCBIZ . "BacktaxTDDetails.php", "urn:Object");
     if (!($xmlStr = $BacktaxTDDetails->getBacktaxTD($tdID))) {
         $this->tpl->set_var("BacktaxTDTableBlock", "");
         $this->backtaxTDExists = false;
         return false;
     } else {
         if (!($domDoc = domxml_open_mem($xmlStr))) {
             $this->tpl->set_var("BacktaxTDTableBlock", "");
             $this->backtaxTDExists = false;
             return false;
         } else {
             $backtaxTD = new BacktaxTD();
             $backtaxTD->parseDomDocument($domDoc);
             $backtaxTDID = $backtaxTD->getBacktaxTDID();
             $paidStatus = $backtaxTD->getPaidStatus();
             if ($paidStatus == "PAID") {
                 return false;
             }
             $tdID = $backtaxTD->getTdID();
             $yearRange = $backtaxTD->getStartYear() . " - " . $backtaxTD->getEndYear();
             $totalAssessedValue = $backtaxTD->getAssessedValue();
             $totalBasicTax = $backtaxTD->getBasicTax();
             $totalSEFTax = $backtaxTD->getSefTax();
             $totalPenalties = $backtaxTD->getPenalties();
             $totalIdleTax = $backtaxTD->getIdleTax();
             $totalPaid = $backtaxTD->getPaid();
             $totalBacktaxDue = $backtaxTD->getTotalTaxDue();
             $totalTaxes = 0;
             $totalTaxes += $totalBasicTax;
             $totalTaxes += $totalSEFTax;
             $totalTaxes += $totalPenalties;
             $totalTaxes += $totalIdleTax;
             $this->tpl->set_var("backtaxTDID", $backtaxTDID);
             $this->tpl->set_var("tdID", $tdID);
             $this->tpl->set_var("yearRange", $yearRange);
             $this->tpl->set_var("totalTaxes", number_format($totalTaxes, 2));
             //$this->tpl->set_var("totalBacktaxAssessedValue", number_format($totalAssessedValue,2));
             //$this->tpl->set_var("totalBasicTax", number_format($totalBasicTax,2));
             //$this->tpl->set_var("totalSEFTax", number_format($totalSEFTax,2));
             //$this->tpl->set_var("totalPenalties", number_format($totalPenalties,2));
             //$this->tpl->set_var("totalIdleTax", number_format($totalIdleTax,2));
             $this->tpl->set_var("totalPaid", number_format($totalPaid, 2));
             $this->tpl->set_var("totalBacktaxDue", $totalBacktaxDue);
             $this->tpl->set_var("totalBacktaxDueStr", number_format($totalBacktaxDue, 2));
             $this->tpl->parse("BacktaxTDTableBlock", "BacktaxTDTable", true);
             $this->backtaxTDExists = true;
             return true;
         }
     }
 }