Files
crm.twinpol.com/modules/EcmPaymentStates/javascript/summary_ajax.php
2025-05-12 15:44:39 +00:00

127 lines
3.9 KiB
PHP
Executable File

<?php
if (!$_REQUEST['job']) return -1;
switch ($_REQUEST['job']) {
case 'getDetails': getDetails($_REQUEST['id']); break;
}
function getDetails($id) {
//create & execute smarty
$ss = new Sugar_Smarty();
$ss->assign("ID", $id);
$ss->assign("D2", getData($id,2));
$ss->assign("D3", getData($id,3));
$ss->assign("D4", getData($id,4));
$ss->assign("D5", getData($id,5));
$ss->assign("D6", getData($id,6));
$ss->assign("D8", getData($id,8));
$ss->assign("D9", getData($id,9));
$ss->assign("D10", getData($id,10));
echo $ss->display('modules/EcmPaymentStates/tpls/summaryDetail.tpl');
return true;
}
function getData($id, $expired) {
$db = $GLOBALS ['db'];
switch ($expired) {
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 8 :
$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_t' AND '$d_f'";
break;
case 9 :
$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_t' AND '$d_f'";
break;
case 10 :
$date = new DateTime ( date ( "Y-m-d" ) );
$date->modify ( '+61 days');
$d = $date->format ( 'Y-m-d' );
$payment_date = " payment_date >= '$d'";
break;
}
$res = $db->query ( "
SELECT
id, name, value, currency_id
FROM ecmtransactions
WHERE
record_type='EcmInvoiceOuts' AND
parent_id = '$id' AND
deleted='0' AND
(settled!='1' OR settled IS NULL) AND
register_date > '2011-12-31' AND
" . $payment_date . "
ORDER BY value DESC
" );
$return = array();
while ($r = $db->fetchByAssoc($res)) {
//search settled
$s = $db->fetchByAssoc($db->query("SELECT sum(value) as settled FROM ecmtransactions_rel WHERE ecmtransaction_a_id='".$r['id']."' OR ecmtransaction_b_id='".$r['id']."'"));
$r['value'] = format_number($r['value']);
if (!is_numeric($s['settled'])) $s['settled'] = 0;
$r['settled'] = format_number($s['settled']);
if ($r['currency_id']!='PLN' || $r['currency_id']=='' || !$r['currency_id']) {
$c = new Currency;
$c->retrieve($r['currency_id']);
$r['value'].='&nbsp;('.$c->iso4217.')';
}
$return[] = $r;
}
return $return;
}