INSERT INTO ctl_aplicativo (SELECT 'frm_pro_gera_grade_produto', 'Gera Grade - Produto', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_pro_gera_grade_produto') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'frm_pro_produto_x_variacao', 'Formulario Produto x Variacao', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'frm_pro_produto_x_variacao') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'cns_pro_produto_x_variacao', 'Consulta Produto x Variacao', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_pro_produto_x_variacao') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'cns_pro_produto_variacao_item', 'Consulta Produto x Variacao - Item', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_pro_produto_variacao_item') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'cns_pro_produto_variacao', 'Consulta Produto x Variacao', 'PRO', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_pro_produto_variacao') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'aba_dashboard_resumo_tributos', 'Aba Dashboard - Resumo Tributos', 'ADM', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'aba_dashboard_resumo_tributos') IS NULL LIMIT 1); INSERT INTO ctl_aplicativo (SELECT 'cns_dashboard_tributo_apuracao_impostos_ano_mes', 'Consulta Apuracao de Tributos - Dashboard', 'ADM', 'C' FROM ctl_aplicativo WHERE aplinome = 'frm_bas_filial' AND (SELECT aplinome FROM ctl_aplicativo WHERE aplinome = 'cns_dashboard_tributo_apuracao_impostos_ano_mes') IS NULL LIMIT 1); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'frm_pro_gera_grade_produto', 'T' FROM ctl_grupo_x_direito WHERE grupousucod in (1) AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_pro_gera_grade_produto') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'frm_pro_produto_x_variacao', 'T' FROM ctl_grupo_x_direito WHERE grupousucod in (1) AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'frm_pro_produto_x_variacao') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'cns_pro_produto_x_variacao', 'T' FROM ctl_grupo_x_direito WHERE grupousucod in (1) AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_pro_produto_x_variacao') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'cns_pro_produto_variacao_item', 'T' FROM ctl_grupo_x_direito WHERE grupousucod in (1) AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_pro_produto_variacao_item') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'cns_pro_produto_variacao', 'T' FROM ctl_grupo_x_direito WHERE grupousucod in (1) AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_pro_produto_variacao') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'aba_dashboard_resumo_tributos', 'T' FROM ctl_grupo_x_direito WHERE grupousucod in (1) AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'aba_dashboard_resumo_tributos') GROUP BY grupousucod); INSERT INTO ctl_grupo_x_direito (SELECT grupousucod, 'cns_dashboard_tributo_apuracao_impostos_ano_mes', 'T' FROM ctl_grupo_x_direito WHERE grupousucod in (1) AND grupousucod NOT IN (SELECT grupousucod FROM ctl_grupo_x_direito WHERE aplinome = 'cns_dashboard_tributo_apuracao_impostos_ano_mes') GROUP BY grupousucod); DELETE FROM ctl_menu_nivel WHERE codigo = 6274; INSERT INTO ctl_menu_nivel VALUES (6274, 'Gera Grade - Produtos', 9999,'','_self', 'frm_pro_gera_grade_produto', 3841 ,1); CREATE OR REPLACE VIEW public.view_dashboard_impostos AS SELECT ano_mes, tipo, icms, ipi, iss, pis, cofins, icms_subst, importacao FROM ( SELECT tabaux.ano_mes::integer AS ano_mes, '1 - Saida' AS tipo, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'S' THEN nfs_nota_fiscal.vlr_icms *(-1) ELSE nfs_nota_fiscal.vlr_icms END ),0.000000) AS icms, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'S' THEN nfs_nota_fiscal.vlr_ipi *(-1) ELSE nfs_nota_fiscal.vlr_ipi END ),0.000000) AS ipi, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'S' THEN nfs_nota_fiscal.vlr_iss *(-1) ELSE nfs_nota_fiscal.vlr_iss END ),0.000000) AS iss, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'S' THEN nfs_nota_fiscal.vlr_pis *(-1) ELSE nfs_nota_fiscal.vlr_pis END ),0.000000) AS pis, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'S' THEN nfs_nota_fiscal.valor_cofins *(-1) ELSE nfs_nota_fiscal.valor_cofins END ),0.000000) AS cofins, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'S' THEN nfs_nota_fiscal.vlr_icms_substituicao *(-1) ELSE nfs_nota_fiscal.vlr_icms_substituicao END ),0.000000) AS icms_subst, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'S' THEN nfs_nota_fiscal.total_imp_import *(-1) ELSE nfs_nota_fiscal.total_imp_import END ),0.000000) AS importacao FROM ( SELECT TO_CHAR(CURRENT_DATE - (interval '1' month * generate_series(0,11)), 'YYYYmm') AS ano_mes ) AS tabaux LEFT JOIN nfs_nota_fiscal ON TO_CHAR(nfs_nota_fiscal.data_emissao,'YYYYmm')::integer = tabaux.ano_mes::integer LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = nfs_nota_fiscal.cfop WHERE nfs_nota_fiscal.cancelada = 'N' GROUP BY tabaux.ano_mes UNION ALL SELECT tabaux.ano_mes::integer AS ano_mes, '2 - Entrada' AS tipo, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'E' THEN ent_nota_fiscal.icm_informado ELSE ent_nota_fiscal.icm_informado *(-1) END ),0.000000) AS icms, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'E' THEN ent_nota_fiscal.total_ipi ELSE ent_nota_fiscal.total_ipi *(-1) END ),0.000000) AS ipi, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'E' THEN ent_nota_fiscal.vlr_iss ELSE ent_nota_fiscal.vlr_iss *(-1) END ),0.000000) AS iss, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'E' THEN ent_nota_fiscal.vlr_pis ELSE ent_nota_fiscal.vlr_pis *(-1) END ),0.000000) AS pis, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'E' THEN ent_nota_fiscal.valor_cofins ELSE ent_nota_fiscal.valor_cofins *(-1) END ),0.000000) AS cofins, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'E' THEN ent_nota_fiscal.vlr_icm_subst ELSE ent_nota_fiscal.vlr_icm_subst *(-1) END ),0.000000) AS icms_subst, COALESCE(SUM(CASE WHEN nfs_op_fiscal.entrada_saida = 'E' THEN ent_nota_fiscal.total_imp_import ELSE ent_nota_fiscal.total_imp_import *(-1) END ),0.000000) AS importacao FROM ( SELECT TO_CHAR(CURRENT_DATE - (interval '1' month * generate_series(0,11)), 'YYYYmm') AS ano_mes ) AS tabaux LEFT JOIN ent_nota_fiscal ON TO_CHAR(ent_nota_fiscal.data_entrega,'YYYYmm')::integer = tabaux.ano_mes::integer LEFT JOIN nfs_op_fiscal ON nfs_op_fiscal.cfop = ent_nota_fiscal.cfop GROUP BY tabaux.ano_mes ) AS tab_final ORDER BY ano_mes, tipo; ALTER TABLE public.view_dashboard_impostos OWNER TO postgres;