-- =============================================================================
-- graficos_dashboard — LÍNEA BASE del catálogo del Dashboard V1
-- Base: asercolg_po (conexión `mysql`)
-- Volcado: 2026-09-11 · 25 filas
-- Ver specs/Dashboard.MD y specs/SPEC_Dashboard_V2.MD §7.1
-- =============================================================================
--
-- PARA QUÉ SIRVE ESTE ARCHIVO
--
-- La V2 NO ejecuta este SQL: sustituye el intérprete por consultas en código
-- (SPEC_Dashboard_V2.MD §5.1). Este volcado es el punto fijo contra el cual
-- comparar cifra por cifra en la prueba de paridad V1 vs V2 (§11 · prueba 1),
-- y el respaldo si hubiera que revertir.
--
-- NO es un script para ejecutar. Es el estado del catálogo tal como estaba
-- antes de empezar la V2. Los marcadores ?fechaInicial, ?fechaFinal y
-- ?idImportador se sustituían por str_replace(), no por binding: esa es la
-- vulnerabilidad D-01, parcheada en ConImportadorValidado.php.
--
-- RESUMEN
--
--   Total: 25 · activos: 21 · inactivos: 4
--
--   1   column I  [activo]   Modo de Transporte Importaciones
--   2   pie    I  [activo]   Porcentaje Modo de Transporte Importaciones ( Marítimo, Terrestre, Aéreo)
--   3   column I  [activo]   Cantidad Tamaño Unidad de Carga Importaciones
--   4   pie    I  [activo]   Porcentaje Tamaño Unidad de Carga Importaciones
--   5   bar    E  [activo]   Volumen por Aduanas Exportaciones
--   6   pie    E  [activo]   Volumen por Aduanas Anual Exportaciones
--   7   map    E  [activo]   Exportaciones x Paises Destinatario
--   8   pie    E  [activo]   Volumen Modo de Transporte Exportaciones ( Marítimo, Terrestre, Aéreo)
--   9   column I  [activo]   Tipos de Carga Importaciones Maritimo
--   10  pie    I  [activo]   Porcentaje Tipos de Carga Importaciones Maritimo
--   11  column I  [activo]   Tipos Declaracion de Importacion
--   12  bar    E  [activo]   Cantidad Tipo de Carga Expo
--   13  column E  [activo]   Cantidad Tamaño Unidad de Carga Expo
--   14  pie    I  [activo]   Porcentaje Declaracion de Importacion Anual
--   16  bar    I  [activo]   Volumen por Aduanas Importaciones
--   17  pie    I  [activo]   Porcentaje por Aduanas Anual Importaciones
--   26  pie    I  [inactivo] impo Cargos por Almacenaje demoras por sucursal
--   27  bar    I  [inactivo] Volumen por Mes Importaciones
--   28  pie    E  [inactivo] Expo Cargos por Almacenajes
--   35  pie    E  [activo]   Porcentaje Participación de líneas navieras por número de contenedores Expo
--   36  pie    I  [activo]   Porcentaje Agente Transportador por número de contenedores Impo
--   37  pie    I  [inactivo] Pedidos por Proveedores
--   38  map    I  [activo]   Importaciones x Pais Origen
--   49  bar    I  [activo]   Tipo de Selectividad por declaración de Importación
--   50  pie    I  [activo]   Porcentaje Tipo de Selectividad
--
-- =============================================================================


-- =============================================================================
-- id 1 · imp_volumen_medio_trans
-- tipo: column · proceso: I · conexión: websimex · estado: 1
-- título: Modo de Transporte Importaciones
-- subtítulo: Volumen x Medio de Transporte
-- título eje: Modo Transporte
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
mt.NOMBRE_MEDIO_TRANS AS NAME,
COUNT(distinct(edo.NUMERO_DO)) AS  DATA

FROM estados_do 		edo
LEFT JOIN importadores		imp	ON imp.ID_IMPORTADOR		 = edo.ID_IMPORTADOR
LEFT JOIN importaciones		i	ON i.NUMERO_DO			 = edo.NUMERO_DO
-- LEFT JOIN unidades_carga	uc	ON edo.NUMERO_DO		 = uc.NUMERO_DO
LEFT join documentos_trasporte 	dt 	on dt.NUMERO_DO			 = edo.NUMERO_DO
-- LEFT JOIN tamanos_contenedores 	tc  	ON tc.`CODIGO_TAMANO_CONTENEDOR` = uc.`TAMANO`
LEFT JOIN medios_trasporte      mt      ON mt.codigo_medio_trans         = dt.codigo_medio_trans
LEFT JOIN reportes.procesos     pr 	ON pr.idproceso              	 = edo.subtipo_do

WHERE edo.ANULADO='N' AND edo.tipo_regimen ='I'
AND imp.ID_IMPORTADOR IN (?idImportador) 
AND i.FECHA_LEVANTE IS not NULL 
-- AND i.FECHA_RETIRO_TOTAL IS not NULL
-- AND uc.CARGA_EN_CONTENEDOR IS NOT NULL --  es necesario cuando hay unidad de carga
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY mt.NOMBRE_MEDIO_TRANS;

-- --- detalle (columna `sql_detalle`) ---
SELECT imp.NOMBRE_IMPORTADOR AS IMPORTADOR,
edo.NUMERO_DO,
edo.NUMERO_PEDIDO,
edo.CODIGO_SUCURSAL_OP AS SUCURSAL_OPERATIVA,
date(edo.FECHA_APERTURA) AS FECHA_APERTURA,
date(i.FECHA_LEVANTE) AS FECHA_LEVANTE,  
mt.NOMBRE_MEDIO_TRANS AS MEDIO_TRANSPORTE,
pr.nombrecorto AS PROCESO

FROM estados_do 		edo
LEFT JOIN importadores		imp	ON imp.ID_IMPORTADOR		 = edo.ID_IMPORTADOR
LEFT JOIN importaciones		i	ON i.NUMERO_DO			 = edo.NUMERO_DO
LEFT join documentos_trasporte 	dt 	on dt.NUMERO_DO			 = edo.NUMERO_DO
LEFT JOIN medios_trasporte      mt      ON mt.codigo_medio_trans         = dt.codigo_medio_trans
LEFT JOIN reportes.procesos     pr 	ON pr.idproceso              	 = edo.subtipo_do

WHERE edo.ANULADO='N' AND edo.tipo_regimen ='I'
AND imp.ID_IMPORTADOR IN  (?idImportador) 
AND i.FECHA_LEVANTE IS not NULL 
and date(i.FECHA_LEVANTE) BETWEEN  ?fechaInicial AND ?fechaFinal
ORDER BY mt.NOMBRE_MEDIO_TRANS , DATE(i.FECHA_LEVANTE)


-- =============================================================================
-- id 2 · imp_porcentaje_medio_trans
-- tipo: pie · proceso: I · conexión: websimex · estado: 1
-- título: Porcentaje Modo de Transporte Importaciones ( Marítimo, Terrestre, Aéreo)
-- subtítulo: Porcentaje x Medio de Transporte
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
mt.NOMBRE_MEDIO_TRANS AS NAME,
COUNT(distinct(edo.NUMERO_DO)) AS  DATA

FROM estados_do 		edo
LEFT JOIN importadores		imp	ON imp.ID_IMPORTADOR		 = edo.ID_IMPORTADOR
LEFT JOIN importaciones		i	ON i.NUMERO_DO			 = edo.NUMERO_DO
-- LEFT JOIN unidades_carga	uc	ON edo.NUMERO_DO		 = uc.NUMERO_DO
LEFT join documentos_trasporte 	dt 	on dt.NUMERO_DO			 = edo.NUMERO_DO
-- LEFT JOIN tamanos_contenedores 	tc  	ON tc.`CODIGO_TAMANO_CONTENEDOR` = uc.`TAMANO`
LEFT JOIN medios_trasporte      mt      ON mt.codigo_medio_trans         = dt.codigo_medio_trans
LEFT JOIN reportes.procesos     pr 	ON pr.idproceso              	 = edo.subtipo_do

WHERE edo.ANULADO='N' AND edo.tipo_regimen ='I'
AND imp.ID_IMPORTADOR IN (?idImportador) 
AND i.FECHA_LEVANTE IS not NULL 
-- AND i.FECHA_RETIRO_TOTAL IS not NULL
-- AND uc.CARGA_EN_CONTENEDOR IS NOT NULL --  es necesario cuando hay unidad de carga
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY mt.NOMBRE_MEDIO_TRANS;

-- --- detalle (columna `sql_detalle`) ---
SELECT imp.NOMBRE_IMPORTADOR AS IMPORTADOR,
edo.NUMERO_DO,
edo.NUMERO_PEDIDO,
edo.CODIGO_SUCURSAL_OP AS SUCURSAL_OPERATIVA,
date(edo.FECHA_APERTURA) AS FECHA_APERTURA,
date(i.FECHA_LEVANTE) AS FECHA_LEVANTE,  
mt.NOMBRE_MEDIO_TRANS AS MEDIO_TRANSPORTE,
pr.nombrecorto AS PROCESO

FROM estados_do 		edo
LEFT JOIN importadores		imp	ON imp.ID_IMPORTADOR		 = edo.ID_IMPORTADOR
LEFT JOIN importaciones		i	ON i.NUMERO_DO			 = edo.NUMERO_DO
LEFT join documentos_trasporte 	dt 	on dt.NUMERO_DO			 = edo.NUMERO_DO
LEFT JOIN medios_trasporte      mt      ON mt.codigo_medio_trans         = dt.codigo_medio_trans
LEFT JOIN reportes.procesos     pr 	ON pr.idproceso              	 = edo.subtipo_do

WHERE edo.ANULADO='N' AND edo.tipo_regimen ='I'
AND imp.ID_IMPORTADOR IN  (?idImportador) 
AND i.FECHA_LEVANTE IS not NULL 
and date(i.FECHA_LEVANTE) BETWEEN  ?fechaInicial AND ?fechaFinal
ORDER BY mt.NOMBRE_MEDIO_TRANS , DATE(i.FECHA_LEVANTE)


