Beispiel #1
0
 function Main()
 {
     $fp = fopen("batchCalculate.log", "w") or die("Couldn't create new file");
     $rptopID = isset($_POST['rptopID']) ? $_POST['rptopID'] : $_GET['rptopID'];
     if (is_array($rptopID)) {
         foreach ($rptopID as $key => $id) {
             $RPTOPDetails = new SoapObject(NCCBIZ . "RPTOPDetails.php", "urn:Object");
             if (!($xmlStr = $RPTOPDetails->getRPTOP($id))) {
                 exit("xml failed");
             } else {
                 fwrite($fp, "\r\nrptopid: " . $id . "\r\n");
                 if (!($domDoc = domxml_open_mem($xmlStr))) {
                     echo "error xmlDoc";
                 } else {
                     $rptop = new RPTOP();
                     $td = new TD();
                     $rptop->parseDomDocument($domDoc);
                     foreach ($rptop as $key => $rvalue) {
                         if ($key == "tdArray") {
                             $tdCtr = 0;
                             if (count($rvalue)) {
                                 foreach ($rvalue as $tkey => $tvalue) {
                                     $td->selectRecord($tvalue->getTdID());
                                     $assessedValue = number_format($td->getAssessedValue(), 2, ".", "");
                                     $taxDue = new Dues($tvalue->getTdID(), $rptop->getTaxableYear());
                                     $taxDue->setBasic($assessedValue);
                                     $taxDue->setSEF($assessedValue);
                                     $taxDue->setIdleStatus($idleStatus);
                                     if ($taxDue->getIdleStatus()) {
                                         $taxDue->setIdle($assessedValue);
                                     } else {
                                         $taxDue->setIdle(0);
                                     }
                                     $taxDue->store();
                                     echo $id;
                                     echo "=>";
                                     echo $tvalue->getTdID();
                                     echo "<br>";
                                     fwrite($fp, "TD: " . $tvalue->getTdID() . "...PROCESSED COMPLETE\r\n");
                                     $tdCtr++;
                                 }
                             }
                         }
                     }
                 }
             }
         }
         header("Location: batchCalculateDone.php" . $this->sess->url(""));
         exit;
     }
 }
Beispiel #2
0
 function Main()
 {
     $RPTOPDetails = new SoapObject(NCCBIZ . "RPTOPDetails.php", "urn:Object");
     if (!($xmlStr = $RPTOPDetails->getRPTOP($this->formArray["rptopID"]))) {
         exit("xml failed");
     } else {
         //echo $xmlStr;
         if (!($domDoc = domxml_open_mem($xmlStr))) {
             $this->tpl->set_block("rptsTemplate", "OwnerListTable", "OwnerListTableBlock");
             $this->tpl->set_var("OwnerListTableBlock", "error xmlDoc");
         } else {
             $rptop = new RPTOP();
             $td = new TD();
             $rptop->parseDomDocument($domDoc);
             foreach ($rptop as $key => $value) {
                 switch ($key) {
                     case "owner":
                         //$RPTOPEncode = new SoapObject(NCCBIZ."RPTOPEncode.php", "urn:Object");
                         if (is_a($value, "Owner")) {
                             $this->formArray["ownerID"] = $rptop->owner->getOwnerID();
                             $xmlStr = $rptop->owner->domDocument->dump_mem(true);
                             if (!$xmlStr) {
                                 $this->tpl->set_block("rptsTemplate", "OwnerListTable", "OwnerListTableBlock");
                                 $this->tpl->set_var("OwnerListTableBlock", "");
                             } else {
                                 if (!($domDoc = domxml_open_mem($xmlStr))) {
                                     $this->tpl->set_block("rptsTemplate", "OwnerListTable", "OwnerListTableBlock");
                                     $this->tpl->set_var("OwnerListTableBlock", "error xmlDoc");
                                 } else {
                                     $this->displayOwnerList($domDoc);
                                 }
                             }
                         } else {
                             $this->tpl->set_block("rptsTemplate", "PersonList", "PersonListBlock");
                             $this->tpl->set_var("PersonListBlock", "");
                             $this->tpl->set_block("rptsTemplate", "CompanyList", "CompanyListBlock");
                             $this->tpl->set_var("CompanyListBlock", "");
                         }
                         break;
                     case "cityAssessor":
                         if (is_a($value, Assessor)) {
                             $this->tpl->set_var("cityAssessorID", $value->getAssessorID());
                             $this->tpl->set_var("cityAssessorName", $value->getFullName());
                             $this->formArray["cityAssessorName"] = $value->getFullName();
                         } else {
                             $this->tpl->set_var($key, "");
                         }
                         break;
                     case "cityTreasurer":
                         if (is_a($value, Assessor)) {
                             $this->tpl->set_var("cityTreasurerID", $value->getAssessorID());
                             $this->tpl->set_var("cityTreasurerName", $value->getFullName());
                             $this->formArray["cityTreasurerName"] = $value->getFullName();
                         } else {
                             $this->tpl->set_var($key, "");
                         }
                         break;
                     case "tdArray":
                         //$this->tpl->set_block("rptsTemplate", "defaultTDList", "defaultTDListBlock");
                         //$this->tpl->set_block("rptsTemplate", "toggleTDList", "toggleTDListBlock");
                         $this->tpl->set_block("rptsTemplate", "TDList", "TDListBlock");
                         $tdCtr = 0;
                         //echo("count=".count($value)."<br>");
                         if (count($value)) {
                             $this->tpl->set_block("rptsTemplate", "TDDBEmpty", "TDDBEmptyBlock");
                             $this->tpl->set_var("TDDBEmptyBlock", "");
                             $this->tpl->set_block("TDList", "Land", "LandBlock");
                             $this->tpl->set_block("TDList", "PlantsTrees", "PlantsTreesBlock");
                             $this->tpl->set_block("TDList", "ImprovementsBuildings", "ImprovementsBuildingsBlock");
                             $this->tpl->set_block("TDList", "Machineries", "MachineriesBlock");
                             foreach ($value as $tkey => $tvalue) {
                                 $td->selectRecord($tvalue->getTdID());
                                 $assessedValue = number_format($td->getAssessedValue(), 2, ".", "");
                                 $propertyType = $td->getPropertyType();
                                 $afsID = $td->getAfsID();
                                 $afs = new AFS();
                                 $afs->selectRecord($afsID);
                                 $PropertyIndexNumber = $afs->getPropertyIndexNumber();
                                 $idleStatus = $td->getIdleStatus();
                                 $formAssessedValue = number_format($td->getAssessedValue(), 2);
                                 if ($propertyType == "Land") {
                                     $formValues['assessedValueLand'] = $formAssessedValue;
                                     $formValues['assessedValueOthers'] = "";
                                 } else {
                                     $formValues['assessedValueLand'] = "";
                                     $formValues['assessedValueOthers'] = $formAssessedValue;
                                 }
                                 $formValues['assessedValue'] = $formAssessedValue;
                                 $formValues['propertyType'] = $propertyType;
                                 $taxDue = new Dues($tvalue->getTdID(), $this->formArray['taxableYear']);
                                 $taxDue->setBasic($assessedValue);
                                 $taxDue->setSEF($assessedValue);
                                 $taxDue->setIdleStatus($idleStatus);
                                 if ($taxDue->getIdleStatus()) {
                                     $taxDue->setIdle($assessedValue);
                                 } else {
                                     $taxDue->setIdle(0);
                                 }
                                 $taxDue->store();
                                 $dueValues['basic'] = number_format($taxDue->getBasic(), 2);
                                 $dueValues['sef'] = number_format($taxDue->getSEF(), 2);
                                 $dueValues['total'] = number_format($taxDue->getBasic() + $taxDue->getSEF(), 2);
                                 $totalValues['totBasic'] += $taxDue->getBasic();
                                 $totalValues['totSEF'] += $taxDue->getSEF();
                                 $totalValues['totTotal'] += $taxDue->getBasic() + $taxDue->getSEF();
                                 $totalValues['totAssessedValue'] += $assessedValue;
                                 $this->tpl->set_var($dueValues);
                                 $tdValues['assessedValue'] = number_format($assessedValue, 2);
                                 $tdValues['tdNumber'] = $tvalue->getTaxDeclarationNumber();
                                 $tdValues['propertyIndexNumber'] = $PropertyIndexNumber;
                                 $this->tpl->set_var($tdValues);
                                 $this->tpl->set_var("ctr", $tdCtr);
                                 $this->tpl->parse("TDListBlock", "TDList", true);
                                 $tdCtr++;
                             }
                         } else {
                             $this->tpl->set_var("TDListBlock", "");
                         }
                         $this->tpl->set_var("tdCtr", $tdCtr);
                         break;
                     default:
                         $this->formArray[$key] = $value;
                 }
             }
         }
     }
     $this->setForm();
     $this->tpl->set_var("uname", $this->user["uname"]);
     $this->tpl->set_var("today", date("F j, Y"));
     $this->setPageDetailPerms();
     $totalValues['totBasic'] = number_format($totalValues['totBasic'], 2);
     $totalValues['totSEF'] = number_format($totalValues['totSEF'], 2);
     $totalValues['totTotal'] = number_format($totalValues['totTotal'], 2);
     $totalValues['totAssessedValue'] = number_format($totalValues['totAssessedValue'], 2);
     $this->tpl->set_var($totalValues);
     $this->tpl->set_var("Session", $this->sess->url("") . $this->sess->add_query(array("rptopID" => $this->formArray["rptopID"], "ownerID" => $this->formArray["ownerID"])));
     $this->tpl->parse("templatePage", "rptsTemplate");
     $this->tpl->finish("templatePage");
     $this->tpl->p("templatePage");
 }
