|
@@ -3226,6 +3226,20 @@ class PokazOfertyHelper {
|
|
|
return $loss;
|
|
return $loss;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ function get_aneks_loss_abonament_netto($offers_ids, $diff_months, $deal_month, &$loss_log) {
|
|
|
|
|
+ if (empty($offers_ids) || $diff_months <= 0) {
|
|
|
|
|
+ return 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ $loss = 0;
|
|
|
|
|
+ $offers = self::get_offers_by_id($offers_ids, array('P_DEALTERM_MONTHS'=>$deal_month));
|
|
|
|
|
+ foreach ($offers as $v_offer) {
|
|
|
|
|
+ $loss += $v_offer->srednia_netto;
|
|
|
|
|
+ }
|
|
|
|
|
+ $loss_log []= "sredni abonament miesięczny {$loss}";
|
|
|
|
|
+ $loss = $loss * $diff_months;
|
|
|
|
|
+ return $loss;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
function get_deals_by_month($month, $params = array()) {
|
|
function get_deals_by_month($month, $params = array()) {
|
|
|
$deals = array();
|
|
$deals = array();
|
|
|
|
|
|
|
@@ -7190,6 +7204,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
|
|
|
$tblOutCells['RODZAJ_DZIALANIA_HANDLOWEGO'] = (object)array('class'=>'dzialanie');
|
|
$tblOutCells['RODZAJ_DZIALANIA_HANDLOWEGO'] = (object)array('class'=>'dzialanie');
|
|
|
$tblOutCells['DEALDESC'] = (object)array('class'=>'opis');
|
|
$tblOutCells['DEALDESC'] = (object)array('class'=>'opis');
|
|
|
$tblOutCells['deal_type'] = (object)array('class'=>'deal_type', 'label'=>'Wykryty rodzaj dokumentu');
|
|
$tblOutCells['deal_type'] = (object)array('class'=>'deal_type', 'label'=>'Wykryty rodzaj dokumentu');
|
|
|
|
|
+ $tblOutCells['abonament_srednia_netto'] = (object)array('class'=>'num', 'type'=>'number', 'label'=>'Średni miesięczny abonament netto');
|
|
|
$tblOutCells['zysk'] = (object)array('class'=>'num', 'type'=>'number', 'label'=>'Średni miesięczny zysk netto');
|
|
$tblOutCells['zysk'] = (object)array('class'=>'num', 'type'=>'number', 'label'=>'Średni miesięczny zysk netto');
|
|
|
$tblOutCells['miesiecy'] = (object)array('class'=>'num', 'label'=>'Ilość miesięcy obowiązywania umowy');
|
|
$tblOutCells['miesiecy'] = (object)array('class'=>'num', 'label'=>'Ilość miesięcy obowiązywania umowy');
|
|
|
$tblOutCells['aneks_diff'] = (object)array('class'=>'num', 'label'=>'Ilość miesięcy obowiązywania poprzedniej umowy');
|
|
$tblOutCells['aneks_diff'] = (object)array('class'=>'num', 'label'=>'Ilość miesięcy obowiązywania poprzedniej umowy');
|
|
@@ -7215,6 +7230,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
|
|
|
$v_deal_row->miesiecy = PokazOfertyHelper::date_diff_months($v_deal_row->P_DEALDATE_TERM, $v_deal_row->P_DEALDATE);
|
|
$v_deal_row->miesiecy = PokazOfertyHelper::date_diff_months($v_deal_row->P_DEALDATE_TERM, $v_deal_row->P_DEALDATE);
|
|
|
$v_deal_row->aneks_diff = 0;
|
|
$v_deal_row->aneks_diff = 0;
|
|
|
$v_deal_row->aneks_loss = 0;
|
|
$v_deal_row->aneks_loss = 0;
|
|
|
|
|
+ $v_deal_row->aneks_loss_abo_netto = 0;
|
|
|
$v_deal_row->zysk_total = 0;
|
|
$v_deal_row->zysk_total = 0;
|
|
|
$v_deal_row->check_errors = array();
|
|
$v_deal_row->check_errors = array();
|
|
|
|
|
|
|
@@ -7307,6 +7323,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
|
|
|
$old_deal_months = PokazOfertyHelper::date_diff_months($deal_old->get('P_DEALDATE_TERM'), $deal_old->get('P_DEALDATE'));
|
|
$old_deal_months = PokazOfertyHelper::date_diff_months($deal_old->get('P_DEALDATE_TERM'), $deal_old->get('P_DEALDATE'));
|
|
|
$loss = PokazOfertyHelper::get_aneks_loss($old_offers_ids, $diff_months, $old_deal_months, $loss_log);
|
|
$loss = PokazOfertyHelper::get_aneks_loss($old_offers_ids, $diff_months, $old_deal_months, $loss_log);
|
|
|
$v_deal_row->aneks_loss = $loss;
|
|
$v_deal_row->aneks_loss = $loss;
|
|
|
|
|
+ $v_deal_row->aneks_loss_abo_netto = PokazOfertyHelper::get_aneks_loss_abonament_netto($old_offers_ids, $diff_months, $old_deal_months, $loss_log);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -7428,6 +7445,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
|
|
|
$vStat->ilosc = 0;
|
|
$vStat->ilosc = 0;
|
|
|
$vStat->zysk_total = 0;
|
|
$vStat->zysk_total = 0;
|
|
|
$vStat->abonament_srednia_netto = 0;
|
|
$vStat->abonament_srednia_netto = 0;
|
|
|
|
|
+ $vStat->sum_abonament_srednia_netto = 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$vStat->ilosc += 1;
|
|
$vStat->ilosc += 1;
|
|
@@ -7436,6 +7454,11 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
|
|
|
$errosNoGroupIDInOldDeal[$r->ID] = $r;
|
|
$errosNoGroupIDInOldDeal[$r->ID] = $r;
|
|
|
} else {
|
|
} else {
|
|
|
$vStat->abonament_srednia_netto += $r->abonament_srednia_netto;
|
|
$vStat->abonament_srednia_netto += $r->abonament_srednia_netto;
|
|
|
|
|
+ if ('NEW_DEAL' == $r->deal_type) {
|
|
|
|
|
+ $vStat->sum_abonament_srednia_netto += $r->abonament_srednia_netto * $r->miesiecy;
|
|
|
|
|
+ } else if ('ANEKS' == $r->deal_type) {
|
|
|
|
|
+ $vStat->sum_abonament_srednia_netto += $r->abonament_srednia_netto * $r->miesiecy - $r->aneks_loss_abo_netto;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$statsByFoundType[$r->deal_type] = $vStat;
|
|
$statsByFoundType[$r->deal_type] = $vStat;
|
|
@@ -7484,6 +7507,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
|
|
|
<th>ilość</th>
|
|
<th>ilość</th>
|
|
|
<th class="tbl_deals-col_num" title="Zysk całkowity: Zysk * Mies. - Aneks Strata">Zysk</th>
|
|
<th class="tbl_deals-col_num" title="Zysk całkowity: Zysk * Mies. - Aneks Strata">Zysk</th>
|
|
|
<th class="tbl_deals-col_num" title="Średni miesięczny abonament netto">Śr. abonament</th>
|
|
<th class="tbl_deals-col_num" title="Średni miesięczny abonament netto">Śr. abonament</th>
|
|
|
|
|
+ <th class="tbl_deals-col_num" title="Abonament netto wyliczony na podstawie średniego miesięcznego abonamentu">Suma abonamonet</th>
|
|
|
</thead>
|
|
</thead>
|
|
|
<tbody>
|
|
<tbody>
|
|
|
<?php foreach ($statsByFoundType as $type => $vStat) : ?>
|
|
<?php foreach ($statsByFoundType as $type => $vStat) : ?>
|
|
@@ -7492,6 +7516,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
|
|
|
<td><?php echo $vStat->ilosc; ?></td>
|
|
<td><?php echo $vStat->ilosc; ?></td>
|
|
|
<td><?php echo number_format($vStat->zysk_total, 2, ',', ''); ?></td>
|
|
<td><?php echo number_format($vStat->zysk_total, 2, ',', ''); ?></td>
|
|
|
<td><?php echo number_format($vStat->abonament_srednia_netto, 2, ',', ''); ?></td>
|
|
<td><?php echo number_format($vStat->abonament_srednia_netto, 2, ',', ''); ?></td>
|
|
|
|
|
+ <td><?php echo number_format($vStat->sum_abonament_srednia_netto, 2, ',', ''); ?></td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<?php endforeach; ?>
|
|
<?php endforeach; ?>
|
|
|
</tbody>
|
|
</tbody>
|