Sfoglia il codice sorgente

fixed generate umowy for OPCJA_TEL and OPCJA_TV

Piotr Labudda 8 anni fa
parent
commit
3cde044a14
2 ha cambiato i file con 47 aggiunte e 57 eliminazioni
  1. 46 56
      SE/odt2xhtml/1379.umowa.php
  2. 1 1
      SE/superedit-POKAZ_OFERTY_AKTUALNE_FUNC.php

+ 46 - 56
SE/odt2xhtml/1379.umowa.php

@@ -36,9 +36,7 @@ Lib::loadClass('DB');
 Lib::loadClass('S');
 
 
-if (!User::logged()) {
-	die("Require login!");
-}
+if (!User::logged()) die("Require login!");
 
 //if (User::get('ADM_ADMIN_LEVEL') != 0) {
 //	die("Access denied!");
@@ -64,6 +62,22 @@ foreach ($allowed_options as $v_option) {
 	$args['id_options'][$v_option] = V::get('id_options_' . $v_option . '', 0, $_GET, 'array');
 }
 
+{ // TODO: FIX for args id_options_OPCJA_TEL[]=2887
+	require_once APP_PATH_ROOT . DS . 'superedit-POKAZ_OFERTY_AKTUALNE_FUNC.php';
+	$pokazOferty = new PokazOfertyController();
+	$pokazOferty->set_params_from_request();
+	DBG::log($pokazOferty->hasOptionsToServices(), 'array', "\$pokazOferty->hasOptionsToServices()");
+	if ($pokazOferty->hasOptionsToServices()) {
+		if (!$pokazOferty->convertOptionsToSrv()) {
+			throw new Exception("Nie udało się utworzyć nowej grupy na podstawie wybranych parametrów.");
+		}
+	}
+	DBG::log($pokazOferty, 'array', "\$pokazOferty");
+	$group = $pokazOferty->get_group();
+	DBG::log($group, 'array', "\$group (".get_class($group).") ID(".$group->get('ID').")");
+	$args['id_group'] = $group->get('ID');
+}
+
 $user = null;
 $group_data = null;
 $db = DB::getDB();