-- =============================================================================
-- id 3 · imp_cantidad_unidad_carga
-- tipo: column · proceso: I · conexión: websimex · estado: 1
-- título: Cantidad Tamaño Unidad de Carga Importaciones
-- subtítulo: Unidades de Carga Arribadas con Levante
-- título eje: Unidades de Carga
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
-- etc.NOMBRE_TIPO_CARGA AS NAME,
if(tc.NOMBRE_TAMANO_CONTENEDOR IS NULL, 'Suelta', tc.NOMBRE_TAMANO_CONTENEDOR) AS NAME,
COUNT(*) AS DATA
FROM estados_do edo 
INNER JOIN importadores         imp  ON edo.ID_IMPORTADOR               = imp.ID_IMPORTADOR
INNER JOIN importaciones 	i    ON i.NUMERO_DO 			= edo.NUMERO_DO
INNER join unidades_carga       uc   ON edo.NUMERO_DO			= uc.NUMERO_DO
INNER JOIN ex_tipos_cargas      etc  ON etc.CODIGO_TIPO_CARGA           = uc.CARGA_EN_CONTENEDOR
LEFT JOIN depositos		de   ON de.CODIGO_DEPOSITO		= i.CODIGO_LUGAR_ARRIBO_DEPOSITO
LEFT JOIN depositos		dep  ON dep.CODIGO_DEPOSITO		= i.CODIGO_DEPOSITO
LEFT JOIN administraciones	ad   ON ad.CODIGO_ADMINISTRACION	= i.CODIGO_ADMINISTRACION
LEFT JOIN lugares_ingreso      li   ON li.CODIGO_LUGAR_INGRESO         = i.CODIGO_LUGAR_INGRESO
LEFT JOIN tamanos_contenedores  tc   ON tc.CODIGO_TAMANO_CONTENEDOR     = uc.TAMANO
WHERE edo.ANULADO='N' 
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
AND etc.CODIGO_TIPO_CARGA = 2
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
AND tc.NOMBRE_TAMANO_CONTENEDOR IS NOT NULL 
GROUP BY MONTHNAME(i.FECHA_LEVANTE), tc.NOMBRE_TAMANO_CONTENEDOR 
ORDER BY date(i.FECHA_LEVANTE)

-- --- detalle (columna `sql_detalle`) ---
SELECT imp.NOMBRE_IMPORTADOR AS IMPORTADOR,
DATE(i.FECHA_LEVANTE) AS FECHA_LEVANTE,
edo.NUMERO_DO,
edo.NUMERO_PEDIDO,
etc.NOMBRE_TIPO_CARGA AS TIPO_CARGA,
 uc.NUMERO_ID_CONTENEDOR,
 tc.NOMBRE_TAMANO_CONTENEDOR as 'TAMAÑO CONTENEDOR',
 li.NOMBRE_LUGAR_INGRESO AS 'LUGAR INGRESO'
FROM estados_do edo 
INNER JOIN importadores         imp ON edo.ID_IMPORTADOR              = imp.ID_IMPORTADOR
INNER JOIN importaciones        i   ON i.NUMERO_DO 		      = edo.NUMERO_DO
INNER join unidades_carga       uc  ON edo.NUMERO_DO	              = uc.NUMERO_DO
INNER JOIN ex_tipos_cargas      etc ON etc.CODIGO_TIPO_CARGA          = uc.CARGA_EN_CONTENEDOR
LEFT JOIN depositos	        de  ON de.CODIGO_DEPOSITO	      = i.CODIGO_LUGAR_ARRIBO_DEPOSITO
LEFT JOIN depositos	        dep ON dep.CODIGO_DEPOSITO	      = i.CODIGO_DEPOSITO
LEFT JOIN administraciones     ad  ON ad.CODIGO_ADMINISTRACION       = i.CODIGO_ADMINISTRACION
LEFT JOIN lugares_ingreso      li  ON li.CODIGO_LUGAR_INGRESO        = i.CODIGO_LUGAR_INGRESO
LEFT JOIN tamanos_contenedores 	tc  ON tc.CODIGO_TAMANO_CONTENEDOR    = uc.TAMANO


WHERE edo.ANULADO='N' 
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
AND etc.CODIGO_TIPO_CARGA = 2
AND tc.NOMBRE_TAMANO_CONTENEDOR IS NOT NULL 
ORDER BY date(i.FECHA_LEVANTE)


-- =============================================================================
-- id 4 · imp_cantidad_unidad_carga_anual
-- tipo: pie · proceso: I · conexión: websimex · estado: 1
-- título: Porcentaje Tamaño Unidad de Carga Importaciones
-- subtítulo: Total Tamaños de Carga
-- título eje: Unidades de Carga
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
-- etc.NOMBRE_TIPO_CARGA AS NAME,
if(tc.NOMBRE_TAMANO_CONTENEDOR IS NULL, 'Suelta', tc.NOMBRE_TAMANO_CONTENEDOR) AS NAME,
COUNT(*) AS DATA
FROM estados_do edo 
INNER JOIN importadores         imp  ON edo.ID_IMPORTADOR               = imp.ID_IMPORTADOR
INNER JOIN importaciones 	i    ON i.NUMERO_DO 			= edo.NUMERO_DO
INNER join unidades_carga       uc   ON edo.NUMERO_DO			= uc.NUMERO_DO
INNER JOIN ex_tipos_cargas      etc  ON etc.CODIGO_TIPO_CARGA           = uc.CARGA_EN_CONTENEDOR
LEFT JOIN depositos		de   ON de.CODIGO_DEPOSITO		= i.CODIGO_LUGAR_ARRIBO_DEPOSITO
LEFT JOIN depositos		dep  ON dep.CODIGO_DEPOSITO		= i.CODIGO_DEPOSITO
LEFT JOIN administraciones	ad   ON ad.CODIGO_ADMINISTRACION	= i.CODIGO_ADMINISTRACION
LEFT JOIN lugares_ingreso      li   ON li.CODIGO_LUGAR_INGRESO         = i.CODIGO_LUGAR_INGRESO
LEFT JOIN tamanos_contenedores  tc   ON tc.CODIGO_TAMANO_CONTENEDOR     = uc.TAMANO
WHERE edo.ANULADO='N' 
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
AND etc.NOMBRE_TIPO_CARGA ='Contenedorizada'
AND tc.NOMBRE_TAMANO_CONTENEDOR IS NOT NULL 
GROUP BY MONTHNAME(i.FECHA_LEVANTE), tc.NOMBRE_TAMANO_CONTENEDOR -- etc.NOMBRE_TIPO_CARGA
ORDER BY date(i.FECHA_LEVANTE)

-- (sin sql_detalle)