Beispiel #3
0
 function setDetails()
 {
     global $sess;
     # set the RPTOP to get the owner's object and information
     # get it from POST if possible, otherwise from GET
     $rptopID = isset($_POST['rptopID']) ? $_POST['rptopID'] : $_GET['rptopID'];
     //$rptopID = 14;
     $rptop = new RPTOP();
     $rptop->selectRecord($rptopID);
     $amountPaid = str_replace(",", "", $_POST['amountPaid']);
     $dateDue = $rptop->getTaxableYear();
     # must be a usable format
     $formValues['datePaid'] = date("F j, Y");
     $pORDate = $_POST['prevORDate'];
     if ($pORDate) {
         list($pmonth, $pday, $pyear) = explode("-", $pORDate);
         $formValues['porMonth'] = date("F", mktime(0, 0, 0, $pmonth + 1, 0, 0));
         $formValues['porYear'] = $pyear;
         $formValues['porDay'] = $pday;
     } else {
         $formValues['porMonth'] = "";
         $formValues['porYear'] = "";
         $formValues['porDay'] = "";
     }
     $formValues['orYear'] = substr($rptop->getTaxableYear(), 2);
     $formValues['orMonth'] = date("F");
     $formValues['orDay'] = date("j");
     $formValues['taxableYear'] = $rptop->getTaxableYear();
     $formValues['rptopNum'] = $rptop->getRptopNumber();
     $formValues['prevORNum'] = $_POST['prevORNum'];
     $formValues['orNum'] = $_POST['receiptNo'];
     $formValues['kindOfPayment'] = $_POST['kindOfPayment'];
     $formValues['checkNumber'] = $_POST['checkNum'];
     $formValues['checkDate'] = $_POST['checkDate'];
     # set the specific TD (although this is in the RPTOP), hard to search for it.
     # get the tdID from POST or GET to initialize the TD
     $tdID = isset($_POST['tdID']) ? $_POST['tdID'] : $_GET['tdID'];
     //$tdID = array(2,1);
     //$ownerID=5;
     $td = new TD();
     $ctr = 0;
     # $this->tpl->set_block('step3','PrintTDID','PrintTDIDs');
     //$this->tpl->set_block('step3','TDID','TDIDs');
     $this->tpl->set_block('receipt', 'Property', 'Properties');
     $this->tpl->set_block('Property', 'Owner', 'Owners');
     $n = 165;
     if (is_array($tdID)) {
         foreach ($tdID as $key => $id) {
             # set/pass tdIDs to form
             $this->tpl->set_var(tdID, $id);
             $this->tpl->parse('TDIDs', 'TDID', 'true');
             $td->selectRecord($id);
             $tdNum = $td->getTaxDeclarationNumber();
             $afs = new AFS();
             $formValues['tdNum'] = $tdNum;
             $afs->selectRecord($td->getAfsID());
             $od = new OD();
             $od->selectRecord($afs->getOdID());
             $addr = $od->getLocationAddress();
             # get municipality/province and city(same for all tds)
             //$lotAddress = new LocationAddress;
             //$lotAddress->selectRecordFromTdID($id);
             //$formValues['province'] = $lotAddress->getProvince();
             //$formValues['city'] = $lotAddress->getMunicipalityCity();
             $formValues['city'] = $addr->getMunicipalityCity();
             $formValues['province'] = $addr->getProvince();
             $formValues['municipalityCityID'] = $addr->getMunicipalityCityID();
             # get location/ block and lot number OR Barangay
             #$formValues['lotAddress'] = $lotAddress->getFullAddress();
             $formValues['lotAddress'] = $addr->getNumber . " " . $addr->getStreet();
             if ($formValues['lotAddress'] == "") {
                 $formValues['lotAddress'] = $addr->getBarangay();
             }
             $propertyType = $td->getPropertyType();
             $propertyID = $td->getPropertyID();
             $assessedValue = number_format($td->getAssessedValue(), 2, ".", "");
             $formAssessedValue = number_format($td->getAssessedValue(), 2);
             # separate assessed value of land and others(plantsTrees, improvementsBuildings, machineries)
             if ($propertyType == "Land") {
                 $formValues['assessedValueLand'] = $formAssessedValue;
                 $formValues['assessedValueOthers'] = "";
             } else {
                 $formValues['assessedValueLand'] = "";
                 $formValues['assessedValueOthers'] = $formAssessedValue;
             }
             $formValues['assessedValue'] = $formAssessedValue;
             $formValues['propertyType'] = $propertyType;
             # set the owner's List
             # we define the owner from the RPTOP
             $ownerSwitch = true;
             if ($ctr > 0) {
                 $ownerValues['ownerName'] = "";
                 $ownerValues['ownerAddress'] = "";
                 $this->tpl->set_var($ownerValues);
                 $this->tpl->parse(Owners, Owner, false);
             } else {
                 $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();
                         /*$addressArray = $person->getAddressArray();
                           $address = $addressArray[0];
                         		$ownerValues['ownerAddress'] = $address->getNumber()." ".
                             		                           $address->getStreet()."<br>".
                           		  		                           $address->getBarangay().", ".
                               		   		                       $address->getMunicipalityCity()."<br>".
                                   		   		                   $address->getProvince();*/
                         $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();
                         /*$addressArray = $company->getAddressArray();
                           $address = $addressArray[0];
                          	$ownerValues['ownerAddress'] = $address->getNumber()." ".
                            	    	                           $address->getStreet()."<br>".
                          		    	    	                       $address->getBarangay().", ".
                              		    	    	                   $address->getMunicipalityCity()."<br> ".
                                  		    	    	               $address->getProvince();
                                  */
                         $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();
                         }
                     }
                 }
                 $formValues['receivedFrom'] = $receivedFrom;
             }
             //end if ($ctr > 0)
             # tax dues are defined from TDNumber and taxableYear
             # compute for taxes; to create dues obj pass tdID and due date (where due date is beginning of taxable year) -- 14 Aug 2003
             //     $taxDue = new Dues($id,$dateDue,$assessedValue);
             $taxDue = new Dues();
             /*		    if(!$taxDue->create($id,$dateDue)){
                    		    $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;
             				}
                     	}
             */
             $dateDue = $td->getTaxBeginsWithTheYear();
             $taxDue = new Dues($id, $dateDue);
             if (!$taxDue->create($id, $dateDue)) {
                 $taxDue->setBasic($assessedValue);
                 $taxDue->setSEF($assessedValue);
                 $taxDue->setIsDiscount(0);
                 # check if land is idle, if yes, set assessed value
                 # getIdleStatus -- temporary function
                 if ($taxDue->getIdleStatus() == 1) {
                     #echo("idle<br>");
                     $taxDue->setIdle($assessedValue);
                 }
             } else {
                 $taxDue->setIsDiscount($dateDue == date("Y") && date("n") <= $taxDue->discountPeriod && $taxDue->getPaymentMode() == "Annual");
             }
             $paymentPeriod = $_POST['paymentPeriod'];
             # set amnesty to object
             //$amnesty = $_POST['amnesty'];
             //$taxDue->setAmnesty($amnesty=="Yes");
             //	$taxDue->store();
             $totalTaxDue = $taxDue->getTotalDue($paymentPeriod);
             $totalAmount = $taxDue->getTotalDue($paymentPeriod);
             //    $paymentPeriod= "Annual";
             /*    	    if(isset($_POST['paymentPeriod'])){
                     	    $paymentPeriod = $_POST['paymentPeriod'];
             				
                     	}*/
             $formValues['paymentPeriod'] = $paymentPeriod;
             $this->tpl->set_var($formValues);
             ## Compute taxes and set the page values
             //$totalTaxDue = $taxDue->getTotalDue($paymentPeriod);
             $interest = $taxDue->getPctPenalty();
             if ($interest > 0 && $paymentPeriod != "Annual") {
                 $paymentPeriod = "Annual";
             }
             $basic = $taxDue->getBalanceBasic($paymentPeriod);
             $sef = $taxDue->getBalanceSEF($paymentPeriod);
             $idle = $taxDue->getBalanceIdle($paymentPeriod);
             $discount = $taxDue->getDiscount($basic + $sef);
             $penalty = $taxDue->getBalancePenalty($paymentPeriod);
             $taxValues['idleStatus'] = $idleStatus == 0 ? "" : "(I)";
             $taxValues['basic'] = number_format($basic, 2);
             $taxValues['sef'] = number_format($sef, 2);
             $taxValues['pd1185'] = number_format(0.0, 2);
             $taxValues['subTotal'] = number_format($totalTaxDue, 2);
             $taxValues['periodTotal'] = number_format($basic + $sef + $idle, 2);
             $taxValues['interest'] = number_format($interest * 100.0, 1) . "%";
             $taxValues['penalty'] = number_format($interest * 100, 0);
             $taxValues['discount'] = number_format($discount * 100.0, 1) . "%";
             $taxValues['totBasic'] = number_format($basic * (1 + $interest), 2);
             $taxValues['totSEF'] = number_format($sef * (1 + $interest), 2);
             $taxValues['totPD1185'] = number_format(0, 2);
             $taxValues['totSubTotal'] = number_format(round($totalTaxDue, 2), 2);
             $taxValues['grandTotal'] = number_format($totalTaxDue, 2);
             # further breakdown of basic tax for RPT Receipt
             $taxValues['gf'] = number_format($basic * 0.7, 2);
             // 70% of basic
             $taxValues['ib'] = number_format($basic * 0.15, 2);
             // 15% of basic
             $taxValues['cb'] = number_format($basic * 0.15, 2);
             // 15% of basic for a total if 100%
             $taxValues['totGF'] = number_format($basic * 0.7 * (1 + $interest), 2);
             $taxValues['totIB'] = number_format($basic * 0.15 * (1 + $interest), 2);
             $taxValues['totCB'] = number_format($basic * 0.15 * (1 + $interest), 2);
             if ($paymentPeriod == "Annual") {
                 $this->tpl->set_var("fullPmt", $taxValues['subTotal']);
                 $this->tpl->set_var("partialPmt", "");
                 # get full payment total
                 $fullPmtTotal += str_replace(",", "", $taxValues['subTotal']);
                 $this->tpl->set_var("fullPmtTotal", number_format($fullPmtTotal, 2));
             } else {
                 $this->tpl->set_var("partialPmt", $taxValues['subTotal']);
                 $this->tpl->set_var("num", ceil(date("n") / 3));
                 $this->tpl->set_var("fullPmt", "");
                 # get partial payment total
                 $partialPmtTotal += str_replace(",", "", $taxValues['subTotal']);
                 $this->tpl->set_var("partialPmtTotal", number_format($partialPmtTotal, 2));
             }
             $this->tpl->set_var($taxValues);
             $this->tpl->parse('Properties', 'Property', 'true');
             $ctr++;
             # get totals for penalty and grand total
             # $penaltyTotal += ($basic*$interest); -- removed bec penalty in percent
             $total += $totalTaxDue;
             # $this->tpl->set_var("penaltyTotal", number_format($penaltyTotal,2));
         }
     }
     # end foreach
     if ($total > $totalTaxDue) {
         $totalTaxDue = $total;
     }
     // if backtaxTDCheckbox is checked
     if ($_POST['backtaxTDCheckbox'] && $_POST['backtaxTDCheckbox'] != "") {
         $totalTaxDue += $this->displayBacktaxTD($ownerSwitch);
         $fullPmtTotal = $totalTaxDue;
         $this->tpl->set_var("fullPmtTotal", number_format($fullPmtTotal, 2));
     }
     # if amnesty checked/unchecked form will submit, set kind of payment and other details
     /*switch($formValues['kindOfPayment']){
     			case 'check':
     				$this->tpl->set_var("selectedCheck","selected");
     				$this->tpl->set_var("disabledOn","");
     				$this->tpl->set_var("checkNum",$formValues['checkNum']);
     				$this->tpl->set_var("checkDate",$formValues['checkDate']);
     				break;
     			case 'treasury note':
     				$this->tpl->set_var("selectedTNote","selected");
     				$this->tpl->set_var("disabledOn","disabled");
     				$this->tpl->set_var("checkNum","");
     				$this->tpl->set_var("checkDate","");
     				break;
     			case 'cash':
     			default:
     				$this->tpl->set_var("selectedCash","selected");
     				$this->tpl->set_var("disabledOn","disabled");
     				$this->tpl->set_var("checkNum","");
     				$this->tpl->set_var("checkDate","");								
     				break;
     		}*/
     # get totals in words
     $amountPaid = $amountPaid ? number_format($amountPaid, 2) : number_format($total, 2);
     $this->tpl->set_var("total", number_format($total, 2));
     $this->tpl->set_var("amountPaid", $amountPaid);
     $this->tpl->set_var("balance", $total - $amountPaid);
     $numToWords = new NumbersToWords();
     $totalInWords = $numToWords->num_to_string(number_format(str_replace(",", "", $amountPaid), 2));
     $this->tpl->set_var("totalInWords", $totalInWords);
     //$this->tpl->set_var("amnestyChecked", ($formValues['amnesty']=="Yes") ? " checked" : "");
     //if(!isset($_POST['printReceipt_x']))
     //  	$this->tpl->set_var("Session", $sess->url(""));
 }
