idZddlZddlmZmZmZmZddlm Z ddl m Z ddl m Z deeefdejfd Zdeeefdejfd Zdeeeeefeeefffd Zdeeeeffd ZdS) zh Query specifiche e AUTONOME per la Dashboard Pivot. Contiene le sue query e copie di quelle condivise. N)DictAnyListTuple) defaultdict)logger) db_managerfiltersreturncd}gg}}|drYdd|dD}|d|d||d|dr0|d||d|d r0|d ||d |d r0|d ||d |d r|d|dr0|d||d|dr0|d||d|dr<|ddkr0|d||d|r|dd|zz }|dz }t j|t |S)zA Query per i dati della tabella pivot Tipologia vs Anno. a SELECT e.tipologia, year(CAST(e.data_emissione AS DATE)) as anno_emissione, COUNT(*) as numero_emissioni, SUM(CAST(e.durata_lorda AS REAL)) as durata_lorda_totale, SUM(CAST(e.durata_netta AS REAL)) as durata_netta_totale FROM emesso e LEFT JOIN emesso_enrich ee ON e.rete = ee.rete AND e.data_emissione = ee.data_emissione AND e.ora_inizio = ee.ora_inizio WHERE e.tipologia IS NOT NULL AND e.tipologia != '' reti, c3K|]}dVdS?N.0_s ;C:\PYTHON\MyICR_Suite\app\features\dash_em_pivot\queries.py z(get_pivot_emesso_data..!" > > > > > > > >AND e.rete IN () data_inizioAND e.data_emissione >= ? data_fineAND e.data_emissione <= ?fasciaAND e.fascia = ?unico_prAND ee.is_primetime_main = 1 prima_visioneAND ee.prima_visione_recalc = ?fornitore_clusterAND ee.fornitore_cluster = ? tipologiaTutteAND e.tipologia = ? zJ GROUP BY e.tipologia, anno_emissione ORDER BY e.tipologia, anno_emissione)getjoinappendextendr execute_querytuple)r base_query conditionsparams placeholderss rget_pivot_emesso_datar6s JRJ{{6'yy > >gfo > > >>> ;L;;;<<< gfo&&&{{=!!.5666 gm,---{{;,5666 gk*+++{{8),--- gh'((({{::8999{{?##0;<<< go.///{{&''48999 g12333{{;,GK$8G$C$C/000 gk*+++1cCHHZ0000 ^^J  #Jf > >>rcNd}gg}}|drYdd|dD}|d|d||d|dr0|d||d|d r0|d ||d |d r0|d ||d |d r0|d||d |dr|d|dr0|d||d|dr0|d||d|r|dd|zz }t |dd}|d|z }t j|t|S)z!Query per il dettaglio emissioni.a5 SELECT e.rete, e.data_emissione, e.ora_inizio, e.ora_fine, e.durata_lorda, e.durata_netta, ee.prima_visione_recalc AS prima_visione, e.fascia, e.audience, e.share, p.titolo_italiano, p.titolo_originale, p.anno_produzione, p.paesi_produzione1, p.genere1, ee.fornitore_diritto, e.prodotto FROM emesso e LEFT JOIN prodotti p ON e.prodotto = p.prodotto AND e.edizione = p.edizione LEFT JOIN emesso_enrich ee ON e.rete = ee.rete AND e.data_emissione = ee.data_emissione AND e.ora_inizio = ee.ora_inizio WHERE 1=1 r rc3K|]}dVdSrrrs rrz*get_dettaglio_emissioni..Orrrrrrrrr r!r(r*r"r#r$r%r&r'r+limitiz9 ORDER BY e.data_emissione DESC, e.ora_inizio DESC LIMIT )r,r-r.r/intr r0r1)r r2r3r4r5r9s rget_dettaglio_emissionir;@s JRJ{{6'yy > >gfo > > >>> ;L;;;<<< gfo&&&{{=!!.5666 gm,---{{;,5666 gk*+++{{8),--- gh'((({{;,/000 gk*+++{{::8999{{?##0;<<< go.///{{&''48999 g12333;:sxx ';';!;;:  GT** + +EUeUUUJ  #Jf > >>rcd} tj|}tt}i}|D]=\}}||d|d|d||d<>d|D}||fS#t$r'}tj d|diifcYd }~Sd }~wwxYw) zLegge la tabella reti_cluster.zsSELECT cluster_rete, rete_6chr, codice_rete FROM reti_cluster WHERE cluster_rete IS NOT NULL AND cluster_rete != '' cluster_rete rete_6chr codice_retec hi|]/\}}|ttt|0Sr)sortedlistset)rnamenetss r z(get_network_clusters..vs2[[[JD$$tCII 7 7[[[rz+Impossibile caricare i cluster delle reti: T)exc_infoN) r r0rrBiterrowsr.items Exceptionrerror)querydfclustersname_to_code_maprrowfinal_clusterses rget_network_clustersrSls BE   %e , ,t$$kkmm D DFAs S( ) 0 0[1A B B B14]1C S- . .[[(..JZJZ[[[///  F1FFQUVVVV2v sBB"" C,CCCci}tjdd|d<tjdd|d<tjdd}d |vr,||d d zd ||d <d }tj|d|d<|S)z7Ottiene tutti i valori disponibili per i filtri dal DB.zESELECT DISTINCT rete FROM emesso WHERE rete IS NOT NULL ORDER BY retereter zhSELECT DISTINCT tipologia FROM emesso WHERE tipologia IS NOT NULL AND tipologia != '' ORDER BY tipologiar( tipologiezKSELECT DISTINCT fascia FROM emesso WHERE fascia IS NOT NULL ORDER BY fasciar PRzPR (uno solo per serata)fascezSELECT DISTINCT fornitore_cluster FROM emesso_enrich WHERE fornitore_cluster IS NOT NULL AND fornitore_cluster != '' ORDER BY fornitore_clusterr&fornitori_cluster)r r0tolistinsertindex)r fasce_dbquery_fornitoris rget_available_filtersr`|s G ./vwwx~GGIIGFO%35_``almttvvGK'(uvvwAHHJJH xt,,q02LMMMGGhO#-#;O#L#LM`#a#h#h#j#jG  Nr)__doc__pandaspdtypingrrrr collectionsrlogururapp.database.connectionr str DataFramer6r;rSr`rrrrjs=))))))))))))######....../?4S>/?bl/?/?/?/?d*?T#s(^*? *?*?*?*?XeDd3i$8$sCx.$HI tCcN3r