-- =============================================================================
-- id 5 · imp_volumen_aduana_expo
-- tipo: bar · proceso: E · conexión: websimex · estado: 1
-- título: Volumen por Aduanas Exportaciones
-- subtítulo: Operaciones de Exportación realizadas por Aduana Suc Comercial
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(e.FECHA_ZARPE) AS CATEGORIA,
s.NOMBRE_SUCURSAL AS NAME,
COUNT(*) AS DATA
FROM estados_do edo
INNER JOIN importadores        imp      ON edo.ID_IMPORTADOR  = imp.ID_IMPORTADOR
INNER JOIN exportaciones       e        ON edo.NUMERO_DO      = e.NUMERO_DO
LEFT JOIN sucursales	       s        ON s.CODIGO_SUCURSAL  = edo.CODIGO_SUCURSAL_CO
-- INNER JOIN documentos_transportes_expos     dt     ON edo.NUMERO_DO                = dt.NUMERO_DO
-- INNER JOIN medios_trasporte            mt        ON dt.CODIGO_MEDIO_TRANS     = mt.CODIGO_MEDIO_TRANS
WHERE edo.ANULADO = 'N' AND edo.tipo_regimen='E'
AND edo.ID_IMPORTADOR IN (?idImportador) 
and date(e.FECHA_ZARPE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY MONTHNAME(e.FECHA_ZARPE), edo.CODIGO_SUCURSAL_CO
ORDER BY date(e.FECHA_ZARPE)

-- --- detalle (columna `sql_detalle`) ---
SELECT edo.NUMERO_DO,
date(e.FECHA_ZARPE) AS FECHA_ZARPE,
s.NOMBRE_SUCURSAL AS SUCURSAL,
edo.NUMERO_DOCUMENTO_TRANSPORTE,
ad.NOMBRE_ADMINISTRACION AS ADUANA

FROM estados_do edo
INNER JOIN importadores                imp      ON edo.ID_IMPORTADOR         = imp.ID_IMPORTADOR
INNER JOIN exportaciones               e        ON edo.NUMERO_DO             = e.NUMERO_DO
LEFT JOIN sucursales	               s        ON s.CODIGO_SUCURSAL         = edo.CODIGO_SUCURSAL_CO
LEFT JOIN documentos_transportes_expos dte      ON dte.NUMERO_DO             = edo.NUMERO_DO
left JOIN ex_administraciones          ad       ON ad.CODIGO_ADMINISTRACION  = dte.CODIGO_ADMINISTRACION
WHERE edo.ANULADO = 'N' 
AND edo.tipo_regimen='E'
AND edo.ID_IMPORTADOR IN   (?idImportador) 
and date(e.FECHA_ZARPE) BETWEEN  ?fechaInicial AND ?fechaFinal
ORDER BY date(e.FECHA_ZARPE)


-- =============================================================================
-- id 6 · imp_volumen_aduana_expo_anual
-- tipo: pie · proceso: E · conexión: websimex · estado: 1
-- título: Volumen por Aduanas Anual Exportaciones
-- subtítulo: Operaciones de Exportación realizadas por Aduana
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(e.FECHA_ZARPE) AS CATEGORIA,
-- edo.CODIGO_SUCURSAL_CO AS NAME,
s.NOMBRE_SUCURSAL AS NAME,
COUNT(*) AS DATA
FROM estados_do edo
INNER JOIN importadores         imp      ON edo.ID_IMPORTADOR            = imp.ID_IMPORTADOR
INNER JOIN exportaciones        e        ON edo.NUMERO_DO                = e.NUMERO_DO
LEFT JOIN sucursales		s        ON s.CODIGO_SUCURSAL            = edo.CODIGO_SUCURSAL_CO
-- INNER JOIN documentos_transportes_expos     dt     ON edo.NUMERO_DO                = dt.NUMERO_DO
-- INNER JOIN medios_trasporte            mt        ON dt.CODIGO_MEDIO_TRANS     = mt.CODIGO_MEDIO_TRANS
WHERE edo.ANULADO = 'N' 
AND edo.ID_IMPORTADOR IN (?idImportador) 
and date(e.FECHA_ZARPE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY MONTHNAME(e.FECHA_ZARPE), edo.CODIGO_SUCURSAL_CO
ORDER BY date(e.FECHA_ZARPE)

-- (sin sql_detalle)


-- =============================================================================
-- id 7 · exp_pais_expo
-- tipo: map · proceso: E · conexión: websimex · estado: 1
-- título: Exportaciones x Paises Destinatario
-- subtítulo: Paises donde se han exportado
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT  
-- expai.NOMBRE_PAIS  AS country,
-- expai.CODIGO_PAIS AS country_code,
if(expai.NOMBRE_PAIS IS NULL,expa.NOMBRE_PAIS,expai.NOMBRE_PAIS) AS country,
if(expai.CODIGO_PAIS  IS null, dte.CODIGO_PAIS, expai.CODIGO_PAIS) AS country_code,
COUNT(distinct(edo.NUMERO_DO)) AS total
FROM exportaciones expo
LEFT JOIN estados_do 				edo 	ON edo.NUMERO_DO		    =expo.NUMERO_DO
LEFT JOIN ex_solicitudes_aut_embarques 	        exsae 	ON exsae.NUMERO_DO		    =expo.NUMERO_DO
LEFT JOIN ex_paises 				expai 	ON expai.CODIGO_PAIS		    =exsae.CODIGO_PAIS_DESTINATARIO
LEFT JOIN importadores 				imp 	ON imp.ID_IMPORTADOr		    =edo.ID_IMPORTADOR
LEFT JOIN cl_dex 				cd 	ON cd.NUMERO_DEX		    =exsae.NUMERO_DEX
LEFT JOIN reportes.procesos 			pr 	ON pr.idproceso			    =edo.SUBTIPO_DO
LEFT JOIN ex_docs_soportes_grales               exdsg	ON exdsg.ID_SOLICITUD_AUT_EMBARQUE  =exsae.ID_SOLICITUD_AUT_EMBARQUE 

LEFT JOIN documentos_transportes_expos          dte 	ON dte.NUMERO_DO		    =expo.NUMERO_DO
LEFT JOIN medios_trasporte			mt      ON mt.CODIGO_MEDIO_TRANS            =dte.CODIGO_MODO_TRANSPORTE
LEFT JOIN ex_paises 				expa 	ON expa.CODIGO_PAIS		    =dte.CODIGO_PAIS

WHERE edo.tipo_regimen ='E' AND edo.subtipo_do <> '' AND edo.ANULADO='N'
AND imp.ID_IMPORTADOR  IN (?idImportador) 
AND if(expai.NOMBRE_PAIS IS NULL,expa.NOMBRE_PAIS,expai.NOMBRE_PAIS) IS NOT NULL 
AND expo.FECHA_ZARPE BETWEEN  ?fechaInicial AND ?fechaFinal
GROUP BY if(expai.NOMBRE_PAIS IS NULL,expa.NOMBRE_PAIS,expai.NOMBRE_PAIS);

-- --- detalle (columna `sql_detalle`) ---
SELECT
distinct(edo.NUMERO_DO) AS NUMERO_DO,
expo.FECHA_ZARPE,
-- expai.NOMBRE_PAIS  AS PAIS, exsae.CIUDAD_DESTINATARIO,
if(expai.NOMBRE_PAIS IS NULL,expa.NOMBRE_PAIS,expai.NOMBRE_PAIS)   AS PAIS_DESTINO,
if(dte.LUGAR_RECIBO  IS null, exsae.CIUDAD_DESTINATARIO, dte.LUGAR_RECIBO) AS CIUDAD_DESTINO,
-- CONCAT("'",exsae.ID_DOCUMENTO_MUISCA,"'")AS NUMERO_SAE,
-- exsae.CODIGO_INCOTERM, 
mt.NOMBRE_MEDIO_TRANS,
expo.FECHA_DEX

FROM exportaciones expo
LEFT JOIN estados_do 				edo 	ON edo.NUMERO_DO			=expo.NUMERO_DO
LEFT JOIN ex_solicitudes_aut_embarques 	        exsae 	ON exsae.NUMERO_DO			=expo.NUMERO_DO
LEFT JOIN ex_paises 				expai 	ON expai.CODIGO_PAIS			=exsae.CODIGO_PAIS_DESTINATARIO
LEFT JOIN importadores 				imp 	ON imp.ID_IMPORTADOr			=edo.ID_IMPORTADOR
LEFT JOIN cl_dex 				cd 	ON cd.NUMERO_DEX			=exsae.NUMERO_DEX
LEFT JOIN reportes.procesos 			pr 	ON pr.idproceso				=edo.SUBTIPO_DO
LEFT JOIN ex_docs_soportes_grales               exdsg	ON exdsg.ID_SOLICITUD_AUT_EMBARQUE	=exsae.ID_SOLICITUD_AUT_EMBARQUE 
LEFT JOIN documentos_transportes_expos 	        dte 	ON dte.NUMERO_DO			=expo.NUMERO_DO
LEFT JOIN medios_trasporte			mt      ON mt.CODIGO_MEDIO_TRANS                =dte.CODIGO_MODO_TRANSPORTE
LEFT JOIN ex_paises 				expa 	ON expa.CODIGO_PAIS			=dte.CODIGO_PAIS

WHERE edo.tipo_regimen ='E' AND edo.subtipo_do <> '' AND edo.ANULADO='N'
AND imp.ID_IMPORTADOR  IN  (?idImportador) 
AND if(expai.NOMBRE_PAIS IS NULL,expa.NOMBRE_PAIS,expai.NOMBRE_PAIS) IS NOT NULL 
AND expo.FECHA_ZARPE BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY edo.NUMERO_DO, if(expai.NOMBRE_PAIS IS NULL,expa.NOMBRE_PAIS,expai.NOMBRE_PAIS)
ORDER BY if(expai.NOMBRE_PAIS IS NULL,expa.NOMBRE_PAIS,expai.NOMBRE_PAIS), expo.FECHA_ZARPE


-- =============================================================================
-- id 8 · exp_volumen_medio_trans
-- tipo: pie · proceso: E · conexión: websimex · estado: 1
-- título: Volumen Modo de Transporte Exportaciones ( Marítimo, Terrestre, Aéreo)
-- subtítulo: Volumen x Medio de Transporte
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT  
MONTHNAME(expo.FECHA_ZARPE) AS CATEGORIA,
mt.NOMBRE_MEDIO_TRANS AS NAME,
COUNT(distinct(edo.NUMERO_DO)) AS  DATA
FROM exportaciones expo
LEFT JOIN estados_do 				edo 	ON edo.NUMERO_DO				= expo.NUMERO_DO
-- LEFT JOIN ex_solicitudes_aut_embarques 	        exsae 	ON exsae.NUMERO_DO				= expo.NUMERO_DO
 LEFT JOIN documentos_transportes_expos 	dtex 	ON dtex.NUMERO_DO				= expo.NUMERO_DO
-- LEFT JOIN ex_lugares_embar_arrib_inales 	exlugin ON exlugin.CODIGO_LUGAR_EMBAR_ARRIB_INAL	= exsae.CODIGO_LUGAR_DESTINO
-- LEFT JOIN ex_paises 				expai 	ON expai.CODIGO_PAIS				= exsae.CODIGO_PAIS_DESTINO_FINAL
LEFT JOIN importadores 				imp 	ON imp.ID_IMPORTADOr				= edo.ID_IMPORTADOR
-- LEFT JOIN facturas_exportaciones 		fe 	ON fe.NUMERO_DO					= expo.NUMERO_DO
-- LEFT JOIN cl_dex 				cd 	ON cd.NUMERO_DEX				= exsae.NUMERO_DEX
 LEFT JOIN reportes.procesos 			pr 	ON pr.idproceso					= edo.SUBTIPO_DO
-- LEFT JOIN ex_docs_soportes_grales               exdsg	ON exdsg.ID_SOLICITUD_AUT_EMBARQUE		= exsae.ID_SOLICITUD_AUT_EMBARQUE 
-- LEFT JOIN ex_doc_soportes_vistos_buenos	exdsvb	ON exdsvb.CODIGO_DOC_SOPORTE_VB 		= exdsg.COD_TIPO_DOCUMENTO
-- LEFT JOIN ex_monedas				em	ON em.CODIGO_MONEDA				= cd.CODIGO_MONEDA_TRANSACCION
 LEFT JOIN medios_trasporte 			mt	ON mt.CODIGO_MEDIO_TRANS 			= dtex.CODIGO_MODO_TRANSPORTE

WHERE edo.tipo_regimen ='E' AND edo.subtipo_do <> '' AND edo.ANULADO='N'
AND imp.ID_IMPORTADOR  IN (?idImportador) 
AND dtex.CODIGO_MODO_TRANSPORTE IS NOT NULL 
AND expo.FECHA_ZARPE IS NOT null
AND expo.FECHA_ZARPE BETWEEN  ?fechaInicial AND ?fechaFinal
GROUP BY  mt.NOMBRE_MEDIO_TRANS;

-- (sin sql_detalle)


-- =============================================================================
-- id 9 · imp_tipo_unidad_de_carga
-- tipo: column · proceso: I · conexión: websimex · estado: 1
-- título: Tipos de Carga Importaciones Maritimo
-- subtítulo: Contenerizada, Suelta y Granel
-- título eje: Unidades de Carga
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
-- etc.NOMBRE_TIPO_CARGA AS NAME,
 if(te.CODIGO_TIPO_EQUIPO=6,'Isotanque',etc.NOMBRE_TIPO_CARGA) AS NAME,
COUNT(*) AS DATA
FROM estados_do edo 
INNER JOIN importadores         imp  ON edo.ID_IMPORTADOR               = imp.ID_IMPORTADOR
INNER JOIN importaciones 	i    ON i.NUMERO_DO 			= edo.NUMERO_DO
INNER join unidades_carga       uc   ON edo.NUMERO_DO			= uc.NUMERO_DO
LEFT join documentos_trasporte 	dt 	on dt.NUMERO_DO			 = edo.NUMERO_DO
INNER JOIN ex_tipos_cargas      etc  ON etc.CODIGO_TIPO_CARGA           = uc.CARGA_EN_CONTENEDOR
LEFT JOIN depositos		de   ON de.CODIGO_DEPOSITO		= i.CODIGO_LUGAR_ARRIBO_DEPOSITO
LEFT JOIN depositos		dep  ON dep.CODIGO_DEPOSITO		= i.CODIGO_DEPOSITO
LEFT JOIN administraciones	ad   ON ad.CODIGO_ADMINISTRACION	= i.CODIGO_ADMINISTRACION
LEFT JOIN lugares_ingreso      li   ON li.CODIGO_LUGAR_INGRESO         = i.CODIGO_LUGAR_INGRESO
LEFT JOIN tamanos_contenedores  tc   ON tc.CODIGO_TAMANO_CONTENEDOR     = uc.TAMANO
LEFT JOIN medios_trasporte	mt   ON mt.CODIGO_MEDIO_TRANS           = dt.codigo_medio_trans
LEFT JOIN tipos_equipos         te 	ON te.CODIGO_TIPO_EQUIPO 	= uc.CODIGO_TIPO_EQUIPO


WHERE edo.ANULADO='N' 
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal 
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
and mt.CODIGO_MEDIO_TRANS = 1
GROUP BY MONTHNAME(i.FECHA_LEVANTE), if(te.CODIGO_TIPO_EQUIPO=6,'Isotanque',etc.NOMBRE_TIPO_CARGA) -- etc.NOMBRE_TIPO_CARGA
ORDER BY date(i.FECHA_LEVANTE)

-- --- detalle (columna `sql_detalle`) ---
SELECT 
date(i.FECHA_LEVANTE) AS FECHA_LEVANTE,
edo.NUMERO_DO,
edo.NUMERO_PEDIDO,
-- etc.NOMBRE_TIPO_CARGA AS TIPO_CARGA,
if(te.CODIGO_TIPO_EQUIPO=6,'Isotanque',etc.NOMBRE_TIPO_CARGA) AS TIPO_CARGA,
 uc.NUMERO_ID_CONTENEDOR,
 tc.NOMBRE_TAMANO_CONTENEDOR as 'TAMAÑO CONTENEDOR',
 li.NOMBRE_LUGAR_INGRESO AS 'LUGAR INGRESO',
  mt.NOMBRE_MEDIO_TRANS
FROM estados_do edo 
INNER JOIN importadores         imp ON edo.ID_IMPORTADOR              = imp.ID_IMPORTADOR
INNER JOIN importaciones        i   ON i.NUMERO_DO 		      = edo.NUMERO_DO
INNER join unidades_carga       uc  ON edo.NUMERO_DO	              = uc.NUMERO_DO
LEFT join documentos_trasporte 	dt  on dt.NUMERO_DO		      = edo.NUMERO_DO
INNER JOIN ex_tipos_cargas      etc ON etc.CODIGO_TIPO_CARGA          = uc.CARGA_EN_CONTENEDOR
LEFT JOIN depositos	        de  ON de.CODIGO_DEPOSITO	      = i.CODIGO_LUGAR_ARRIBO_DEPOSITO
LEFT JOIN depositos	        dep ON dep.CODIGO_DEPOSITO	      = i.CODIGO_DEPOSITO
LEFT JOIN administraciones      ad  ON ad.CODIGO_ADMINISTRACION       = i.CODIGO_ADMINISTRACION
LEFT JOIN lugares_ingreso       li  ON li.CODIGO_LUGAR_INGRESO        = i.CODIGO_LUGAR_INGRESO
LEFT JOIN tamanos_contenedores 	tc  ON tc.CODIGO_TAMANO_CONTENEDOR    = uc.TAMANO
LEFT JOIN medios_trasporte	mt  ON mt.CODIGO_MEDIO_TRANS          = dt.codigo_medio_trans
LEFT JOIN tipos_equipos         te  ON te.CODIGO_TIPO_EQUIPO 	      = uc.CODIGO_TIPO_EQUIPO

WHERE edo.ANULADO='N' 
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal 
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
and mt.CODIGO_MEDIO_TRANS = 1
ORDER BY date(i.FECHA_LEVANTE), edo.NUMERO_DO, if(te.CODIGO_TIPO_EQUIPO=6,'Isotanque',etc.NOMBRE_TIPO_CARGA) -- etc.NOMBRE_TIPO_CARGA


-- =============================================================================
-- id 10 · imp_porcentaje_tipo_de_carga
-- tipo: pie · proceso: I · conexión: websimex · estado: 1
-- título: Porcentaje Tipos de Carga Importaciones Maritimo
-- subtítulo: Contenerizada, Suelta y Granel
-- título eje: Tipos de Carga
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
-- etc.NOMBRE_TIPO_CARGA AS NAME,
 if(te.CODIGO_TIPO_EQUIPO=6,'Isotanque',etc.NOMBRE_TIPO_CARGA) AS NAME,
COUNT(*) AS DATA
FROM estados_do edo 
INNER JOIN importadores         imp  ON edo.ID_IMPORTADOR               = imp.ID_IMPORTADOR
INNER JOIN importaciones 	i    ON i.NUMERO_DO 			= edo.NUMERO_DO
INNER join unidades_carga       uc   ON edo.NUMERO_DO			= uc.NUMERO_DO
LEFT join documentos_trasporte 	dt   on dt.NUMERO_DO			= edo.NUMERO_DO
INNER JOIN ex_tipos_cargas      etc  ON etc.CODIGO_TIPO_CARGA           = uc.CARGA_EN_CONTENEDOR
LEFT JOIN depositos		de   ON de.CODIGO_DEPOSITO		= i.CODIGO_LUGAR_ARRIBO_DEPOSITO
LEFT JOIN depositos		dep  ON dep.CODIGO_DEPOSITO		= i.CODIGO_DEPOSITO
LEFT JOIN administraciones	ad   ON ad.CODIGO_ADMINISTRACION	= i.CODIGO_ADMINISTRACION
LEFT JOIN lugares_ingreso       li   ON li.CODIGO_LUGAR_INGRESO         = i.CODIGO_LUGAR_INGRESO
LEFT JOIN tamanos_contenedores  tc   ON tc.CODIGO_TAMANO_CONTENEDOR     = uc.TAMANO
LEFT JOIN medios_trasporte	mt   ON mt.CODIGO_MEDIO_TRANS           = dt.codigo_medio_trans
LEFT JOIN tipos_equipos         te   ON te.CODIGO_TIPO_EQUIPO 		= uc.CODIGO_TIPO_EQUIPO

WHERE edo.ANULADO='N' 
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal 
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
and mt.CODIGO_MEDIO_TRANS = 1
GROUP BY MONTHNAME(i.FECHA_LEVANTE), if(te.CODIGO_TIPO_EQUIPO=6,'Isotanque',etc.NOMBRE_TIPO_CARGA) --   etc.NOMBRE_TIPO_CARGA
ORDER BY date(i.FECHA_LEVANTE)

-- (sin sql_detalle)


-- =============================================================================
-- id 11 · imp_dec_impo_declaración
-- tipo: column · proceso: I · conexión: websimex · estado: 1
-- título: Tipos Declaracion de Importacion
-- subtítulo: Declaraciones de Importacion Anticipadas e Iniciales
-- título eje: Declaraciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
 MONTHNAME(fdis.FECHA_LEVANTE) AS CATEGORIA,
td.NOMBRE_TIPO_DECLARACION AS NAME,
 COUNT(*) AS DATA
FROM formularios_dis         fdis   
LEFT JOIN  estados_do edo          ON fdis.NUMERO_DO               = edo.NUMERO_DO
LEFT JOIN importaciones           i       ON i.NUMERO_DO                  = edo.NUMERO_DO
LEFT JOIN importadores             imp        ON imp.ID_IMPORTADOR            = edo.ID_IMPORTADOR
LEFT JOIN tipos_declaracion        td      ON td.CODIGO_TIPO_DECLARACION    = fdis.CODIGO_TIPO_DECLARACION 
WHERE edo.ANULADO='N'  and edo.ID_IMPORTADOR IN (?idImportador)
AND (td.NOMBRE_TIPO_DECLARACION IS NOT NULL )
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
 GROUP BY MONTHNAME(fdis.FECHA_LEVANTE),td.NOMBRE_TIPO_DECLARACION
ORDER BY date(fdis.FECHA_LEVANTE)

-- --- detalle (columna `sql_detalle`) ---
SELECT edo.NUMERO_DO, edo.NUMERO_PEDIDO,
 DATE(fdis.FECHA_LEVANTE) AS FECHA_LEVANTE,
td.NOMBRE_TIPO_DECLARACION AS TIPO_DECLARACION,
fdis.NUMERO_ACEPTACION 

FROM formularios_dis         fdis   
LEFT JOIN  estados_do edo          ON fdis.NUMERO_DO               = edo.NUMERO_DO
LEFT JOIN importaciones           i       ON i.NUMERO_DO                  = edo.NUMERO_DO
LEFT JOIN importadores             imp        ON imp.ID_IMPORTADOR            = edo.ID_IMPORTADOR
LEFT JOIN tipos_declaracion        td      ON td.CODIGO_TIPO_DECLARACION    = fdis.CODIGO_TIPO_DECLARACION 
WHERE edo.ANULADO='N'  and edo.ID_IMPORTADOR IN (?idImportador)
AND (td.NOMBRE_TIPO_DECLARACION IS NOT NULL )
and date(fdis.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
ORDER BY date(fdis.FECHA_LEVANTE), edo.NUMERO_DO


-- =============================================================================
-- id 12 · exp_numero_unidad_carga
-- tipo: bar · proceso: E · conexión: websimex · estado: 1
-- título: Cantidad Tipo de Carga Expo
-- subtítulo: Unidades de Carga Zarpada
-- título eje: Unidades de Carga
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(expo.FECHA_ZARPE) AS CATEGORIA,
etc.NOMBRE_TIPO_CARGA              AS NAME,
-- COUNT(*) AS DATA
COUNT(DISTINCT(uc.ID_UNIDAD_CARGA)) AS DATA

FROM  estados_do            		edo    
LEFT JOIN exportaciones     		expo    ON expo.NUMERO_DO                     = edo.NUMERO_DO
LEFT JOIN documentos_transportes_expos  dte     ON dte.NUMERO_DO                      = expo.NUMERO_DO
LEFT JOIN importadores      		imp     ON imp.ID_IMPORTADOR                  = edo.ID_IMPORTADOR
LEFT JOIN documentos_trasporte     	dt      ON dt.numero_do                       = edo.numero_do
LEFT JOIN reportes.procesos      	pr      ON pr.idproceso                       = edo.SUBTIPO_DO  
LEFT JOIN unidades_carga        	uc      ON uc.NUMERO_DO                       = edo.NUMERO_DO
LEFT JOIN comex.tipos_equipos           te      ON te.CODIGO_TIPO_EQUIPO              = uc.CODIGO_TIPO_EQUIPO
LEFT JOIN comex.tipos_unidades_carga    tuc     ON tuc.CODIGO_TIPO_UNIDAD_CARGA       = uc.CODIGO_TIPO_UNIDAD_CARGA
 LEFT JOIN ex_solicitudes_aut_embarques exsae   ON exsae.NUMERO_DO                    = expo.NUMERO_DO
LEFT join sucursales       		s       ON s.CODIGO_SUCURSAL                  = edo.CODIGO_SUCURSAL_OP
-- LEFT JOIN tamanos_contenedores       tc      ON tc.CODIGO_TAMANO_CONTENEDOR        = uc.TAMANO
LEFT JOIN comex.ex_tipos_cargas         etc     ON etc.CODIGO_TIPO_CARGA              = uc.CARGA_EN_CONTENEDOR
INNER JOIN contenedores_resumidos	cr      ON cr.NUMERO_DO		              = edo.NUMERO_DO 
LEFT JOIN tamanos_contenedores          tc      ON tc.CODIGO_TAMANO_CONTENEDOR        = cr.CODIGO_TAMANO_CONTENEDOR
WHERE edo.ANULADO='N' 
AND edo.tipo_regimen IN ('E','O') 
AND pr.`nombre` IS NOT NULL 
AND imp.ID_IMPORTADOR in  (?idImportador) 
AND expo.FECHA_ZARPE BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY MONTH(expo.FECHA_ZARPE), etc.NOMBRE_TIPO_CARGA
ORDER BY  date(expo.FECHA_ZARPE), edo.NUMERO_DO

-- --- detalle (columna `sql_detalle`) ---
SELECT edo.numero_do                   AS 'DO', 
DATE(expo.FECHA_ZARPE) AS FECHA_ZARPE,
imp.NOMBRE_IMPORTADOR           AS EXPORTADOR,
etc.NOMBRE_TIPO_CARGA           AS TIPO_CARGA,
-- if(dte.TIPO_CARGA='S','Suelta','Contenedorizada')AS TIPO_CARGA,
uc.NUMERO_ID_CONTENEDOR         AS CONTENEDOR,
tc.NOMBRE_TAMANO_CONTENEDOR     AS 'TAMAÑO CONTENEDOR',
mt.NOMBRE_MEDIO_TRANS

FROM  estados_do            		  edo    
LEFT JOIN exportaciones     		  expo    ON expo.NUMERO_DO                     = edo.NUMERO_DO
LEFT JOIN documentos_transportes_expos    dte     ON dte.NUMERO_DO                      = expo.NUMERO_DO
LEFT JOIN importadores      		  imp     ON imp.ID_IMPORTADOR                  = edo.ID_IMPORTADOR
LEFT JOIN documentos_trasporte     	  dt      ON dt.numero_do                       = edo.numero_do
LEFT JOIN reportes.procesos      	  pr      ON pr.idproceso                       = edo.SUBTIPO_DO  
LEFT JOIN unidades_carga        	  uc      ON uc.NUMERO_DO                       = edo.NUMERO_DO
LEFT JOIN comex.tipos_equipos             te      ON te.CODIGO_TIPO_EQUIPO              = uc.CODIGO_TIPO_EQUIPO
LEFT JOIN comex.tipos_unidades_carga      tuc     ON tuc.CODIGO_TIPO_UNIDAD_CARGA       = uc.CODIGO_TIPO_UNIDAD_CARGA
 LEFT JOIN ex_solicitudes_aut_embarques   exsae   ON exsae.NUMERO_DO                    = expo.NUMERO_DO
LEFT join sucursales       		  s       ON s.CODIGO_SUCURSAL                  = edo.CODIGO_SUCURSAL_OP
-- LEFT JOIN tamanos_contenedores         tc      ON tc.CODIGO_TAMANO_CONTENEDOR        = uc.TAMANO
LEFT JOIN comex.ex_tipos_cargas           etc     ON etc.CODIGO_TIPO_CARGA              = uc.CARGA_EN_CONTENEDOR
INNER JOIN contenedores_resumidos	  cr      ON cr.NUMERO_DO		        = edo.NUMERO_DO 
LEFT JOIN tamanos_contenedores            tc      ON tc.CODIGO_TAMANO_CONTENEDOR        = cr.CODIGO_TAMANO_CONTENEDOR
 LEFT JOIN medios_trasporte 		  mt	  ON mt.CODIGO_MEDIO_TRANS 		= dte.CODIGO_MODO_TRANSPORTE
WHERE edo.ANULADO='N' 
AND edo.tipo_regimen IN ('E','O') 
AND pr.`nombre` IS NOT NULL 
AND imp.ID_IMPORTADOR in  (?idImportador) 
-- AND expo.FECHA_ZARPE BETWEEN '2025-01-01' AND '2025-04-04'   
AND expo.FECHA_ZARPE BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY edo.NUMERO_DO, uc.ID_UNIDAD_CARGA
ORDER BY  date(expo.FECHA_ZARPE), edo.NUMERO_DO


-- =============================================================================
-- id 13 · exp_cantidad_unidad_carga
-- tipo: column · proceso: E · conexión: websimex · estado: 1
-- título: Cantidad Tamaño Unidad de Carga Expo
-- subtítulo: Unidades de carga zarpadas
-- título eje: Unidades de Carga
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(expo.FECHA_ZARPE) AS CATEGORIA,
tc.NOMBRE_TAMANO_CONTENEDOR  AS NAME,
COUNT(distinct uc.NUMERO_ID_CONTENEDOR) AS DATA

FROM  estados_do            					edo    
LEFT JOIN exportaciones     					expo  ON expo.NUMERO_DO          = edo.NUMERO_DO
LEFT JOIN documentos_transportes_expos    dte   ON dte.NUMERO_DO          = expo.NUMERO_DO
LEFT JOIN importadores      					imp   ON imp.ID_IMPORTADOR          = edo.ID_IMPORTADOR
LEFT JOIN documentos_trasporte     			dt   ON dt.numero_do           = edo.numero_do
LEFT JOIN reportes.procesos      			pr   ON pr.idproceso            = edo.SUBTIPO_DO  
LEFT JOIN unidades_carga        				uc  ON uc.NUMERO_DO             = edo.NUMERO_DO
LEFT JOIN comex.tipos_equipos             te      ON te.CODIGO_TIPO_EQUIPO              = uc.CODIGO_TIPO_EQUIPO
LEFT JOIN comex.tipos_unidades_carga      tuc     ON tuc.CODIGO_TIPO_UNIDAD_CARGA       = uc.CODIGO_TIPO_UNIDAD_CARGA
 LEFT JOIN ex_solicitudes_aut_embarques    exsae   ON exsae.NUMERO_DO          = expo.NUMERO_DO
LEFT join sucursales       					s   ON s.CODIGO_SUCURSAL          = edo.CODIGO_SUCURSAL_OP
LEFT JOIN tamanos_contenedores     tc  ON tc.CODIGO_TAMANO_CONTENEDOR        = uc.TAMANO
LEFT JOIN comex.ex_tipos_cargas         etc     ON etc.CODIGO_TIPO_CARGA              = uc.CARGA_EN_CONTENEDOR
WHERE edo.ANULADO='N' 
AND edo.tipo_regimen IN ('E','O') 
AND pr.`nombre` IS NOT NULL 
AND imp.ID_IMPORTADOR in (?idImportador) 
AND expo.FECHA_ZARPE BETWEEN ?fechaInicial AND ?fechaFinal
AND tc.NOMBRE_TAMANO_CONTENEDOR IS NOT NULL
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
GROUP BY MONTH(expo.FECHA_ZARPE),tc.NOMBRE_TAMANO_CONTENEDOR
ORDER BY  date(expo.FECHA_ZARPE), edo.NUMERO_DO

-- --- detalle (columna `sql_detalle`) ---
SELECT 
DATE(expo.FECHA_ZARPE) AS FECHA_ZARPE,
edo.numero_do                 AS 'DO',
edo.NUMERO_PEDIDO              AS PED, 
tc.NOMBRE_TAMANO_CONTENEDOR  AS TAMAÑÓ,
-- if(tc.NOMBRE_TAMANO_CONTENEDOR IS NULL, 'Suelta', tc.NOMBRE_TAMANO_CONTENEDOR)      AS TAMAÑÓ,
uc.NUMERO_ID_CONTENEDOR          AS CONTENEDOR


FROM  estados_do            		  edo    
LEFT JOIN exportaciones     		  expo    ON expo.NUMERO_DO                     = edo.NUMERO_DO
LEFT JOIN documentos_transportes_expos    dte     ON dte.NUMERO_DO                      = expo.NUMERO_DO
LEFT JOIN importadores      		  imp     ON imp.ID_IMPORTADOR                  = edo.ID_IMPORTADOR
LEFT JOIN documentos_trasporte     	  dt      ON dt.numero_do                       = edo.numero_do
LEFT JOIN reportes.procesos      	  pr      ON pr.idproceso                       = edo.SUBTIPO_DO  
LEFT JOIN unidades_carga        	  uc      ON uc.NUMERO_DO                       = edo.NUMERO_DO
LEFT JOIN comex.tipos_equipos             te      ON te.CODIGO_TIPO_EQUIPO              = uc.CODIGO_TIPO_EQUIPO
LEFT JOIN comex.tipos_unidades_carga      tuc     ON tuc.CODIGO_TIPO_UNIDAD_CARGA       = uc.CODIGO_TIPO_UNIDAD_CARGA
LEFT JOIN ex_solicitudes_aut_embarques    exsae   ON exsae.NUMERO_DO                    = expo.NUMERO_DO
LEFT join sucursales       		  s       ON s.CODIGO_SUCURSAL                  = edo.CODIGO_SUCURSAL_OP
LEFT JOIN tamanos_contenedores            tc      ON tc.CODIGO_TAMANO_CONTENEDOR        = uc.TAMANO
LEFT JOIN comex.ex_tipos_cargas           etc     ON etc.CODIGO_TIPO_CARGA              = uc.CARGA_EN_CONTENEDOR
WHERE edo.ANULADO='N' 
AND edo.tipo_regimen IN ('E','O') 
AND pr.`nombre` IS NOT NULL 
AND imp.ID_IMPORTADOR in (?idImportador) 
AND expo.FECHA_ZARPE BETWEEN ?fechaInicial AND ?fechaFinal
AND uc.CARGA_EN_CONTENEDOR IS NOT NULL
AND tc.NOMBRE_TAMANO_CONTENEDOR IS NOT NULL
GROUP BY edo.NUMERO_DO, uc.NUMERO_ID_CONTENEDOR
ORDER BY  date(expo.FECHA_ZARPE), edo.NUMERO_DO


-- =============================================================================
-- id 14 · imp_dec_impo_selectividad_anual
-- tipo: pie · proceso: I · conexión: websimex · estado: 1
-- título: Porcentaje Declaracion de Importacion Anual
-- subtítulo: Declaraciones de Importacion Anticipadas e Iniciales
-- título eje: Declaraciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
 MONTHNAME(fdis.FECHA_LEVANTE) AS CATEGORIA,
td.NOMBRE_TIPO_DECLARACION AS NAME,
 COUNT(*) AS DATA
FROM formularios_dis         fdis   
LEFT JOIN  estados_do edo          ON fdis.NUMERO_DO               = edo.NUMERO_DO
LEFT JOIN importaciones           i       ON i.NUMERO_DO                  = edo.NUMERO_DO
LEFT JOIN importadores             imp        ON imp.ID_IMPORTADOR            = edo.ID_IMPORTADOR
LEFT JOIN tipos_declaracion        td      ON td.CODIGO_TIPO_DECLARACION    = fdis.CODIGO_TIPO_DECLARACION 
WHERE edo.ANULADO='N'  and edo.ID_IMPORTADOR IN (?idImportador)
AND (td.NOMBRE_TIPO_DECLARACION IS NOT NULL )
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
 GROUP BY MONTHNAME(fdis.FECHA_LEVANTE),td.NOMBRE_TIPO_DECLARACION
ORDER BY date(fdis.FECHA_LEVANTE)

-- (sin sql_detalle)


-- =============================================================================
-- id 16 · imp_volumen_aduana
-- tipo: bar · proceso: I · conexión: websimex · estado: 1
-- título: Volumen por Aduanas Importaciones
-- subtítulo: Operaciones Aduana donde se Nacionaliza
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
ad.NOMBRE_ADMINISTRACION AS NAME,
COUNT(*) AS DATA
FROM estados_do edo
INNER JOIN importadores                imp   ON edo.ID_IMPORTADOR         = imp.ID_IMPORTADOR
INNER JOIN importaciones               i     ON edo.NUMERO_DO             = i.NUMERO_DO
INNER JOIN documentos_trasporte        dt    ON edo.NUMERO_DO             = dt.NUMERO_DO
INNER JOIN medios_trasporte            mt    ON dt.CODIGO_MEDIO_TRANS     = mt.CODIGO_MEDIO_TRANS
left JOIN administraciones             ad    ON ad.CODIGO_ADMINISTRACION  = i.CODIGO_ADMINISTRACION
LEFT JOIN sucursales		       s     ON s.CODIGO_SUCURSAL         = edo.CODIGO_SUCURSAL_CO
WHERE edo.ANULADO='N' AND edo.tipo_regimen='I'
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY MONTHNAME(i.FECHA_LEVANTE), ad.NOMBRE_ADMINISTRACION
ORDER BY date(i.FECHA_LEVANTE)

-- --- detalle (columna `sql_detalle`) ---
SELECT 
DATE(i.FECHA_LEVANTE) AS FECHA_LEVANTE,
ad.NOMBRE_ADMINISTRACION AS NAME,
edo.NUMERO_DO,
edo.NUMERO_PEDIDO,
edo.NUMERO_DOCUMENTO_TRANSPORTE as NUMERO_BL,
dt.FECHA_DOC_TRANS as FECHA_BL,
DATE(i.FECHA_LLEGADA_MCIA) as FECHA_ARRIBO,
DATE(i.FECHA_LIBERACION) as FECHA_LIBERACION,
DATE(i.FECHA_DOCS_TRANSPORTADOR) as ENTREGA_DOCUMENTOS_TRANSPORTE
FROM estados_do edo
INNER JOIN importadores                 imp     ON edo.ID_IMPORTADOR         = imp.ID_IMPORTADOR
INNER JOIN importaciones             i        ON edo.NUMERO_DO                = i.NUMERO_DO
INNER JOIN documentos_trasporte     dt     ON edo.NUMERO_DO                = dt.NUMERO_DO
INNER JOIN medios_trasporte            mt        ON dt.CODIGO_MEDIO_TRANS     = mt.CODIGO_MEDIO_TRANS
left JOIN administraciones    ad	ON ad.CODIGO_ADMINISTRACION	  = i.CODIGO_ADMINISTRACION
WHERE edo.ANULADO='N' AND edo.tipo_regimen='I'
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
ORDER BY date(i.FECHA_LEVANTE), ad.NOMBRE_ADMINISTRACION


-- =============================================================================
-- id 17 · imp_volumen_aduana_anual
-- tipo: pie · proceso: I · conexión: websimex · estado: 1
-- título: Porcentaje por Aduanas Anual Importaciones
-- subtítulo: Total Operaciones Aduana donde se Nacionaliza
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
ad.NOMBRE_ADMINISTRACION  AS NAME,
COUNT(*) AS DATA
FROM estados_do edo
INNER JOIN importadores             imp    ON edo.ID_IMPORTADOR         = imp.ID_IMPORTADOR
INNER JOIN importaciones            i      ON edo.NUMERO_DO             = i.NUMERO_DO
INNER JOIN documentos_trasporte     dt     ON edo.NUMERO_DO             = dt.NUMERO_DO
INNER JOIN medios_trasporte         mt     ON dt.CODIGO_MEDIO_TRANS     = mt.CODIGO_MEDIO_TRANS
left JOIN administraciones          ad     ON ad.CODIGO_ADMINISTRACION  = i.CODIGO_ADMINISTRACION
LEFT JOIN sucursales		    s      ON s.CODIGO_SUCURSAL         = edo.CODIGO_SUCURSAL_CO
WHERE edo.ANULADO='N' AND edo.tipo_regimen='I'
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY MONTHNAME(i.FECHA_LEVANTE), ad.NOMBRE_ADMINISTRACION
ORDER BY date(i.FECHA_LEVANTE)

-- (sin sql_detalle)


-- =============================================================================
-- id 26 · imp_demoras
-- tipo: pie · proceso: I · conexión: websimex · estado: 0
-- título: impo Cargos por Almacenaje demoras por sucursal
-- subtítulo: Total de Demoras Importaciones
-- título eje: Demoras
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
 MONTHNAME(imp.FECHA_LEVANTE) AS CATEGORIA ,
edo.CODIGO_SUCURSAL_OP AS NAME , 
 sum(md.VALOR) AS  DATA
-- count(*) DATA

FROM movimientos_dos 		 md
left JOIN estados_do		 edo 	ON edo.NUMERO_DO 	   = md.NUMERO_DO
LEFT JOIN importaciones		 imp	ON imp.NUMERO_DO	   = edo.NUMERO_DO
INNER JOIN conceptos_gtos_ings 	 cgi 	ON cgi.ID_CONCEPTO_GTO_ING = md.ID_CONCEPTO_GTO_ING 
left JOIN importadores  	 I 	ON I.ID_IMPORTADOR 	   = edo.ID_IMPORTADOR 
left JOIN terceros 		 T 	ON T.ID_TERCERO  	   = edo.ID_TERCERO 
left JOIN sucursales 		 su	ON su.CODIGO_SUCURSAL	   = edo.CODIGO_SUCURSAL_OP
LEFT JOIN facturas_ventas_gastos fvg	ON fvg.ID_MOVIMIENTO_DO	   = md.ID_MOVIMIENTO_DO
LEFT JOIN facturas_ventas	 fv	ON fv.ID_FACTURA_VENTA	   = fvg.ID_FACTURA_VENTA
LEFT JOIN procesos		 pr	ON pr.idproceso		   = edo.SUBTIPO_DO
WHERE edo.ANULADO = 'N' AND edo.tipo_regimen='I'
and I.ID_IMPORTADOR IN (?idImportador)
AND imp.FECHA_LEVANTE IS NOT NULL
AND date(imp.FECHA_LEVANTE) BETWEEN  ?fechaInicial AND ?fechaFinal
AND cgi.ID_CONCEPTO_GTO_ING IN (481,183,185,182,896)
-- AND SALDO,md.VALOR > 0
AND md.CODIGO_CUENTA LIKE '1380%'
AND md.TIPO_DOCUMENTO NOT IN ('NR')
 GROUP BY  MONTHNAME(imp.FECHA_LEVANTE), edo.CODIGO_SUCURSAL_OP
-- GROUP BY edo.CODIGO_SUCURSAL_OP
-- HAVING sum(md.VALOR) > 0
ORDER BY  date(imp.FECHA_LEVANTE)

-- (sin sql_detalle)


-- =============================================================================
-- id 27 · imp_volumen_aduana_mes
-- tipo: bar · proceso: I · conexión: websimex · estado: 0
-- título: Volumen por Mes Importaciones
-- subtítulo: Operaciones Aduana donde se Nacionaliza
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
ad.NOMBRE_ADMINISTRACION AS NAME,
COUNT(*) AS DATA
FROM estados_do edo
INNER JOIN importadores                imp   ON edo.ID_IMPORTADOR         = imp.ID_IMPORTADOR
INNER JOIN importaciones               i     ON edo.NUMERO_DO             = i.NUMERO_DO
INNER JOIN documentos_trasporte        dt    ON edo.NUMERO_DO             = dt.NUMERO_DO
INNER JOIN medios_trasporte            mt    ON dt.CODIGO_MEDIO_TRANS     = mt.CODIGO_MEDIO_TRANS
left JOIN administraciones             ad    ON ad.CODIGO_ADMINISTRACION  = i.CODIGO_ADMINISTRACION
LEFT JOIN sucursales		       s     ON s.CODIGO_SUCURSAL         = edo.CODIGO_SUCURSAL_CO
WHERE edo.ANULADO='N'
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY MONTHNAME(i.FECHA_LEVANTE), ad.NOMBRE_ADMINISTRACION
ORDER BY date(i.FECHA_LEVANTE)

-- --- detalle (columna `sql_detalle`) ---
SELECT 
DATE(i.FECHA_LEVANTE) AS FECHA_LEVANTE,
ad.NOMBRE_ADMINISTRACION AS NAME,
edo.NUMERO_DO,
edo.NUMERO_PEDIDO,
edo.NUMERO_DOCUMENTO_TRANSPORTE as NUMERO_BL,
dt.FECHA_DOC_TRANS as FECHA_BL,
i.FECHA_LLEGADA_MCIA as FECHA_ARRIBO,
i.FECHA_LIBERACION as FECHA_LIBERACION,
i.FECHA_DOCS_TRANSPORTADOR as ENTREGA_DOCUMENTOS_TRANSPORTE
FROM estados_do edo
INNER JOIN importadores                 imp     ON edo.ID_IMPORTADOR         = imp.ID_IMPORTADOR
INNER JOIN importaciones             i        ON edo.NUMERO_DO                = i.NUMERO_DO
INNER JOIN documentos_trasporte     dt     ON edo.NUMERO_DO                = dt.NUMERO_DO
INNER JOIN medios_trasporte            mt        ON dt.CODIGO_MEDIO_TRANS     = mt.CODIGO_MEDIO_TRANS
left JOIN administraciones    ad	ON ad.CODIGO_ADMINISTRACION	  = i.CODIGO_ADMINISTRACION
WHERE edo.ANULADO='N'
and edo.ID_IMPORTADOR IN (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
ORDER BY date(i.FECHA_LEVANTE), ad.NOMBRE_ADMINISTRACION


-- =============================================================================
-- id 28 · ex_cargos_almacenajes
-- tipo: pie · proceso: E · conexión: websimex · estado: 0
-- título: Expo Cargos por Almacenajes
-- subtítulo: Valor de demoras y almacenajes
-- título eje: Demoras
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
 (SELECT   expo.FECHA_ZARPE
	FROM estados_do edos 
	LEFT JOIN exportaciones 		expo	ON expo.NUMERO_DO	= edos.NUMERO_DO
	LEFT JOIN unidades_carga   	 	uc		ON uc.NUMERO_DO		 	  = edos.NUMERO_DO
	LEFT JOIN comex.ex_tipos_cargas etc   ON etc.CODIGO_TIPO_CARGA  = uc.CARGA_EN_CONTENEDOR
	WHERE edos.ANULADO = 'N' AND edo.tipo_regimen='E'
 AND edos.NUMERO_DO = edo.NUMERO_DO
 GROUP BY edo.NUMERO_DO LIMIT 1) AS CATEGORIA,
-- su.NOMBRE_SUCURSAL 	AS NAME,
 sc.NOMBRE_SUCURSAL AS NAME,
sum(md.VALOR) AS DATA


FROM movimientos_dos 		        md
left JOIN estados_do		        edo 	ON edo.NUMERO_DO 	   = md.NUMERO_DO
left JOIN conceptos_gtos_ings 	        cgi 	ON cgi.ID_CONCEPTO_GTO_ING = md.ID_CONCEPTO_GTO_ING 
left JOIN importadores  	        I 	ON I.ID_IMPORTADOR 	   = edo.ID_IMPORTADOR 
left JOIN terceros 		        T 	ON T.ID_TERCERO  	   = edo.ID_TERCERO 
left JOIN sucursales 		        su	ON su.CODIGO_SUCURSAL	   = edo.CODIGO_SUCURSAL_OP
LEFT JOIN sucursales			sc	ON sc.CODIGO_SUCURSAL	   = edo.CODIGO_SUCURSAL_CO
LEFT JOIN facturas_ventas_gastos        fvg	ON fvg.ID_MOVIMIENTO_DO	   = md.ID_MOVIMIENTO_DO
LEFT JOIN facturas_ventas	        fv	ON fv.ID_FACTURA_VENTA	   = fvg.ID_FACTURA_VENTA
INNER Join documentos_transportes_expos dte	ON md.NUMERO_DO 	   = dte.NUMERO_DO
left Join viajes_motonaves              vm	ON dte.ID_VIAJE_MOTONAVE   = vm.ID_VIAJE_MOTONAVE
LEFT JOIN depositos                     d   	ON d.CODIGO_DEPOSITO 	   = vm.CODIGO_DEPOSITO


WHERE edo.ANULADO = 'N' AND edo.tipo_regimen='E'
and I.ID_IMPORTADOR in(?idImportador)
and  (SELECT   expo.FECHA_ZARPE
	FROM estados_do edos 
	LEFT JOIN exportaciones 		expo	ON expo.NUMERO_DO	= edos.NUMERO_DO
	LEFT JOIN unidades_carga   	 	uc		ON uc.NUMERO_DO		 	  = edos.NUMERO_DO
	LEFT JOIN comex.ex_tipos_cargas etc   ON etc.CODIGO_TIPO_CARGA  = uc.CARGA_EN_CONTENEDOR
	WHERE edos.ANULADO = 'N' AND edo.tipo_regimen='E'
        AND edos.NUMERO_DO = edo.NUMERO_DO
GROUP BY edo.NUMERO_DO LIMIT 1) BETWEEN ?fechaInicial and ?fechaFinal
	  	
AND (cgi.NOMBRE_CONCEPTO LIKE 'ALMACENAMIENTO%' OR cgi.NOMBRE_CONCEPTO LIKE 'DEMORAS%')
AND md.VALOR > 0
AND md.CODIGO_CUENTA LIKE '1380%'
AND md.TIPO_DOCUMENTO NOT IN ('NR')
GROUP BY MONTHNAME((SELECT   expo.FECHA_ZARPE
	FROM estados_do edos 
	LEFT JOIN exportaciones 		expo	ON expo.NUMERO_DO	= edos.NUMERO_DO
	LEFT JOIN unidades_carga   	 	uc		ON uc.NUMERO_DO		 	  = edos.NUMERO_DO
	LEFT JOIN comex.ex_tipos_cargas etc   ON etc.CODIGO_TIPO_CARGA  = uc.CARGA_EN_CONTENEDOR
	WHERE edos.ANULADO = 'N' AND edo.tipo_regimen='E'
        AND edos.NUMERO_DO = edo.NUMERO_DO
GROUP BY edo.NUMERO_DO LIMIT 1)),edo.CODIGO_SUCURSAL_CO

-- (sin sql_detalle)


-- =============================================================================
-- id 35 · exp_cant_contenedores_por_navieras
-- tipo: pie · proceso: E · conexión: websimex · estado: 1
-- título: Porcentaje Participación de líneas navieras por número de contenedores Expo
-- subtítulo: Porcentaje de Contenedores por navieras
-- título eje: Cantidad Contenedores x Naviera
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(expo.FECHA_ZARPE) AS CATEGORIA,  
lt1.NOMBRE_LINEA_TRANSPORTADOR  AS NAME,   
-- COUNT(DISTINCT edo.NUMERO_DO) as DATA  
SUM(cr.CANTIDAD) AS DATA

FROM  estados_do      			edo		
LEFT JOIN exportaciones 		expo	ON expo.NUMERO_DO		      = edo.NUMERO_DO
LEFT JOIN documentos_transportes_expos 	dte 	ON dte.NUMERO_DO		      = expo.NUMERO_DO
LEFT JOIN importadores			imp 	ON imp.ID_IMPORTADOR		      = edo.ID_IMPORTADOR
LEFT JOIN reportes.procesos 	 	pr 	ON pr.idproceso			      = edo.SUBTIPO_DO	
INNER  JOIN contenedores_resumidos	cr      ON cr.NUMERO_DO		              = edo.NUMERO_DO 
LEFT JOIN comex.tipos_unidades_carga    tuc     ON tuc.CODIGO_TIPO_UNIDAD_CARGA       = cr.CODIGO_TIPO_UNIDAD_CARGA
INNER JOIN tamanos_contenedores 	tc	ON tc.CODIGO_TAMANO_CONTENEDOR        = cr.CODIGO_TAMANO_CONTENEDOR 
INNER JOIN viajes_motonaves		vm   	ON dte.ID_VIAJE_MOTONAVE	      = vm.ID_VIAJE_MOTONAVE
INNER JOIN lineas_transportadores 	lt1	ON lt1.ID_LINEA_TRANSPORTADOR         = vm.ID_LINEA_TRANSPORTADOR

WHERE edo.ANULADO='N' 
AND edo.tipo_regimen IN ('E','O')
AND pr.`nombre` IS NOT NULL 
AND imp.ID_IMPORTADOR IN (?idImportador) 
AND expo.FECHA_ZARPE BETWEEN ?fechaInicial AND ?fechaFinal 
AND tuc.NOMBRE_TIPO_UNIDAD_CARGA ='CONTENEDOR'
GROUP BY MONTHNAME(expo.FECHA_ZARPE),lt1.NOMBRE_LINEA_TRANSPORTADOR
ORDER BY date(expo.FECHA_ZARPE), lt1.NOMBRE_LINEA_TRANSPORTADOR, tc.NOMBRE_TAMANO_CONTENEDOR

-- --- detalle (columna `sql_detalle`) ---
SELECT -- imp.NOMBRE_IMPORTADOR,
 edo.NUMERO_DO as NUMERO_DO, 
DATE(expo.FECHA_ZARPE) AS FECHA_ZARPE,  
lt1.NOMBRE_LINEA_TRANSPORTADOR  AS NOMBRE_LINEA_TRANSPORTADOR,
 tc.NOMBRE_TAMANO_CONTENEDOR AS TAMA_CONTENEDOR,
-- cr.CODIGO_TAMANO_CONTENEDOR,
 cr.CANTIDAD  
-- SUM(cr.CANTIDAD) AS DATA

FROM  estados_do      			edo		
LEFT JOIN exportaciones 		expo	ON expo.NUMERO_DO		      = edo.NUMERO_DO
LEFT JOIN documentos_transportes_expos 	dte 	ON dte.NUMERO_DO		      = expo.NUMERO_DO
LEFT JOIN importadores			imp 	ON imp.ID_IMPORTADOR		      = edo.ID_IMPORTADOR
LEFT JOIN reportes.procesos 	 	pr 	ON pr.idproceso			      = edo.SUBTIPO_DO	
INNER  JOIN contenedores_resumidos	cr      ON cr.NUMERO_DO		              = edo.NUMERO_DO 
LEFT JOIN comex.tipos_unidades_carga    tuc     ON tuc.CODIGO_TIPO_UNIDAD_CARGA       = cr.CODIGO_TIPO_UNIDAD_CARGA
INNER JOIN tamanos_contenedores 	tc	ON tc.CODIGO_TAMANO_CONTENEDOR        = cr.CODIGO_TAMANO_CONTENEDOR 
INNER JOIN viajes_motonaves		vm   	ON dte.ID_VIAJE_MOTONAVE	      = vm.ID_VIAJE_MOTONAVE
INNER JOIN lineas_transportadores 	lt1	ON lt1.ID_LINEA_TRANSPORTADOR         = vm.ID_LINEA_TRANSPORTADOR

WHERE edo.ANULADO='N' 
AND edo.tipo_regimen IN ('E','O')
AND pr.`nombre` IS NOT NULL 
AND imp.ID_IMPORTADOR IN (?idImportador)  
 AND expo.FECHA_ZARPE BETWEEN ?fechaInicial AND ?fechaFinal 
AND tuc.NOMBRE_TIPO_UNIDAD_CARGA ='CONTENEDOR'


-- =============================================================================
-- id 36 · imp_can_conteneores_por_agente_transportador
-- tipo: pie · proceso: I · conexión: websimex · estado: 1
-- título: Porcentaje Agente Transportador por número de contenedores Impo
-- subtítulo: Porcentaje de Contenedor por Agentes de carga
-- título eje: Cantidad Contnedores x Agente y Transportador
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS CATEGORIA,
if(pr.NOMBRE_PROVEEDOR IS NULL,pt.NOMBRE_PROVEEDOR,pr.NOMBRE_PROVEEDOR) AS NAME,
COUNT(cr.CANTIDAD) AS DATA

FROM estados_do edo
INNER JOIN importadores         		imp 	ON edo.ID_IMPORTADOR    	= imp.ID_IMPORTADOR
INNER JOIN importaciones        		i   	ON i.NUMERO_DO 		   	= edo.NUMERO_DO
INNER JOIN unidades_carga       		uc  	ON edo.NUMERO_DO	      	= uc.NUMERO_DO
LEFT  JOIN documentos_trasporte 		dt		ON  dt.NUMERO_DO 				= edo.NUMERO_DO
INNER JOIN ex_tipos_cargas      		etc 	ON etc.CODIGO_TIPO_CARGA	= uc.CARGA_EN_CONTENEDOR
INNER JOIN contenedores_resumidos	cr    ON cr.NUMERO_DO		      = edo.NUMERO_DO
LEFT  JOIN proveedores 					pr		ON  pr.ID_PROVEEDOR 			= dt.ID_PROVEEDOR_AGENTE_CARGA
LEFT  JOIN proveedores 					pt		ON  pt.ID_PROVEEDOR 			= dt.ID_PROVEEDOR_TRANSPORTE
WHERE edo.ANULADO='N' 
 and edo.ID_IMPORTADOR IN (?idImportador) 
 and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal 
 AND if(pr.NOMBRE_PROVEEDOR IS NULL,pt.NOMBRE_PROVEEDOR,pr.NOMBRE_PROVEEDOR) IS NOT NULL
GROUP BY MONTHNAME(i.FECHA_LEVANTE),if(pr.NOMBRE_PROVEEDOR IS NULL,pt.NOMBRE_PROVEEDOR,pr.NOMBRE_PROVEEDOR)
ORDER BY date(i.FECHA_LEVANTE), if(pr.NOMBRE_PROVEEDOR IS NULL,pt.NOMBRE_PROVEEDOR,pr.NOMBRE_PROVEEDOR)

-- --- detalle (columna `sql_detalle`) ---
SELECT  edo.NUMERO_DO,
DATE(i.FECHA_LEVANTE) AS FECHA_LEVANTE,
(case 
when pr.NOMBRE_PROVEEDOR IS NOT NULL then pr.NOMBRE_PROVEEDOR
when pt.NOMBRE_PROVEEDOR IS NOT NULL then pt.NOMBRE_PROVEEDOR
when pr.NOMBRE_PROVEEDOR IS NULL then 'SIN AGENTE'
when pt.NOMBRE_PROVEEDOR IS NULL then 'SIN AGENTE'
END ) 'AGENTE/PROVEEDOR', 
uc.NUMERO_ID_CONTENEDOR

FROM estados_do edo
INNER JOIN importadores         	imp 	ON edo.ID_IMPORTADOR       = imp.ID_IMPORTADOR
INNER JOIN importaciones        	i   	ON i.NUMERO_DO 		   = edo.NUMERO_DO
INNER JOIN unidades_carga       	uc  	ON edo.NUMERO_DO	   = uc.NUMERO_DO
LEFT  JOIN documentos_trasporte 	dt	ON  dt.NUMERO_DO 	   = edo.NUMERO_DO
INNER JOIN ex_tipos_cargas      	etc 	ON etc.CODIGO_TIPO_CARGA   = uc.CARGA_EN_CONTENEDOR
INNER JOIN contenedores_resumidos	cr      ON cr.NUMERO_DO		   = edo.NUMERO_DO
LEFT  JOIN proveedores 			pr	ON  pr.ID_PROVEEDOR 	   = dt.ID_PROVEEDOR_AGENTE_CARGA
LEFT  JOIN proveedores 			pt	ON  pt.ID_PROVEEDOR 	   = dt.ID_PROVEEDOR_TRANSPORTE
WHERE edo.ANULADO='N' 
 and edo.ID_IMPORTADOR IN (?idImportador)
and date(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal 
ORDER BY MONTH(i.FECHA_LEVANTE), if(pr.NOMBRE_PROVEEDOR IS NULL,pt.NOMBRE_PROVEEDOR,pr.NOMBRE_PROVEEDOR), edo.NUMERO_DO


-- =============================================================================
-- id 37 · imp_participación_proveedores_por_pedidos
-- tipo: pie · proceso: I · conexión: websimex · estado: 0
-- título: Pedidos por Proveedores
-- subtítulo: Total de operaciones por Provedores
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
MONTHNAME(i.FECHA_LEVANTE) AS  CATEGORIA,
ex.NOMBRE_EXPORTADOR AS NAME,
COUNT(DISTINCT(edo.NUMERO_DO)) AS  DATA

FROM estados_do edo
LEFT JOIN importadores         	 imp 	ON edo.ID_IMPORTADOR    = imp.ID_IMPORTADOR
LEFT JOIN importaciones        	 i   	ON i.NUMERO_DO 		= edo.NUMERO_DO
LEFT JOIN unidades_carga       	 uc  	ON edo.NUMERO_DO	= uc.NUMERO_DO
LEFT  JOIN documentos_trasporte  dt	ON  dt.NUMERO_DO 	= edo.NUMERO_DO
INNER JOIN cabeza_facturas	 cf	ON cf.NUMERO_DO		= edo.NUMERO_DO
LEFT JOIN exportadores           ex     ON ex.ID_EXPORTADOR     = cf.ID_EXPORTADOR
WHERE edo.ANULADO='N' AND edo.tipo_regimen IN ('I')
and edo.ID_IMPORTADOR IN  (?idImportador) 
and date(i.FECHA_LEVANTE) BETWEEN  ?fechaInicial AND ?fechaFinal 
GROUP BY ex.NOMBRE_EXPORTADOR

-- (sin sql_detalle)


-- =============================================================================
-- id 38 · imp_pais_origen
-- tipo: map · proceso: I · conexión: websimex · estado: 1
-- título: Importaciones x Pais Origen
-- subtítulo: Paises Origen de Importaciones
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT 
po.NOMBRE_PAIS AS country,
po.CODIGO_SIGLOXXI AS country_code,
 COUNT(distinct(edo.NUMERO_DO)) AS total
FROM  formularios_dis fdis 
INNER join				estados_do               edo ON edo.NUMERO_DO                     = fdis.NUMERO_DO
LEFT JOIN importadores         imp   ON imp.ID_IMPORTADOR   = edo.ID_IMPORTADOR
LEFT JOIN importaciones        i     ON i.NUMERO_DO         = edo.NUMERO_DO
LEFT JOIN cabeza_facturas      cf    ON cf.NUMERO_DO        = edo.NUMERO_DO
LEFT JOIN paises               po    ON po.CODIGO_PAIS      = cf.PAIS_ORIGEN
where edo.ANULADO='N'  
 AND po.CODIGO_PAIS NOT IN (998,999,911)
AND imp.ID_IMPORTADOR IN (?idImportador)
AND DATE(i.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
GROUP BY po.CODIGO_PAIS

-- --- detalle (columna `sql_detalle`) ---
SELECT distinct(edo.NUMERO_DO) AS NUMERO_DO,
po.NOMBRE_PAIS AS PAIS_ORIGEN,
po.CODIGO_SIGLOXXI AS CODIGO_PAIS,
DATE(i.FECHA_LEVANTE) AS FECHA_LEVANTE,
mt.NOMBRE_MEDIO_TRANS,
cf.CODIGO_CONDICION_ENTREGA AS INCOTERM

FROM 	estados_do             edo 
LEFT JOIN importadores         imp   ON imp.ID_IMPORTADOR   = edo.ID_IMPORTADOR
LEFT JOIN importaciones        i     ON i.NUMERO_DO         = edo.NUMERO_DO
LEFT JOIN cabeza_facturas      cf    ON cf.NUMERO_DO        = edo.NUMERO_DO
LEFT JOIN paises               po    ON po.CODIGO_PAIS      = cf.PAIS_ORIGEN
LEFT JOIN documentos_trasporte dt    ON edo.NUMERO_DO       = dt.NUMERO_DO
LEFT JOIN medios_trasporte mt  ON    dt.CODIGO_MEDIO_TRANS  = mt.CODIGO_MEDIO_TRANS

where edo.ANULADO='N'  
 AND po.CODIGO_PAIS NOT IN (998,999,911)
AND imp.ID_IMPORTADOR IN (?idImportador)
AND DATE(i.FECHA_LEVANTE) BETWEEN  ?fechaInicial AND ?fechaFinal
ORDER BY po.CODIGO_SIGLOXXI, DATE(i.FECHA_LEVANTE)


-- =============================================================================
-- id 49 · imp_cantidad_selectividad
-- tipo: bar · proceso: I · conexión: websimex · estado: 1
-- título: Tipo de Selectividad por declaración de Importación
-- subtítulo: Volumen de Selectividad
-- título eje: Declaraciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT
MONTHNAME(fdis.FECHA_LEVANTE) AS CATEGORIA,
-- fdis.SELECTIVIDAD AS NAME,
(CASE
     when fdis.SELECTIVIDAD = 'A' then 'AUTOMATICA'
     when fdis.SELECTIVIDAD = 'F' then 'FISICA'
     when fdis.SELECTIVIDAD = 'D' then 'DOCUMENTAL'
END) AS NAME,
COUNT(*) AS DATA

FROM formularios_dis 		fdis   
LEFT JOIN  estados_do           edo  	ON fdis.NUMERO_DO       = edo.NUMERO_DO
LEFT JOIN importaciones         i       ON i.NUMERO_DO          = edo.NUMERO_DO
LEFT JOIN importadores 		imp	ON imp.ID_IMPORTADOR	= edo.ID_IMPORTADOR


WHERE edo.ANULADO='N'  AND imp.ID_IMPORTADOR IN (?idImportador)
and date(fdis.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
AND (fdis.SELECTIVIDAD IS NOT NULL and fdis.SELECTIVIDAD <> '')
GROUP BY MONTHNAME(fdis.FECHA_LEVANTE),fdis.SELECTIVIDAD
ORDER BY date(fdis.fecha_levante)

-- --- detalle (columna `sql_detalle`) ---
SELECT
DATE(fdis.FECHA_LEVANTE) AS FECHA_LEVANTE,
(CASE
     when fdis.SELECTIVIDAD = 'A' then 'AUTOMATICA'
     when fdis.SELECTIVIDAD = 'F' then 'FISICA'
     when fdis.SELECTIVIDAD = 'D' then 'DOCUMENTAL'
END) AS SELECTIVIDAD,
edo.NUMERO_DO,
edo.NUMERO_PEDIDO,
-- uc.NUMERO_ID_CONTENEDOR as CONTENEDOR,
date(fdis.FECHA_SELECTIVIDAD) AS FECHA_SELECTIVIDAD,
fdis.NUMERO_ACEPTACION


FROM formularios_dis 		fdis   
LEFT JOIN  estados_do           edo  	ON fdis.NUMERO_DO       = edo.NUMERO_DO
LEFT JOIN importaciones         i       ON i.NUMERO_DO          = edo.NUMERO_DO
LEFT JOIN importadores 		imp	ON imp.ID_IMPORTADOR	= edo.ID_IMPORTADOR
-- LEFT JOIN unidades_carga	uc	ON edo.NUMERO_DO	= uc.NUMERO_DO

WHERE edo.ANULADO='N'  AND imp.ID_IMPORTADOR IN (?idImportador)
and date(fdis.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
AND (fdis.SELECTIVIDAD IS NOT NULL and fdis.SELECTIVIDAD <> '')
ORDER BY date(fdis.fecha_levante),edo.NUMERO_DO


-- =============================================================================
-- id 50 · imp_porcentaje_selectividad
-- tipo: pie · proceso: I · conexión: websimex · estado: 1
-- título: Porcentaje Tipo de Selectividad
-- subtítulo: Total Tipo de selectividad
-- título eje: Operaciones
-- =============================================================================

-- --- agregado (columna `sql`) ---
SELECT
MONTHNAME(fdis.FECHA_LEVANTE) AS CATEGORIA,
-- fdis.SELECTIVIDAD AS NAME,
(CASE
     when fdis.SELECTIVIDAD = 'A' then 'AUTOMATICA'
     when fdis.SELECTIVIDAD = 'F' then 'FISICA'
     when fdis.SELECTIVIDAD = 'D' then 'DOCUMENTAL'
END) AS NAME,
COUNT(*) AS DATA

FROM formularios_dis 		fdis   
LEFT JOIN  estados_do           edo  	ON fdis.NUMERO_DO       = edo.NUMERO_DO
LEFT JOIN importaciones         i       ON i.NUMERO_DO          = edo.NUMERO_DO
LEFT JOIN importadores 		imp	ON imp.ID_IMPORTADOR	= edo.ID_IMPORTADOR


WHERE edo.ANULADO='N'  AND imp.ID_IMPORTADOR IN (?idImportador)
and date(fdis.FECHA_LEVANTE) BETWEEN ?fechaInicial AND ?fechaFinal
AND (fdis.SELECTIVIDAD IS NOT NULL and fdis.SELECTIVIDAD <> '')
GROUP BY MONTHNAME(fdis.FECHA_LEVANTE),fdis.SELECTIVIDAD
ORDER BY date(fdis.fecha_levante)

-- (sin sql_detalle)