Beispiel #4
0
 function Main()
 {
     $this->formArray['currentDate'] = date("F d, Y");
     $MunicipalityCityDetails = new SoapObject(NCCBIZ . "MunicipalityCityDetails.php", "urn:Object");
     #test values
     //$this->formArray['municipalityCityID']=1;
     if (!($xmlStr = $MunicipalityCityDetails->getMunicipalityCityDetails($this->formArray['municipalityCityID']))) {
         #echo($xmlStr);
         //exit("xml failed for municipality");
         header("Location: " . $this->sess->url("ViewSOA.php") . "&status=2");
     } else {
         if (!($domDoc = domxml_open_mem($xmlStr))) {
             echo "error xmlDoc";
         } else {
             $MunicipalityCity = new MunicipalityCity();
             $MunicipalityCity->parseDomDocument($domDoc);
             $this->formArray['municipality'] = $MunicipalityCity->getDescription();
         }
     }
     #test values
     //$this->formArray['ownerID']=5;
     #echo("ownerID=".$this->formArray['ownerID']."<br>");
     //			$this->displayOwnerList($this->formArray['ownerID']);
     #test values
     //$this->formArray["rptopID"]=15;
     if ($this->formArray['personID'] != "") {
         $person = new Person();
         $person->selectRecord($this->formArray['personID']);
         $this->tpl->set_var(ownerName, $person->getFullName());
         $this->tpl->set_var(ownerNo, $person->getTin());
         $address = $person->addressArray[0];
         $this->tpl->set_var(ownerAddress, $address->getNumber() . " " . $address->getStreet() . " " . $address->getBarangay() . " " . $address->getDistrict() . " " . $address->getMunicipalitycity() . " " . $address->getProvince());
         $db = new DB_RPTS();
         $sql = "SELECT rptopID FROM Owner inner join OwnerPerson on Owner.ownerID=OwnerPerson.ownerID WHERE Owner.rptopID <> '' AND OwnerPerson.personID=" . $this->formArray['personID'];
         $db->query($sql);
     } else {
         $company = new Company();
         $company->selectRecord($this->formArray['companyID']);
         $this->tpl->set_var(ownerName, $company->getCompanyName());
         $this->tpl->set_var(ownerNo, $company->getCompanyID());
         $address = $company->addressArray[0];
         $this->tpl->set_var(ownerAddress, $address->getNumber() . " " . $address->getStreet() . " " . $address->getBarangay() . " " . $address->getDistrict() . " " . $address->getMunicipalitycity() . " " . $address->getProvince());
         $db = new DB_RPTS();
         $sql = "SELECT rptopID FROM Owner inner join OwnerPerson on Owner.ownerID=OwnerPerson.ownerID WHERE Owner.rptopID <> '' AND OwnerPerson.personID=" . $this->formArray['companyID'];
         $db->query($sql);
     }
     /*$person = new Person();
     		$person->selectRecord($this->formArray['personID']);
     		$this->tpl->set_var(ownerName,$person->getFullName());
     		$this->tpl->set_var(ownerNo,$person->getTin());
     		$address = $person->addressArray[0];
     		$this->tpl->set_var(ownerAddress,$address->getNumber() ." ".$address->getStreet()." ".$address->getBarangay()." ".$address->getDistrict()." ".$address->getMunicipalitycity()." ".$address->getProvince());
     		$db = new DB_RPTS();
     
     		$sql = "SELECT rptopID FROM Owner inner join OwnerPerson on Owner.ownerID=OwnerPerson.ownerID WHERE Owner.rptopID <> '' AND OwnerPerson.personID=".$this->formArray['personID'];
     		$db->query($sql);*/
     $this->tpl->set_block("rptsTemplate", "ROW", "RowBlk");
     for ($i = 0; $db->next_record(); $i++) {
         $rptopID = $db->f("rptopID");
         $RPTOPDetails = new SoapObject(NCCBIZ . "RPTOPDetails.php", "urn:Object");
         if (!($xmlStr = $RPTOPDetails->getRPTOP($rptopID))) {
             //	exit("xml failed for RPTOP");
             header("Location: " . $this->sess->url("ViewSOA.php") . "&status=1");
         } else {
             //echo $xmlStr;
             if (!($domDoc = domxml_open_mem($xmlStr))) {
                 $this->tpl->set_block("rptsTemplate", "OwnerListTable", "OwnerListTableBlock");
                 $this->tpl->set_var("OwnerListTableBlock", "error xmlDoc");
             } else {
                 $rptop = new RPTOP();
                 $td = new TD();
                 $rptop->parseDomDocument($domDoc);
                 foreach ($rptop as $key => $value) {
                     $this->formArray['payableYear'] = $rptop->getTaxableYear();
                     $rptopID = $rptop->getRptopID();
                     if ($key == "tdArray") {
                         $tdCtr = 0;
                         if (count($value)) {
                             foreach ($value as $tkey => $tvalue) {
                                 $td->selectRecord($tvalue->getTdID());
                                 $assessedValue = number_format($td->getAssessedValue(), 2, ".", "");
                                 $propertyType = $td->getPropertyType();
                                 $TaxDeclarationNumber = $td->getTaxDeclarationNumber();
                                 //										$this->tpl->set_var(kind,$propertyType);
                                 //										$this->tpl->set_var(currentTDNo,$TaxDeclarationNumber);
                                 /*									$dues = new Dues();
                                 									$dues->create($td->getTdID(), "","","","2003");
                                 									$this->tpl->set_var(basic,$dues->getBasic());
                                 									$totBasic += $dues->getBasic();
                                 									$this->tpl->set_var(sef,$dues->getSEF());
                                 									$totSEF += $dues->getSEF();
                                 									$this->tpl->set_var(total,$dues->getSEF()+$dues->getBasic());
                                 									$totTaxDue += $dues->getSEF()+$dues->getBasic();*/
                                 $afsID = $td->getAfsID();
                                 $afs = new AFS();
                                 $afs->selectRecord($afsID);
                                 $od = new OD();
                                 $od->selectRecord($afs->getOdID());
                                 $addr = $od->getLocationAddress();
                                 if (count($addr)) {
                                     $location = $addr->getFullAddress();
                                     //												$this->tpl->set_var(location,$addr->getFullAddress());
                                     $munCityID = $addr->getMunicipalityCityID();
                                     //											if($munCityID == $this->formArray['municipalityCityID'])
                                     //												$this->tpl->set_var(municipality,$addr->getMunicipalityCity());
                                 }
                                 if (count($afs->landArray)) {
                                     foreach ($afs->landArray as $afsKey => $afsValue) {
                                         $actualUse = $afsValue->getActualUse();
                                         $landActualUses = new LandActualUses();
                                         $landActualUses->selectRecord($actualUse);
                                         //$this->tpl->set_var("class",$landActualUses->getCode());
                                         $Code = $landActualUses->getCode();
                                     }
                                 }
                                 if (count($afs->improvementsBuildingsArray)) {
                                     foreach ($afs->improvementsBuildingsArray as $afsKey => $afsValue) {
                                         $actualUse = $afsValue->getActualUse();
                                         $improvementsBuildingsActualUses = new improvementsBuildingsActualUses();
                                         $improvementsBuildingsActualUses->selectRecord($actualUse);
                                         //$this->tpl->set_var("class",$improvementsBuildingsActualUses->getCode());
                                         $Code = $improvementsBuildingsActualUses->getCode();
                                     }
                                 }
                                 //echo $afs->get
                                 //											echo $munCityID ."==". $this->formArray['municipalityCityID']."<br>";
                                 if ($munCityID == $this->formArray['municipalityCityID']) {
                                     $this->tpl->set_var(location, $location);
                                     $this->tpl->set_var("class", $Code);
                                     $this->tpl->set_var(kind, $propertyType);
                                     $this->tpl->set_var(currentTDNo, $TaxDeclarationNumber);
                                     $this->tpl->set_var(municipality, $addr->getMunicipalityCity());
                                     $dues = new Dues();
                                     $dues->create($td->getTdID(), "", "", "", "2003");
                                     $totTaxDue += $dues->getSEF() + $dues->getBasic();
                                     $basic = number_format($dues->getBasic(), "2", ".", "");
                                     $this->tpl->set_var(basic, $basic);
                                     $totBasic += $basic;
                                     $sef = number_format($dues->getSEF(), "2", ".", "");
                                     $this->tpl->set_var(sef, $sef);
                                     $totSEF += number_format($sef, "2", ".", "");
                                     $this->tpl->set_var(total, number_format($sef + $basic, "2", ".", ""));
                                     $this->tpl->set_var(marketValue, number_format($afs->getTotalMarketValue(), 2));
                                     $totMarketValue += $afs->getTotalMarketValue();
                                     $this->tpl->set_var(assessedValue, number_format($afs->getTotalAssessedValue(), 2));
                                     $totAssessedValue += $afs->getTotalAssessedValue();
                                     $pIndexNo = $afs->getPropertyIndexNumber();
                                     if ($pIndexNo == "") {
                                         $pIndexNo = "No value specified";
                                     }
                                     $this->tpl->set_var(pin, $pIndexNo);
                                     //echo $afs->getTotalMarketValue();
                                     /*									if(count($afs->landArray)){
                                     										foreach($afs->landArray as $afsKey => $afsValue){
                                     											$this->tpl->set_var(pin,$afsValue->getPropertyIndexNumber());
                                     										}
                                     								}							
                                     */
                                     $this->tpl->parse("RowBlk", "ROW", true);
                                 }
                                 //else{
                                 //											$this->tpl->set_var("RowBlk","");
                                 //								}
                             }
                             #end foreach($value)
                         }
                         #end if coun value
                         $this->tpl->set_var(totalMarketValue, number_format($totMarketValue, 2));
                         $this->tpl->set_var(totalAssessedValue, number_format($totAssessedValue, 2));
                         $this->tpl->set_var(totalBasic, number_format($totBasic, 2));
                         $this->tpl->set_var(totalSEF, number_format($totSEF, 2));
                         $this->tpl->set_var(totalTaxDue, number_format($totTaxDue, 2));
                     }
                 }
             }
             //				$this->tpl->parse("RowBlk","ROW",true);
         }
     }
     //		$owner
     /*		$RPTOPDetails = new SoapObject(NCCBIZ."RPTOPDetails.php", "urn:Object");
     		if (!$xmlStr = $RPTOPDetails->getRPTOP($this->formArray["rptopID"])){
     			//exit("xml failed for RPTOP");
     			header("Location: ".$this->sess->url("ViewSOA.php")."&status=1");
     		}
     		else{
     			//echo $xmlStr;
     			if(!$domDoc = domxml_open_mem($xmlStr)) {
     				$this->tpl->set_block("rptsTemplate", "OwnerListTable", "OwnerListTableBlock");
     				$this->tpl->set_var("OwnerListTableBlock", "error xmlDoc");
     			}
     			else {
     				$rptop = new RPTOP;
     				$td = new TD();
     				$rptop->parseDomDocument($domDoc);
     				$status_report = "";
     				foreach($rptop as $key => $value){
     					$this->formArray['payableYear'] = $rptop->getTaxableYear();
     					$rptopID = $rptop->getRptopID();
     					if($key=="tdArray"){
     						$tdCtr = 0;
     							if (count($value)){	
     							$this->tpl->set_block("rptsTemplate","ROW","RowBlk");	
     								foreach($value as $tkey => $tvalue){			
     									$td->selectRecord($tvalue->getTdID());
     
     									$assessedValue = number_format($td->getAssessedValue(),2,".","");
     									$propertyType = $td->getPropertyType();
     									$TaxDeclarationNumber = $td->getTaxDeclarationNumber();
     									//$tdCtr++;
     									$this->tpl->set_var(kind,$propertyType);
     									$this->tpl->set_var(currentTDNo,$TaxDeclarationNumber);
     
     /*									$dues = new Dues();
     									$dues->create($td->getTdID(), "","","","2003");
     									$this->tpl->set_var(basic,$dues->getBasic());
     									$totBasic += $dues->getBasic();
     									$this->tpl->set_var(sef,$dues->getSEF());
     									$totSEF += $dues->getSEF();
     									$this->tpl->set_var(total,$dues->getSEF()+$dues->getBasic());
     									$totTaxDue += $dues->getSEF()+$dues->getBasic();*/
     /*								$afsID = $td->getAfsID();
     									$afs = new AFS();
     									$afs->selectRecord($afsID);
     									$od = new OD();
     									$od->selectRecord($afs->getOdID());
     									$addr = $od->getLocationAddress();
     									if(count($addr)){
     									$this->tpl->set_var(location,$addr->getFullAddress());
     									$munCityID = $addr->getMunicipalityCityID();
     										if($munCityID == $this->formArray['municipalityCityID'])
     										$this->tpl->set_var(municipality,$addr->getMunicipalityCity());
     									}
     									if(count($afs->landArray)){
     										foreach($afs->landArray as $afsKey => $afsValue){
     											$actualUse = $afsValue->getActualUse();
     											$landActualUses = new LandActualUses();
     											$landActualUses->selectRecord($actualUse);
     											$this->tpl->set_var("class",$landActualUses->getCode());
     										}
     									}
     									if(count($afs->improvementsBuildingsArray)){
     										foreach($afs->improvementsBuildingsArray as $afsKey => $afsValue){
     											$actualUse = $afsValue->getActualUse();
     											$improvementsBuildingsActualUses = new improvementsBuildingsActualUses();
     											$improvementsBuildingsActualUses->selectRecord($actualUse);
     											$this->tpl->set_var("class",$improvementsBuildingsActualUses->getCode());
     										}
     									}
     									//echo $afs->get
     
     									if($munCityID == $this->formArray['municipalityCityID']){
     									$dues = new Dues();
     									$dues->create($td->getTdID(), "","","","2003");
     									$this->tpl->set_var(basic,number_format($dues->getBasic(),"2",".",""));
     									$totBasic += $dues->getBasic();
     									$this->tpl->set_var(sef,number_format($dues->getSEF(),"2",".",""));
     									$totSEF += $dues->getSEF();
     									$this->tpl->set_var(total,number_format($dues->getSEF()+$dues->getBasic(),"2",".",""));
     									$pIndexNo = $afs->getPropertyIndexNumber();
     									if($pIndexNo==""){
     										$pIndexNo = "No value specified";	
     									}
     									$this->tpl->set_var(pin,$pIndexNo);
     									
     									$this->tpl->set_var(marketValue,$afs->getTotalMarketValue());
     									$totMarketValue += $afs->getTotalMarketValue();
     									$this->tpl->set_var(assessedValue,$afs->getTotalAssessedValue());
     									$totAssessedValue += $afs->getTotalAssessedValue();																
     									//echo $afs->getTotalMarketValue();
     /*									if(count($afs->landArray)){
     										foreach($afs->landArray as $afsKey => $afsValue){
     											$this->tpl->set_var(pin,$afsValue->getPropertyIndexNumber());
     										}
     									}							
     */
     /*								$this->tpl->parse("RowBlk","ROW",true);
     								}else{
     								$this->tpl->set_var("RowBlk","");
     								}
     								}#end foreach($value)						
     							}#end if coun value
     
     //				$this->tpl->set_block("rptsTemplate","STAT",sBlk);
     //				$this->tpl->set_var(status_report,$status_report);
     //				$this->tpl->parse(sBlk,"STAT",true);
     							
     							$this->tpl->set_var(totalMarketValue,$totMarketValue);
     							$this->tpl->set_var(totalAssessedValue,$totAssessedValue);
     							$this->tpl->set_var(totalBasic,$totBasic);
     							$this->tpl->set_var(totalSEF,$totSEF);
     							$this->tpl->set_var(totalTaxDue,$totTaxDue);
     					}
     				}
     				
     			}
     		}*/
     $this->setForm();
     $this->tpl->set_var("Session", $this->sess->url(""));
     $this->tpl->parse("templatePage", "rptsTemplate");
     $this->tpl->finish("templatePage");
     $this->tpl->p("templatePage");
 }
Beispiel #5
0
 function Main()
 {
     $this->formArray['currentDate'] = date("F d, Y");
     $MunicipalityCityDetails = new SoapObject(NCCBIZ . "MunicipalityCityDetails.php", "urn:Object");
     #test values
     //$this->formArray['municipalityCityID']=1;
     if (!($xmlStr = $MunicipalityCityDetails->getMunicipalityCityDetails($this->formArray['municipalityCityID']))) {
         #echo($xmlStr);
         exit("xml failed for municipality");
         //header("Location: ".$this->sess->url("ViewSOA.php")."&status=2");
     } else {
         if (!($domDoc = domxml_open_mem($xmlStr))) {
             echo "error xmlDoc";
         } else {
             $MunicipalityCity = new MunicipalityCity();
             $MunicipalityCity->parseDomDocument($domDoc);
             $this->formArray['municipality'] = $MunicipalityCity->getDescription();
         }
     }
     if ($this->formArray['personID'] != "") {
         $person = new Person();
         $person->selectRecord($this->formArray['personID']);
         $this->tpl->set_var(ownerName, $person->getFullName());
         $this->tpl->set_var(ownerNo, $person->getTin());
         $address = $person->addressArray[0];
         if (is_object($address)) {
             $this->tpl->set_var(ownerAddress, $address->getNumber() . " " . $address->getStreet() . " " . $address->getBarangay() . " " . $address->getDistrict() . " " . $address->getMunicipalitycity() . " " . $address->getProvince());
         } else {
             $this->tpl->set_var(ownerAddress, "");
         }
         $db = new DB_RPTS();
         $sql = "SELECT rptopID FROM Owner inner join OwnerPerson on Owner.ownerID=OwnerPerson.ownerID WHERE Owner.rptopID <> '' AND OwnerPerson.personID=" . $this->formArray['personID'];
         $db->query($sql);
     } else {
         $company = new Company();
         $company->selectRecord($this->formArray['companyID']);
         $this->tpl->set_var(ownerName, $company->getCompanyName());
         $this->tpl->set_var(ownerNo, $company->getCompanyID());
         $address = $company->addressArray[0];
         $this->tpl->set_var(ownerAddress, $address->getNumber() . " " . $address->getStreet() . " " . $address->getBarangay() . " " . $address->getDistrict() . " " . $address->getMunicipalitycity() . " " . $address->getProvince());
         $db = new DB_RPTS();
         $sql = "SELECT rptopID FROM Owner inner join OwnerPerson on Owner.ownerID=OwnerPerson.ownerID WHERE Owner.rptopID <> '' AND OwnerPerson.personID=" . $this->formArray['companyID'];
         $db->query($sql);
     }
     $ypos = 325;
     $this->tpl->set_block("rptsTemplate", "ROW", "RowBlk");
     for ($i = 0; $db->next_record(); $i++) {
         $rptopID = $db->f("rptopID");
         $RPTOPDetails = new SoapObject(NCCBIZ . "RPTOPDetails.php", "urn:Object");
         if (!($xmlStr = $RPTOPDetails->getRPTOP($rptopID))) {
             //	exit("xml failed for RPTOP");
             header("Location: " . $this->sess->url("ViewSOA.php") . "&status=1");
         } else {
             //echo $xmlStr;
             if (!($domDoc = domxml_open_mem($xmlStr))) {
                 $this->tpl->set_block("rptsTemplate", "OwnerListTable", "OwnerListTableBlock");
                 $this->tpl->set_var("OwnerListTableBlock", "error xmlDoc");
             } else {
                 $rptop = new RPTOP();
                 $td = new TD();
                 $rptop->parseDomDocument($domDoc);
                 foreach ($rptop as $key => $value) {
                     $this->formArray['payableYear'] = $rptop->getTaxableYear();
                     $rptopID = $rptop->getRptopID();
                     if ($key == "tdArray") {
                         $tdCtr = 0;
                         if (count($value)) {
                             foreach ($value as $tkey => $tvalue) {
                                 $td->selectRecord($tvalue->getTdID());
                                 $assessedValue = number_format($td->getAssessedValue(), 2, ".", "");
                                 $propertyType = $td->getPropertyType();
                                 $TaxDeclarationNumber = $td->getTaxDeclarationNumber();
                                 $afsID = $td->getAfsID();
                                 $afs = new AFS();
                                 $afs->selectRecord($afsID);
                                 $od = new OD();
                                 $od->selectRecord($afs->getOdID());
                                 $addr = $od->getLocationAddress();
                                 if (count($addr)) {
                                     $location = strtoupper($addr->getNumber() . " " . substr($addr->getBarangay(), 0, 4) . " " . substr($addr->getMunicipalityCity(), 0, 3) . " " . substr($addr->getProvince(), 0, 3));
                                     $munCityID = $addr->getMunicipalityCityID();
                                 }
                                 if (count($afs->landArray)) {
                                     foreach ($afs->landArray as $afsKey => $afsValue) {
                                         $actualUse = $afsValue->getActualUse();
                                         $landActualUses = new LandActualUses();
                                         $landActualUses->selectRecord($actualUse);
                                         $Code = $landActualUses->getCode();
                                     }
                                 }
                                 if (count($afs->improvementsBuildingsArray)) {
                                     foreach ($afs->improvementsBuildingsArray as $afsKey => $afsValue) {
                                         $actualUse = $afsValue->getActualUse();
                                         $improvementsBuildingsActualUses = new improvementsBuildingsActualUses();
                                         $improvementsBuildingsActualUses->selectRecord($actualUse);
                                         $Code = $improvementsBuildingsActualUses->getCode();
                                     }
                                 }
                                 if ($munCityID == $this->formArray['municipalityCityID']) {
                                     $this->tpl->set_var(location, $location);
                                     $this->tpl->set_var("class", $Code);
                                     $this->tpl->set_var(kind, strtoupper(substr($propertyType, 0, 4)));
                                     $this->tpl->set_var(currentTDNo, $TaxDeclarationNumber);
                                     $this->tpl->set_var(municipality, $addr->getMunicipalityCity());
                                     //$dues = new Dues();
                                     //$dues->create($td->getTdID(),"2003");
                                     //$totTaxDue += $dues->getSEF()+$dues->getBasic();
                                     $dues = new Dues($tvalue->getTdID(), $rptop->getTaxableYear(), $assessedValue);
                                     $paymentPeriod = $dues->getPaymentMode();
                                     $totalTaxDue = $dues->getPaidBasic($paymentPeriod) + $dues->getPaidSEF($paymentPeriod) + $dues->getPaidIdle($paymentPeriod);
                                     if ($dues->getAmnesty()) {
                                         $dues->setPctPenalty(0.0);
                                     } else {
                                         $totalTaxDue += $dues->getPenalty($paymentPeriod);
                                     }
                                     if ($dues->getIsDiscount()) {
                                         $taxDue->setDiscount($totalTaxDue);
                                         $totalTaxDue -= $dues->getDiscount();
                                     }
                                     $interest = $dues->getPctPenalty();
                                     if ($interest > 0 && $paymentPeriod != "Annual") {
                                         $paymentPeriod = "Annual";
                                     }
                                     $basic = number_format($dues->getPaidBasic(), "2", ".", "");
                                     $this->tpl->set_var(basic, $basic);
                                     $totBasic += $basic;
                                     $sef = number_format($dues->getPaidSEF(), "2", ".", "");
                                     $this->tpl->set_var(sef, $sef);
                                     $totSEF += number_format($sef, "2", ".", "");
                                     $this->tpl->set_var(total, number_format($sef + $basic, "2", ".", ""));
                                     $this->tpl->set_var(marketValue, number_format($afs->getTotalMarketValue(), 2));
                                     $totMarketValue += $afs->getTotalMarketValue();
                                     $this->tpl->set_var(assessedValue, number_format($afs->getTotalAssessedValue(), 2));
                                     $totAssessedValue += $afs->getTotalAssessedValue();
                                     $pIndexNo = $afs->getPropertyIndexNumber();
                                     if ($pIndexNo == "") {
                                         $pIndexNo = "No value specified";
                                     }
                                     $ypos = $ypos - 10;
                                     $this->tpl->set_var(ypos, $ypos);
                                     $this->tpl->set_var(pin, $pIndexNo);
                                     $this->tpl->parse("RowBlk", "ROW", true);
                                 }
                             }
                             #end foreach($value)
                         }
                         #end if coun value
                         $this->tpl->set_var(totalMarketValue, number_format($totMarketValue, 2));
                         $this->tpl->set_var(totalAssessedValue, number_format($totAssessedValue, 2));
                         $this->tpl->set_var(totalBasic, number_format($totBasic, 2));
                         $this->tpl->set_var(totalSEF, number_format($totSEF, 2));
                         $this->tpl->set_var(totalTaxDue, number_format($totalTaxDue, 2));
                     }
                 }
             }
         }
     }
     $this->setForm();
     $this->tpl->set_var("Session", $this->sess->url(""));
     /*		$this->tpl->parse("templatePage", "rptsTemplate");
     		$this->tpl->finish("templatePage");
     		$this->tpl->p("templatePage");
     */
     $this->tpl->parse("templatePage", "rptsTemplate");
     $this->tpl->finish("templatePage");
     $rptrpdf = new PDFWriter();
     $rptrpdf->setOutputXML($this->tpl->get('templatePage'), "string");
     $rptrpdf->writePDF("viewSOA.pdf");
 }
Beispiel #6
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;
 }