@@ -75,7 +89,8 @@ if ($args['id_user'] > 0) {
 	 * <span id="cell-KLIENT_P_PHONE"></span>
 	 * <span id="cell-KLIENT_user_mail_contact"></span>
 	 */
-	$sql = "select bua.`id_users`
+	$user = DB::getPDO()->fetchFirst("
+		select bua.`id_users`
 			, bua.`id_users` as ID_BILLING_USERS
 			, bua.`is_firma`
 			, bua.`P_NAME`
@@ -94,14 +109,11 @@ if ($args['id_user'] > 0) {
 		from `BILLING_USERS_ADD` as bua
 			left join `BILLING_USERS` as bu on(bu.`ID`=bua.`id_users`)
 		where bua.`id_users`='{$args['id_user']}'
-	";
-	$res = $db->query($sql);
-	if ($r = $db->fetch($res)) {
-		$user = $r;
-	}
+	");
+	$user = ($user) ? (object)$user : null;
 }
 if ($args['id_group'] > 0) {
-	$sql = "
+	$group_data = DB::getPDO()->fetchFirst("
 SELECT
  date_format(now(),'%Y-%m-%d') as `779` ,
  t0.`ID` as `0_1380` ,
@@ -124,7 +136,7 @@ SELECT
  t0.`ID_TEL`  as `0_1747_ID_TEL` ,
  t0.`M_REWIR` as `0_1627` ,
 
--- internet: 
+-- internet:
  t1.ID as `1_1385` ,
  t1.P_SERVICE as `1_449` ,
  t1.P_SERVICE_NAME as `1_450` ,
@@ -136,8 +148,8 @@ SELECT
 -- (t1.P_NORMAL_PRICE-t1.P_PROMO_MONTH_PRICE)*t0.P_DEALTERM_MONTHS+(t1.P_INSTALL_QUOTE_NORMAL-t1.P_INSTALL_QUOTE) as `t1_1580`,
 -- (t1.P_NORMAL_PRICE-t1.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t1.P_INSTALL_QUOTE_NORMAL-t1.P_INSTALL_QUOTE) as `t1_1580`,
  t1.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t1.P_DEAL_PROMO_MONTHS*t1.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t1.P_DEAL_PROMO_MONTHS)*t1.P_CONTRACT_PRICE + (t1.P_INSTALL_QUOTE_NORMAL-t1.P_INSTALL_QUOTE) as `t1_1580`,
- t1.P_S_PARAM1 as `[1_452]` , t1.P_S_PARAM2 as `[1_453]` , t1.P_S_LIMIT as `[1_454]`, t1.P_S_MAILBOX_SIZE as `[1_462]`, t1.P_S_WWW_SIZE as `[1_463]` , 
- if(t1.ID,t0.P_PROMOTION_NAME,'') as `1_451` , 
+ t1.P_S_PARAM1 as `[1_452]` , t1.P_S_PARAM2 as `[1_453]` , t1.P_S_LIMIT as `[1_454]`, t1.P_S_MAILBOX_SIZE as `[1_462]`, t1.P_S_WWW_SIZE as `[1_463]` ,
+ if(t1.ID,t0.P_PROMOTION_NAME,'') as `1_451` ,
 	if(t1.ID>0,'X','') as `1_499_JEST` ,
 
 -- telewizja analogowa
@@ -153,7 +165,7 @@ SELECT
 -- (t2.P_NORMAL_PRICE-t2.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t2.P_INSTALL_QUOTE_NORMAL-t2.P_INSTALL_QUOTE) as `t2_1580`,
  t2.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t2.P_DEAL_PROMO_MONTHS*t2.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t2.P_DEAL_PROMO_MONTHS)*t2.P_CONTRACT_PRICE + (t2.P_INSTALL_QUOTE_NORMAL-t2.P_INSTALL_QUOTE) as `t2_1580`,
  if(t0.ID='1','',if(t2.ID,'TAK','NIE')) as `2_IF` ,
- if(t2.ID,t0.P_PROMOTION_NAME,'') as `2_451` ,  
+ if(t2.ID,t0.P_PROMOTION_NAME,'') as `2_451` ,
 	if(t2.ID>0,'X','') as `2_499_JEST` ,
 -- telewizja cyfrowa
  t3.ID as `3_1385` ,
@@ -168,7 +180,7 @@ SELECT
 -- (t3.P_NORMAL_PRICE-t3.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t3.P_INSTALL_QUOTE_NORMAL-t3.P_INSTALL_QUOTE) as `t3_1580`,
  t3.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t3.P_DEAL_PROMO_MONTHS*t3.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t3.P_DEAL_PROMO_MONTHS)*t3.P_CONTRACT_PRICE + (t3.P_INSTALL_QUOTE_NORMAL-t3.P_INSTALL_QUOTE) as `t3_1580`,
  if(t0.ID='1','',if(t3.ID,'TAK','NIE')) as `3_IF` ,
- if(t3.ID,t0.P_PROMOTION_NAME,'') as `3_451` ,  
+ if(t3.ID,t0.P_PROMOTION_NAME,'') as `3_451` ,
 -- 2169 S_DEKODER_SD_OPTION
 -- 2170 S_MODUL_PCMCIA_OPTION
 -- 2171 S_DEKODER_HD_OPTION
@@ -179,7 +191,7 @@ SELECT
 	if(t2.S_DEKODER_HD_OPTION='TAK','X','') as `1_2171_TAK` ,
 	if(t2.S_DEKODER_HD_OPTION='NIE','X','') as `1_2171_NIE` ,
 
--- telewizja cyfrowa pakiety 
+-- telewizja cyfrowa pakiety
  t4.ID as `4_1385` ,
  t4.P_SERVICE as `4_449` ,
  t4.P_SERVICE_NAME as `4_450` ,
@@ -192,7 +204,7 @@ SELECT
 -- (t4.P_NORMAL_PRICE-t4.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t4.P_INSTALL_QUOTE_NORMAL-t4.P_INSTALL_QUOTE) as `t4_1580`,
  t4.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t4.P_DEAL_PROMO_MONTHS*t4.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t4.P_DEAL_PROMO_MONTHS)*t4.P_CONTRACT_PRICE + (t4.P_INSTALL_QUOTE_NORMAL-t4.P_INSTALL_QUOTE) as `t4_1580`,
  if(t0.ID='1','',if(t4.ID,'TAK','NIE')) as `4_IF` ,
