|
|
@@ -1370,6 +1370,8 @@ function frm_kontakt_add_id_koresp(frm){
|
|
|
$cols['A_STATUS'] = array('label'=>'status', 'title'=>'A_STATUS');
|
|
|
$cols['A_STATUS_UPDATE_DATE'] = array('label'=>'data aktualizacji', 'title'=>'A_STATUS_UPDATE_DATE');
|
|
|
$cols['PAY_SALDO'] = array('label'=>'saldo', 'title'=>'PAY_SALDO');
|
|
|
+ $cols['PAY_SALDO_30_DNI'] = array('label'=>'saldo 30 dni', 'title'=>'Saldo bez faktur z terminem płatności < 30 dni');
|
|
|
+ $cols['PAY_SALDO_ISSUED'] = array('label'=>'saldo wystawione', 'title'=>'Saldo wg daty wystawienia faktur');
|
|
|
$cols['PAY_FVAT'] = array('label'=>'zaległe faktury', 'title'=>'PAY_FVAT');
|
|
|
$cols['PAY_DATE_FIRST_FVAT'] = array('label'=>'data wymagalności<br> pierwszej faktury', 'title'=>'PAY_DATE_FIRST_FVAT');
|
|
|
$cols['PAY_DATE'] = array('label'=>'data wymagalności<br> ostatniej faktury', 'title'=>'PAY_DATE');
|
|
|
@@ -1475,6 +1477,26 @@ function frm_kontakt_add_id_koresp(frm){
|
|
|
}
|
|
|
echo '</nobr>';
|
|
|
echo'</td>';
|
|
|
+ echo'<td>';
|
|
|
+ echo '<nobr>';
|
|
|
+ if ($user->PAY_SALDO_30_DNI != 0) {
|
|
|
+ $col = ($user->PAY_SALDO_30_DNI > 0)? '#333' : '#f00';
|
|
|
+ echo '<span style="color:' . $col . '">' . "{$user->PAY_SALDO_30_DNI} zł" . '</span>';
|
|
|
+ } else {
|
|
|
+ echo'<span style="color:#666">' . "0" . '</span>';
|
|
|
+ }
|
|
|
+ echo '</nobr>';
|
|
|
+ echo'</td>';
|
|
|
+ echo'<td>';
|
|
|
+ echo '<nobr>';
|
|
|
+ if ($user->PAY_SALDO_ISSUED != 0) {
|
|
|
+ $col = ($user->PAY_SALDO_ISSUED > 0)? '#333' : '#f00';
|
|
|
+ echo '<span style="color:' . $col . '">' . "{$user->PAY_SALDO_ISSUED} zł" . '</span>';
|
|
|
+ } else {
|
|
|
+ echo'<span style="color:#666">' . "0" . '</span>';
|
|
|
+ }
|
|
|
+ echo '</nobr>';
|
|
|
+ echo'</td>';
|
|
|
echo'<td>';
|
|
|
if ($user->PAY_FVAT > 0) {
|
|
|
$st = ($user->PAY_FVAT > 1)? ' style="color:#f00"' : '';
|
|
|
@@ -1546,6 +1568,8 @@ function frm_kontakt_add_id_koresp(frm){
|
|
|
$cols['A_STATUS'] = array('label'=>'status', 'title'=>'A_STATUS');
|
|
|
$cols['A_STATUS_UPDATE_DATE'] = array('label'=>'data aktualizacji', 'title'=>'A_STATUS_UPDATE_DATE');
|
|
|
$cols['PAY_SALDO'] = array('label'=>'saldo', 'title'=>'PAY_SALDO');
|
|
|
+ $cols['PAY_SALDO_30_DNI'] = array('label'=>'saldo 30 dni', 'title'=>'Saldo bez faktur z terminem płatności < 30 dni');
|
|
|
+ $cols['PAY_SALDO_ISSUED'] = array('label'=>'saldo wystawione', 'title'=>'Saldo wg daty wystawienia faktur');
|
|
|
$cols['PAY_FVAT'] = array('label'=>'zaległe faktury', 'title'=>'PAY_FVAT');
|
|
|
$cols['PAY_DATE_FIRST_FVAT'] = array('label'=>'data wymagalności pierwszej faktury', 'title'=>'PAY_DATE_FIRST_FVAT');
|
|
|
$cols['PAY_DATE'] = array('label'=>'data wymagalności ostatniej faktury', 'title'=>'PAY_DATE');
|
|
|
@@ -1579,6 +1603,8 @@ function frm_kontakt_add_id_koresp(frm){
|
|
|
$out_cols[] = '"' . $user->A_STATUS . '"';
|
|
|
$out_cols[] = '"' . $user->A_STATUS_UPDATE_DATE . '"';
|
|
|
$out_cols[] = '"' . (($user->PAY_SALDO != 0)? "{$user->PAY_SALDO} zł" : "0") . '"';
|
|
|
+ $out_cols[] = '"' . (($user->PAY_SALDO_30_DNI != 0)? "{$user->PAY_SALDO_30_DNI} zł" : "0") . '"';
|
|
|
+ $out_cols[] = '"' . (($user->PAY_SALDO_ISSUED != 0)? "{$user->PAY_SALDO_ISSUED} zł" : "0") . '"';
|
|
|
$out_cols[] = '"' . $user->PAY_FVAT . '"';
|
|
|
$out_cols[] = '"' . (($user->PAY_DATE_FIRST_FVAT != '0000-00-00')? $user->PAY_DATE_FIRST_FVAT : '') . '"';
|
|
|
$out_cols[] = '"' . (($user->PAY_DATE != '0000-00-00')? $user->PAY_DATE : '') . '"';
|
|
|
@@ -3183,6 +3209,54 @@ class BillingDocs {
|
|
|
return round($this->_saldo, 2);
|
|
|
}
|
|
|
|
|
|
+ public function get_saldo_30_dni() {
|
|
|
+ // `PAY_SALDO_30_DNI` bez fv z terminem płatności < 30 dni
|
|
|
+ $saldo_30_dni = 0;
|
|
|
+ $dateMinus30dni = date('Y-m-d', mktime(0,0,0, date('n'), date('j') - 30, date('Y')));
|
|
|
+ foreach ($this->_docs as $kData => $vDocs) {
|
|
|
+ foreach ($vDocs as $vDoc) {
|
|
|
+ if ($vDoc instanceof BillingDoc) {
|
|
|
+ if ('FVAT' == $vDoc->get_type()) {// TODO: if FVAT then use only date PAYMENT_TERM >= 30 dni
|
|
|
+ if ($vDoc->get('PAYMENT_TERM') > $dateMinus30dni) {
|
|
|
+ echo'<pre>POMIŃ! $vDoc pay_term('.$vDoc->get('PAYMENT_TERM').') ';print_r($vDoc);echo'</pre>';
|
|
|
+ } else {
|
|
|
+ echo'<pre>$vDoc pay_term('.$vDoc->get('PAYMENT_TERM').'/'.($vDoc->get('PAYMENT_TERM') > $dateMinus30dni).') ';print_r($vDoc);echo'</pre>';
|
|
|
+ $saldo_30_dni += $vDoc->get_saldo();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ $saldo_30_dni += $vDoc->get_saldo();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $saldo_30_dni = round($saldo_30_dni, 2);
|
|
|
+ if ($saldo_30_dni === 0.0) {// float point bug round('-6.821210263297E-13', 2) = -0
|
|
|
+ $saldo_30_dni = 0.0;
|
|
|
+ }
|
|
|
+ return $saldo_30_dni;
|
|
|
+ }
|
|
|
+
|
|
|
+ public function get_saldo_issued() {
|
|
|
+ // `PAY_SALDO_ISSUED` fv wg daty wystawienia
|
|
|
+ $saldo_issued = 0;
|
|
|
+ foreach ($this->_docs as $kData => $vDocs) {
|
|
|
+ foreach ($vDocs as $vDoc) {
|
|
|
+ if ($vDoc instanceof BillingDoc) {
|
|
|
+ if (1) {// TODO: if FVAT then use SELL_DATE instead of PAYMENT_TERM
|
|
|
+ $saldo_issued += $vDoc->get_saldo();
|
|
|
+ } else {
|
|
|
+ $saldo_issued += $vDoc->get_saldo();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $saldo_issued = round($saldo_issued, 2);
|
|
|
+ if ($saldo_issued === 0.0) {// float point bug round('-6.821210263297E-13', 2) = -0
|
|
|
+ $saldo_issued = 0.0;
|
|
|
+ }
|
|
|
+ return $saldo_issued;
|
|
|
+ }
|
|
|
+
|
|
|
public function get_docs() {
|
|
|
return $this->_docs;
|
|
|
}
|
|
|
@@ -3482,6 +3556,8 @@ class WindykacjaStatsHelper {
|
|
|
}
|
|
|
}
|
|
|
$data_arr["PAY_SALDO"] = $saldo;
|
|
|
+ $data_arr["PAY_SALDO_30_DNI"] = $billing_docs->get_saldo_30_dni();
|
|
|
+ $data_arr["PAY_SALDO_ISSUED"] = $billing_docs->get_saldo_issued();
|
|
|
$data_arr["PAY_FVAT"] = 0;
|
|
|
$data_arr["PAY_DATE_FIRST_FVAT"] = '0000-00-00';
|
|
|
$lastFvatDoc = $billing_docs->get_last_fvat_doc();
|
|
|
@@ -3581,6 +3657,7 @@ class WindykacjaStatsHelper {
|
|
|
//$data_arr["PAY_DATE"] = '0000-00-00';// TODO: ?
|
|
|
}
|
|
|
}
|
|
|
+ if(V::get('DBG_LAST_FVAT_PAY_TERM', '', $_GET)){echo'<pre>data_arr: ';print_r($data_arr);echo'</pre>';}
|
|
|
|
|
|
$sql_arr = array();
|
|
|
foreach ($data_arr as $k => $v) {
|
|
|
@@ -4646,6 +4723,8 @@ class WindykacjaStatsModel {
|
|
|
, w.`LAST_PAY_VALUE`
|
|
|
, w.`LAST_FVAT_PAY_TERM`
|
|
|
, w.`LAST_FVAT_VALUE`
|
|
|
+ , w.`PAY_SALDO_30_DNI`
|
|
|
+ , w.`PAY_SALDO_ISSUED`
|
|
|
, w.`BAD_ADDRESS`
|
|
|
-- , (select bu.`BILLING_OWNER` from `BILLING_USERS` as bu where bu.`ID`=w.`ID_BILLING_USERS` limit 1) as BILLING_OWNER
|
|
|
-- , (select bu.`STATUS` from `BILLING_USERS` as bu where bu.`ID`=w.`ID_BILLING_USERS` limit 1) as STATUS
|