CREATE VIEW VW_PLANODECONTAS(ID_PLANODECONTAS, DESCRICAO, TIPODOPLANO) AS SELECT N4.ID_PLANODECONTAS, CASE WHEN N4.DESCRICAO <> N3.DESCRICAO THEN CONCAT(N1.DESCRICAO, ' - ', N2.DESCRICAO, ' - ', N3.DESCRICAO, ' - ', N4.DESCRICAO) ELSE CONCAT(N1.DESCRICAO, ' - ', N2.DESCRICAO, ' - ', N3.DESCRICAO) END AS DESCRICAO, N4.TIPODOPLANO FROM PLANODECONTAS N1, PLANODECONTAS N2, PLANODECONTAS N3, PLANODECONTAS N4 Where N1.ID_PLANODECONTAS = CONCAT(SUBSTRING(N4.ID_PLANODECONTAS FROM 1 FOR 2), '.00.000.000') and N2.ID_PLANODECONTAS = CONCAT(SUBSTRING(N4.ID_PLANODECONTAS FROM 1 FOR 5), '.000.000') and N3.ID_PLANODECONTAS = CONCAT(SUBSTRING(N4.ID_PLANODECONTAS FROM 1 FOR 9), '.000') and N4.ID_PLANODECONTAS <> CONCAT(SUBSTRING(N4.ID_PLANODECONTAS FROM 1 FOR 5), '.000.000') CREATE VIEW VW_ESTRUA_B(ID_ARTIGO, TAMANHO, ESTOQUERUA) AS SELECT PEDIDOSARTIGOS.ID_ARTIGO, PEDIDOSARTIGOS.TAMANHO, SUM(PEDIDOSARTIGOS.QTDENTREGUE) AS ESTOQUERUA FROM PEDIDOSARTIGOS INNER JOIN PEDIDOS ON PEDIDOS.ID_PEDIDO = PEDIDOSARTIGOS.ID_PEDIDO AND PEDIDOS.STATUS <> 'FECHADO' AND PEDIDOS.STATUS <> 'PEPINO' AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO" INNER JOIN PRACAS ON PRACAS.ID_PRACA = PEDIDOS.ID_PRACA AND PRACAS.TIPO <> 'SIMPLIFICADO' GROUP BY PEDIDOSARTIGOS.ID_ARTIGO, PEDIDOSARTIGOS.TAMANHO UNION ALL SELECT CARGASARTIGOS.ID_ARTIGO, CARGASARTIGOS.TAMANHO, SUM(COALESCE(CARGASARTIGOS.QTDRECEBIDA,0) - COALESCE(CARGASARTIGOS.QTDRETORNO,0)) as QTDRUA FROM CARGASARTIGOS INNER JOIN PRACAS ON PRACAS.ID_PRACA = CARGASARTIGOS.ID_PRACA AND PRACAS.TIPO = 'SIMPLIFICADO' INNER JOIN CARGAS ON CARGAS.ID_PRACA = CARGASARTIGOS.ID_PRACA AND CARGAS.ANOSEMPED = CARGASARTIGOS.ANOSEMPED WHERE NOT EXISTS (SELECT ACERTO.ID_PRACA FROM ACERTO WHERE ACERTO.ID_PRACA = CARGASARTIGOS.ID_PRACA AND ACERTO.ANOSEMPED = CARGAS.ANOSEMPED) GROUP BY CARGASARTIGOS.ID_ARTIGO, CARGASARTIGOS.TAMANHO CREATE VIEW VW_ESTRUA(ID_ARTIGO, ESTOQUERUA) AS SELECT VW_ESTRUA_B.ID_ARTIGO, SUM(VW_ESTRUA_B.ESTOQUERUA) AS ESTOQUERUA FROM VW_ESTRUA_B GROUP BY VW_ESTRUA_B.ID_ARTIGO CREATE VIEW VW_ESTRUATAM(ID_ARTIGO, TAMANHO, ESTOQUERUA) SELECT VW_ESTRUA_B.ID_ARTIGO, VW_ESTRUA_B.TAMANHO, SUM(VW_ESTRUA_B.ESTOQUERUA) AS ESTOQUERUA FROM VW_ESTRUA_B GROUP BY VW_ESTRUA_B.ID_ARTIGO, VW_ESTRUA_B.TAMANHO CREATE VIEW VW_CONFERENCIAFECHAMENTO(CONFERIDO, ID_PRACA, ANOSEMCOB, ID_PEDIDO, ID_SACOLEIRA, DESCRICAOSACOLEIRA, VALORDIVERGENCIA) AS SELECT 'FECHAMENTOS CONFERIDOS' AS CONFERIDO, PEDIDOS.ID_PRACA, PEDIDOS.ANOSEMCOB, FECHAMENTO.ID_PEDIDO, PEDIDOS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, SUM(PEDIDOSARTIGOS.QTDDIVERGENTE * PEDIDOSARTIGOS.VLUNITARIO) AS VALORDIVERGENCIA FROM PEDIDOS INNER JOIN FECHAMENTO ON FECHAMENTO.ID_PEDIDO = PEDIDOS.ID_PEDIDO INNER JOIN PEDIDOSARTIGOS ON PEDIDOSARTIGOS.ID_PEDIDO = PEDIDOS.ID_PEDIDO LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = PEDIDOS.ID_SACOLEIRA WHERE FECHAMENTO.DATACONFERENCIA IS NOT NULL GROUP BY PEDIDOS.ID_PRACA, PEDIDOS.ANOSEMCOB, FECHAMENTO.ID_PEDIDO, PEDIDOS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA UNION ALL SELECT 'FECHAMENTOS NÃO CONFERIDOS' AS CONFERIDO, PEDIDOS.ID_PRACA, PEDIDOS.ANOSEMCOB, FECHAMENTO.ID_PEDIDO, PEDIDOS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, 0.00 AS VALORDIVERGENCIA FROM PEDIDOS INNER JOIN FECHAMENTO ON FECHAMENTO.ID_PEDIDO = PEDIDOS.ID_PEDIDO LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = PEDIDOS.ID_SACOLEIRA WHERE FECHAMENTO.DATACONFERENCIA IS NULL CREATE VIEW VW_RELRECEBIMENTOSDIARIOS(TITULO, ORDEM, ID_PRACA, DESCRICAODAPRACA, ID_VENDEDOR, DESCRICAODOVENDEDOR, ID_PEDIDO, ID_SACOLEIRA, DESCRICAOSACOLEIRA, ANOSEMPED, ANOSEMCOB, VLDINHEIRO, VLCHEQUE, VLCARTAO, VLDEPOSITO, VLBOLETO, TOTAL, DATA, ID_PAGAMENTO) AS SELECT CASE WHEN PAGAMENTOS.ID_PEPINO = 0 THEN 'COBRANCA DE PEDIDOS' ELSE 'CHEQUES/PEPINOS RECEBIDOS' END AS TITULO, CASE WHEN PAGAMENTOS.ID_PEPINO = 0 THEN 2 ELSE 1 END AS ORDEM, PAGAMENTOS.ID_PRACA, PRACAS.DESCRICAODAPRACA, PRACAS.ID_VENDEDOR, VENDEDORES.DESCRICAODOVENDEDOR, PAGAMENTOS.ID_PEDIDO, CASE WHEN PEDIDOS.ID_SACOLEIRA IS NOT NULL THEN PEDIDOS.ID_SACOLEIRA ELSE S2.ID_SACOLEIRA END AS ID_SACOLEIRA, CASE WHEN SACOLEIRAS.DESCRICAOSACOLEIRA IS NOT NULL THEN SACOLEIRAS.DESCRICAOSACOLEIRA ELSE S2.DESCRICAOSACOLEIRA END AS DESCRICAOSACOLEIRA, PEDIDOS.ANOSEMPED, PEDIDOS.ANOSEMCOB, PAGAMENTOS.VLDINHEIRO, PAGAMENTOS.VLCHEQUE, PAGAMENTOS.VLCARTAO, PAGAMENTOS.VLDEPOSITO, PAGAMENTOS.VLBOLETO, PAGAMENTOS.VLDINHEIRO + PAGAMENTOS.VLCHEQUE + PAGAMENTOS.VLCARTAO + COALESCE(PAGAMENTOS.VLDEPOSITO,0) + COALESCE(PAGAMENTOS.VLBOLETO,0) AS TOTAL, PAGAMENTOS.DATA, PAGAMENTOS.ID_PAGAMENTO FROM PAGAMENTOS LEFT JOIN PRACAS ON PRACAS.ID_PRACA = PAGAMENTOS.ID_PRACA LEFT JOIN VENDEDORES ON VENDEDORES.ID_VENDEDOR = PAGAMENTOS.ID_VENDEDOR LEFT JOIN PEDIDOS ON PEDIDOS.ID_PEDIDO = PAGAMENTOS.ID_PEDIDO LEFT JOIN FECHAMENTO ON FECHAMENTO.ID_PEDIDO = PEDIDOS.ID_PEDIDO LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = PEDIDOS.ID_SACOLEIRA LEFT JOIN CHEQUESDEVOLVIDOS CHD ON CHD.ID_CHEQUEDEVOLVIDO = PAGAMENTOS.ID_PEPINO LEFT JOIN SACOLEIRAS S2 ON S2.ID_SACOLEIRA = CHD.ID_SACOLEIRA UNION ALL SELECT 'PAGAMENTOS EXCLUIDOS' AS TITULO, 3 AS ORDEM, PAGAMENTOS.ID_PRACA, PRACAS.DESCRICAODAPRACA, PRACAS.ID_VENDEDOR, VENDEDORES.DESCRICAODOVENDEDOR, PAGAMENTOS.ID_PEDIDO, CASE WHEN PEDIDOS.ID_SACOLEIRA IS NOT NULL THEN PEDIDOS.ID_SACOLEIRA ELSE S2.ID_SACOLEIRA END AS ID_SACOLEIRA, CASE WHEN SACOLEIRAS.DESCRICAOSACOLEIRA IS NOT NULL THEN SACOLEIRAS.DESCRICAOSACOLEIRA ELSE S2.DESCRICAOSACOLEIRA END AS DESCRICAOSACOLEIRA, PEDIDOS.ANOSEMPED, PEDIDOS.ANOSEMCOB, PAGAMENTOS.VLDINHEIRO, PAGAMENTOS.VLCHEQUE, PAGAMENTOS.VLCARTAO, PAGAMENTOS.VLDEPOSITO, PAGAMENTOS.VLBOLETO, PAGAMENTOS.VLDINHEIRO + PAGAMENTOS.VLCHEQUE + PAGAMENTOS.VLCARTAO + COALESCE(PAGAMENTOS.VLDEPOSITO,0) + COALESCE(PAGAMENTOS.VLBOLETO,0) AS TOTAL, PAGAMENTOS.DATAEXCLUSAO AS DATA, PAGAMENTOS.ID_PAGAMENTO FROM PAGAMENTOS LEFT JOIN PRACAS ON PRACAS.ID_PRACA = PAGAMENTOS.ID_PRACA LEFT JOIN VENDEDORES ON VENDEDORES.ID_VENDEDOR = PAGAMENTOS.ID_VENDEDOR LEFT JOIN PEDIDOS ON PEDIDOS.ID_PEDIDO = PAGAMENTOS.ID_PEDIDO LEFT JOIN FECHAMENTO ON FECHAMENTO.ID_PEDIDO = PEDIDOS.ID_PEDIDO LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = PEDIDOS.ID_SACOLEIRA LEFT JOIN CHEQUESDEVOLVIDOS CHD ON CHD.ID_CHEQUEDEVOLVIDO = PAGAMENTOS.ID_PEPINO LEFT JOIN SACOLEIRAS S2 ON S2.ID_SACOLEIRA = CHD.ID_SACOLEIRA WHERE PAGAMENTOS.EXCLUIDO = 'SIM' CREATE VIEW VW_CARGAS(ID_PRACA, ANOSEMPED, ANOSEMCOB, STATUSCARGA, PEDIDOSDIGITADOS, PEDFECHADOS, PEDPEPINOS, QTDTOTALRECEBIDO, VLTOTALCARGA, VLTOTALPEDIDOS, QTDITENS, PEDTRANSFERIDOS, DATALANCAMENTO, DESCRICAODAPRACA, TIPO, ID_VENDEDOR, ID_TABELA, PERCMEDIAPRACA, STATUSPRACA, MULTIKIT, DESCRICAODOVENDEDOR, COMISSAO, VALORKIT, VALORKIT2, VALORKIT3, QTDKIT, QTDKIT2, QTDKIT3, COLETOR) AS SELECT CARGAS.ID_PRACA, CARGAS.ANOSEMPED, CARGAS.ANOSEMCOB, CARGAS.STATUS AS STATUSCARGA, (SELECT COUNT(PEDIDOS.ID_PEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = CARGAS.ID_PRACA AND PEDIDOS.ANOSEMPED = CARGAS.ANOSEMPED AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO") AS PEDIDOSDIGITADOS, (SELECT COUNT(PEDIDOS.ID_PEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = CARGAS.ID_PRACA AND PEDIDOS.ANOSEMPED = CARGAS.ANOSEMPED AND PEDIDOS.STATUS = "FECHADO") AS PEDFECHADOS, (SELECT COUNT(PEDIDOS.ID_PEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = CARGAS.ID_PRACA AND PEDIDOS.ANOSEMPED = CARGAS.ANOSEMPED AND PEDIDOS.STATUS = "PEPINO") AS PEDPEPINOS, CASE WHEN PRACAS.TIPO <> "BALCAO" THEN (SELECT SUM(COALESCE(CARGASARTIGOS.QTDRECEBIDA, 0)) FROM CARGASARTIGOS WHERE CARGASARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND CARGASARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED) ELSE (SELECT SUM(COALESCE(PEDIDOSARTIGOS.QTDENTREGUE, 0)) FROM PEDIDOSARTIGOS WHERE PEDIDOSARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND PEDIDOSARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED AND PEDIDOSARTIGOS.STATUS <> "EXCLUIDO" AND PEDIDOSARTIGOS.STATUS <> "JUNTADO") END QTDTOTALRECEBIDO, CASE WHEN PRACAS.TIPO <> "BALCAO" THEN (SELECT SUM( COALESCE(CARGASARTIGOS.QTDRECEBIDA, 0) * COALESCE(CARGASARTIGOS.VLUNITARIO, 0) ) FROM CARGASARTIGOS WHERE CARGASARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND CARGASARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED) ELSE (SELECT SUM(PEDIDOS.VLTOTALPEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = CARGAS.ID_PRACA AND PEDIDOS.ANOSEMPED = CARGAS.ANOSEMPED AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO") END AS VLTOTALCARGA, (SELECT SUM(PEDIDOS.VLTOTALPEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = CARGAS.ID_PRACA AND PEDIDOS.ANOSEMPED = CARGAS.ANOSEMPED AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO") AS VLTOTALPEDIDOS, (SELECT COUNT(CARGASARTIGOS.ID_ARTIGO) FROM CARGASARTIGOS WHERE CARGASARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND CARGASARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED) AS QTDITENS, (SELECT COUNT(PEDIDOS.ID_PEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = CARGAS.ID_PRACA AND PEDIDOS.ANOSEMPED = CARGAS.ANOSEMPED AND COALESCE(PEDIDOS.TRANSFERIDO, "N") = "S" AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO") AS PEDTRANSFERIDOS, CARGAS.DATALANCAMENTO, PRACAS.DESCRICAODAPRACA, PRACAS.TIPO, PRACAS.ID_VENDEDOR, PRACAS.ID_TABELA, PRACAS.PERCMEDIAPRACA, PRACAS.STATUS AS STATUSPRACA, CARGAS.MULTIKIT, VENDEDORES.DESCRICAODOVENDEDOR, VENDEDORES.COMISSAO, (SELECT SUM(CARGASARTIGOS.KIT * CARGASARTIGOS.VLUNITARIO) FROM CARGASARTIGOS WHERE CARGASARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND CARGASARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED) AS VALORKIT, (SELECT SUM(CARGASARTIGOS.KIT2 * CARGASARTIGOS.VLUNITARIO) FROM CARGASARTIGOS WHERE CARGASARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND CARGASARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED) AS VALORKIT2, (SELECT SUM(CARGASARTIGOS.KIT3 * CARGASARTIGOS.VLUNITARIO) FROM CARGASARTIGOS WHERE CARGASARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND CARGASARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED) AS VALORKIT3, QTDKIT, QTDKIT2, QTDKIT3, CARGAS.COLETOR FROM CARGAS INNER JOIN PRACAS ON PRACAS.ID_PRACA = CARGAS.ID_PRACA INNER JOIN VENDEDORES ON VENDEDORES.ID_VENDEDOR = PRACAS.ID_VENDEDOR CREATE VIEW VW_CARGASARTIGOS(ID_PRACA, ANOSEMPED, ID_ARTIGO, ID_CENTRODEESTOQUE, VLUNITARIO, VLTOTAL, KIT, QTDRECEBIDA, QTDDISTRIBUIDA, QTDDEVOLVIDA, QTDBRINDE, QTDRETORNO, STATUS, ORDEM, ORDEM2, ORDEM3, ORDEMC, TABELA, DATATROCA, ID_ARTIGOOLD, QTDRUA, DESCRICAODOARTIGO, QTDVENDAPEDIDOS, KIT2, KIT3, COMPLEMENTO, MULTIKIT, QTDKIT, QTDKIT2, QTDKIT3, VLKIT, VLKIT2, VLKIT3, PERVENDA, PGCOMISSAO, COMISSAOFIXA, ID_GRUPO, DESCRICAODOGRUPO, VLCUSTO) AS SELECT CARGASARTIGOS.ID_PRACA, CARGASARTIGOS.ANOSEMPED, CARGASARTIGOS.ID_ARTIGO, CARGASARTIGOS.ID_CENTRODEESTOQUE, CARGASARTIGOS.VLUNITARIO, CARGASARTIGOS.VLTOTAL, CARGASARTIGOS.KIT, /* Quantidade Recebida */ CASE WHEN PRACAS.TIPO = 'BALCAO' THEN (SELECT SUM(COALESCE(PA.QTDENTREGUE,0) ) FROM PEDIDOSARTIGOS PA, PEDIDOS P WHERE PA.ID_PRACA = CARGASARTIGOS.ID_PRACA AND PA.ANOSEMPED = CARGASARTIGOS.ANOSEMPED AND PA.ID_ARTIGO = CARGASARTIGOS.ID_ARTIGO AND P.ID_PEDIDO = PA.ID_PEDIDO AND P.STATUS <> "EXCLUIDO" AND P.STATUS <> "JUNTADO") ELSE CARGASARTIGOS.QTDRECEBIDA END QTDRECEBIDA, /* Quantidade Distribuida */ CASE WHEN PRACAS.TIPO = 'BALCAO' THEN (SELECT SUM(COALESCE(PA.QTDENTREGUE,0) ) FROM PEDIDOSARTIGOS PA, PEDIDOS P WHERE PA.ID_PRACA = CARGASARTIGOS.ID_PRACA AND PA.ANOSEMPED = CARGASARTIGOS.ANOSEMPED AND PA.ID_ARTIGO = CARGASARTIGOS.ID_ARTIGO AND P.ID_PEDIDO = PA.ID_PEDIDO AND P.STATUS <> "EXCLUIDO" AND P.STATUS <> "JUNTADO") ELSE (SELECT SUM(COALESCE(PA.QTDENTREGUE,0) ) FROM PEDIDOSARTIGOS PA, PEDIDOS P WHERE PA.ID_PRACA = CARGASARTIGOS.ID_PRACA AND PA.ANOSEMPED = CARGASARTIGOS.ANOSEMPED AND PA.ID_ARTIGO = CARGASARTIGOS.ID_ARTIGO AND P.ID_PEDIDO = PA.ID_PEDIDO AND COALESCE(P.TRANSFERIDO, 'N') <> 'S' AND P.STATUS <> "EXCLUIDO" AND P.STATUS <> "JUNTADO") END QTDDISTRIBUIDA, CARGASARTIGOS.QTDDEVOLVIDA, CARGASARTIGOS.QTDBRINDE, CARGASARTIGOS.QTDRETORNO, CARGASARTIGOS.STATUS, CARGASARTIGOS.ORDEM, CARGASARTIGOS.ORDEM2, CARGASARTIGOS.ORDEM3, CARGASARTIGOS.ORDEMC, CARGASARTIGOS.TABELA, CARGASARTIGOS.DATATROCA, CARGASARTIGOS.ID_ARTIGOOLD, CARGASARTIGOS.QTDRUA, ARTIGOS.DESCRICAODOARTIGO, (SELECT SUM(COALESCE(PA.QTDENTREGUE,0) - COALESCE(PA.QTDDEVOLVIDA,0) ) FROM PEDIDOSARTIGOS PA, PEDIDOS P WHERE PA.ID_PRACA = CARGASARTIGOS.ID_PRACA AND PA.ANOSEMPED = CARGASARTIGOS.ANOSEMPED AND PA.ID_ARTIGO = CARGASARTIGOS.ID_ARTIGO AND P.ID_PEDIDO = PA.ID_PEDIDO AND P.STATUS <> "EXCLUIDO" AND P.STATUS <> "JUNTADO") AS QTDVENDIDAPEDIDOS, CARGASARTIGOS.KIT2, CARGASARTIGOS.KIT3, CARGASARTIGOS.COMPLEMENTO, CARGAS.MULTIKIT, COALESCE(CARGAS.QTDKIT,0) AS QTDKIT, COALESCE(CARGAS.QTDKIT2,0) AS QTDKIT2, COALESCE(CARGAS.QTDKIT3,0) AS QTDKIT3, COALESCE(CARGASARTIGOS.KIT,0) * CARGASARTIGOS.VLUNITARIO AS VLKIT, COALESCE(CARGASARTIGOS.KIT2,0) * CARGASARTIGOS.VLUNITARIO AS VLKIT2, COALESCE(CARGASARTIGOS.KIT3,0) * CARGASARTIGOS.VLUNITARIO AS VLKIT3, (SELECT CASE WHEN (SUM(COALESCE(DESEMPENHOARTIGOS.DISTRIBUIDAFEC, 0)) > 0) THEN SUM(COALESCE(DESEMPENHOARTIGOS.QTDVENDIDA, 0)) / SUM(COALESCE(DESEMPENHOARTIGOS.DISTRIBUIDAFEC, 0)) * 100 ELSE 0 END FROM DESEMPENHOARTIGOS WHERE DESEMPENHOARTIGOS.ID_PRACA = CARGASARTIGOS.ID_PRACA AND DESEMPENHOARTIGOS.ANOSEMCOB = CARGAS.ANOSEMCOB AND DESEMPENHOARTIGOS.ID_ARTIGO = CARGASARTIGOS.ID_ARTIGO) AS PERVENDA, CARGASARTIGOS.PGCOMISSAO, CARGASARTIGOS.COMISSAOFIXA, ARTIGOS.ID_GRUPO, GRUPOSARTIGOS.DESCRICAODOGRUPO, ARTIGOS.VLCUSTO FROM CARGAS INNER JOIN CARGASARTIGOS ON CARGASARTIGOS.ID_PRACA = CARGAS.ID_PRACA AND CARGASARTIGOS.ANOSEMPED = CARGAS.ANOSEMPED INNER JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = CARGASARTIGOS.ID_ARTIGO LEFT JOIN GRUPOSARTIGOS ON GRUPOSARTIGOS.ID_GRUPO = ARTIGOS.ID_GRUPO INNER JOIN PRACAS ON PRACAS.ID_PRACA = CARGASARTIGOS.ID_PRACA CREATE VIEW DESEMPENHOARTIGOS(ID_ARTIGO, DESCRICAODOARTIGO, ID_PRACA, DESCRICAODAPRACA, ID_GRUPO, DESCRICAODOGRUPO, ANOSEMCOB, QTDDISTRIBUIDA, DISTRIBUIDAFEC, QTDDEVOLVIDA, QTDVENDIDA, VLVENDA, VLCUSTO, VLUNITARIO) AS SELECT ARTIGOS.ID_ARTIGO, ARTIGOS.DESCRICAODOARTIGO, PRACAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, ARTIGOS.ID_GRUPO, GRUPOSARTIGOS.DESCRICAODOGRUPO, PEDIDOS.ANOSEMCOB, 0 AS QTDDISTRIBUIDA, /* Quantidade Distribuida Fechada */ SUM(COALESCE(PA.QTDENTREGUE,0) ) AS DISTRIBUIDAFEC, SUM(COALESCE(PA.QTDDEVOLVIDA,0) ) AS QTDDEVOLVIDA, SUM(COALESCE(PA.QTDVENDIDA,0) ) AS QTDVENDIDA, SUM(COALESCE(PA.VLVENDIDO,0) ) AS VLVENDA, ARTIGOS.VLCUSTO, PA.VLUNITARIO FROM PEDIDOSARTIGOS PA INNER JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = PA.ID_ARTIGO INNER JOIN PRACAS ON PRACAS.ID_PRACA = PA.ID_PRACA INNER JOIN PEDIDOS ON PEDIDOS.ID_PEDIDO = PA.ID_PEDIDO AND ((PEDIDOS.STATUS = 'FECHADO') OR (PEDIDOS.STATUS = 'PEPINO')) LEFT JOIN GRUPOSARTIGOS ON GRUPOSARTIGOS.ID_GRUPO = ARTIGOS.ID_GRUPO WHERE PRACAS.TIPO <> 'SIMPLIFICADO' AND PA.STATUS <> 'DIGITADO' AND PA.STATUS <> 'TRANSFERIDO' AND PRACAS.STATUS = 'ATIVO' GROUP BY ARTIGOS.ID_ARTIGO, ARTIGOS.DESCRICAODOARTIGO, PRACAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, ARTIGOS.ID_GRUPO, GRUPOSARTIGOS.DESCRICAODOGRUPO, PEDIDOS.ANOSEMCOB, ARTIGOS.VLCUSTO, PA.VLUNITARIO UNION ALL -- SIMPLIFICADO SELECT CA.ID_ARTIGO, ARTIGOS.DESCRICAODOARTIGO, CA.ID_PRACA, PRACAS.DESCRICAODAPRACA, ARTIGOS.ID_GRUPO, GRUPOSARTIGOS.DESCRICAODOGRUPO, CARGAS.ANOSEMCOB, 0 AS QTDDISTRIBUIDA, SUM(COALESCE(CA.QTDRECEBIDA,0) - COALESCE(CA.QTDRETORNO,0)) AS DISTRIBUIDAFEC, SUM(COALESCE(CA.QTDDEVOLVIDA,0) ) AS QTDDEVOLVIDA, SUM(COALESCE(CA.QTDRECEBIDA,0) - COALESCE(CA.QTDRETORNO,0) - COALESCE(CA.QTDDEVOLVIDA,0) ) AS QTDDEVOLVIDA, SUM( (COALESCE(CA.QTDRECEBIDA,0) - COALESCE(CA.QTDRETORNO,0) - COALESCE(CA.QTDDEVOLVIDA,0)) * CA.VLUNITARIO) AS VLVENDA, ARTIGOS.VLCUSTO, CA.VLUNITARIO FROM CARGASARTIGOS CA INNER JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = CA.ID_ARTIGO INNER JOIN CARGAS ON CARGAS.ID_PRACA = CA.ID_PRACA AND CARGAS.ANOSEMPED = CA.ANOSEMPED INNER JOIN PRACAS ON PRACAS.ID_PRACA = CA.ID_PRACA LEFT JOIN GRUPOSARTIGOS ON GRUPOSARTIGOS.ID_GRUPO = ARTIGOS.ID_GRUPO WHERE PRACAS.TIPO = 'SIMPLIFICADO' GROUP BY CA.ID_ARTIGO, ARTIGOS.DESCRICAODOARTIGO, CA.ID_PRACA, PRACAS.DESCRICAODAPRACA, ARTIGOS.ID_GRUPO, GRUPOSARTIGOS.DESCRICAODOGRUPO, CARGAS.ANOSEMCOB, ARTIGOS.VLCUSTO, CA.VLUNITARIO CREATE VIEW DESEMPENHOARTIGOSTAM(ID_ARTIGO, DESCRICAODOARTIGO, ID_PRACA, DESCRICAODAPRACA, ID_GRUPO, DESCRICAODOGRUPO, VLUNITARIO, ANOSEMCOB, QTDDISTRIBUIDA, QTDDISTRIBUIDAFEC, QTDDEVOLVIDA, QTDVENDIDA, TAMANHO, VLCUSTO, VLVENDA) AS SELECT PEDIDOSARTIGOS.ID_ARTIGO, ARTIGOS.DESCRICAODOARTIGO, PEDIDOS.ID_PRACA, PRACAS.DESCRICAODAPRACA, ARTIGOS.ID_GRUPO, GRUPOSARTIGOS.DESCRICAODOGRUPO, PEDIDOSARTIGOS.VLUNITARIO, PEDIDOS.ANOSEMCOB, 0 AS QTDDISTRIBUIDA, COALESCE(PEDIDOSARTIGOS.QTDENTREGUE,0) AS QTDDISTRIBUIDAFEC, COALESCE(PEDIDOSARTIGOS.QTDDEVOLVIDA,0) AS QTDDEVOLVIDA, COALESCE(PEDIDOSARTIGOS.QTDENTREGUE,0) - COALESCE(PEDIDOSARTIGOS.QTDDEVOLVIDA,0) AS QTDVENDIDA, PEDIDOSARTIGOS.TAMANHO, ARTIGOS.VLCUSTO, PEDIDOSARTIGOS.VLVENDIDO AS VLVENDA FROM PEDIDOSARTIGOS INNER JOIN PEDIDOS ON PEDIDOS.ID_PEDIDO = PEDIDOSARTIGOS.ID_PEDIDO INNER JOIN PRACAS ON PRACAS.ID_PRACA = PEDIDOS.ID_PRACA INNER JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = PEDIDOSARTIGOS.ID_ARTIGO LEFT JOIN GRUPOSARTIGOS ON GRUPOSARTIGOS.ID_GRUPO = ARTIGOS.ID_GRUPO WHERE PRACAS.STATUS = 'ATIVO' AND PEDIDOS.ANOSEMCOB IS NOT NULL AND (PEDIDOS.STATUS = 'FECHADO' OR PEDIDOS.STATUS = 'PEPINO') Rel previsao de Recebimento /*SELECT PEDIDOS.ID_PEDIDO, PEDIDOS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, PEDIDOS.ANOSEMPED, PEDIDOS.ANOSEMCOB FROM PEDIDOS LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = PEDIDOS.ID_SACOLEIRA WHERE PEDIDOS.ANOSEMCOB = "" AND SACOLEIRAS.ID_SACOLEIRA IS NULL*/ /*SELECT VW_CARGAS.DESCRICAODOVENDEDOR, CASE WHEN VW_CARGAS.PERCMEDIAPRACA <= 0 THEN VW_CARGAS.VLTOTALPEDIDOS - (VW_CARGAS.VLTOTALPEDIDOS * CONFIGURACOES.MEDIACOMISSAOSAC / 100) ELSE (VW_CARGAS.VLTOTALPEDIDOS - (VW_CARGAS.VLTOTALPEDIDOS * CONFIGURACOES.MEDIACOMISSAOSAC / 100)) * VW_CARGAS.PERCMEDIAPRACA / 100 END AS CODIGO, VW_CARGAS.VLTOTALPEDIDOS, VW_CARGAS.PERCMEDIAPRACA, VW_CARGAS.PEDDIGITADOS, VW_CARGAS.DESCRICAODAPRACA, VW_CARGAS.ID_PRACA FROM VW_CARGAS, CONFIGURACOES WHERE VW_CARGAS.ANOSEMCOB = "" AND VW_CARGAS.ID_PRACA > 0 AND VW_CARGAS.PEDDIGITADOS > 0 AND VW_CARGAS.STATUSPRACA = "" ORDER BY VW_CARGAS.DESCRICAODOVENDEDOR*/ VW_CONTACORRENTEVENDEDOR SELECT CONTACORRENTEVENDEDOR.ID_VENDEDOR, CONTACORRENTEVENDEDOR.ID_PRACA, CONTACORRENTEVENDEDOR.DATA, CONTACORRENTEVENDEDOR.ANOSEMCOB, CONTACORRENTEVENDEDOR.PRACAPAGAMENTO, CASE WHEN CONTACORRENTEVENDEDOR.TIPO = "CRÉDITO" THEN CONTACORRENTEVENDEDOR.VALOR ELSE CONTACORRENTEVENDEDOR.VALOR * (-1) END AS VALOR FROM CONTACORRENTEVENDEDOR VW_RELDESEMPENHOVENDEDORES SELECT V.ID_VENDEDOR, V.DESCRICAODOVENDEDOR, V.COMISSAONACARTEIRA, P.ID_PRACA, PRACAS.DESCRICAODAPRACA, F.ANOSEMPED, F.ANOSEMCOB, SUM(COALESCE(F.VLVENDAPEDIDO,0)) + SUM(COALESCE(F.VLVENPEDSEMCOMISSAO,0)) + SUM(COALESCE(F.VLVENPEDCOMISSAOFIXA,0)) AS TOTALVENDIDO, COALESCE((SELECT DESEMPENHOPRACAS.PERCOMISVENDEDOR FROM DESEMPENHOPRACAS WHERE DESEMPENHOPRACAS.ANOSEMCOB = F.ANOSEMCOB AND DESEMPENHOPRACAS.ID_PRACA = P.ID_PRACA),0) AS COMISSAO, (SELECT COUNT(PEDIDOS.ID_PEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = P.ID_PRACA AND PEDIDOS.ANOSEMPED = F.ANOSEMCOB AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO") AS PEDNOVOS, SUM(F.VLLIQRECEBIDO) AS VLTOTLIQUIDOARECEBER, SUM(F.VLPEPINO) AS VLNOVOSPEPINOS, CASE WHEN SUM(COALESCE(F.VLVENDAPEDIDO,0) + COALESCE(F.VLVENPEDSEMCOMISSAO,0) + COALESCE(F.VLVENPEDCOMISSAOFIXA,0)) > 0 THEN (SUM(F.VLPEPINO) / SUM(COALESCE(F.VLVENDAPEDIDO,0) + COALESCE(F.VLVENPEDSEMCOMISSAO,0) + COALESCE(F.VLVENPEDCOMISSAOFIXA,0))) * 100 ELSE 0.00 END AS PERNOVOPEPINOS, (SELECT SUM(PEPINOS.VALOR) FROM PEPINOS WHERE PEPINOS.ID_PRACAPAGTO = P.ID_PRACA AND PEPINOS.ANOSEMPAG = F.ANOSEMCOB) AS VLPEPINOSPAGOS, (SUM(F.VLLIQRECEBIDO) + (SELECT SUM(PEPINOS.VALOR) FROM PEPINOS WHERE PEPINOS.ID_PRACAPAGTO = P.ID_PRACA AND PEPINOS.ANOSEMPAG = F.ANOSEMCOB) - COALESCE(SUM(F.VLPEPINO), 0)) AS VLRECEBIMENTOGERAL, (SELECT SUM(PEDIDOS.VLTOTALPEDIDO) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = P.ID_PRACA AND PEDIDOS.ANOSEMCOB = F.ANOSEMCOB AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO") * (100 - AVG(F.PERCOMISSAO)) / 100 AS VLTOTALPEDLIQUIDO, (SELECT COUNT(SACOLEIRAS.ID_SACOLEIRA) FROM SACOLEIRAS WHERE SACOLEIRAS.iD_PRACA = P.ID_PRACA AND SACOLEIRAS.PRIPEDIDO = F.ANOSEMCOB AND SACOLEIRAS.STATUS <> "ABERTURA" AND SACOLEIRAS.STATUS <> "VENDEDOR") AS CLIENTESNOVOS, SUM(F.VLRECEBIDO) + COALESCE((SELECT SUM(PEPINOS.VALOR) FROM PEPINOS WHERE PEPINOS.ID_PRACAPAGTO = P.ID_PRACA AND PEPINOS.ANOSEMPAG = F.ANOSEMCOB),0) AS VLRECEBIDO, (SELECT COUNT(*) FROM PEDIDOS WHERE PEDIDOS.ID_PRACA = P.ID_PRACA AND PEDIDOS.ANOSEMCOB = F.ANOSEMPED AND PEDIDOS.STATUS <> "FECHADO" AND PEDIDOS.STATUS <> "PEPINO" AND PEDIDOS.STATUS <> "EXCLUIDO" AND PEDIDOS.STATUS <> "JUNTADO") AS PEDABERTOS FROM VENDEDORES V, FECHAMENTO F, PEDIDOS P, PRACAS WHERE PRACAS.ID_VENDEDOR = V.ID_VENDEDOR AND P.ID_PRACA = PRACAS.ID_PRACA AND F.ID_PEDIDO = P.ID_PEDIDO AND P.STATUS <> "EXCLUIDO" AND P.STATUS <> "JUNTADO" GROUP BY V.ID_VENDEDOR, V.DESCRICAODOVENDEDOR, V.COMISSAO, V.COMISSAONACARTEIRA, P.ID_PRACA, PRACAS.DESCRICAODAPRACA, F.ANOSEMPED, F.ANOSEMCOB CREATE VIEW SACOLEIRASDESEMPENHO(ID_SACOLEIRADESEMP, ID_SACOLEIRA, DESCRICAOSACOLEIRA, ID_PRACA, DESCRICAODAPRACA, ANOSEMCOB, STATUS, PEVENDA, VLVENDA, VLVENDAPEDIDO, VLVENPEDSEMCOMISSAO, VLVENPEDCOMISSAOFIXA, VLPEPINO, VLRECEBER, VLPAGO, QTDFECHAMENTOS, TOTALPVENDA, VLTOTALPEDIDO) AS SELECT 1 AS ID_SACOLEIRADESEMP, SACOLEIRAS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, PRACAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, FECHAMENTO.ANOSEMCOB, FECHAMENTO.STATUS, AVG(FECHAMENTO.VLFATORVENDA) AS PEVENDA, SUM(FECHAMENTO.VLVENDAPEDIDO + COALESCE(FECHAMENTO.VLVENPEDSEMCOMISSAO,0) + COALESCE(FECHAMENTO.VLVENPEDCOMISSAOFIXA,0)) AS VLVENDA, SUM(FECHAMENTO.VLVENDAPEDIDO) AS VLVENDAPEDIDO, SUM(FECHAMENTO.VLVENPEDSEMCOMISSAO) AS VLVENPEDSEMCOMISSAO, SUM(FECHAMENTO.VLVENPEDCOMISSAOFIXA) AS VLVENPEDCOMISSAOFIXA, SUM(FECHAMENTO.VLPEPINO) AS VLPEPINO, SUM(FECHAMENTO.VLLIQRECEBIDO) AS VLRECEBER, SUM(FECHAMENTO.VLRECEBIDO) AS VLPAGO, COUNT(FECHAMENTO.ID_PEDIDO) AS QTDFECHAMENTOS, SUM(FECHAMENTO.VLFATORVENDA) AS TOTALPVENDA, SUM(PEDIDOS.VLTOTALPEDIDO) AS VLTOTALPEDIDO FROM SACOLEIRAS, PEDIDOS, FECHAMENTO, PRACAS WHERE PEDIDOS.ID_SACOLEIRA = SACOLEIRAS.ID_SACOLEIRA AND FECHAMENTO.ID_PEDIDO = PEDIDOS.ID_PEDIDO AND PRACAS.ID_PRACA = PEDIDOS.ID_PRACA GROUP BY SACOLEIRAS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, PRACAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, FECHAMENTO.ANOSEMCOB, FECHAMENTO.STATUS CREATE VIEW VW_EQUIPES(ID_EQUIPE, DESCRICAOEQUIPE, ID_PRACA, STATUS) AS SELECT SACOLEIRAS.ID_SACOLEIRA AS ID_EQUIPE, SACOLEIRAS.DESCRICAOSACOLEIRA AS DESCRICAOEQUIPE, SACOLEIRAS.ID_PRACA, SACOLEIRAS.STATUS FROM SACOLEIRAS CREATE VIEW VW_PEPIONOSCHEQUES(ID_SACOLEIRA, DESCRICAOSACOLEIRA, ENDERECO, BAIRRO, CIDADE, CEP, UF, EMAIL, ID_PRACA, ID_PEDIDO, ANOSEMANA, VALORORIGINAL, BANCO, AGENCIA, CONTA, CHEQUE, ID_CHEQUEDEVOLVIDO, DESCRICAODAPRACA, ANOSEMPAG, VALOR, DTPAGAMENTO) AS SELECT CHEQUESDEVOLVIDOS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, SACOLEIRAS.ENDERECO, SACOLEIRAS.BAIRRO, SACOLEIRAS.CIDADE, SACOLEIRAS.CEP, SACOLEIRAS.UF, SACOLEIRAS.EMAIL, CHEQUESDEVOLVIDOS.ID_PRACA, NULL AS ID_PEDIDO, CHEQUESDEVOLVIDOS.ANOSEMANA, CHEQUESDEVOLVIDOS.VALORORIGINAL, CHEQUESDEVOLVIDOS.BANCO, CHEQUESDEVOLVIDOS.AGENCIA, CHEQUESDEVOLVIDOS.CONTA, CHEQUESDEVOLVIDOS.CHEQUE, CHEQUESDEVOLVIDOS.ID_CHEQUEDEVOLVIDO, PRACAS.DESCRICAODAPRACA, CHEQUESDEVOLVIDOS.ANOSEMPAG, CHEQUESDEVOLVIDOS.VALOR, CHEQUESDEVOLVIDOS.DTPAGAMENTO FROM CHEQUESDEVOLVIDOS LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = CHEQUESDEVOLVIDOS.ID_SACOLEIRA LEFT JOIN PRACAS ON PRACAS.ID_PRACA = SACOLEIRAS.ID_PRACA WHERE COALESCE(CHEQUESDEVOLVIDOS.ID_PRACAPAGTO,0) = 0 UNION ALL SELECT PEPINOS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, SACOLEIRAS.ENDERECO, SACOLEIRAS.BAIRRO, SACOLEIRAS.CIDADE, SACOLEIRAS.CEP, SACOLEIRAS.UF, SACOLEIRAS.EMAIL, PEPINOS.ID_PRACA, PEPINOS.ID_PEDIDO, PEPINOS.ANOSEMCOB, PEPINOS.VALORORIGINAL, '' AS BANCO, '' AS AGENCIA, '' AS CONTA, '' AS CHEQUE, PEPINOS.ID_PEPINO, PRACAS.DESCRICAODAPRACA, PEPINOS.ANOSEMPAG, PEPINOS.VALOR, PEPINOS.DTPAGAMENTO FROM PEPINOS LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = PEPINOS.ID_SACOLEIRA LEFT JOIN PRACAS ON PRACAS.ID_PRACA = SACOLEIRAS.ID_PRACA WHERE COALESCE(PEPINOS.ID_PRACAPAGTO,0) = 0 CREATE VIEW VW_TOTALFECHAMENTOS(ID_SACOLEIRA, VLVENDAPEDIDO, VLVENDAPEDIDO, VLVENPEDSEMCOMISSAO, VLVENPEDCOMISSAOFIXA, VLTOTALPEDIDO, TOTALVENDIDO) AS SELECT PEDIDOS.ID_SACOLEIRA, SUM(COALESCE(FECHAMENTO.VLVENDAPEDIDO,0)) AS VLVENDAPEDIDO, SUM(COALESCE(FECHAMENTO.VLVENPEDSEMCOMISSAO,0)) AS VLVENPEDSEMCOMISSAO, SUM(COALESCE(FECHAMENTO.VLVENPEDCOMISSAOFIXA,0)) AS VLVENPEDCOMISSAOFIXA, SUM(COALESCE(PEDIDOS.VLTOTALPEDIDO,0)) AS VLTOTALPEDIDO, SUM(COALESCE(FECHAMENTO.VLVENDAPEDIDO,0)) + SUM(COALESCE(FECHAMENTO.VLVENPEDSEMCOMISSAO,0)) + SUM(COALESCE(FECHAMENTO.VLVENPEDCOMISSAOFIXA,0)) AS TOTALVENDIDO FROM FECHAMENTO INNER JOIN PEDIDOS ON PEDIDOS.ID_PEDIDO = FECHAMENTO.ID_PEDIDO WHERE (PEDIDOS.STATUS = 'FECHADO' OR PEDIDOS.STATUS = 'PEPINO') GROUP BY PEDIDOS.ID_SACOLEIRA, FECHAMENTO.ANOSEMCOB, PEDIDOS.STATUS CREATE VIEW VW_SACOLEIRAS(ID_PRACA, DESCRICAODAPRACA, TIPO, LIMITECREDITO, ID_SACOLEIRA, DESCRICAOSACOLEIRA, TIPO, LIMITECREDITO, ID_SACOLEIRA, DESCRICAOSACOLEIRA, STATUS, ID_VENDEDOR, DESCRICAODOVENDEDOR, PRIPEDIDO, ULTPEDIDO, COMISSAO, INDICACAO, INDENTIDADE, CPF, DIAMES, ANO, ENDERECO, COMPLEMENTO, BAIRRO, CIDADE, UF, CEP, TELEFONE, CONTATOSMS, EMAIL, OBSERVACAO, PONTOANTES, PONTOATUAL, CLASSIFICACAO, ULTPEDIMPRESSO, ANOSEMULTPEDIMPR, ID_CONTAFINANCEIRA, DESCRICAO, DATANASC, PERFIL, SACPRO, MEDIAVENDAS, PERCENTUALVENDAS, TOTPEDFECHADOS, TOTPEDPEPINOS, VALORLIMITECREDITO, PEPINOSABERTOS, PAI, MAE, CONJUGE, SPC, EQUIPE, DESCRICAOEQUIPE, ID_NIVEL, DESCRICAONIVEL, PEDIDOSEMABERTO, GPS) AS SELECT SACOLEIRAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, PRACAS.TIPO, PRACAS.LIMITECREDITO, SACOLEIRAS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, SACOLEIRAS.STATUS, PRACAS.ID_VENDEDOR, VENDEDORES.DESCRICAODOVENDEDOR, SACOLEIRAS.PRIPEDIDO, SACOLEIRAS.ULTPEDIDO, SACOLEIRAS.COMISSAO, SACOLEIRAS.INDICACAO, SACOLEIRAS.IDENTIDADE, SACOLEIRAS.CPF, SACOLEIRAS.DIAMES, SACOLEIRAS.ANO, SACOLEIRAS.ENDERECO, SACOLEIRAS.COMPLEMENTO, SACOLEIRAS.BAIRRO, SACOLEIRAS.CIDADE, SACOLEIRAS.UF, SACOLEIRAS.CEP, SACOLEIRAS.TELEFONE, SACOLEIRAS.CONTATOSMS, SACOLEIRAS.EMAIL, SACOLEIRAS.OBSERVACAO, SACOLEIRAS.PONTOANTES, SACOLEIRAS.PONTOATUAL, SACOLEIRAS.CLASSIFICACAO, SACOLEIRAS.ULTPEDIMPRESSO, SACOLEIRAS.ANOSEMULTPEDIMPR, SACOLEIRAS.ID_CONTAFINANCEIRA, VW_PLANODECONTAS.DESCRICAO, SACOLEIRAS.DATANASC, SACOLEIRAS.PERFIL, SACOLEIRAS.SACPRO, (SELECT AVG(VLVENDAPEDIDO + VLVENPEDSEMCOMISSAO + VLVENPEDCOMISSAOFIXA) FROM VW_TOTALFECHAMENTOS WHERE VW_TOTALFECHAMENTOS.ID_SACOLEIRA = SACOLEIRAS.ID_SACOLEIRA) AS MEDIAVENDAS, (SELECT CASE WHEN SUM(VLTOTALPEDIDO) > 0 THEN ( (SUM(VLVENDAPEDIDO) + SUM(VLVENPEDSEMCOMISSAO) + SUM(VLVENPEDCOMISSAOFIXA) ) / SUM(VLTOTALPEDIDO) ) * 100 ELSE 0.00 END FROM VW_TOTALFECHAMENTOS) AS PERCENTUALVENDAS, SUM(CASE FECHAMENTO.STATUS WHEN 'FECHADO' THEN 1 ELSE 0 END) AS TOTPEDFECHADOS, SUM(CASE FECHAMENTO.STATUS WHEN 'PEPINO' THEN 1 ELSE 0 END) AS TOTPEDPEPINOS, SACOLEIRAS.VALORLIMITECREDITO, COALESCE((SELECT COUNT(PEPINOS.ID_SACOLEIRA) FROM PEPINOS WHERE PEPINOS.ID_SACOLEIRA = SACOLEIRAS.ID_SACOLEIRA AND COALESCE(PEPINOS.ID_PRACAPAGTO, 0) = 0),0) AS PEPINOSABERTOS, SACOLEIRAS.PAI, SACOLEIRAS.MAE, SACOLEIRAS.CONJUGE, SACOLEIRAS.SPC, SACOLEIRAS.EQUIPE, VW_EQUIPES.DESCRICAOEQUIPE, SACOLEIRAS.ID_NIVEL, NIVEIS.DESCRICAONIVEL, (SELECT COUNT(PEDIDOS.ID_SACOLEIRA) FROM PEDIDOS WHERE PEDIDOS.ID_SACOLEIRA = SACOLEIRAS.ID_SACOLEIRA AND (PEDIDOS.STATUS = 'DIGITADO' OR PEDIDOS.STATUS = 'TRANSFERIDO')) AS PEDIDOSEMABERTO, SACOLEIRAS.GPS FROM SACOLEIRAS INNER JOIN PRACAS ON PRACAS.ID_PRACA = SACOLEIRAS.ID_PRACA LEFT JOIN VENDEDORES ON VENDEDORES.ID_VENDEDOR = PRACAS.ID_VENDEDOR LEFT JOIN VW_PLANODECONTAS ON VW_PLANODECONTAS.ID_PLANODECONTAS = SACOLEIRAS.ID_CONTAFINANCEIRA LEFT JOIN VW_EQUIPES ON VW_EQUIPES.ID_EQUIPE = SACOLEIRAS.EQUIPE LEFT JOIN PEDIDOS ON PEDIDOS.ID_SACOLEIRA = SACOLEIRAS.ID_SACOLEIRA AND (PEDIDOS.STATUS = 'FECHADO' OR PEDIDOS.STATUS = 'PEPINO') LEFT JOIN FECHAMENTO ON FECHAMENTO.ID_PEDIDO = PEDIDOS.ID_PEDIDO LEFT JOIN NIVEIS ON NIVEIS.ID_NIVEL = SACOLEIRAS.ID_NIVEL GROUP BY SACOLEIRAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, PRACAS.TIPO, PRACAS.LIMITECREDITO, SACOLEIRAS.ID_SACOLEIRA, SACOLEIRAS.DESCRICAOSACOLEIRA, SACOLEIRAS.STATUS, PRACAS.ID_VENDEDOR, VENDEDORES.DESCRICAODOVENDEDOR, SACOLEIRAS.PRIPEDIDO, SACOLEIRAS.ULTPEDIDO, SACOLEIRAS.COMISSAO, SACOLEIRAS.INDICACAO, SACOLEIRAS.IDENTIDADE, SACOLEIRAS.CPF, SACOLEIRAS.DIAMES, SACOLEIRAS.ANO, SACOLEIRAS.ENDERECO, SACOLEIRAS.COMPLEMENTO, SACOLEIRAS.BAIRRO, SACOLEIRAS.CIDADE, SACOLEIRAS.UF, SACOLEIRAS.CEP, SACOLEIRAS.TELEFONE, SACOLEIRAS.CONTATOSMS, SACOLEIRAS.EMAIL, SACOLEIRAS.OBSERVACAO, SACOLEIRAS.PONTOANTES, SACOLEIRAS.PONTOATUAL, SACOLEIRAS.CLASSIFICACAO, SACOLEIRAS.ULTPEDIMPRESSO, SACOLEIRAS.ANOSEMULTPEDIMPR, SACOLEIRAS.ID_CONTAFINANCEIRA, VW_PLANODECONTAS.DESCRICAO, SACOLEIRAS.DATANASC, SACOLEIRAS.PERFIL, SACOLEIRAS.SACPRO, SACOLEIRAS.VALORLIMITECREDITO, SACOLEIRAS.PAI, SACOLEIRAS.MAE, SACOLEIRAS.CONJUGE, SACOLEIRAS.SPC, SACOLEIRAS.EQUIPE, VW_EQUIPES.DESCRICAOEQUIPE, SACOLEIRAS.ID_NIVEL, NIVEIS.DESCRICAONIVEL, SACOLEIRAS.GPS CREATE VIEW VW_SALDOCC(ID_PRACA, ID_VENDEDOR, DATA, ANOSEMCOB, SALDO) AS SELECT CONTACORRENTEVENDEDOR.ID_PRACA, CONTACORRENTEVENDEDOR.ID_VENDEDOR, CONTACORRENTEVENDEDOR.DATA, CONTACORRENTEVENDEDOR.ANOSEMCOB, CASE WHEN CONTACORRENTEVENDEDOR.TIPO = 'CRÉDITO' THEN CONTACORRENTEVENDEDOR.VALOR ELSE CONTACORRENTEVENDEDOR.VALOR * (-1) END AS SALDO FROM CONTACORRENTEVENDEDOR CREATE VIEW VW_CONTAS(ID, DESCRICAO, OBSERVACOES, DATALANCAMENTO, DATAPAGAMENTO, ID_PLANODECONTAS, DESCRICAOPLANO, ID_CAIXA, ID_TIPOPAGAMENTO, VALOR, VALORPAGO, TIPO) AS SELECT CONTASAPAGAR.ID_CONTASAPAGAR AS ID, CASE WHEN CONTASAPAGAR.ID_VENDEDOR IS NOT NULL THEN VENDEDORES.DESCRICAODOVENDEDOR ELSE FORNECEDORES.DESCRICAODOFORNECEDOR END AS DESCRICAO, CONTASAPAGAR.OBSERVACOES AS OBSERVACOES, CONTASAPAGAR.DATALANCAMENTO AS DATALANCAMENTO, CONTASAPAGAR.DATAPAGAMENTO AS DATAPAGAMENTO, CONTASAPAGAR.ID_PLANODECONTAS, VW_PLANODECONTAS.DESCRICAO AS DESCRICAOPLANO, CONTASAPAGAR.ID_CAIXA, CONTASAPAGAR.ID_TIPOPAGAMENTO, CONTASAPAGAR.VALOR, CONTASAPAGAR.VALORPAGO, 'DESPESA' AS TIPO FROM CONTASAPAGAR LEFT JOIN FORNECEDORES ON FORNECEDORES.ID_FORNECEDOR = CONTASAPAGAR.ID_FORNECEDOR LEFT JOIN VENDEDORES ON VENDEDORES.ID_VENDEDOR = CONTASAPAGAR.ID_VENDEDOR LEFT JOIN VW_PLANODECONTAS ON VW_PLANODECONTAS.ID_PLANODECONTAS = CONTASAPAGAR.ID_PLANODECONTAS UNION ALL SELECT CONTASARECEBER.ID_CONTASARECEBER, CASE WHEN CONTASARECEBER.ID_VENDEDOR IS NOT NULL THEN VENDEDORES.DESCRICAODOVENDEDOR ELSE SACOLEIRAS.DESCRICAOSACOLEIRA END, CONTASARECEBER.OBSERVACOES, CONTASARECEBER.DATALANCAMENTO, CONTASARECEBER.DATAPAGAMENTO, CONTASARECEBER.ID_PLANODECONTAS, VW_PLANODECONTAS.DESCRICAO, CONTASARECEBER.ID_CAIXA, CONTASARECEBER.ID_TIPOPAGAMENTO, CONTASARECEBER.VALOR, CONTASARECEBER.VALORPAGO, 'RECEITA' AS TIPO FROM CONTASARECEBER LEFT JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = CONTASARECEBER.ID_SACOLEIRA LEFT JOIN VENDEDORES ON VENDEDORES.ID_VENDEDOR = CONTASARECEBER.ID_VENDEDOR LEFT JOIN VW_PLANODECONTAS ON VW_PLANODECONTAS.ID_PLANODECONTAS = CONTASARECEBER.ID_PLANODECONTAS CREATE VIEW VW_RELFECHFINACVEND(ORDEM, ID_ARTIGO, VLUNITARIO, DESCRICAODOARTIGO, VLCUSTO, ID_PRACA, ANOSEMPED, QTDRECEBIDA, QTDDISTRIBUIDA, QTDDEVOLVEND, QTDDEVOLCOB, ID_TABELA) AS SELECT CA.ORDEM, CA.ID_ARTIGO, CA.VLUNITARIO, ARTIGOS.DESCRICAODOARTIGO, ARTIGOS.VLCUSTO, CA.ID_PRACA, CA.ANOSEMPED, CA.QTDRECEBIDA, CA.QTDDISTRIBUIDA, COALESCE((SELECT VW_CARGASARTIGOS.QTDDEVOLVIDA FROM VW_CARGASARTIGOS WHERE VW_CARGASARTIGOS.ID_PRACA = CA.ID_PRACA AND VW_CARGASARTIGOS.ANOSEMPED = CA.ANOSEMPED AND VW_CARGASARTIGOS.QTDDEVOLVIDA > 0 AND VW_CARGASARTIGOS.ID_ARTIGO = CA.ID_ARTIGO),0) AS QTDDEVOLVEND, COALESCE((SELECT SUM(PEDIDOSARTIGOS.QTDDEVOLVIDA) FROM PEDIDOSARTIGOS WHERE PEDIDOSARTIGOS.ID_PRACA = CA.ID_PRACA AND PEDIDOSARTIGOS.ANOSEMPED = CA.ANOSEMPED AND PEDIDOSARTIGOS.QTDDEVOLVIDA > 0 AND PEDIDOSARTIGOS.ID_ARTIGO = CA.ID_ARTIGO AND PEDIDOSARTIGOS.STATUS <> "EXCLUIDO" AND PEDIDOSARTIGOS.STATUS <> "JUNTADO"),0) AS QTDDEVOLCOB, PRACAS.ID_TABELA FROM VW_CARGASARTIGOS CA INNER JOIN PRACAS ON PRACAS.ID_PRACA = CA.ID_PRACA LEFT JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = CA.ID_ARTIGO WHERE ( (CA.QTDRECEBIDA > 0) OR (CA.QTDDISTRIBUIDA > 0) ) UNION DISTINCT SELECT 2000 AS ORDEM, CA2.ID_ARTIGO, CA2.VLUNITARIO, ARTIGOS.DESCRICAODOARTIGO, ARTIGOS.VLCUSTO, CA2.ID_PRACA, CA2.ANOSEMPED, 0, 0, CA2.QTDDEVOLVIDA AS QTDDEVOLVEND, COALESCE((SELECT SUM(PEDIDOSARTIGOS.QTDDEVOLVIDA) FROM PEDIDOSARTIGOS WHERE PEDIDOSARTIGOS.ID_PRACA = CA2.ID_PRACA AND PEDIDOSARTIGOS.ANOSEMPED = CA2.ANOSEMPED AND PEDIDOSARTIGOS.QTDDEVOLVIDA > 0 AND PEDIDOSARTIGOS.ID_ARTIGO = CA2.ID_ARTIGO AND PEDIDOSARTIGOS.STATUS <> "EXCLUIDO" AND PEDIDOSARTIGOS.STATUS <> "JUNTADO"),0) AS QTDDEVOLCOB, PRACAS.ID_TABELA FROM VW_CARGASARTIGOS CA2 INNER JOIN PRACAS ON PRACAS.ID_PRACA = CA2.ID_PRACA LEFT JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = CA2.ID_ARTIGO WHERE CA2.ID_ARTIGO NOT IN (SELECT VW_CARGASARTIGOS.ID_ARTIGO FROM VW_CARGASARTIGOS WHERE VW_CARGASARTIGOS.ID_PRACA = CA2.ID_PRACA AND VW_CARGASARTIGOS.ANOSEMPED = CA2.ANOSEMPED AND VW_CARGASARTIGOS.ID_ARTIGO = CA2.ID_ARTIGO AND ( (VW_CARGASARTIGOS.QTDRECEBIDA > 0) OR (VW_CARGASARTIGOS.QTDDISTRIBUIDA > 0) ) ) UNION DISTINCT SELECT 3000 AS ORDEM, PEDIDOSARTIGOS.ID_ARTIGO, PEDIDOSARTIGOS.VLUNITARIO, ARTIGOS.DESCRICAODOARTIGO, ARTIGOS.VLCUSTO, PEDIDOSARTIGOS.ID_PRACA, PEDIDOSARTIGOS.ANOSEMPED, 0, 0, 0, SUM(PEDIDOSARTIGOS.QTDDEVOLVIDA) AS QTDDEVOLCOB, PRACAS.ID_TABELA FROM PEDIDOSARTIGOS INNER JOIN PRACAS ON PRACAS.ID_PRACA = PEDIDOSARTIGOS.ID_PRACA LEFT JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = PEDIDOSARTIGOS.ID_ARTIGO WHERE (PEDIDOSARTIGOS.QTDDEVOLVIDA > 0) AND PEDIDOSARTIGOS.STATUS <> "EXCLUIDO" AND PEDIDOSARTIGOS.STATUS <> "JUNTADO" AND PEDIDOSARTIGOS.ID_ARTIGO NOT IN (SELECT VW_CARGASARTIGOS.ID_ARTIGO FROM VW_CARGASARTIGOS WHERE VW_CARGASARTIGOS.ID_PRACA = PEDIDOSARTIGOS.ID_PRACA AND VW_CARGASARTIGOS.ANOSEMPED = PEDIDOSARTIGOS.ANOSEMPED AND VW_CARGASARTIGOS.ID_ARTIGO = PEDIDOSARTIGOS.ID_ARTIGO AND PEDIDOSARTIGOS.STATUS <> "EXCLUIDO" AND PEDIDOSARTIGOS.STATUS <> "JUNTADO") AND PEDIDOSARTIGOS.ID_ARTIGO NOT IN (SELECT VW_CARGASARTIGOS.ID_ARTIGO FROM VW_CARGASARTIGOS WHERE VW_CARGASARTIGOS.ID_PRACA = PEDIDOSARTIGOS.ID_PRACA AND VW_CARGASARTIGOS.ANOSEMPED = PEDIDOSARTIGOS.ANOSEMPED AND VW_CARGASARTIGOS.ID_ARTIGO = PEDIDOSARTIGOS.ID_ARTIGO AND ( (VW_CARGASARTIGOS.QTDRECEBIDA > 0) OR (VW_CARGASARTIGOS.QTDDISTRIBUIDA > 0) ) ) GROUP BY PEDIDOSARTIGOS.ID_ARTIGO, PEDIDOSARTIGOS.VLUNITARIO, ARTIGOS.DESCRICAODOARTIGO, ARTIGOS.VLCUSTO, PEDIDOSARTIGOS.ID_PRACA, PEDIDOSARTIGOS.ANOSEMPED, PRACAS.ID_TABELA CREATE VIEW VW_SALDOCC2(ID_CONTACORRENTEVENDEDOR, ID_PRACA, ID_VENDEDOR, DATA, ANOSEMCOB, CREDITOS, DEBITOS) AS SELECT CONTACORRENTEVENDEDOR.ID_CONTACORRENTEVENDEDOR, CONTACORRENTEVENDEDOR.ID_PRACA, CONTACORRENTEVENDEDOR.ID_VENDEDOR, CONTACORRENTEVENDEDOR.DATA, CONTACORRENTEVENDEDOR.ANOSEMCOB, CASE WHEN CONTACORRENTEVENDEDOR.TIPO = 'CRÉDITO' THEN CONTACORRENTEVENDEDOR.VALOR ELSE 0.00 END AS CREDITOS, CASE WHEN CONTACORRENTEVENDEDOR.TIPO = 'CRÉDITO' THEN 0.00 ELSE CONTACORRENTEVENDEDOR.VALOR END AS DEBITOS FROM CONTACORRENTEVENDEDOR CREATE VIEW VW_ENCOMENDAS(ID_MOVENCOMENDA, DATAENCOMENDA, ID_SACOLEIRA, ENCOMENDAS, USUARIO, DESCRICAOSACOLEIRA, VALORLIMITECREDITO, MEDIAVENDAS, PERCENTUALVENDAS, TOTPEDFECHADOS, TOTPEDPEPINOS, PEPINOSABERTOS, ID_PRACA, DESCRICAODAPRACA, ID_VENDEDOR, DESCRICAODOVENDEDOR) AS SELECT MOVENCOMENDAS.ID_MOVENCOMENDA, MOVENCOMENDAS.DATAENCOMENDA, MOVENCOMENDAS.ID_SACOLEIRA, MOVENCOMENDAS.ENCOMENDAS, MOVENCOMENDAS.USUARIO, SACOLEIRAS.DESCRICAOSACOLEIRA, SACOLEIRAS.VALORLIMITECREDITO, AVG(COALESCE(FECHAMENTO.VLVENDAPEDIDO, 0) + COALESCE(FECHAMENTO.VLVENPEDSEMCOMISSAO,0) + COALESCE(FECHAMENTO.VLVENPEDCOMISSAOFIXA,0)) AS MEDIAVENDAS, AVG(FECHAMENTO.VLFATORVENDA) AS PERCENTUALVENDAS, SUM(CASE FECHAMENTO.STATUS WHEN 'FECHADO' THEN 1 ELSE 0 END) AS TOTPEDFECHADOS, SUM(CASE FECHAMENTO.STATUS WHEN 'PEPINO' THEN 1 ELSE 0 END) AS TOTPEDPEPINOS, COALESCE((SELECT COUNT(PEPINOS.ID_SACOLEIRA) FROM PEPINOS WHERE PEPINOS.ID_SACOLEIRA = MOVENCOMENDAS.ID_SACOLEIRA AND COALESCE(PEPINOS.ID_PRACAPAGTO, 0) = 0),0) AS PEPINOSABERTOS, PRACAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, VENDEDORES.ID_VENDEDOR, VENDEDORES.DESCRICAODOVENDEDOR FROM MOVENCOMENDAS INNER JOIN SACOLEIRAS ON SACOLEIRAS.ID_SACOLEIRA = MOVENCOMENDAS.ID_SACOLEIRA LEFT JOIN PEDIDOS ON PEDIDOS.ID_SACOLEIRA = SACOLEIRAS.ID_SACOLEIRA LEFT JOIN FECHAMENTO ON FECHAMENTO.ID_PEDIDO = PEDIDOS.ID_PEDIDO LEFT JOIN PRACAS ON PRACAS.ID_PRACA = SACOLEIRAS.ID_PRACA LEFT JOIN VENDEDORES ON VENDEDORES.ID_VENDEDOR = PRACAS.ID_VENDEDOR GROUP BY MOVENCOMENDAS.ID_MOVENCOMENDA, MOVENCOMENDAS.DATAENCOMENDA, MOVENCOMENDAS.ID_SACOLEIRA, MOVENCOMENDAS.ENCOMENDAS, MOVENCOMENDAS.USUARIO, SACOLEIRAS.DESCRICAOSACOLEIRA, SACOLEIRAS.VALORLIMITECREDITO, PRACAS.ID_PRACA, PRACAS.DESCRICAODAPRACA, VENDEDORES.ID_VENDEDOR, VENDEDORES.DESCRICAODOVENDEDOR CREATE VIEW VW_RELPGTSACERTOFORN(ID_COMPRA, FILIAL, DATA, ID_ARTIGO, DESCRICAODOARTIGO, VLUNITARIO, QUANTIDADE, VALOR, ID_FORNECEDOR) AS SELECT COMPRAS.ID_COMPRA, 'SAL' AS FILIAL, CONTASAPAGAR.DATALANCAMENTO AS DATA, NULL AS ID_ARTIGO, CONTASAPAGAR.OBSERVACOES AS DESCRICAODOARTIGO, NULL AS VLUNITARIO, NULL AS QUANTIDADE, CONTASAPAGAR.VALOR, COMPRAS.ID_FORNECEDOR FROM COMPRAS INNER JOIN CONTASAPAGAR ON CONTASAPAGAR.ID_COMPRA = COMPRAS.ID_COMPRA AND (CONTASAPAGAR.DATAPAGAMENTO IS NULL OR CONTASAPAGAR.DATAPAGAMENTO = 0000-00-00) WHERE CONTASAPAGAR.OBSERVACOES LIKE 'SALDO REF.ACERT.%' AND COMPRAS.ID_COMPRA IN (SELECT C.ID_COMPRA FROM COMPRAS C INNER JOIN CONTASAPAGAR ON CONTASAPAGAR.ID_COMPRA = C.ID_COMPRA WHERE C.ID_FORNECEDOR = COMPRAS.ID_FORNECEDOR GROUP BY C.ID_COMPRA HAVING MAX(CONTASAPAGAR.OBSERVACOES) LIKE 'SALDO REF%') UNION ALL SELECT DISTINCT COMPRAS.ID_COMPRA, COMPRASARTIGOS.FILIAL, COMPRAS.DATA, COMPRASARTIGOS.ID_ARTIGO, ARTIGOS.DESCRICAODOARTIGO, COMPRASARTIGOS.VLUNITARIO, COMPRASARTIGOS.QUANTIDADE, COMPRASARTIGOS.VALOR, COMPRAS.ID_FORNECEDOR FROM COMPRAS INNER JOIN COMPRASARTIGOS ON COMPRASARTIGOS.ID_COMPRA = COMPRAS.ID_COMPRA LEFT JOIN ARTIGOS ON ARTIGOS.ID_ARTIGO = COMPRASARTIGOS.ID_ARTIGO INNER JOIN CONTASAPAGAR ON CONTASAPAGAR.ID_COMPRA = COMPRAS.ID_COMPRA AND (CONTASAPAGAR.DATAPAGAMENTO IS NULL OR CONTASAPAGAR.DATAPAGAMENTO = 0000-00-00) WHERE COMPRAS.ID_COMPRA IN (SELECT C.ID_COMPRA FROM COMPRAS C INNER JOIN CONTASAPAGAR ON CONTASAPAGAR.ID_COMPRA = C.ID_COMPRA WHERE C.ID_FORNECEDOR = COMPRAS.ID_FORNECEDOR GROUP BY C.ID_COMPRA HAVING MAX(CONTASAPAGAR.OBSERVACOES) NOT LIKE 'SALDO REF%') CREATE VIEW VW_RELPGTSACERTOFORNRES(ID_FORNECEDOR, DESCRICAODOFORNECEDOR, ULTIMOACERTO, VALORCOMPRAS, TOTALPAGAMENTOS) AS SELECT FORNECEDORES.ID_FORNECEDOR, FORNECEDORES.DESCRICAODOFORNECEDOR, (SELECT MAX(CONTASAPAGAR.DATAPAGAMENTO) FROM CONTASAPAGAR WHERE CONTASAPAGAR.ID_FORNECEDOR = FORNECEDORES.ID_FORNECEDOR) AS ULTIMOACERTO, COALESCE((SELECT SUM(VW_RELPGTSACERTOFORN.VALOR) FROM VW_RELPGTSACERTOFORN WHERE VW_RELPGTSACERTOFORN.ID_FORNECEDOR = FORNECEDORES.ID_FORNECEDOR),0) AS VALORCOMPRAS, COALESCE((SELECT SUM(PAGAMENTOSFORNECEDORES.VALOR) FROM PAGAMENTOSFORNECEDORES WHERE PAGAMENTOSFORNECEDORES.ID_FORNECEDOR = FORNECEDORES.ID_FORNECEDOR AND (PAGAMENTOSFORNECEDORES.DATAPAGAMENTO IS NULL OR PAGAMENTOSFORNECEDORES.DATAPAGAMENTO = 0000-00-00)),0) AS TOTALPAGAMENTOS FROM FORNECEDORES ORDER BY FORNECEDORES.DESCRICAODOFORNECEDOR