- if(t4.ID,t0.P_PROMOTION_NAME,'') as `4_451` ,  
+ if(t4.ID,t0.P_PROMOTION_NAME,'') as `4_451` ,
 
 -- telefon
  t5.ID as `5_1385` ,
@@ -222,7 +234,7 @@ SELECT
  t6.P_DEAL_PROMO_MONTHS as `6_457` ,
  t6.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t6.P_DEAL_PROMO_MONTHS*t6.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t6.P_DEAL_PROMO_MONTHS)*t6.P_CONTRACT_PRICE + (t6.P_INSTALL_QUOTE_NORMAL-t6.P_INSTALL_QUOTE) as `t6_1580`,
  if(t0.ID='1','',if(t6.ID,'TAK','NIE')) as `6_IF` ,
- if(t6.ID,t0.P_PROMOTION_NAME,'') as `6_451` ,  
+ if(t6.ID,t0.P_PROMOTION_NAME,'') as `6_451` ,
 
 -- telewizja cyfrowa pakiety 3
  t7.ID as `7_1385` ,
@@ -251,22 +263,16 @@ FROM `USERS2_OFFERS_GROUPS` as t0
  left join `USERS2_OFFERS` as t3 on (t0.ID_TVC!=0 and t3.ID=t0.ID_TVC and t3.A_STATUS!='DELETED' and t3.P_SERVICE in('TVC','OPCJA_TVC')  )
  left join `USERS2_OFFERS` as t4 on (t0.ID_TVCP_1!=0 and t4.ID=t0.ID_TVCP_1 and t4.A_STATUS!='DELETED' and t4.P_SERVICE='TVCP' )
  left join `USERS2_OFFERS` as t6 on (t0.ID_TVCP_2!=0 and t6.ID=t0.ID_TVCP_2 and t6.A_STATUS!='DELETED' and t6.P_SERVICE='TVCP' )
- left join `USERS2_OFFERS` as t7 on (t0.ID_TVCP_3!=0 and t7.ID=t0.ID_TVCP_3 and t7.A_STATUS!='DELETED' and t7.P_SERVICE='TVCP' ) 
+ left join `USERS2_OFFERS` as t7 on (t0.ID_TVCP_3!=0 and t7.ID=t0.ID_TVCP_3 and t7.A_STATUS!='DELETED' and t7.P_SERVICE='TVCP' )
 
 WHERE
 --	t0.`P_SERVICE_COMPANY`='BN'
 --	AND ( t0.`A_STATUS` = 'NORMAL'  OR t0.`A_STATUS`='WAITING' )
-	t0.`ID`='" . DB::_($args['id_group']) . "'
+	t0.`ID` = :id_group
 GROUP BY t0.ID
 ORDER BY t0.ID DESC
 ;
-
-	";
-	$res = $db->query($sql);
-	if (!$res) {
-		die("Query error!");
-	}
-	$group_data = $db->fetch_assoc($res);
+	", [ ':id_group' => $args['id_group'] ]);
 	if (!$group_data || $group_data['0_1380'] != $args['id_group']) {
 		die("DB error!");
 	}
@@ -298,7 +304,7 @@ ORDER BY t0.ID DESC
 			$group_data[$v_field] = $group_data[$v_field];//iconv('latin2', 'utf-8', $group_data[$v_field]);
 		}
 	}
-	if (V::get('DBG', 0, $_GET, 'int')) {echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">group_data: ';print_r($group_data);echo'</pre>';}
+	DBG::log($group_data, 'array', "\$group_data");
 }
 
 $_print = ('1' == V::get('_print', '', $_GET));
