Просмотр исходного кода

Merge branch 'company-biall-net'

Conflicts:
	SE/VERSION
	SE/superedit-AHMES_REKLAMACJE.php
Piotr Labudda 11 лет назад
Родитель
Сommit
3ab07b0035
1 измененных файлов с 59 добавлено и 3 удалено
  1. 59 3
      SE/superedit-POKAZ_OFERTY_AKTUALNE_FUNC.php

+ 59 - 3
SE/superedit-POKAZ_OFERTY_AKTUALNE_FUNC.php

@@ -2,7 +2,7 @@
 
 /**
  * TODO: S_TECHNOLOGY - przepisywanie do SES_USERS2_A
- * TODO: dla aneks w GPON zostawiać stary jak jest i tworzyć nowy na waitingu
+ * TODO: dla aneks w GPON zostawiać stary jak jest, nie wyłączać i tworzyć nowy na waitingu
  */
 
 error_reporting(E_ALL & ~E_NOTICE);
@@ -3226,6 +3226,20 @@ class PokazOfertyHelper {
 		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()) {
 		$deals = array();
 
@@ -3463,6 +3477,21 @@ class Services_Converter {
 			// decide what to do with old services
 			foreach ($this->_old_srv_data[$v_deal->ID_DEALS] as $k_srv_id => $v_srv) {
 				$new_offer_id = 0;
+
+				// pomin NET pod VOIP
+				if ($v_srv->NAME_LIST_SERVICES == 'USERS2') {
+					if ($v_srv->P_ID_SERVICES > 0) {
+						?>
+						<div class="container">
+							<div class="alert alert-info">
+								Usługa internet ID=<?php echo $v_srv->ID; ?> pozostanie bez zmian ponieważ ma ustawione P_ID_SERVICES.
+							</div>
+						</div>
+						<?php
+						continue;
+					}
+				}
+
 				foreach ($this->_new_srv_data as $k_offer_id => $v_offer) {
 					if (in_array($k_offer_id, $used_offer_ids) || $new_offer_id > 0) {
 						continue;
@@ -3470,8 +3499,24 @@ class Services_Converter {
 					// try if new offer match old service
 					if ($v_srv->NAME_LIST_SERVICES == 'USERS2') {
 						if ($v_offer->P_SERVICE == 'NET') {
-							$new_offer_id = $k_offer_id;
-							$used_offer_ids []= $k_offer_id;
+							if ($v_offer->S_TECHNOLOGY == $v_srv->ses_x_a->S_TECHNOLOGY) {
+								$new_offer_id = $k_offer_id;
+								$used_offer_ids []= $k_offer_id;
+							} else {
+								?>
+								<div class="container">
+									<div class="alert alert-error">
+										TODO: Oferta na internet ma S_TECHNOLOGY='<?php echo $v_offer->S_TECHNOLOGY; ?>', a aktualna usługa ma '<?php echo $v_srv->ses_x_a->S_TECHNOLOGY; ?>'
+										<?php if ($v_offer->S_TECHNOLOGY == 'GPON') : ?>
+											<br>Propozycja: utworzyć nową umowę zamiast aneksu, a stare usługi wyłączyć po instalacji nowych usług.
+										<?php else : ?>
+											<br>Stare usugi zostaną wyłączone automtycznie, ale powinny działać do czasu włączenia nowej umowy
+										<?php endif; ?>
+									</div>
+								</div>
+								<?php
+								//exit;
+							}
 						}
 					} else if ($v_srv->NAME_LIST_SERVICES == 'VOIP') {
 						if ($v_offer->P_SERVICE == 'TEL') {
@@ -7190,6 +7235,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
 	$tblOutCells['RODZAJ_DZIALANIA_HANDLOWEGO'] = (object)array('class'=>'dzialanie');
 	$tblOutCells['DEALDESC'] = 		(object)array('class'=>'opis');
 	$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['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');
@@ -7215,6 +7261,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->aneks_diff = 0;
 		$v_deal_row->aneks_loss = 0;
+		$v_deal_row->aneks_loss_abo_netto = 0;
 		$v_deal_row->zysk_total = 0;
 		$v_deal_row->check_errors = array();
 
@@ -7307,6 +7354,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'));
 								$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_abo_netto = PokazOfertyHelper::get_aneks_loss_abonament_netto($old_offers_ids, $diff_months, $old_deal_months, $loss_log);
 							}
 						}
 
@@ -7428,6 +7476,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
 			$vStat->ilosc = 0;
 			$vStat->zysk_total = 0;
 			$vStat->abonament_srednia_netto = 0;
+			$vStat->sum_abonament_srednia_netto = 0;
 		}
 
 		$vStat->ilosc += 1;
@@ -7436,6 +7485,11 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
 			$errosNoGroupIDInOldDeal[$r->ID] = $r;
 		} else {
 			$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;
@@ -7484,6 +7538,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
 					<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="Ś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>
 				<tbody>
 					<?php foreach ($statsByFoundType as $type => $vStat) : ?>
@@ -7492,6 +7547,7 @@ function POKAZ_OFERTY_AKTUALNE_FUNC__rozlicz_month($month) {
 						<td><?php echo $vStat->ilosc; ?></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->sum_abonament_srednia_netto, 2, ',', ''); ?></td>
 					</tr>
 					<?php endforeach; ?>
 				</tbody>