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; }
function getBacktaxTDDetails($tdID) { $backtaxTD = new BacktaxTD(); $backtaxTD->selectRecord($tdID); if (!($domDoc = $backtaxTD->getDomDocument())) { return false; } else { $xmlStr = $domDoc->dump_mem(true); return $xmlStr; } }
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; }
function selectRecords($tdID = false) { $condition = $tdID ? "where tdID = {$tdID}" : ""; $sql = sprintf("select * from %s %s order by startYear desc;", BACKTAXTD_TABLE, $condition); $this->setDB(); $this->db->query($sql); while ($this->db->next_record()) { $backTaxTD = new BacktaxTD(); $backTaxTD->selectRecord("", $this->db->f("backtaxTDID")); $this->arrayList[] = $backTaxTD; } if (count($this->arrayList) > 0) { $this->setDomDocument(); return true; } else { return false; } }
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(); }
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"); } }
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; }
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; }
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"); } }
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; }