221 lines
5.4 KiB
PHP
Executable File
221 lines
5.4 KiB
PHP
Executable File
<?php
|
|
// helper functions
|
|
function getData($id, $expired) {
|
|
$db = $GLOBALS ['db'];
|
|
|
|
$saldo = false;
|
|
$settled = " t.settled!='1' AND ";
|
|
|
|
switch ($expired) {
|
|
case 0 :
|
|
$payment_date = "1=1";
|
|
break;
|
|
case 1 :
|
|
$date = new DateTime ( date ( "Y-m-d" ) );
|
|
$d = $date->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date <= '$d'";
|
|
break;
|
|
case 2 :
|
|
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
|
$d_t = $date_to->format ( 'Y-m-d' );
|
|
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
|
$date_from->modify ( '-30 days' );
|
|
$d_f = $date_from->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
|
break;
|
|
case 3 :
|
|
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
|
$date_to->modify ( '-31 days' );
|
|
$d_t = $date_to->format ( 'Y-m-d' );
|
|
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
|
$date_from->modify ( '-60 days' );
|
|
$d_f = $date_from->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
|
break;
|
|
case 4 :
|
|
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
|
$date_to->modify ( '-61 days' );
|
|
$d_t = $date_to->format ( 'Y-m-d' );
|
|
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
|
$date_from->modify ( '-90 days' );
|
|
$d_f = $date_from->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
|
break;
|
|
case 5 :
|
|
$date_to = new DateTime ( date ( "Y-m-d" ) );
|
|
$date_to->modify ( '-91 days' );
|
|
$d_t = $date_to->format ( 'Y-m-d' );
|
|
$date_from = new DateTime ( date ( "Y-m-d" ) );
|
|
$date_from->modify ( '-180 days' );
|
|
$d_f = $date_from->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date BETWEEN '$d_f' AND '$d_t'";
|
|
break;
|
|
case 6 :
|
|
$date = new DateTime ( date ( "Y-m-d" ) );
|
|
$date->modify ( '-181 days' );
|
|
$d = $date->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date < '$d'";
|
|
break;
|
|
case 7 :
|
|
$date = new DateTime ( date ( "Y-m-d" ) );
|
|
$d = $date->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date >= '$d'";
|
|
break;
|
|
case 8 :
|
|
$payment_date = " 1=1 ";
|
|
$saldo = true;
|
|
$settled = " 1=1 AND ";
|
|
break;
|
|
case 9:
|
|
$date = new DateTime ( date ( "Y-m-d" ) );
|
|
$d = $date->format ( 'Y-m-d' );
|
|
$payment_date = " payment_date <= '$d'";
|
|
$settled = " 1=1 AND ";
|
|
$saldo = true;
|
|
break;
|
|
}
|
|
|
|
|
|
//start WINIEN
|
|
$r = $db->fetchByAssoc ( $db->query ( "
|
|
SELECT
|
|
sum(
|
|
CASE WHEN t.currency_id='PLN' THEN t.value
|
|
ELSE t.value*t.currency_value
|
|
END
|
|
) AS sum
|
|
FROM ecmtransactions AS t
|
|
WHERE
|
|
t.parent_id = '$id' AND
|
|
t.deleted='0' AND
|
|
" .$settled. "
|
|
t.type='1' AND
|
|
t.register_date > '2011-12-31' AND
|
|
" . $payment_date . "
|
|
" ) );
|
|
|
|
//get part settled transactions
|
|
if (!$saldo)
|
|
$s = $db->fetchByAssoc($db->query("
|
|
SELECT
|
|
sum(
|
|
CASE WHEN t.currency_id='PLN' THEN rel.value
|
|
ELSE rel.value*t.currency_value
|
|
END
|
|
) AS settled, t.id
|
|
FROM ecmtransactions_rel AS rel
|
|
INNER JOIN ecmtransactions AS t
|
|
ON rel.ecmtransaction_b_id = t.id
|
|
WHERE
|
|
t.parent_id = '$id' AND
|
|
t.deleted='0' AND
|
|
t.type='1' AND
|
|
t.register_date > '2011-12-31' AND
|
|
" .$payment_date. "
|
|
"));
|
|
|
|
|
|
if (! is_numeric ( $r ['sum'] ))
|
|
$r ['sum'] = 0;
|
|
|
|
if (! is_numeric ( $s ['settled'] ))
|
|
$s ['settled'] = 0;
|
|
|
|
if (floatval($s['settled']) > 0)
|
|
$r['sum'] = floatval($r['sum']) - floatval($s['settled']);
|
|
|
|
$sum = $r['sum'];
|
|
//END WINIEN
|
|
|
|
$r['sum'] = 0;
|
|
if ($saldo) {
|
|
$r = $db->fetchByAssoc ( $db->query ( "
|
|
SELECT
|
|
sum(
|
|
CASE WHEN t.currency_id='PLN' THEN t.value
|
|
ELSE t.value*t.currency_value
|
|
END
|
|
) AS sum
|
|
FROM ecmtransactions AS t
|
|
WHERE
|
|
t.parent_id = '$id' AND
|
|
t.deleted='0' AND
|
|
t.type='0' AND
|
|
t.register_date > '2011-12-31' AND
|
|
" . $payment_date . "
|
|
" ) );
|
|
}
|
|
//END MA
|
|
return $sum - $r ['sum'];
|
|
}
|
|
// sort comparing functions
|
|
function cmpUnsettled($a, $b) {
|
|
if ($a ['unsettled'] == $b ['unsettled']) {
|
|
return 0;
|
|
}
|
|
return ($a ['unsettled'] < $b ['unsettled']) ? - 1 : 1;
|
|
}
|
|
function cmpUnsettledDesc($a, $b) {
|
|
if ($a ['unsettled'] == $b ['unsettled']) {
|
|
return 0;
|
|
}
|
|
return ($a ['unsettled'] < $b ['unsettled']) ? 1 : - 1;
|
|
}
|
|
function cmpNotOverdue($a, $b) {
|
|
if ($a ['not_overdue'] == $b ['not_overdue']) {
|
|
return 0;
|
|
}
|
|
return ($a ['not_overdue'] < $b ['not_overdue']) ? - 1 : 1;
|
|
}
|
|
function cmpNotOverdueDesc($a, $b) {
|
|
if ($a ['not_overdue'] == $b ['not_overdue']) {
|
|
return 0;
|
|
}
|
|
return ($a ['not_overdue'] < $b ['not_overdue']) ? 1 : - 1;
|
|
}
|
|
function cmpOverdue($a, $b) {
|
|
if ($a ['overdue'] == $b ['overdue']) {
|
|
return 0;
|
|
}
|
|
return ($a ['overdue'] < $b ['overdue']) ? - 1 : 1;
|
|
}
|
|
function cmpOverdueDesc($a, $b) {
|
|
if ($a ['overdue'] == $b ['overdue']) {
|
|
return 0;
|
|
}
|
|
return ($a ['overdue'] < $b ['overdue']) ? 1 : - 1;
|
|
}
|
|
function cmpAccount($a, $b) {
|
|
return strnatcmp ( $a ['name'], $b ['name'] );
|
|
}
|
|
function cmpAccountDesc($a, $b) {
|
|
return - 1 * strnatcmp ( $a ['name'], $b ['name'] );
|
|
}
|
|
|
|
function cmpSaldo($a, $b) {
|
|
if ($a ['saldo'] == $b ['saldo']) {
|
|
return 0;
|
|
}
|
|
return ($a ['saldo'] < $b ['saldo']) ? - 1 : 1;
|
|
}
|
|
|
|
function cmpSaldoDesc($a, $b) {
|
|
if ($a ['saldo'] == $b ['saldo']) {
|
|
return 0;
|
|
}
|
|
return ($a ['saldo'] < $b ['saldo']) ? 1 : -1;
|
|
}
|
|
|
|
function cmpTodaySaldo($a, $b) {
|
|
if ($a ['today_saldo'] == $b ['today_saldo']) {
|
|
return 0;
|
|
}
|
|
return ($a ['today_saldo'] < $b ['today_saldo']) ? - 1 : 1;
|
|
}
|
|
|
|
function cmpTodaySaldoDesc($a, $b) {
|
|
if ($a ['today_saldo'] == $b ['today_saldo']) {
|
|
return 0;
|
|
}
|
|
return ($a ['today_saldo'] < $b ['today_saldo']) ? 1 : -1;
|
|
}?>
|