' . "Database Error" . ''; return; } $sqlList = array(); $task = V::get('task', '', $_GET); if ($task == 'FVAT_POS_CHARTS') { echo "moved to RECOUNT_STATS_BILLS_FVAT_POS"; return; } else if ($task == 'FVAT_POS') { echo "moved to RECOUNT_STATS_BILLS_FVAT_POS"; return; } else { { //@2016-07-11 bindera moved from old superedit-USERS_FIELDS_PROFILE_PRE_INIT.php $_SESSION['USERS2_MARKETING_COLUMN']['RELATIVEDB']['SQL_QUERY'] //TODO zastapic to czyms Piotrowym @2016-06-11 $A_STATUS_L2_SQL="if(SV.HANGUP_STATUS=SV.A_STATUS,coalesce(SV.A_STATUS), if( ( unix_timestamp(NOW()) > unix_timestamp(SV.HANGUP_FROM) and ( SV.HANGUP_TILL='0000-00-00' or SV.HANGUP_TILL is NULL ) and ( SV.HANGUP_FROM<>'0000-00-00' and SV.HANGUP_FROM is not null )) , coalesce(SV.HANGUP_STATUS), if( ( unix_timestamp(NOW()) < unix_timestamp(SV.HANGUP_FROM) and ( SV.HANGUP_TILL='0000-00-00' or SV.HANGUP_TILL is NULL ) and ( SV.HANGUP_FROM<>'0000-00-00' and SV.HANGUP_FROM is not null )) , coalesce(SV.A_STATUS), if( ( unix_timestamp(NOW()) > unix_timestamp(SV.HANGUP_FROM) and unix_timestamp(NOW()) < unix_timestamp(SV.HANGUP_TILL) and ( SV.HANGUP_TILL<>'0000-00-00' and SV.HANGUP_TILL is not NULL ) and ( SV.HANGUP_FROM<>'0000-00-00' and SV.HANGUP_FROM is not null )) , coalesce(SV.HANGUP_STATUS), if( ( unix_timestamp(NOW()) < unix_timestamp(SV.HANGUP_FROM) and unix_timestamp(NOW())< unix_timestamp(SV.HANGUP_TILL) and ( SV.HANGUP_TILL<>'0000-00-00' and SV.HANGUP_TILL is not NULL ) and ( SV.HANGUP_FROM<>'0000-00-00' and SV.HANGUP_FROM is not null )) , coalesce(SV.A_STATUS), if( ( ( SV.HANGUP_TILL='0000-00-00' or SV.HANGUP_TILL is NULL ) and ( SV.HANGUP_FROM='0000-00-00' or SV.HANGUP_FROM is null )) , coalesce(SV.A_STATUS), if( unix_timestamp(NOW()) > unix_timestamp(SV.HANGUP_FROM) and unix_timestamp(NOW()) > unix_timestamp(SV.HANGUP_TILL) and ( ( SV.HANGUP_TILL<>'0000-00-00' and SV.HANGUP_TILL is not NULL ) and ( SV.HANGUP_FROM<>'0000-00-00' and SV.HANGUP_FROM is not null )) , coalesce(SV.A_STATUS), if( unix_timestamp(NOW()) > unix_timestamp(SV.HANGUP_FROM) and unix_timestamp(NOW()) > unix_timestamp(SV.HANGUP_TILL) and SV.HANGUP_FROM'0000-00-00' and SV.HANGUP_TILL is not NULL ) and ( SV.HANGUP_FROM<>'0000-00-00' and SV.HANGUP_FROM is not null )) , 'ERROR1', 'ERROR2' ) ) ) ) ) ) ) ) "; $sqlList[]=" drop table if exists temp_USERS2_INTERNET_STATUS; "; $sqlList[]="create table temp_USERS2_INTERNET_STATUS select SV.ID, US2.S_ADDRESS_STREET, concat_ws('', ".$A_STATUS_L2_SQL." ,'.', coalesce(US2.A_STATUS_CURRENT), ' USLUGA:INTERNET(USERS2)' , ' GNIAZDO/USL:',US2.P_SERVICE,' CENA:',coalesce(SV.ABONAMENT_VALUE), ' SPEED:',coalesce(US2.P_SERVICE_QUOTA),' DEALD:(',coalesce(DT.ID),coalesce(DT.P_DEALPREFIX), '):', coalesce(DT.P_DEALDATE),'--',coalesce(DT.P_DEALDATE_TERM), ' KONTAKT_L2:',coalesce(BUA.P_PHONE),',', coalesce(BUA.user_mail_contact),',' , coalesce(BUA.P_FAX)) as USERS2_INTERNET_STATUS , DT.P_DEALDATE_TERM as P_DEALEXPIRE , SV.NAME_LIST_SERVICES , ".$A_STATUS_L2_SQL." as A_STATUS , SV.HANGUP_STATUS from SERVICES as SV inner JOIN SES_USERS2_A as US2 on SV.ID=US2.ID_SERVICES inner JOIN BILLING_USERS_ADD as BUA on BUA.id_users=SV.ID_BILLING_USERS left join DEALS_TABLE as DT on DT.ID=SV.ID_DEALS_TABLE where SV.NAME_LIST_SERVICES='USERS2' and ( SV.P_ID_SERVICES is NULL or SV.P_ID_SERVICES=0) ;"; $sqlList[]="insert ignore into temp_USERS2_INTERNET_STATUS select SV.ID, US2.S_ADDRESS_STREET, concat_ws('',".$A_STATUS_L2_SQL.",'.', coalesce(US2.A_STATUS_CURRENT), ' USLUGA:',SV.NAME_LIST_SERVICES , ' GNIAZDO/USL:',US2.P_SERVICE,' CENA:',coalesce(SV.ABONAMENT_VALUE) ,' DEALD:(',coalesce(DT.ID),coalesce(DT.P_DEALPREFIX), '):', coalesce(DT.P_DEALDATE),'--',coalesce(DT.P_DEALDATE_TERM), ' KONTAKT_L2:',coalesce(BUA.P_PHONE),',' ,coalesce(BUA.user_mail_contact),',' , coalesce(BUA.P_FAX)) as USERS2_INTERNET_STATUS , DT.P_DEALDATE_TERM as P_DEALEXPIRE , SV.NAME_LIST_SERVICES , ".$A_STATUS_L2_SQL." as A_STATUS, SV.HANGUP_STATUS from SERVICES as SV inner JOIN SES_TV_A as US2 on SV.ID=US2.ID_SERVICES inner JOIN BILLING_USERS_ADD as BUA on BUA.id_users=SV.ID_BILLING_USERS left join DEALS_TABLE as DT on DT.ID=SV.ID_DEALS_TABLE where SV.NAME_LIST_SERVICES='TV' and ( SV.P_ID_SERVICES is NULL or SV.P_ID_SERVICES=0) ; "; $sqlList[]="insert ignore into temp_USERS2_INTERNET_STATUS select SV.ID, US22.S_ADDRESS_STREET, concat_ws('',".$A_STATUS_L2_SQL.",'.', coalesce(US2.A_STATUS_CURRENT), ' USLUGA:',SV.NAME_LIST_SERVICES ,' KLIENT_ID/P_NAME:',concat_ws('',SV.ID_BILLING_USERS,'/',BUA.P_NAME,' ',BUA.P_NAME_SECOND,';'), ' GNIAZDO/USL:',US2.S_PHONE_NUMBER,' CENA:',coalesce(SV.ABONAMENT_VALUE),' DEALD:(',coalesce(DT.ID),coalesce(DT.P_DEALPREFIX), '):', coalesce(DT.P_DEALDATE),'--',coalesce(DT.P_DEALDATE_TERM) , ' KONTAKT_L2:',coalesce(BUA.P_PHONE),',' ,coalesce(BUA.user_mail_contact),',' , coalesce(BUA.P_FAX)) as USERS2_INTERNET_STATUS , DT.P_DEALDATE_TERM as P_DEALEXPIRE , SV.NAME_LIST_SERVICES , ".$A_STATUS_L2_SQL." as A_STATUS, SV.HANGUP_STATUS from SERVICES as SV inner JOIN SES_VOIP_A as US2 on SV.ID=US2.ID_SERVICES inner JOIN BILLING_USERS_ADD as BUA on BUA.id_users=SV.ID_BILLING_USERS inner JOIN SERVICES as SV2 on SV2.P_ID_SERVICES=SV.ID inner JOIN SES_USERS2_A as US22 on US22.ID_SERVICES=SV2.ID left join DEALS_TABLE as DT on DT.ID=SV.ID_DEALS_TABLE where SV.NAME_LIST_SERVICES='VOIP' and ( SV.P_ID_SERVICES is NULL or SV.P_ID_SERVICES=0) and ".$A_STATUS_L2_SQL."!='OFF_HARD';"; $sqlList[]="ALTER TABLE temp_USERS2_INTERNET_STATUS CHANGE USERS2_INTERNET_STATUS USERS2_INTERNET_STATUS VARCHAR( 255 ) NOT NULL;"; //wyglada na dodanie rekordow z uslug do bazy marketingu $sqlList[]="insert ignore into USERS2_MARKETING (A_RECORD_CREATE_DATE,A_RECORD_CREATE_AUTHOR,S_ADDRESS_STREET,T_NETWORK_SERVER, P_PHONE,P_OTHER_INFO,A_STATUS,A_STATUS_INFO,S_ALIAS) SELECT A_RECORD_CREATE_DATE,A_RECORD_CREATE_AUTHOR,S_ADDRESS_STREET,T_NETWORK_SERVER,P_PHONE,P_OTHER_INFO,A_STATUS,A_STATUS_INFO,S_ALIAS FROM USERS2 ORDER BY A_RECORD_UPDATE_DATE DESC ;"; //wyglada na aktualizacje telefonu z innego miejsca -ale wyremowana $sqlList[]="UPDATE USERS2_MARKETING AS USERS2_MARKETING , USERS2 AS USERS2 SET USERS2_MARKETING.S_ALIAS=USERS2.S_ALIAS , USERS2_MARKETING.P_PHONE=USERS2.P_PHONE WHERE USERS2_MARKETING.S_ADDRESS_STREET=USERS2.S_ADDRESS_STREET AND USERS2.A_RECORD_UPDATE_DATE>USERS2_MARKETING.A_RECORD_UPDATE_DATE and 1=0 ;"; $sqlList[]="alter table temp_USERS2_INTERNET_STATUS add index(S_ADDRESS_STREET) , add index(USERS2_INTERNET_STATUS) ;"; ////@2012-04-24 aktualizacja ADM_COMPANY z BUILDINGS $sqlList[]="UPDATE USERS2_MARKETING AS USERS2_MARKETING , BUILDINGS AS BUILDINGS SET USERS2_MARKETING.A_ADM_COMPANY=BUILDINGS.A_ADM_COMPANY WHERE USERS2_MARKETING.T_TELBOX_BUILDING_IN=BUILDINGS.S_ADDRESS_STREET;"; } {// temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL $sqlList[] = "drop table if exists temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL"; $sqlList[] = "create table temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL select ID, S_ADDRESS_STREET, USERS2_INTERNET_STATUS, P_DEALEXPIRE from temp_USERS2_INTERNET_STATUS where ( USERS2_INTERNET_STATUS like 'NORMAL%' or USERS2_INTERNET_STATUS like 'WAITING%' ) and NAME_LIST_SERVICES like 'USERS2' group by S_ADDRESS_STREET "; $sqlList[] = "alter ignore table temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL add index(S_ADDRESS_STREET)"; } {// temp_USERS2_INTERNET_STATUS_VOIP_NORMAL $sqlList[] = "drop table if exists temp_USERS2_INTERNET_STATUS_VOIP_NORMAL"; $sqlList[] = "create table temp_USERS2_INTERNET_STATUS_VOIP_NORMAL select ID, S_ADDRESS_STREET, USERS2_INTERNET_STATUS, P_DEALEXPIRE from temp_USERS2_INTERNET_STATUS where ( USERS2_INTERNET_STATUS like 'NORMAL%' or USERS2_INTERNET_STATUS like 'WAITING%' ) and NAME_LIST_SERVICES like 'VOIP' group by S_ADDRESS_STREET "; $sqlList[] = "alter table temp_USERS2_INTERNET_STATUS_VOIP_NORMAL add index(S_ADDRESS_STREET)"; } {// temp_USERS2_INTERNET_STATUS_TV_NORMAL $sqlList[] = "drop table if exists temp_USERS2_INTERNET_STATUS_TV_NORMAL"; $sqlList[] = "create table temp_USERS2_INTERNET_STATUS_TV_NORMAL select ID, S_ADDRESS_STREET, USERS2_INTERNET_STATUS, P_DEALEXPIRE from temp_USERS2_INTERNET_STATUS where ( USERS2_INTERNET_STATUS like 'NORMAL%' or USERS2_INTERNET_STATUS like 'WAITING%' ) and NAME_LIST_SERVICES like 'TV' group by S_ADDRESS_STREET "; $sqlList[] = "alter table temp_USERS2_INTERNET_STATUS_TV_NORMAL add index(S_ADDRESS_STREET)"; } {// temp_USERS2_INTERNET_STATUS_OFF_HARD $sqlList[] = "drop table if exists temp_USERS2_INTERNET_STATUS_OFF_HARD"; $sqlList[] = "create table temp_USERS2_INTERNET_STATUS_OFF_HARD select t1.ID, t1.S_ADDRESS_STREET, t2.ID as T2_ID from USERS2_MARKETING as t1 left join temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL as t2 on(t2.S_ADDRESS_STREET=t1.S_ADDRESS_STREET) where t2.ID is NULL and t1.I_OPER='BN' "; } {// update USERS2_MARKETING fields: I_OPER, I_OPER_FIN // by NORMAL - temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL $sqlList[] = "update USERS2_MARKETING, temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL set USERS2_MARKETING.I_OPER='BN', USERS2_MARKETING.I_OPER_FIN=temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL.P_DEALEXPIRE where USERS2_MARKETING.S_ADDRESS_STREET=temp_USERS2_INTERNET_STATUS_INTERNET_NORMAL.S_ADDRESS_STREET "; // update USERS2_MARKETING fields: I_OPER by OFF_HARD $sqlList[] = "update USERS2_MARKETING, temp_USERS2_INTERNET_STATUS_OFF_HARD set USERS2_MARKETING.I_OPER='NIEWIADOMO' where USERS2_MARKETING.I_OPER='BN' and USERS2_MARKETING.S_ADDRESS_STREET=temp_USERS2_INTERNET_STATUS_OFF_HARD.S_ADDRESS_STREET "; // update USERS2_MARKETING fields: I_OPER, T_OPER_FIN by VOIP $sqlList[] = "update USERS2_MARKETING, temp_USERS2_INTERNET_STATUS_VOIP_NORMAL set USERS2_MARKETING.T_OPER='BN', USERS2_MARKETING.T_OPER_FIN=temp_USERS2_INTERNET_STATUS_VOIP_NORMAL.P_DEALEXPIRE where USERS2_MARKETING.S_ADDRESS_STREET=temp_USERS2_INTERNET_STATUS_VOIP_NORMAL.S_ADDRESS_STREET "; // update USERS2_MARKETING fields: TV_OPER, TV_OPER_FIN $sqlList[] = "update USERS2_MARKETING, temp_USERS2_INTERNET_STATUS_TV_NORMAL set USERS2_MARKETING.TV_OPER='BN', USERS2_MARKETING.TV_OPER_FIN=temp_USERS2_INTERNET_STATUS_TV_NORMAL.P_DEALEXPIRE where USERS2_MARKETING.S_ADDRESS_STREET=temp_USERS2_INTERNET_STATUS_TV_NORMAL.S_ADDRESS_STREET "; } {// USERS2_MARKETING_OVERWIEV $sqlList[] = "drop table if exists USERS2_MARKETING_OVERWIEV"; // update `USERS2_MARKETING` fields: `M_REWIR` $sqlList[] = "update USERS2_MARKETING , BUILDINGS set USERS2_MARKETING.M_REWIR=BUILDINGS.M_REWIR where USERS2_MARKETING.T_TELBOX_BUILDING_IN=BUILDINGS.S_ADDRESS_STREET and BUILDINGS.M_REWIR!='' and BUILDINGS.M_REWIR is not null "; $COLSFORSTATS = array('I','T','TV'); $COLSFORSTATS_OPERS_default = array('INNY','UPC','NSM','TP','EIA','BRAK','JARSAT'); //@2016-07-01 automatyczne przetwarzanie roznych operatorow i ich skrotow na podstawie analizy obecnie dostepnych $sql_OPERS="select distinct(I_OPER) as OPERS from USERS2_MARKETING union select distinct(T_OPER) as OPERS from USERS2_MARKETING union select distinct(TV_OPER) as OPERS from USERS2_MARKETING group by OPERS "; $res_OPERS=$db->query($sql_OPERS); while($row_OPERS=$db->fetch($res_OPERS)) { if(strlen($row_OPERS->OPERS)>0) if(!in_array(strtolower(preg_replace('/[^a-zA-Z0-9\-_]/','_',$row_OPERS->OPERS), $COLSFORSTATS_OPERS))) if(!in_array(strtoupper(preg_replace('/[^a-zA-Z0-9\-_]/','_',$row_OPERS->OPERS), $COLSFORSTATS_OPERS))) if(!in_array(preg_replace('/[^a-zA-Z0-9\-_]/','_',$row_OPERS->OPERS, $COLSFORSTATS_OPERS))) { //echo "dodaje ".strtoupper(preg_replace('/[^a-zA-Z0-9\-_]/','_',$row_OPERS->OPERS)); $COLSFORSTATS_OPERS[]=strtoupper(preg_replace('/[^a-zA-Z0-9\-_]/','_',$row_OPERS->OPERS)); } if($row_OPERS->OPERS!=preg_replace('/[^a-zA-Z0-9\-_]/','_',$row_OPERS->OPERS)) { //aktualizacja w bazie nazwy operatora aby byla bez dziwnych znakow foreach($COLSFORSTATS as $FFS) { $sql_upd="update USERS2_MARKETING set `{$FFS}_OPER`='".strtoupper(preg_replace('/[^a-zA-Z0-9\-_]/','_',$row_OPERS->OPERS))."' where `{$FFS}_OPER`='".$row_OPERS->OPERS."'"; $res = $db->query($sql_upd); if ($db->has_errors()) { $errors = true; echo'
 (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($db->get_errors());echo'
'; } } } } //upewnienie sie, ze sa domyslne nazwy firm-operatorow foreach($COLSFORSTATS_OPERS_default as $OPER ) { if(!in_array($OPER, $COLSFORSTATS_OPERS)) $COLSFORSTATS_OPERS[]=$OPER; } echo'
Wykryci operatorzy do analizy: COLSFORSTATS_OPERS (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($COLSFORSTATS_OPERS);echo'
'; //BEGIN MIESZKANIA STATSY $sql = "select 0 as ID , USERS2_MARKETING.T_TELBOX_BUILDING_IN , USERS2_MARKETING.M_REWIR , BUILDINGS.T_NETWORK_SERVER , sum(if(USERS2_MARKETING.I_OPER='BN',1,0) ) as ABO_I ,count(USERS2_MARKETING.S_ADDRESS_STREET) as MIESZKAN , round(( sum( if( ( USERS2_MARKETING.I_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.T_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.TV_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) ), 1, 0) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) * 100), 2) as BADAN_I , round(( sum( if( ( USERS2_MARKETING.I_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.T_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.TV_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.I_OPER='BN' or USERS2_MARKETING.T_OPER='BN' or USERS2_MARKETING.TV_OPER='BN' ), 1, 0) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) * 100), 2) as ANKIET_I , BUILDINGS.A_ADM_COMPANY "; foreach ($COLSFORSTATS as $FFS) { $sql .= " , round((sum(if( USERS2_MARKETING.`{$FFS}_OPER`='BN',1,0) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) * 100), 2) as `NAS_{$FFS}` "; foreach ($COLSFORSTATS_OPERS as $FFFS) { $sql .= " , round(( sum( if( USERS2_MARKETING.`{$FFS}_OPER`='{$FFFS}', 1, 0) ) / sum( if( (USERS2_MARKETING.`{$FFS}_BAD_DATE`!='0000-00-00') and (USERS2_MARKETING.`{$FFS}_OPER`!='BN'), 1, 0 ) ) * ( count(USERS2_MARKETING.S_ADDRESS_STREET) - sum(if(USERS2_MARKETING.`{$FFS}_OPER`='BN', 1, 0)) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) ) * 100, 2) as `PR_{$FFS}_{$FFFS}` "; } $sql .= " , round(( sum( if( (USERS2_MARKETING.`{$FFS}_OPER`!='BN' and USERS2_MARKETING.`{$FFS}_OPER_ZAINT` > 2 and USERS2_MARKETING.`{$FFS}_OPER_ZAINT` != 'NIEWIADOMO'), 1, 0) ) / sum( if( (USERS2_MARKETING.`{$FFS}_BAD_DATE`!='0000-00-00') and (USERS2_MARKETING.`{$FFS}_OPER`!='BN'), 1, 0) ) * ( count(USERS2_MARKETING.S_ADDRESS_STREET) - sum(if(USERS2_MARKETING.`{$FFS}_OPER`='BN',1,0)) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) ) * 100, 2) as `PR_{$FFS}_ZAINT` , round (( sum( if( (USERS2_MARKETING.`{$FFS}_OPER`!='BN' and USERS2_MARKETING.`{$FFS}_OPER`!='BRAK' and USERS2_MARKETING.`{$FFS}_OPER`!='NIEWIADOMO'), 1, 0) ) / sum( if( (USERS2_MARKETING.`{$FFS}_BAD_DATE`!='0000-00-00') and (USERS2_MARKETING.`{$FFS}_OPER`!='BN') ,1,0 ) ) * ( count(USERS2_MARKETING.S_ADDRESS_STREET) - sum(if(USERS2_MARKETING.`{$FFS}_OPER`='BN', 1, 0)) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) ) * 100, 2) as `PR_{$FFS}_KONKUR` "; } $sql .= " from USERS2_MARKETING as USERS2_MARKETING left join BUILDINGS on (BUILDINGS.S_ADDRESS_STREET=USERS2_MARKETING.T_TELBOX_BUILDING_IN) where USERS2_MARKETING.A_STATUS!='DELETED' and BUILDINGS.A_STATUS!='DELETED' group by USERS2_MARKETING.T_TELBOX_BUILDING_IN order by USERS2_MARKETING.M_REWIR DESC, USERS2_MARKETING.T_TELBOX_BUILDING_IN "; $sqlList[] = " create table `USERS2_MARKETING_OVERWIEV` \n {$sql} \n limit 1"; $sqlList[] = " truncate table `USERS2_MARKETING_OVERWIEV` "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV` ENGINE=MYISAM "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV` CHANGE `ID` `ID` INT(11) NOT NULL DEFAULT '0' "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV` ADD PRIMARY KEY(`ID`) "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV` CHANGE `ID` `ID` INT(11) NOT NULL AUTO_INCREMENT "; $sqlList[] = " insert into `USERS2_MARKETING_OVERWIEV` \n {$sql}"; } {// REWIRY STATSY - USERS2_MARKETING_OVERWIEV_REWIR $sqlList[] = "drop table if exists USERS2_MARKETING_OVERWIEV_REWIR"; $sql = " select 0 as ID , group_concat(distinct ' ', USERS2_MARKETING.T_TELBOX_BUILDING_IN) as T_TELBOX_BUILDING_IN , USERS2_MARKETING.M_REWIR , BUILDINGS.T_NETWORK_SERVER , sum(if(USERS2_MARKETING.I_OPER='BN',1,0) ) as ABO_I , count(USERS2_MARKETING.S_ADDRESS_STREET) as MIESZKAN , round((sum(if(USERS2_MARKETING.I_OPER='BN', 1, 0)) / count(USERS2_MARKETING.S_ADDRESS_STREET) * 100), 2) as NAS_I , round(( sum( if( ( USERS2_MARKETING.I_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.T_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.TV_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) ), 1, 0) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) * 100), 2) as BADAN_I , round(( sum( if( ( USERS2_MARKETING.I_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.T_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.TV_BAD_DATE> from_unixtime(unix_timestamp(now())-31536000) or USERS2_MARKETING.I_OPER='BN' or USERS2_MARKETING.T_OPER='BN' or USERS2_MARKETING.TV_OPER='BN'), 1, 0) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) * 100), 2) as ANKIET_I , BUILDINGS.A_ADM_COMPANY "; foreach ($COLSFORSTATS as $FFS) { foreach ($COLSFORSTATS_OPERS as $FFFS) { $sql .= ", round(( sum( if(USERS2_MARKETING.`{$FFS}_OPER`='{$FFFS}', 1, 0) ) / sum( if( (USERS2_MARKETING.`{$FFS}_BAD_DATE`!='0000-00-00') and (USERS2_MARKETING.`{$FFS}_OPER`!='BN'), 1, 0) ) * ( count(USERS2_MARKETING.S_ADDRESS_STREET) - sum(if(USERS2_MARKETING.`{$FFS}_OPER`='BN', 1, 0)) ) / count(USERS2_MARKETING.S_ADDRESS_STREET)) * 100, 2) as `PR_{$FFS}_{$FFFS}` "; } $sql .= ", round(( sum( if( (USERS2_MARKETING.`{$FFS}_OPER`!='BN' and USERS2_MARKETING.`{$FFS}_OPER_ZAINT` > 2 and USERS2_MARKETING.`{$FFS}_OPER_ZAINT`!='NIEWIADOMO'), 1, 0) ) / sum( if( (USERS2_MARKETING.`{$FFS}_BAD_DATE`!='0000-00-00') and (USERS2_MARKETING.`{$FFS}_OPER`!='BN'), 1, 0) ) * ( count(USERS2_MARKETING.S_ADDRESS_STREET) - sum(if(USERS2_MARKETING.`{$FFS}_OPER`='BN', 1, 0)) ) / count(USERS2_MARKETING.S_ADDRESS_STREET)) * 100, 2) as `PR_{$FFS}_ZAINT` , round(( sum( if( (USERS2_MARKETING.`{$FFS}_OPER`!='BN' and USERS2_MARKETING.`{$FFS}_OPER`!='BRAK' and USERS2_MARKETING.`{$FFS}_OPER`!='NIEWIADOMO'), 1, 0) ) / sum( if( (USERS2_MARKETING.`{$FFS}_BAD_DATE`!='0000-00-00') and (USERS2_MARKETING.`{$FFS}_OPER`!='BN'), 1, 0) ) * ( count(USERS2_MARKETING.S_ADDRESS_STREET) - sum(if(USERS2_MARKETING.`{$FFS}_OPER`='BN',1,0)) ) / count(USERS2_MARKETING.S_ADDRESS_STREET) ) * 100, 2) as PR_{$FFS}_KONKUR "; } $sql .= " from USERS2_MARKETING as USERS2_MARKETING left join BUILDINGS on BUILDINGS.S_ADDRESS_STREET=USERS2_MARKETING.T_TELBOX_BUILDING_IN where USERS2_MARKETING.A_STATUS!='DELETED' and BUILDINGS.A_STATUS!='DELETED' group by USERS2_MARKETING.M_REWIR order by USERS2_MARKETING.M_REWIR DESC ,USERS2_MARKETING.T_TELBOX_BUILDING_IN "; $sqlList[] = " create table `USERS2_MARKETING_OVERWIEV_REWIR` \n {$sql} \n limit 1"; $sqlList[] = " truncate table `USERS2_MARKETING_OVERWIEV_REWIR` "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV_REWIR` ENGINE=MYISAM "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV_REWIR` CHANGE `ID` `ID` INT(11) NOT NULL DEFAULT '0' "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV_REWIR` ADD PRIMARY KEY(`ID`) "; $sqlList[] = " ALTER TABLE `USERS2_MARKETING_OVERWIEV_REWIR` CHANGE `ID` `ID` INT(11) NOT NULL AUTO_INCREMENT "; $sqlList[] = " insert into `USERS2_MARKETING_OVERWIEV_REWIR` \n {$sql}"; } {// add fields to USERS2_MARKETING_OVERWIEV /* $sqlList[] = "ALTER TABLE `USERS2_MARKETING_OVERWIEV` CHANGE `ABO_I` `ABO_I` CHAR( 10 ) NOT NULL DEFAULT '0', CHANGE `MIESZKAN` `MIESZKAN` CHAR( 10 ) NOT NULL DEFAULT '0', CHANGE `NAS_I` `NAS_I` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `ANKIET_I` `ANKIET_I` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_UPC` `PR_I_UPC` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_INNY` `PR_I_INNY` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_NSM` `PR_I_NSM` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_TP` `PR_I_TP` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_EIA` `PR_I_EIA` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_BRAK` `PR_I_BRAK` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_KONKUR` `PR_I_KONKUR` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `BADAN_I` `BADAN_I` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_ZAINT` `PR_I_ZAINT` CHAR( 10 ) NULL DEFAULT NULL, CHANGE `PR_I_JARSAT` `PR_I_JARSAT` CHAR( 10 ) NULL DEFAULT NULL "; */ /* $sqlList[] = "ALTER TABLE `USERS2_MARKETING_OVERWIEV_REWIR` CHANGE `ABO_I` `ABO_I` CHAR( 10 ) NOT NULL DEFAULT '0', CHANGE `MIESZKAN` `MIESZKAN` CHAR( 10 ) NOT NULL DEFAULT '0', CHANGE `NAS_I` `NAS_I` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `ANKIET_I` `ANKIET_I` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_UPC` `PR_I_UPC` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_INNY` `PR_I_INNY` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_NSM` `PR_I_NSM` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_TP` `PR_I_TP` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_EIA` `PR_I_EIA` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_BRAK` `PR_I_BRAK` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_KONKUR` `PR_I_KONKUR` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `BADAN_I` `BADAN_I` CHAR( 10 ) NULL DEFAULT NULL , CHANGE `PR_I_ZAINT` `PR_I_ZAINT` CHAR( 10 ) NULL DEFAULT NULL "; */ $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_RECORD_CREATE_DATE varchar(30) ;"; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_RECORD_CREATE_AUTHOR varchar(100) not null ;"; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_RECORD_UPDATE_DATE varchar(30) ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_RECORD_UPDATE_AUTHOR varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add L_APPOITMENT_DATE varchar(30) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add L_APPOITMENT_USER varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add L_APPOITMENT_PERIOD varchar(4) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add L_APPOITMENT_INFO varchar(255) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add L_APPOITMENT_TYPE enum('', 'ARRANGED', 'TO_ARRANGE', 'CANCELLED', 'TO_CANCEL', 'RELATE', 'WAIT') ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_PROBLEM enum('', 'WARNING', 'PROBLEM', 'SERIOUS', 'UNVERIFIED') ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_PROBLEM_DESC varchar(255) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_PROBLEM_DATE varchar(30) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_STATUS enum('WAITING', 'NORMAL', 'MONITOR', 'WARNING', 'OFF_SOFT', 'OFF_HARD', 'DELETED') ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_STATUS_INFO varchar(255) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add A_CLASSIFIED varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add T_WORKPOINTS varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add T_WORKPOINTS_VALUE varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add T_WORKPOINTS_TYPE varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add T_WORKPOINTS_USER varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add T_WORKPOINTS_DATE varchar(100) not null ; "; $sqlList[] = " alter table USERS2_MARKETING_OVERWIEV add P_ACCOUNT varchar(40) not null ; "; } } $errors = false; foreach ($sqlList as $sql) { echo'
sql (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($sql);echo'
'; $res = $db->query($sql); if ($db->has_errors()) { $errors = true; echo'
 (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($db->get_errors());echo'
'; } } if ($errors) { echo '
' . "Uwaga wystąpiły błędy - w czerwonej ramce" . '
'; } else { echo '
' . "Operacje zakończone pomyślnie" . '
'; } }