Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * V2 - COMI_RECARGAS_DIARIO
- */
- --NOTA: SE DEBEN PONER EN DURO LAS FECHAS PARA PROCESAR - YA QUE NO SON FIJAS PARA TODOS LOS MESES.
- SELECT SUM(nvl(mto_comi,0)) AS comi_recargas,
- SUM(nvl(mto_comi_pdv,0)) AS mto_comi_pdv ,
- SUM(nvl(monto,0)) AS recarga,
- COUNT(*) AS cant_recargas,
- par.num_line AS linea,
- par.num_cont AS contrato,
- nvl(pv.cod_agente, par.cod_agente) AS vendedor,
- par.pdv,
- 0 AS bonificacion, --se elimina la bonificacion desde mayo.
- 0 AS boni_porta,
- nvl(pv.mto_acum_age,par.mto_acum_age),
- nvl(pv.mto_acum_pdv,par.mto_acum_pdv),
- nvl(pv.MTO_TOPE_AGE,par.MTO_TOPE_AGE) - nvl(nvl(pv.mto_acum_age,par.mto_acum_age),0) AS saldo_age,
- nvl(pv.MTO_TOPE_PDV,par.MTO_TOPE_PDV) - nvl(nvl(pv.mto_acum_pdv,par.mto_acum_pdv),0) AS saldo_pdv,
- to_char(nvl(pv.FEC_APROB,par.FEC_APROB),'dd/mm/yyyy hh24:mi:ss') AS fec_aprob,
- to_char(nvl(pv.FEC_ACTIV,par.FEC_ACTIV),'dd/mm/yyyy hh24:mi:ss') AS fec_activ,
- par.cod_aprob AS cod_aprob,
- CASE
- WHEN (a.PORC_COMI IN (30,60) AND (round(months_between(nvl(pv.FEC_PRIMERA_CARGA, par.FEC_PRIMERA_CARGA),nvl(pv.FEC_ACTIV,par.FEC_ACTIV))) < 1)--solo tendrá 30 y 60 el segundo mes, si tuvo primera carga dentro del primer mes no debe cobrar primera carga
- ) THEN 0
- WHEN (nvl(pv.FEC_PRIMERA_CARGA, par.FEC_PRIMERA_CARGA) BETWEEN to_date('18/01/2019 00:00:00','dd/mm/yyyy hh24:mi:ss') --cuando la primera carga fue en el mes corriente
- AND to_date('26/02/2019 00:00:00','dd/mm/yyyy hh24:mi:ss') AND nvl(pv.FEC_APROB,par.FEC_APROB) < to_date('26/02/2019 00:00:00','dd/mm/yyyy hh24:mi:ss')
- ) THEN nvl(par.comi_primera_carga,0)
- WHEN (nvl(pv.FEC_APROB,par.FEC_APROB) BETWEEN to_date('18/01/2019 00:00:00','dd/mm/yyyy hh24:mi:ss')--cuando la primera carga fue en algún mes anterior a la aprobacion
- AND to_date('26/02/2019 00:00:00','dd/mm/yyyy hh24:mi:ss') AND nvl(pv.FEC_PRIMERA_CARGA, par.FEC_PRIMERA_CARGA) < to_date('26/02/2019 00:00:00','dd/mm/yyyy hh24:mi:ss')
- ) THEN nvl(par.comi_primera_carga,0)
- ELSE
- 0
- END AS comi_primera_carga,
- (CASE
- WHEN nvl(pv.FEC_PRIMERA_CARGA, par.FEC_PRIMERA_CARGA) IS NOT NULL THEN to_char(nvl(pv.FEC_PRIMERA_CARGA, par.FEC_PRIMERA_CARGA),'dd/mm/yyyy hh24:mi:ss')
- ELSE NULL
- END) AS fecha_primera_carga,
- nvl(nvl(pv.mto_primera_carga, par.mto_primera_carga),0) mto_primera_carga,
- a.PORC_COMI,
- par.cod_plan,
- par.suscripcion,
- NULL AS ZONA_COMER,
- NULL AS TOTAL,
- NULL AS PRODUCTO,
- NULL AS AGENTE,
- NULL AS BONI_SIN_PENAL,
- NULL AS COMI_RECAR,
- NULL AS COMI_SIN_PENALIZACION,
- NULL AS COMIS_TOTAL_LIMITADA,
- NULL AS DEPARTAMENTO,
- NULL AS ES_ALTA,
- NULL AS FDV,
- NULL AS FEC_ACTI,
- NULL AS FEC_APRO,
- NULL AS FEC_COMI_PRIMERA_CARGA,
- NULL AS MTO_COMI_PDV_FINAL,
- NULL AS PORC_APLI,
- NULL AS PORTADA,
- NULL AS COMI_PC,
- NULL AS COMI_FIJO
- FROM comisv2.EVT_PARQUE_PREPAGO_AGENT par
- LEFT JOIN comisv2.EVT_RECARGA_DET a
- --on par.suscripcion = a.suscripcion
- ON par.NUM_LINE = a.LINEA
- AND par.NUM_CONT = a.CONTRATO
- /* ********************************************* */
- LEFT JOIN comisv2.evt_parque_prepago_agent pv
- ON par.num_line = pv.num_line
- AND par.num_cont = pv.contrato
- AND pv.cod_proceso = 'PREPA_V1'
- /* ********************************************* */
- WHERE par.cod_proceso = 'PREPA'
- -- No traer lineas que ya no comisionaban este periodo
- AND (par.comisiona = 'S' OR par.fec_proc >= to_date('18/01/2019 00:00:00','dd/mm/yyyy hh24:mi:ss'))
- AND par.fec_proc < to_date('26/02/2019 00:00:00','dd/mm/yyyy hh24:mi:ss')--eyesonly
- --and a.es_alta <> 'S'
- AND nvl(pv.FEC_APROB,par.FEC_APROB) < to_date('18/01/2019 00:00:00','dd/mm/yyyy hh24:mi:ss')
- --eyesonly 1/8/2017
- AND nvl(pv.fec_fin_age,add_months(par.fec_activ,5)) > to_date(to_char(a.fecha_carga, 'dd/mm/yyyy hh24:mi:ss'),'dd/mm/yyyy hh24:mi:ss')
- --eyesonly 27/06/2018
- --hace falta definir la fecha donde empieza el periodo
- AND nvl(pv.fec_fin_age,add_months(par.fec_activ,5)) > to_date('18/01/2019 00:00:00' , 'dd/mm/yyyy hh24:mi:ss')
- AND a.porc_comi > 0 -- para que no afecte al group by recargas traidas mientras estuvo INGRE
- AND a.idcabevento IN (SELECT cod_cabevento_pk
- FROM comisv2.cabeventos b
- LEFT JOIN comisv2.perproccabevt c ON b.cod_cabevento_pk = c.cod_cabevento
- LEFT JOIN comisv2.periodoprocesos d ON c.cod_perproc = d.cod_perproc_pk
- --se buscan los detalles de un mes completo
- WHERE d.fec_desde >= to_date('18/01/2019 00:00:00','dd/mm/yyyy hh24:mi:ss')
- AND d.fec_hasta <= to_date('26/02/2019 00:00:00','dd/mm/yyyy hh24:mi:ss')
- AND b.str_firma = 'RECARGAS_DETALLE'
- AND b.str_confirmado = 'S')
- GROUP BY par.num_line,par.num_cont,
- nvl(pv.cod_agente, par.cod_agente),
- par.pdv,
- nvl(pv.FEC_PRIMERA_CARGA, par.FEC_PRIMERA_CARGA),
- nvl(pv.mto_acum_age,par.mto_acum_age),
- nvl(pv.mto_acum_pdv,par.mto_acum_pdv),
- nvl(pv.FEC_APROB,par.FEC_APROB),
- par.idcabevento_estado,
- nvl(pv.FEC_ACTIV,par.FEC_ACTIV),
- par.cod_aprob,par.comi_Primera_carga,
- nvl(pv.mto_primera_carga, par.mto_primera_carga),
- a.PORC_COMI,par.cod_plan,
- nvl(pv.MTO_TOPE_AGE,par.MTO_TOPE_AGE),
- nvl(pv.MTO_TOPE_PDV,par.MTO_TOPE_PDV),
- par.suscripcion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement