/*Query similar al actionImprimir de prefactura electrónica*/
SET SESSION SQL_BIG_SELECTS=1;
SELECT pfe.id,
pfe.ano,
pfe.mes, 
pfe.regional, 
(
  select nombre
  from empresa
  where nit=pfe.empresa
)as Empresa,
pfe.ciudad,
pfe.marca,
(
  select nombre
  from centro_costo
  where codigo = pfe.centro_costo_codigo
) as Dependencia,

(
  select cebe
  from centro_costo
  where codigo = pfe.centro_costo_codigo
) as CBE,

(
  select ceco
  from centro_costo
  where codigo = pfe.centro_costo_codigo
) as ceco,

pfe.numero_factura,
pfe.fecha_factura,
/*Tabla Monitoreos*/
pfm.monitoreo,  
(
  select nombre
  from sistema_monitoreado
  where id = pfm.id_sistema_monitoreo
)as SistemaMonitoreado,
pfm.cantidad_servicios,
pfm.valor_unitario,
pfm.fecha_inicio as FechaInicioMonitoreo,
pfm.fecha_fin as FechaFinMonitoreo,
pfm.valor_total,
(
  select SUM(valor_total)
  from prefactura_monitoreo
  where id_prefactura_electronica = pfe.id
) as TotalMonitoreo,
/*Tabla Fijos*/
(
  select nombre
  from tipo_alarma
  where id = pdfe.id_tipo_alarma
)as TipoAlarmaFija,
pdfe.sistema as SistemaFijo,
pdfe.estado,
(
  select nombre
  from marca_alarma
  where id = pdfe.id_marca
)as MarcaAlarma,
(
  select descripcion
  from desc_alarma
  where id=pdfe.id_desc
)as DescripcionFijo,
pdfe.referencia as ReferenciaFijo,
(
  select nombre
  from area_dependencia
  where id=pdfe.ubicacion
)as UbicacionFijo,
pdfe.zona_panel as ZonaFijo,
pdfe.meses_pactados,
pdfe.fecha_inicio as FechaInicioFijo,
pdfe.fecha_ultima_reposicion,
pdfe.detalle_ubicacion,
pdfe.valor_arrendamiento_mensual,
(
  select SUM(valor_arrendamiento_mensual)
  from prefactura_dispositivo_fijo_electronico
  where id_prefactura_electronica = pfe.id
)as TotalFijo,

/*Tabla Variables*/
(
  select nombre
  from tipo_alarma
  where id=pdve.id_tipo_alarma
)as TipoAlarmaVariable,
pdve.sistema as SistemaVariable,
(
  select nombre
  from tipo_servicio_electronica
  where id = pdve.id_tipo_servicio
)as Servicio,
(
  select nombre
  from marca_alarma
  where id = pdve.id_marca
)as MarcaAlarmaVariable,
(
  select descripcion
  from desc_alarma
  where id = pdve.id_desc
)as DescripcionVariable,
pdve.referencia as ReferenciaVariable,
(
  select nombre
  from area_dependencia
  where id = pdve.ubicacion
)as UbicacionVariable,
pdve.zona_panel as ZonaVariable,
pdve.fecha_inicio as FechaInicioVariable,
pdve.fecha_fin as FechaFinVariable,
pdve.total_dias,
pdve.valor_novedad,
(
  select SUM(valor_novedad)
  from prefactura_dispositivo_variable_electronico
  where id_prefactura_electronica = pfe.id
)as TotalVariable
INTO OUTFILE
        '/home/cvsccomc/tmp/db/detallePrefElectFeb_2021.csv'
        FIELDS TERMINATED BY ';'
        OPTIONALLY ENCLOSED BY '\"'
        LINES TERMINATED BY '\r\n'
FROM prefactura_electronica pfe
LEFT JOIN prefactura_dispositivo_fijo_electronico pdfe
ON pdfe.id_prefactura_electronica = pfe.id
LEFT JOIN prefactura_dispositivo_variable_electronico pdve
ON pdve.id_prefactura_electronica = pfe.id
LEFT JOIN prefactura_monitoreo pfm
ON pfm.id_prefactura_electronica = pfe.id
WHERE pfe.mes="02" and pfe.ano='2021'


/*Query similar al actionImprimir de prefactura electrónica*/
SET SESSION SQL_BIG_SELECTS=1;
SELECT pfe.id,
pfe.ano,
pfe.mes, 
pfe.regional, 
pfe.ciudad,
pfe.marca,
(
  select nombre
  from centro_costo
  where codigo = pfe.centro_costo_codigo
) as Dependencia,
(
  select nombre
  from tipo_alarma
  where id = pdfe.id_tipo_alarma
)as TipoAlarmaFija,
(
  select descripcion
  from desc_alarma
  where id=pdfe.id_desc
)as DescripcionFijo,
(
  select nombre
  from area_dependencia
  where id=pdfe.ubicacion
)as UbicacionFijo,
pdfe.zona_panel as ZonaFijo,
pdfe.fecha_ultima_reposicion,
pdfe.valor_arrendamiento_mensual
INTO OUTFILE
        '/home/cvsccomc/tmp/db/detallePrefElectFeb_2021.csv'
        FIELDS TERMINATED BY ';'
        OPTIONALLY ENCLOSED BY '\"'
        LINES TERMINATED BY '\r\n'
FROM prefactura_electronica pfe
LEFT JOIN prefactura_dispositivo_fijo_electronico pdfe
ON pdfe.id_prefactura_electronica = pfe.id
LEFT JOIN prefactura_dispositivo_variable_electronico pdve
ON pdve.id_prefactura_electronica = pfe.id
LEFT JOIN prefactura_monitoreo pfm
ON pfm.id_prefactura_electronica = pfe.id
WHERE pfe.mes="02" and pfe.ano='2021'
GROUP BY pdfe.id

GROUP by pfe.id,UbicacionFijo,pdfe.valor_arrendamiento_mensual,pdfe.zona_panel

/*QUERY PREF ELECTRÓNICA SOLO PARA MOSTRAR VALORES FIJOS, VARIABLES Y TOTAL MONITOREO TOWNSEND */
SET SESSION SQL_BIG_SELECTS=1;
SELECT pfe.id,
pfe.ano,
pfe.mes, 
pfe.regional, 
pfe.ciudad,
pfe.marca,
(
  select nombre
  from centro_costo
  where codigo = pfe.centro_costo_codigo
) as Dependencia,
(SELECT SUM(valor_total) 
    FROM prefactura_monitoreo 
    WHERE id_prefactura_electronica=pfe.id  
) as TotalMonitoreo,
(SELECT SUM(REPLACE(valor_arrendamiento_mensual, ".", "")) 
 FROM prefactura_dispositivo_fijo_electronico 
 WHERE id_prefactura_electronica=pfe.id  
) as TotalFijo,
(
    (   SELECT COALESCE(SUM(REPLACE(valor_novedad, ".", "")) ,0)
        FROM prefactura_dispositivo_variable_electronico 
        WHERE (id_prefactura_electronica=pfe.id)  and   (id_tipo_servicio=2)
    )
    -

    (   SELECT COALESCE(SUM(REPLACE(valor_novedad, ".", "")),0)
        FROM prefactura_dispositivo_variable_electronico 
        WHERE (id_prefactura_electronica=pfe.id)  and   (id_tipo_servicio=1  or  id_tipo_servicio=4)
    )
)as TotalVariables
INTO OUTFILE
        '/home/cvsccomc/tmp/db/detallePrefElectJun_2021.csv'
        FIELDS TERMINATED BY ';'
        OPTIONALLY ENCLOSED BY '\"'
        LINES TERMINATED BY '\r\n'
FROM prefactura_electronica pfe
LEFT JOIN prefactura_dispositivo_fijo_electronico pdfe
ON pdfe.id_prefactura_electronica = pfe.id
LEFT JOIN prefactura_dispositivo_variable_electronico pdve
ON pdve.id_prefactura_electronica = pfe.id
LEFT JOIN prefactura_monitoreo pfm
ON pfm.id_prefactura_electronica = pfe.id
WHERE pfe.mes IN ("06") and pfe.ano='2021'
GROUP BY pfe.id

/*end*/

select dp.id id, DATE(dp.created) fecha, dp.mes mes,dp.ano ano,dp.usuario usuario,cc.nombre dependencia,cc.ceco,em.nombre empresa,dp.estado estado,
(           
    (   SELECT SUM(REPLACE(valor_arrendamiento_mensual, ".", "")) 
        FROM prefactura_dispositivo_fijo_electronico 
        WHERE id_prefactura_electronica=dp.id  
    )
    +

    (
        (   SELECT COALESCE(SUM(REPLACE(valor_novedad, ".", "")) ,0)
            FROM prefactura_dispositivo_variable_electronico 
            WHERE (id_prefactura_electronica=dp.id)  and   (id_tipo_servicio=2)
        )
        -

        (   SELECT COALESCE(SUM(REPLACE(valor_novedad, ".", "")),0)
            FROM prefactura_dispositivo_variable_electronico 
            WHERE (id_prefactura_electronica=dp.id)  and   (id_tipo_servicio=1  or  id_tipo_servicio=4)
        )
    )

)Total,
(

    
    (   SELECT SUM(REPLACE(valor_arrendamiento_mensual, ".", "")) 
        FROM prefactura_dispositivo_fijo_electronico 
        WHERE id_prefactura_electronica=dp.id  
    )
    

    

)fijos,
    (
        (   SELECT COALESCE(SUM(REPLACE(valor_novedad, ".", "")) ,0)
            FROM prefactura_dispositivo_variable_electronico 
            WHERE (id_prefactura_electronica=dp.id)  and   (id_tipo_servicio=2)
        )
        -

        (   SELECT COALESCE(SUM(REPLACE(valor_novedad, ".", "")),0)
            FROM prefactura_dispositivo_variable_electronico 
            WHERE (id_prefactura_electronica=dp.id)  and   (id_tipo_servicio=1  or  id_tipo_servicio=4)
        )
    ) variables,
    (   SELECT SUM(valor_total) 
        FROM prefactura_monitoreo 
        WHERE id_prefactura_electronica=dp.id  
    ) Monitoreo,
    (
      select zona.nombre  from centro_costo cc
      inner join ciudad_zona cz on cc.ciudad_codigo_dane=cz.ciudad_codigo_dane
      inner join zona on  cz.zona_id=zona.id
      WHERE cc.codigo=dp.centro_costo_codigo limit 1
    ) regional,
    dp.numero_factura,dp.fecha_factura,dp.nombre_factura,dp.ciudad
from prefactura_electronica dp, centro_costo cc, empresa em
where dp.centro_costo_codigo=cc.codigo AND dp.empresa=em.nit
            


SELECT dp.nombre_factura,dp.id id, DATE(dp.created) fecha,dp.mes mes,dp.ano ano,dp.usuario usuario,cc.nombre dependencia,em.nombre empresa,dp.estado estado,
  (
    (SELECT SUM(ftes) 
      FROM  prefactura_dispositivo 
      WHERE id_prefactura_fija=dp.id and tipo="fijo"
    )
    +
    (
      (SELECT COALESCE(SUM(ftes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      )
    - 
      (SELECT COALESCE(SUM(ftes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      ) 
    )
  )total_ftes,
  (
    (SELECT SUM(valor_mes) 
      FROM  prefactura_dispositivo 
      WHERE id_prefactura_fija=dp.id and tipo="fijo"
    )
    +
    (
      (SELECT COALESCE(SUM(valor_mes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      ) 
      - 
      (SELECT COALESCE(SUM(valor_mes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      ) 
    ) 
  )total_mes
    ,em.nit,dp.numero_factura,dp.created,cc.ceco,
    (SELECT COUNT(id) FROM prefactura_dispositivo WHERE id_prefactura_fija=dp.id) cantidad_servicios,
    (SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(horas))) AS hours FROM prefactura_dispositivo WHERE id_prefactura_fija=dp.id) horas,
    
    
    (
      (SELECT SUM(ftes_diurno) 
          FROM  prefactura_dispositivo 
          WHERE    id_prefactura_fija=dp.id and tipo="fijo"
      )
      +
      (
        (SELECT COALESCE(SUM(ftes_diurno) ,0)
          FROM  prefactura_dispositivo 
          WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        ) 
        -
        (SELECT COALESCE(SUM(ftes_diurno) ,0)
          FROM  prefactura_dispositivo 
          WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        ) 
      ) 
    ) ftes_diurnos
    ,
    
    (
      (SELECT SUM(ftes_nocturno) 
        FROM  prefactura_dispositivo 
        WHERE id_prefactura_fija=dp.id and tipo="fijo"
      )
      +
      (
        (SELECT COALESCE(SUM(ftes_nocturno) ,0)
          FROM  prefactura_dispositivo 
          WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        ) 
        -
        (SELECT COALESCE(SUM(ftes_nocturno) ,0)
          FROM  prefactura_dispositivo 
          WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        ) 
      ) 
    ) ftes_nocturnos

    ,dp.ciudad,dp.marca,(SELECT SUM(ftes) FROM prefactura_dispositivo WHERE  id_prefactura_fija=dp.id and tipo="fijo") ftes_fijos
    ,(
        (SELECT COALESCE(SUM(ftes) ,0)
          FROM prefactura_dispositivo
          WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        ) 
        -
        (SELECT COALESCE(SUM(ftes) ,0)
          FROM prefactura_dispositivo
          WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        ) 
      ) ftes_variables
    ,
    (SELECT SUM(valor_mes) 
      FROM  prefactura_dispositivo 
      WHERE id_prefactura_fija=dp.id and tipo="fijo"
    ) total_fijo
    ,
    (
      (SELECT COALESCE(SUM(valor_mes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      )
      - 
      (SELECT COALESCE(SUM(valor_mes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      )
    ) total_variable,dp.numero_factura,dp.fecha_factura,dp.regional,dp.ciudad,cc.ceco,em.nit,dp.estado_pedido,dp.motivo_rechazo_prefactura,dp.usuario_aprueba,dp.usuario_rechaza,dp.fecha_aprobacion,dp.fecha_rechazo
            from prefactura_fija dp, centro_costo cc, empresa em
            where dp.centro_costo_codigo=cc.codigo AND dp.empresa=em.nit AND dp.id='21163'


select dp.nombre_factura,dp.id id, DATE(dp.created) fecha,dp.mes mes,dp.ano ano,dp.usuario usuario,
cc.nombre dependencia,em.nombre empresa,dp.estado estado,
  (
    (SELECT SUM(ftes) 
      FROM  prefactura_dispositivo 
      WHERE id_prefactura_fija=dp.id and tipo="fijo"
    )
    +
    (
      (SELECT COALESCE(SUM(ftes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      ) 
      -
      (SELECT COALESCE(SUM(ftes) ,0)
      FROM  prefactura_dispositivo 
      WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      ) 
    ) 
  )total_ftes,
  (
    (SELECT SUM(valor_mes) 
      FROM  prefactura_dispositivo 
      WHERE id_prefactura_fija=dp.id and tipo="fijo"
    )
    +
    (
      (SELECT COALESCE(SUM(valor_mes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      )
      -
      (SELECT COALESCE(SUM(valor_mes) ,0)
        FROM  prefactura_dispositivo 
        WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
      )
    )
  )total_mes,
  em.nit,dp.numero_factura,dp.created,cc.ceco,
    (SELECT COUNT(id) FROM prefactura_dispositivo WHERE id_prefactura_fija=dp.id)cantidad_servicios,
    (SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(horas))) AS hours FROM prefactura_dispositivo WHERE id_prefactura_fija=dp.id) horas,
    (
        (SELECT SUM(ftes_diurno) 
          FROM  prefactura_dispositivo 
          WHERE id_prefactura_fija=dp.id and tipo="fijo"
        )
        +
        (
          (SELECT COALESCE(SUM(ftes_diurno) ,0)
            FROM  prefactura_dispositivo 
            WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
          )
          -
          (SELECT COALESCE(SUM(ftes_diurno) ,0)
            FROM  prefactura_dispositivo 
            WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
          ) 
        ) 
      ) ftes_diurnos,
    (
        (SELECT SUM(ftes_nocturno) 
          FROM  prefactura_dispositivo 
          WHERE id_prefactura_fija=dp.id and tipo="fijo"
        )
        +
        (
          (SELECT COALESCE(SUM(ftes_nocturno) ,0)
            FROM  prefactura_dispositivo 
            WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
          )
          -
          (SELECT COALESCE(SUM(ftes_nocturno) ,0)
            FROM  prefactura_dispositivo 
            WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
          ) 
        ) 
      ) ftes_nocturnos
      ,dp.ciudad,dp.marca,(SELECT SUM(ftes) FROM prefactura_dispositivo WHERE  id_prefactura_fija=dp.id and tipo="fijo") ftes_fijos,
    (
          (SELECT COALESCE(SUM(ftes) ,0)
            FROM prefactura_dispositivo
            WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
          ) 
          -
          (SELECT COALESCE(SUM(ftes) ,0)
            FROM prefactura_dispositivo
            WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
          ) 
       )ftes_variables,
      (SELECT SUM(valor_mes) 
          FROM  prefactura_dispositivo 
          WHERE id_prefactura_fija=dp.id and tipo="fijo"
        ) total_fijo,
    (
        (SELECT COALESCE(SUM(valor_mes) ,0)
          FROM  prefactura_dispositivo 
          WHERE tipo_servicio NOT IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        )
        -
        (SELECT COALESCE(SUM(valor_mes) ,0)
          FROM  prefactura_dispositivo 
          WHERE tipo_servicio IN ("No Prestado","Recargo Nocturno No Prestado") and id_prefactura_fija=dp.id and tipo="variable"
        )
      ) total_variable,dp.numero_factura,dp.fecha_factura,dp.regional,dp.ciudad,cc.ceco,em.nit,dp.estado_pedido,dp.motivo_rechazo_prefactura,dp.usuario_aprueba,dp.usuario_rechaza,dp.fecha_aprobacion,dp.fecha_rechazo
            from prefactura_fija dp, centro_costo cc, empresa em
            where ( dp.centro_costo_codigo=cc.codigo ) AND ( dp.empresa IN('890932539') ) AND ( dp.centro_costo_codigo  IN( '2548', '1055') )


    /*Validación visitas según la regional y fecha de consulta*/
    SELECT vd.id, vd.fecha,vd.centro_costo_codigo,cc.nombre,vd.usuario,vd.observaciones,vd.responsable,vd.otro,z.nombre FROM visita_dia vd INNER JOIN centro_costo cc ON cc.codigo=vd.centro_costo_codigo INNER JOIN ciudad_zona cz on cc.ciudad_codigo_dane=cz.ciudad_codigo_dane INNER JOIN zona z on cz.zona_id=z.id WHERE vd.centro_costo_codigo=cc.codigo and (vd.fecha BETWEEN '2020-08-01' and '2020-08-31') and z.nombre='Costa'


/* Query para Pedidos Normales*/
SELECT dp.id ID,p.id IdPedido,dp.created_on Creado,cc.nombre Dependencia,dp.repetido Repetido,pv.nombre Proveedor,dm.material Material,dm.texto_breve Producto,
dp.cantidad Cantidad,cc.cebe Cebe,z.nombre Regional,dp.precio_neto Valor,(dp.precio_neto*dp.cantidad) Total,
p.solicitante Solicita,dp.observaciones Observaciones,dp.fecha_revision_coordinador RevisionCoordinador, dp.fecha_revision_tecnica RevisionTecnica,dp.fecha_revision_financiera RevisionFinanciera
FROM detalle_pedido dp
inner JOIN pedido p on p.id=dp.pedido_id
inner JOIN centro_costo cc on cc.codigo=p.centro_costo_codigo
inner JOIN ciudad c on c.codigo_dane= cc.ciudad_codigo_dane
inner JOIN ciudad_zona cz on cz.ciudad_codigo_dane=c.codigo_dane
inner JOIN zona z on z.id=cz.zona_id
inner join detalle_maestra dm on dm.id=dp.detalle_maestra_id
inner join proveedor pv on pv.codigo=dm.proveedor
where dp.cebe='2503' and (dp.created_on BETWEEN '2021-04-15 00:00:00' and '2021-04-15 23:59:59') GROUP BY dp.id

/* Query para Pedidos Especiales*/
SELECT dpe.id ID,p.id IdPedido,dpe.created_on Creado,cc.nombre Dependencia,dpe.repetido Repetido,concat(me.material,"-",me.texto_breve) Material,
dpe.producto_sugerido Producto,dpe.cantidad Cantidad,cc.cebe Cebe,z.nombre Regional,
IF (dpe.precio_sugerido > 0, dpe.precio_sugerido, dpe.precio_neto) Valor,
IF (dpe.precio_sugerido > 0, dpe.precio_sugerido*dpe.cantidad,dpe.precio_neto*dpe.cantidad) Total,
p.solicitante Solicita, dpe.fecha_revision_coordinador RevisionCoordinador, dpe.fecha_revision_tecnica RevisionTecnica,dpe.fecha_revision_financiera RevisionFinanciera
FROM detalle_pedido_especial dpe
inner JOIN pedido p on p.id=dpe.pedido_id
inner JOIN centro_costo cc on cc.codigo=p.centro_costo_codigo
inner JOIN ciudad c on c.codigo_dane= cc.ciudad_codigo_dane
inner JOIN ciudad_zona cz on cz.ciudad_codigo_dane=c.codigo_dane
inner JOIN zona z on z.id=cz.zona_id
inner join maestra_especial me on me.id=dpe.maestra_especial_id
where dpe.cebe='2503' and (dpe.created_on BETWEEN '2021-04-15 00:00:00' and '2021-04-15 23:59:59') GROUP BY dpe.id

/*Query para Eliminar Pedidos Normales*/
DELETE dp,p FROM detalle_pedido dp
inner JOIN pedido p on p.id=dp.pedido_id
where dp.pedido_id IN (17185)

/*Query para Eliminar Pedidos Especiales*/
DELETE dpe,p FROM detalle_pedido_especial dpe
inner JOIN pedido p on p.id=dpe.pedido_id
where dpe.pedido_id IN (17186)

/*UPDATE*/

UPDATE detalle_pedido
set
orden_interna='GE29992',
cuenta_contable='781512006',
orden_compra='4501057428',
id_pedido='85',
fecha_revision_coordinador='2020-09-22',
fecha_revision_tecnica='2020-09-22',
fecha_revision_financiera='2020-09-22',
repetido='',
usuario_aprobador_financiera='sandra gaviria',
usuario_aprobador_tecnica='johny alexander',
usuario_aprobador_revision='marisol silva',
estado_prefactura='S'
where id IN ()


SELECT dp.id ID,p.id IdPedido,dp.created_on Creado,cc.nombre Dependencia,dp.repetido Repetido,pv.nombre Proveedor,dm.material Material,dm.texto_breve Producto,
dp.cantidad Cantidad,cc.cebe Cebe,z.nombre Regional,dp.precio_neto Valor,(dp.precio_neto*dp.cantidad) Total,
p.solicitante Solicita,dp.observaciones Observaciones, dp.orden_compra OrdenCompra, dp.cuenta_contable CuentaContable,dp.id_pedido IdPedidoSistema, dp.fecha_revision_coordinador RevisionCoordinador, dp.fecha_revision_tecnica RevisionTecnica,dp.fecha_revision_financiera RevisionFinanciera, dp.usuario_aprobador_financiera UsuarioFinanciera, dp.usuario_aprobador_tecnica UsuarioTecnica, dp.usuario_aprobador_revision UsuarioCoordinador, dp.estado_prefactura EstadoPrefactura
FROM detalle_pedido dp
inner JOIN pedido p on p.id=dp.pedido_id
inner JOIN centro_costo cc on cc.codigo=p.centro_costo_codigo
inner JOIN ciudad c on c.codigo_dane= cc.ciudad_codigo_dane
inner JOIN ciudad_zona cz on cz.ciudad_codigo_dane=c.codigo_dane
inner JOIN zona z on z.id=cz.zona_id
inner join detalle_maestra dm on dm.id=dp.detalle_maestra_id
inner join proveedor pv on pv.codigo=dm.proveedor
where cc.codigo='2547' and (dp.created_on BETWEEN '2020-09-21 00:00:00' and '2020-09-21 23:59:59') GROUP BY dp.id


/*Capacitaciones Ejemplo REGIONAL COSTA*/
SELECT capacitacion.novedad_id, nv.nombre, cd.cantidad as cantidad, capacitacion.fecha as fecha_capacitacion FROM capacitacion  
inner join capacitacion_dependencia as cd on cd.capacitacion_id=capacitacion.id
inner join  centro_costo as cc on cd.centro_costo_codigo=cc.codigo
inner join novedad nv on nv.id=capacitacion.novedad_id
where cd.centro_costo_codigo IN('2051','2056','2054','4246','4239')
AND capacitacion.novedad_id IN (20,21,23,24,51,68)  AND (fecha_capacitacion BETWEEN '2020-01-01' AND '2020-12-31') AND cc.indicador_capacitacion="S"

select cc.nombre dependencia,cc.cebe,cc.ceco,cc.foto,m.nombre marca,c.nombre ciudad
from centro_costo cc
inner join ciudad c on c.codigo_dane=cc.ciudad_codigo_dane
inner join marca m on m.id=cc.marca_id
inner join capacitacion_dependencia cd on cd.centro_costo_codigo=cc.codigo
inner join capacitacion capa on capa.id=cd.capacitacion_id
where codigo IN( '3118-3', '2629', '4804', '2541', '4810', '2536', '2599', '2534', '2634', '4800', '2551', '2670', '2533', '2647', '2661', '2535', '2538', '2660', '2280', '2539', '2665', '1939', '1146', '1136', '3118-10', '6252', '6836', '6833', '6817', '6819', '2357', '2041', '2362', '2363', '2364', '2044', '2370', '2265', '2385', '2257', '4161', '4175', '2636', '2496', '2739', '2735', '4163', '2748', '2354', '2259', '4033', '2172', '4041', '2371', '2047', '2263', '2262', '2366', '2369', '4030', '4036', '2250', '2250-2', '2367', '2368', '2258', '2043', '2264', '2171', '2068', '4022', '2266', '5118-1', '5112-2', '2783', '2462', '2746', '2688', '2374', '2460', '4521', '2715', '4522', '2510', '2461', '2489', '4520', '2611', '2454', '2488', '4706', '4515', '4516', '5237', '5246', '5239')
and indicador_capacitacion="S"
and indicador_gestion="S"
and indicador_semestre="S"
and indicador_visita="S"
and estado="A"
and capa.usuario="adalberto peluffo"
and (capa.fecha_capacitacion BETWEEN '2020-01-01' AND '2020-12-31');

/*Actualizar la información de la empresa de una dependencia*/
insert into empresa_dependencia (`codigo_dependencia`,`nit_empresa`) VALUES
('1050','890932539'),
('1055','890932539'),

/*Eliminar registros repetidos*/
DELETE t1 FROM prefacturas_aprobadas t1
INNER JOIN prefacturas_aprobadas t2 
WHERE t1.id_h > t2.id_h AND t1.estado_pedido = t2.estado_pedido and t1.usuario=t2.usuario and t1.id=t2.id; 



select dp.nombre_factura,dp.mes,dp.ano, cc.nombre dependencia, dp.empresa nit, em.nombre empresa_seg, dp.estado,
      (
          CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN

                  CONCAT("-", "", pd.ftes)
              ELSE  pd.ftes
              

          END
              
      )ftes,
      (
          CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN

                  CONCAT("-", "", pd.valor_mes)
              ELSE  pd.valor_mes
              

          END
              
      )valor_total_mes, dp.numero_factura,dp.fecha_factura,
      (
      CASE
      WHEN SUBSTRING(cc.ceco,1,1) =3 THEN 533505001 
      

      ELSE  523505001
      END

    )cuenta_contable,cc.ceco,dp.ciudad,m.nombre marca,pu.nombre puesto,
    pd.cantidad_servicios,pd.horas,pd.lunes,pd.martes,pd.miercoles,pd.jueves,pd.viernes,pd.sabado,pd.domingo,pd.festivo,pd.tipo_servicio,pd.hora_inicio,pd.hora_fin,pd.total_dias,
      (
          CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN

                  CONCAT("-", "", pd.ftes_diurno)
              ELSE  pd.ftes_diurno
              

          END
              
      )ftes_diurno,
      (
          CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN

                  CONCAT("-", "", pd.ftes_nocturno)
              ELSE  pd.ftes_nocturno
              

          END
              
      )ftes_nocturno,
      pd.explicacion,

          (
              CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN
                  
                  CONCAT("-", "", ((pd.ftes_diurno*pd.valor_mes)/pd.ftes) )

              ELSE  ((pd.ftes_diurno*pd.valor_mes)/pd.ftes)
              END


          )valor_serv_diurno,
          (
              CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN
                  
                  CONCAT("-", "", ((pd.ftes_nocturno*pd.valor_mes)/pd.ftes) )

              ELSE  ((pd.ftes_nocturno*pd.valor_mes)/pd.ftes)
              END


          )valor_serv_nocturno,
    pd.tipo,dp.regional,pd.id as id_disp,CONCAT(serv.nombre,"-", ds.descripcion) as servicio_disp,CAST(null AS CHAR) as id_admin_dep
    from prefactura_dispositivo pd
    inner Join prefactura_fija dp on pd.id_prefactura_fija=dp.id
    inner Join centro_costo cc on dp.centro_costo_codigo=cc.codigo
    inner Join marca m on cc.marca_id=m.id
    inner Join empresa em on dp.empresa=em.nit
    inner Join puesto pu on pd.puesto_id=pu.id
    left Join detalle_servicio ds on pd.detalle_servicio_id=ds.id
    left Join servicio serv on ds.servicio_id=serv.id
    where dp.estado="cerrado" and dp.ano='2020' and pd.tipo IN ('fijo','variable')

    UNION

    select CAST(null AS CHAR) as nombre_factura, adminsuper.mes,adminsuper.ano,cc.nombre dependencia,adminsuper.empresa nit,em.nombre empresa_seg,adminsuper.estado, da.ftes_dependencia as ftes, da.precio_dependencia as valor_mes,adminsuper.numero_factura,adminsuper.fecha_factura,(
      CASE
      WHEN SUBSTRING(cc.ceco,1,1) =3 THEN 533505001 
      

      ELSE  523505001
      END

    )cuenta_contable,cc.ceco,c.nombre as ciudad,m.nombre as marca, da.descripcion as puesto,da.cantidad as cantidad_servicios,da.horas,da.lunes,da.martes,da.miercoles,da.jueves,da.viernes,da.sabado,da.domingo,da.festivo,CAST(null AS CHAR) as tipo_servicio,da.hora_inicio,da.hora_fin,da.dias as total_dias,
    da.ftes_diurno_dep as ftes_diurno,
    da.ftes_nocturno_dep as ftes_nocturno,
    CAST(null AS CHAR) as explicacion,
    ((da.ftes_diurno_dep*da.precio_dependencia)/da.ftes_dependencia) as valor_serv_diurno,
    ((da.ftes_nocturno_dep*da.precio_dependencia)/da.ftes_dependencia) as valor_serv_nocturno,CAST("Administracion y supervision" AS CHAR) as tipo,
    (
    select zona.nombre  from centro_costo cc
    inner join ciudad_zona cz on cc.ciudad_codigo_dane=cz.ciudad_codigo_dane
    inner join zona on  cz.zona_id=zona.id
    WHERE cc.codigo=ad.centro_costos_codigo limit 1
    ) regional,da.id as id_disp,CAST(null AS CHAR) as servicio_disp,ad.id id_admin_dep
    from admin_supervision adminsuper
    inner Join admin_dependencia ad on adminsuper.id=ad.id_admin
    inner Join admin_dispositivo da on adminsuper.id=da.id_admin
    left Join centro_costo cc on ad.centro_costos_codigo=cc.codigo
    left Join marca m on cc.marca_id=m.id
    left Join ciudad c on cc.ciudad_codigo_dane=c.codigo_dane
    left Join empresa em on adminsuper.empresa=em.nit
    where adminsuper.estado="cerrado" and adminsuper.ano like '%2020%' and ( (SELECT CAST('admin' AS CHAR) as tipo) IN ('fijo','variable') )


select dp.nombre_factura,dp.mes,dp.ano, cc.nombre dependencia, dp.empresa nit, em.nombre empresa_seg,
      (
          CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN

                  CONCAT("-", "", pd.ftes)
              ELSE  pd.ftes
              

          END
              
      )ftes,
      (
          CASE 

              WHEN  pd.tipo_servicio="No Prestado" THEN

                  CONCAT("-", "", pd.valor_mes)
              ELSE  pd.valor_mes
              

          END
              
      )valor_total_mes, dp.numero_factura,
      (
      CASE
      WHEN SUBSTRING(cc.ceco,1,1) =3 THEN 533505001 
      

      ELSE  523505001
      END

    )cuenta_contable,cc.ceco,dp.ciudad,m.nombre marca,
    pd.cantidad_servicios,pd.horas,pd.total_dias,
    pd.tipo,dp.regional,pd.id as id_disp
    from prefactura_dispositivo pd
    inner Join prefactura_fija dp on pd.id_prefactura_fija=dp.id
    inner Join centro_costo cc on dp.centro_costo_codigo=cc.codigo
    inner Join marca m on cc.marca_id=m.id
    inner Join empresa em on dp.empresa=em.nit
    inner Join puesto pu on pd.puesto_id=pu.id
    left Join detalle_servicio ds on pd.detalle_servicio_id=ds.id
    left Join servicio serv on ds.servicio_id=serv.id
    where dp.estado="cerrado" and dp.ano='2020' and pd.tipo IN ('fijo','variable')

    UNION

    select CAST(null AS CHAR) as nombre_factura, adminsuper.mes,adminsuper.ano,cc.nombre dependencia,adminsuper.empresa nit,em.nombre empresa_seg, da.ftes_dependencia as ftes, da.precio_dependencia as valor_mes,adminsuper.numero_factura,(
      CASE
      WHEN SUBSTRING(cc.ceco,1,1) =3 THEN 533505001 
      

      ELSE  523505001
      END

    )cuenta_contable,cc.ceco,c.nombre as ciudad,m.nombre as marca,da.cantidad as cantidad_servicios,da.horas,da.dias as total_dias,
    CAST("Administracion y supervision" AS CHAR) as tipo,
    (
    select zona.nombre  from centro_costo cc
    inner join ciudad_zona cz on cc.ciudad_codigo_dane=cz.ciudad_codigo_dane
    inner join zona on  cz.zona_id=zona.id
    WHERE cc.codigo=ad.centro_costos_codigo limit 1
    ) regional,da.id as id_disp
    from admin_supervision adminsuper
    inner Join admin_dependencia ad on adminsuper.id=ad.id_admin
    inner Join admin_dispositivo da on adminsuper.id=da.id_admin
    left Join centro_costo cc on ad.centro_costos_codigo=cc.codigo
    left Join marca m on cc.marca_id=m.id
    left Join ciudad c on cc.ciudad_codigo_dane=c.codigo_dane
    left Join empresa em on adminsuper.empresa=em.nit
    where adminsuper.estado="cerrado" and adminsuper.ano like '%2020%' and ( (SELECT CAST('admin' AS CHAR) as tipo) IN ('fijo','variable') ) ORDER BY nombre_factura, id_disp DESC

/*Query Prefacturas Fijas Abiertas*/
SELECT pf.id, pf.mes, pf.ano, pf.estado, cc.nombre Dependencia, e.nombre NombreEmpresa, pf.numero_factura, pf.regional, pf.marca
FROM prefactura_fija pf inner JOIN centro_costo cc on cc.codigo=pf.centro_costo_codigo
INNER JOIN empresa e on e.nit=pf.empresa
WHERE pf.estado='abierto' and pf.ano='2021' and pf.mes IN ('01','02','03','04','05')

/*Query Prefacturas Admin y Supervisión Abiertas*/
select admin.id, admin.mes, admin.ano, admin.estado, cc.nombre Dependencia, e.nombre NombreEmpresa, admin.numero_factura,z.nombre Regional, m.nombre Marca
from admin_supervision admin inner JOIN admin_dependencia ad on ad.id_admin=admin.id
inner JOIN centro_costo cc on cc.codigo=ad.centro_costos_codigo
inner join empresa e on e.nit=admin.empresa
INNER JOIN ciudad on ciudad.codigo_dane=cc.ciudad_codigo_dane
INNER JOIN marca m on m.id=cc.marca_id
inner JOIN ciudad_zona cz on cz.ciudad_codigo_dane=ciudad.codigo_dane
inner JOIN zona z on z.id=cz.zona_id
WHERE admin.estado='abierto' and admin.ano='2021' and admin.mes IN ('01','02','03','04','05') GROUP by admin.id;

/*Query Dependencias*/
SELECT cc.codigo Codigo,cc.nombre Nombre,cc.direccion Direccion, m.nombre Marca, c.nombre Ciudad, z.nombre Regional, cc.estado Estado FROM centro_costo cc INNER JOIN ciudad c on c.codigo_dane=cc.ciudad_codigo_dane INNER JOIN marca m on m.id=cc.marca_id INNER JOIN ciudad_zona cz on cz.ciudad_codigo_dane=cc.ciudad_codigo_dane INNER JOIN zona z on z.id=cz.zona_id where cc.estado='A' GROUP by cc.codigo

/*Query prefacturas abiertas con total*/
SELECT
	admin_supervision.id, 
	admin_supervision.mes, 
	admin_supervision.ano, 
	admin_supervision.usuario, 
	admin_supervision.numero_factura, 
	admin_supervision.fecha_factura, 
	admin_supervision.ftes, 
	SUM(admin_dispositivo.precio_total) AS Total, 
	admin_dispositivo.descripcion, 
	admin_supervision.empresa, 
	admin_supervision.regional, 
	admin_supervision.estado
FROM
	admin_supervision
	INNER JOIN
	admin_dispositivo
	ON 
		admin_supervision.id = admin_dispositivo.id_admin
WHERE
	estado_pedido = 'Z' AND
	month(created) BETWEEN 06 AND 09 AND
	year(created) = 2021
GROUP BY
	admin_supervision.id