/modules/bms/include/aritems.php
PHP | 268 lines | 160 code | 67 blank | 41 comment | 22 complexity | 378c3e2375267e858a060e4e38d2cb41 MD5 | raw file
- <?php
- /*
- $Rev: 285 $ | $LastChangedBy: brieb $
- $LastChangedDate: 2007-08-27 14:05:27 -0600 (Mon, 27 Aug 2007) $
- +-------------------------------------------------------------------------+
- | Copyright (c) 2004 - 2010, Kreotek LLC |
- | All rights reserved. |
- +-------------------------------------------------------------------------+
- | |
- | Redistribution and use in source and binary forms, with or without |
- | modification, are permitted provided that the following conditions are |
- | met: |
- | |
- | - Redistributions of source code must retain the above copyright |
- | notice, this list of conditions and the following disclaimer. |
- | |
- | - Redistributions in binary form must reproduce the above copyright |
- | notice, this list of conditions and the following disclaimer in the |
- | documentation and/or other materials provided with the distribution. |
- | |
- | - Neither the name of Kreotek LLC nor the names of its contributore may |
- | be used to endorse or promote products derived from this software |
- | without specific prior written permission. |
- | |
- | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
- | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
- | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A |
- | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
- | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
- | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
- | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
- | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
- | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- | |
- +-------------------------------------------------------------------------+
- */
- if(class_exists("phpbmsTable")){
- class aritems extends phpbmsTable{
-
- function getRecord($id, $useUuid = false){
-
- $therecord = parent::getRecord($id, $useUuid);
-
- /**
- * If type is credit, get the receipt id
- * else get the invoice id
- */
- if($therecord["type"] == "credit")
- $therecord["editrelatedid"] = getId($this->db, "tbld:43678406-be25-909b-c715-7e2afc7db601", $therecord["relatedid"]);
- else
- $therecord["editrelatedid"] = getId($this->db, "tbld:62fe599d-c18f-3674-9e54-b62c2d6b1883", $therecord["relatedid"]);
-
- return $therecord;
-
- }//end function --getRecord--
-
- }//end class
- }//end if
- class relatedClient{
- var $clientid = "";
- function relatedClient($db, $clientid){
- $this->db = $db;
- $this->clientid = $clientid;
- }//end method
- function getClientInfo(){
- $querystatement = "
- SELECT
- `id`,
- `firstname`,
- `lastname`,
- `company`
- FROM
- `clients`
- WHERE
- `uuid`='".$this->clientid."'
- ";
- $queryresult = $this->db->query($querystatement);
- $therecord = $this->db->fetchArray($queryresult);
- $thename = "";
- if($therecord["lastname"]){
- $thename = $therecord["lastname"];
- if($therecord["firstname"])
- $thename .= ", ".$therecord["firstname"];
- if($therecord["company"])
- $thename .= " (".$therecord["company"].")";
- } else
- $thename = $therecord["company"];
- $thereturn["name"] = $thename;
- $thereturn["id"] = $therecord["id"];
- return $thereturn;
- }//end method
- }//end class
- class aritemPayments{
- function aritemPayments($db, $aritem){
- $this->db = $db;
- $this->aritem = $aritem;
- $this->_get();
- }//end method
- function _get(){
- $querystatement = "
- SELECT
- receiptitems.applied,
- receiptitems.discount,
- receiptitems.taxadjustment,
- receipts.id,
- receipts.receiptdate,
- receipts.posted,
- paymentmethods.name,
- receipts.status
- FROM
- (receiptitems INNER JOIN receipts ON receiptitems.receiptid = receipts.uuid)
- LEFT JOIN paymentmethods ON receipts.paymentmethodid = paymentmethods.uuid
- WHERE
- receiptitems.aritemid = '".mysql_real_escape_string($this->aritem["uuid"])."'
- ";
- if($this->aritem["type"] == "credit")
- $querystatement.="
- AND receipts.uuid != '".mysql_real_escape_string($this->aritem["relatedid"])."'";
- $querystatement.=
- "
- ORDER BY
- receipts.posted,
- receipts.receiptdate,
- receipts.id";
- $this->queryresult = $this->db->query($querystatement);
- $querystatement = "
- SELECT
- SUM(receiptitems.applied) AS applied,
- SUM(receiptitems.discount) AS discount,
- SUM(receiptitems.taxadjustment) AS taxadjustment
- FROM
- receiptitems
- WHERE
- receiptitems.aritemid = '".mysql_real_escape_string($this->aritem["uuid"])."'
- ";
- $totalresult = $this->db->query($querystatement);
- $this->totals = $this->db->fetchArray($totalresult);
- if($this->aritem["type"] == "credit")
- $this->totals["applied"] = $this->totals["applied"] + $this->aritem["amount"];
- }//end method
- function show(){
- ?><table border="0" cellpadding="0" cellspacing="0" class="querytable" id="paymentTable">
- <thead>
- <tr>
- <th align="left">status</th>
- <th align="left" nowrap="nowrap">receipt id</th>
- <th align="left">date</th>
- <th align="right" width="100%">payment</th>
- <th align="right">applied</th>
- <th align="right">discount</th>
- <th align="right" nowrap="nowrap">tax adj.</th>
- </tr>
- </thead>
- <tfoot>
- <tr class="queryfooter">
- <td colspan="4" align="right">total: <strong><?php echo formatVariable($this->totals["applied"] + $this->totals["discount"] + $this->totals["taxadjustment"], "currency")?></strong> </td>
- <td align="right"><?php echo formatVariable($this->totals["applied"],"currency")?></td>
- <td align="right"><?php echo formatVariable($this->totals["discount"],"currency")?></td>
- <td align="right"><?php echo formatVariable($this->totals["taxadjustment"],"currency")?></td>
- </tr>
- </tfoot>
- <tbody>
- <?php
- if($this->db->numRows($this->queryresult)){
- $postedGroup = "";
- $row = 1;
- while($therecord = $this->db->fetchArray($this->queryresult)) {
- $row = ($row ==1)?2:1;
- if($postedGroup != $therecord["posted"]){
- $postedGroup = $therecord["posted"];
- $title = ($therecord["posted"] == 1)? "Posted Payments" : "Pending Payments (non-posted)";
- ?><tr class="queryGroup">
- <td colspan="7"><?php echo $title?></td>
- </tr><?php
- }//end if
- if(!$therecord["name"])
- $therecord["name"] = "other";
- if($therecord["id"] == $this->aritem["relatedid"] && $this->aritem["type"] == "credit")
- $therecord["applied"] = -1 * $therecord["applied"];
- ?><tr class="row<?php echo $row?>">
- <td><?php echo $therecord["status"]?></td>
- <td><?php echo $therecord["id"]?></td>
- <td><?php echo formatFromSQLDate($therecord["receiptdate"])?></td>
- <td align="right"><?php echo $therecord["name"]?></td>
- <td align="right"><?php echo formatVariable($therecord["applied"],"currency")?></td>
- <td align="right"><?php echo formatVariable($therecord["discount"],"currency")?></td>
- <td align="right"><?php echo formatVariable($therecord["taxadjustment"],"currency")?></td>
- </tr><?php
- }//end while
- } else {
- ?><tr class="norecords"><td colspan="7" >No payments recorded</td></tr><?php
- }//endif
- ?>
- </tbody>
- </table><?php
- }//end method
- }//end class
- if(class_exists("searchFunctions")){
- class aritemsSearchFunctions extends searchFunctions{
- function run_aging(){
- goURL("modules/bms/aritems_aging.php");
- }//end method
- }//end class
- }//end if
- ?>