Compare commits

...

2 Commits

Author SHA1 Message Date
abijah
1b790334fd Releasing v0.2.4 to fix problem with zero dollar SURPLUS items
git-svn-id: file:///svn-source/pmgr/tags/v0.2.4@983 97e9348a-65ac-dc4b-aefc-98561f571b83
2010-04-02 13:21:09 +00:00
abijah
2b2ebc55c0 Fixed bug caused by floating point math. Sometimes, SURPLUS entries were being left with zero amounts.
git-svn-id: file:///svn-source/pmgr/branches/v0.2_work@981 97e9348a-65ac-dc4b-aefc-98561f571b83
2010-04-02 13:04:02 +00:00

View File

@@ -294,7 +294,7 @@ class StatementEntry extends AppModel {
}
return $this->prReturn(array('entries' => $resultset,
'summary' => $this->stats(null, $query)));
'summary' => $this->stats(null, $query)));
}
@@ -483,14 +483,14 @@ class StatementEntry extends AppModel {
// Set the disbursement amount to the maximum amount
// possible without exceeding the charge or credit balance
$disbursement_amount = min($charge['balance'], $credit['balance']);
$disbursement_amount = round(min($charge['balance'], $credit['balance']), 2);
if (!isset($credit['applied']))
$credit['applied'] = 0;
$credit['applied'] += $disbursement_amount;
$credit['balance'] -= $disbursement_amount;
$credit['applied'] = round($credit['applied'] + $disbursement_amount, 2);
$credit['balance'] = round($credit['balance'] - $disbursement_amount, 2);
$this->pr(20, compact('credit'),
$this->pr(20, compact('credit', 'disbursement_amount'),
($credit['balance'] > 0 ? 'Utilized' : 'Exhausted') .
(empty($credit['receipt']) ? ' Credit' : ' Receipt'));
@@ -555,12 +555,12 @@ class StatementEntry extends AppModel {
}
// Adjust the charge balance to reflect the new disbursement
$charge['balance'] -= $disbursement_amount;
$charge['balance'] = round($charge['balance'] - $disbursement_amount, 2);
$this->pr(20, compact('charge', 'disbursement_amount'),
($charge['balance'] > 0 ? 'Unfinished' : 'Fully Paid') . ' Charge');
if ($charge['balance'] < 0)
die("HOW DID WE GET A NEGATIVE CHARGE AMOUNT?");
if ($charge['balance'] <= 0)
$this->pr(20, 'Fully Paid Charge');
}
// Break the $credit reference to avoid future problems
unset($credit);