@@ -398,11 +404,11 @@ if (!empty($args['id_options'])) {
  * <span id="cell-OPCJA_NET_1_457"></span>
  * <span id="cell-OPCJA_NET_1_460"></span>
  * <span id="cell-OPCJA_NET_1_458"></span>
- * 
+ *
  * <span id="cell-OPCJA_TEL_1_450"></span>
- * 
+ *
  * <span id="cell-OPCJA_TV_1_450"></span>
- * 
+ *
  * , '' as OPCJA_NET_1_450 -- P_SERVICE_NAME - nazwa
  * , '' as OPCJA_NET_1_1385 -- ID
  * , '' as OPCJA_NET_1_459 -- P_CONTRACT_PRICE - abonament
@@ -418,22 +424,18 @@ if (!empty($args['id_options'])) {
 		if (empty($v_options)) continue;
 		foreach ($v_options as $v_option_id) {
 			if ($v_option_id > 0) {
-				$options_to_load[$k_service] []= $v_option_id;
+				$options_to_load[$k_service][] = $v_option_id;
 			}
 		}
 	}
 
-	if (V::get('DBG', 0, $_GET, 'int')) {
-		echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">args: ';print_r($args);echo'</pre>';
-		if (!empty($options_to_load)) {
-			echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">options_to_load: ';print_r($options_to_load);echo'</pre>';
-		}
-	}
+	DBG::log($args, 'array', "\$args");
+	DBG::log($options_to_load, 'array', "\$options_to_load");
 
 	$sql_ids = array();
 	foreach ($options_to_load as $k_service => $v_options_arr) {
 		foreach ($v_options_arr as $v_offerr_id) {
-			$sql_ids []= "'" . $v_offerr_id . "'";
+			$sql_ids[] = "'{$v_offerr_id}'";
 		}
 	}
 
@@ -443,11 +445,8 @@ if (!empty($args['id_options'])) {
 			$options_to_load_counter[$k_service] = 0;
 		}
 
-		$to_convert_encoding = array();
-		$to_convert_encoding []= 'z_450';
-
-		$oferty_opcje = array();
-		$sql = "select
+		$oferty_opcje = DB::getPDO()->fetchAllByKey("
+			select
 				t.`ID` as z_1385
 				, t.`P_SERVICE` as `z_449`
 				, t.`P_SERVICE_PARENT` as `z_3280`
@@ -463,17 +462,8 @@ if (!empty($args['id_options'])) {
 				and t.`P_SERVICE`='OPCJE'
 				--	t.`P_SERVICE_COMPANY`='BN'
 				--	AND ( t.`A_STATUS` = 'NORMAL'  OR t.`A_STATUS`='WAITING' )
-		";
-		$res = DB::query($sql);
-		while ($h = DB::fetch_assoc($res)) {
-			foreach ($to_convert_encoding as $v_field) {
-				if (array_key_exists($v_field, $h)) {
-					$h[$v_field] = $h[$v_field];//iconv('latin2', 'utf-8', $h[$v_field]);
-				}
-			}
-			$oferty_opcje[ $h['z_1385'] ] = $h;
-		}
-		if (V::get('DBG', 0, $_GET, 'int')) {echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">oferty_opcje: ';print_r($oferty_opcje);echo'</pre>';}
+		", 'z_1385');
+		DBG::log($oferty_opcje, 'array', "\$oferty_opcje");
 
 		$replace_fields = array();
 		foreach ($oferty_opcje as $k_id => $h) {
@@ -496,7 +486,7 @@ if (!empty($args['id_options'])) {
 			$replace_fields[$replace_key_prefix . '460'] = $h['z_460'];
 			$replace_fields[$replace_key_prefix . '458'] = $h['z_458'];
 		}
-		if (V::get('DBG', 0, $_GET, 'int')) {echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">replace_fields: ';print_r($replace_fields);echo'</pre>';}
+		DBG::log($replace_fields, 'array', $replace_fields);
 
 		if (!empty($replace_fields)) {
 			$umowaOdt->add_data($replace_fields);

+ 1 - 1
SE/superedit-POKAZ_OFERTY_AKTUALNE_FUNC.php

@@ -54,7 +54,7 @@ class PokazOfertyRouter {
 
 		$con = new PokazOfertyController();
 		$con->set_params_from_request();
-echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;display:none">con: (F.' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($con);echo'</pre>';
+		echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;display:none">con: (F.' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($con);echo'</pre>';
 		if ($con->hasOptionsToServices()) {
 			?>
 			<div class="alert alert-warning">