Projeto

Geral

Perfil

VirtualAge-ETL-SQL-padrao » Histórico » Versão 42

paulo, 31/05/2023 13:56 h

1 1 paulo
h1. Virtual Age API V1 - ETL
2 1 paulo
3 1 paulo
*Índice* 
4 1 paulo
# *GEOvendas*
5 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Representantes|GEO - Representantes]] 
6 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Representante-Gerente|GEO - Representante Gerente]] 
7 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Municípios-do-Representante|GEO - Municípios do Representante]] 
8 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Municípios-do-ERP|GEO - Municípios do ERP]] 
9 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Clientes-e-Prospects|GEO - Clientes e Prospects]] 
10 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Cliente-Dos-Representantes|GEO - Cliente Dos Representantes ]] 
11 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Marcas-do-Cliente|GEO - Marcas do Cliente]] 
12 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Coleções|GEO - Coleções]] 
13 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Linhas-de-Produto|GEO - Linhas de Produto]] 
14 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Marcas|GEO - Marcas]] 
15 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Vendas|GEO - Vendas]] 
16 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Faturamento-Contrato|GEO - Faturamento - Contrato]]
17 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Meta-do-Representante|GEO - Meta do Representante]]
18 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Meta-do-Escritório|GEO - Meta do Escritório]]
19 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Estoque Centralizado|GEO - Estoque Centralizado]]
20 1 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Clientes Inadimplentes|GEO - Clientes Inadimplentes]]
21 10 paulo
## [[VirtualAge-ETL-SQL-padrao#GEO - Condição de Venda|GEO - Condição de Venda]]
22 1 paulo
# *Força de Vendas*
23 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela de Preço|FV - Tabela de Preço]] 
24 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-por-Representante|FV - Tabela de Preço por Representante]] 
25 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Produto|FV - Tabela de Preço - Produto]]
26 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Política-Desconto-Comercial|FV - Tabela de Preço - Política - Desconto Comercial]] 
27 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Política-Desconto-Financeiro|FV - Tabela de Preço - Política - Desconto Financeiro]] 
28 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Política-Desconto-Antecipação|FV - Tabela de Preço - Política - Desconto Antecipação]] 
29 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Política-Prazo-Adicional|FV - Tabela de Preço - Política - Prazo Adicional]] 
30 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Política-Desconto-Volume|FV - Tabela de Preço - Política - Desconto Volume]] 
31 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Política-Preços-por-volume|FV - Tabela de Preço - Política - Preços por volume]] 
32 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Títulos-Em-Aberto|FV - Títulos Em Aberto]] 
33 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Condição-de-Venda|FV - Condição de Venda]]
34 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Cota-de-estoque-Por-representante|FV - Cota de estoque - Por representante]] 
35 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tipo-de-Nota|FV - Tipo de Nota]]
36 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tipo-de-Cobrança|FV - Tipo de Cobrança]]
37 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Comissões|FV - Comissões]] 
38 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Comissões-Extrato-Resumo|FV - Comissões - Extrato Resumo]] 
39 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Comissões-Extrato-Detalhado|FV - Comissões - Extrato Detalhado]] 
40 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes|FV - Clientes]]
41 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes-Campos-Customizados|FV - Clientes - Campos Customizados]]
42 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes-Locais-de-Entrega|FV - Clientes - Locais de Entrega]]
43 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes-Ramos-de-Atividade|FV - Clientes - Ramos de Atividade]]
44 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes-Grupos-de-Cliente|FV - Clientes - Grupos de Cliente]]
45 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes-Condições-de-venda|FV - Clientes - Condições de venda]]
46 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes-Marcas|FV - Clientes - Marcas]]
47 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Clientes-Marcas-Concorrentes|FV - Clientes - Marcas Concorrentes]]
48 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Produtos-Gold-Be|FV - Produtos - Gold Be]]
49 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Produtos|FV - Produtos]]
50 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Produtos-Grades|FV - Produtos - Grades]]
51 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Produtos-Sortimentos|FV - Produtos - Sortimentos]]
52 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Produtos-Skus|FV - Produtos Skus]]
53 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Produto-Código-Reduzido|FV - Produto - Código Reduzido]]
54 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Produto-EAN13|FV - Produto - EAN13]]
55 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Bloqueio-de-Referências|FV - Bloqueio de Referências]]
56 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Pedido-Capa|FV - Pedido - Capa]]
57 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Pedidos-por-Referência|FV - Pedidos por Referência]]
58 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Capa|FV - Listagem de Pedidos - Capa]]
59 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Detalhado|FV - Listagem de Pedidos - Detalhado]]
60 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Itens|FV - Listagem de Pedidos - Itens]]
61 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Notas|FV - Listagem de Pedidos - Notas]]
62 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Observções|FV - Listagem de Pedidos - Observações]]
63 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Histórico|FV - Listagem de Pedidos - Histórico]]
64 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Estoque|FV - Estoque]]
65 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Lotes-de-Entrega|FV - Lote Entrega]]
66 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Lotes-de-Faturamento|FV - Lotes de Faturamento]]
67 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Cálculo-substituição-tributária|FV - Cálculo substituição tributária]]
68 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Grupos-substituição-tributária|FV - Grupos substituição tributária]]
69 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Integração-Valor-de-Frete-por-UF|FV - Integração Valor de Frete por UF]]
70 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-SKU|FV - Tabela de Preço SKU]]
71 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Tabela-de-Preço-Política-Desconto-Adicional-de-Lote|FV - Tabela de Preço - Política - Desconto Adicional de Lote]]
72 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Em-Aberto-Capa|FV - Listagem de Pedidos em Aberto - Capa]]
73 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Detalhado|FV - Listagem de Pedidos em Aberto - Detalhado]]
74 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - Listagem-de-Pedidos-Itens|FV - Listagem de Pedidos em Aberto - Itens]]
75 1 paulo
## [[VirtualAge-ETL-SQL-padrao#FV - SKUs Pronta Entrega e Programado|FV - SKUs Pronta Entrega e Programado]]
76 1 paulo
# *Business to Business (B2B)*
77 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos| B2B - Produtos]]
78 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos-Grades| B2B - Produtos - Grades]]
79 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos-Grade-Fechada| B2B - Produtos - Grade Fechada]]
80 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos-Sortimentos| B2B - Produtos - Sortimentos]]
81 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos-Tabela-de-Preço| B2B - Produtos - Tabela de Preço]]
82 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos-Tabela-de-Preço-por-SKU| B2B - Produtos - Tabela de Preço por SKU]]
83 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos-Estoque| B2B - Produtos - Estoque]]
84 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produtos-Pocket| B2B - Produtos - Pocket]]
85 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Pedido-Capa| B2B - Pedido - Capa]]
86 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Pedido-Histórico| B2B - Pedido - Histórico]]
87 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Pedido-Detalhe| B2B - Pedido - Detalhe]]
88 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Pedido-Itens| B2B - Pedido - Itens]]
89 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Cliente| B2B - Cliente]]
90 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Representantes - Clientes| B2B - Representantes - Clientes]]
91 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Clientes-Representantes| B2B - Clientes - Representantes]]
92 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Comissão por Repres/Cliente/Marca| B2B - Comissão por Repres/Cliente/Marca]]
93 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Condição de Venda| B2B - Condição de Venda]]
94 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Bloqueio-de-Referências| B2B - Bloqueio Referências]]
95 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Boletos-Consulta-Cliente| B2B - Boletos - Consulta Cliente]]
96 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Boletos-Listagem| B2B - Boletos - Listagem]]
97 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Boletos-Detalhado| B2B - Boletos - Detalhado]]
98 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - DANFE-Listagem| B2B - DANFE- Listagem]]
99 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - DANFE-Itens-da-Nota| B2B - DANFE- Itens da Nota]]
100 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - DANFE-XML| B2B - DANFE- XML]]
101 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Lote de Faturamento| B2B -  Lote de Faturamento]]
102 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produto SKU - Cód. Barras| B2B -  Produto SKU - Cód. Barras]]
103 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Frete| B2B -  Frete]]
104 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Espelho Nota de Devolução| B2B -  Espelho Nota de Devolução]]
105 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Produto Volume Valor por Referência| B2B -  Produto Volume Valor por Referência]]
106 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Substituição Tributária| B2B -  Substituição Tributária]]
107 1 paulo
## [[VirtualAge-ETL-SQL-padrao#B2B - Pedido-Recompra| B2B - Pedido - Recompra]]
108 1 paulo
# *CRM*
109 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Dados-Cadastrais-do-Cliente| CRM - Dados Cadastrais do Cliente]]
110 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Pesquisa-por-Nome-de-Cliente| CRM - Pesquisa por Nome de Cliente]]
111 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Pesquisa-Avançada| CRM - Pesquisa Avançada]]
112 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Lista-de-Pedidos-do-Cliente| CRM - Lista de Pedidos do Cliente]]
113 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Pedido-Detalhado| CRM - Pedido - Detalhado]]
114 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Pedido-Itens| CRM - Pedido - Itens]]
115 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Pedido-NFs| CRM - Pedido - NFs]]
116 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Informações-Financeiras| CRM - Informações Financeiras]]
117 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Informações Financeiras por Situação| CRM - Informações Financeiras por Situação]]
118 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Informações Financeiras - Ocorrências| CRM - Informações Financeiras - Ocorrências]]
119 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Clientes do Grupo| CRM - Clientes do Grupo]]
120 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Lista-de-Pedidos-Representante| CRM - Lista de Pedidos Representante]]
121 1 paulo
## [[VirtualAge-ETL-SQL-padrao#CRM - Lista-de-Clientes-do-Itinerário| CRM - Lista de Clientes do Itinerário]]
122 1 paulo
123 1 paulo
h2. GEO - Representantes
124 1 paulo
125 1 paulo
Documentação: [[Manual de Integração#Representantes|Representantes]] 
126 1 paulo
127 1 paulo
<pre><code class="sql">
128 2 paulo
select
129 2 paulo
        '1' as codEmpresa
130 2 paulo
        , rep.cdpessoa as codRepres 
131 2 paulo
        , rep.nmpessoa as nome
132 2 paulo
        , regexp_replace(pt.nrtelefone, '[^0-9]', '', 'g') as telefone
133 2 paulo
        , pm.dsemail as email	
134 2 paulo
        , pe.nmlogradouro as endereco
135 2 paulo
        , pe.dsbairro as bairro
136 2 paulo
        , pe.cdcep as CEP
137 2 paulo
        , pe.NMMUNICIPIO as Cidade
138 2 paulo
        , pe.ufsigla as UF
139 2 paulo
        , coalesce(im.codibge,'1200351') as codIBGE --definir um codIbge padrão com o cliente para quando for NULL
140 2 paulo
        , case when (rep.ininativo = 'TRUE') then 0 else 1 end as situacao
141 2 paulo
        , null as CodRepresAgrupador
142 2 paulo
        , null as telefone2
143 2 paulo
        , null as telefone3
144 2 paulo
        , null as codigoAdministrador
145 2 paulo
        , null as cnpj
146 2 paulo
        , null as codAgrupadorEscritorio
147 2 paulo
        , null as flagAgrupadorMaster
148 2 paulo
        , null as percComissa
149 2 paulo
        , null as codigoPessoaFisica
150 2 paulo
        , rep.nmpessoa as nomePessoaFisica
151 2 paulo
        , null as senhaAPi
152 2 paulo
        , null as Origem
153 2 paulo
        , rep.nmpessoa as fantasia
154 2 paulo
        , null as empresaIntegracaoPedido
155 2 paulo
        , null as marcas
156 2 paulo
        , null as flagPermiteVendaPorFamilia    
157 2 paulo
from    representantevaentity rep
158 2 paulo
left join 
159 2 paulo
        pessoaenderecovaentity pe 
160 2 paulo
on pe.cdpessoa = rep.cdpessoa 
161 2 paulo
left join 
162 2 paulo
        vpesconsultavaentity vpc 
163 2 paulo
on vpc.cdpessoa = rep.cdpessoa
164 2 paulo
left join 
165 2 paulo
        etlcidade im 
166 2 paulo
on UPPER(im.siglaUF) = UPPER(pe.ufsigla) 
167 2 paulo
and (
168 2 paulo
       (REPLACE(REPLACE(UPPER(im.nome), ' ', ''), '''', '') = REPLACE(REPLACE(UPPER(pe.nmmunicipio), ' ', ''), '''', '')) 
169 2 paulo
    OR (REPLACE(REPLACE(UPPER(im.nome), ' ', ''), '''', 'O') = REPLACE(REPLACE(UPPER(pe.nmmunicipio), ' ', ''), '''', ''))
170 2 paulo
        )
171 2 paulo
left join 
172 2 paulo
        pessoatelefonevaentity pt 
173 2 paulo
on pt.cdpessoa = rep.cdpessoa and pt.inpadrao = 'TRUE'
174 2 paulo
left join 
175 2 paulo
        pessoaemailvaentity pm 
176 2 paulo
on pm.cdpessoa = rep.cdpessoa and pm.inpadrao = 'TRUE'
177 1 paulo
</code></pre>
178 1 paulo
179 1 paulo
h2. GEO - Representante Gerente
180 1 paulo
181 1 paulo
Documentação: [[Manual de Integração#Representante-Gerente|Representante Gerente]] 
182 1 paulo
183 1 paulo
<pre><code class="sql">
184 1 paulo
Adicionar SQL
185 1 paulo
</code></pre>
186 1 paulo
187 1 paulo
h2. GEO - Municípios do Representante
188 1 paulo
189 1 paulo
Documentação: [[Manual de Integração#Municípios-do-Representante|Municípios do Representante]] 
190 1 paulo
191 1 paulo
<pre><code class="sql">
192 1 paulo
Adicionar SQL
193 1 paulo
</code></pre>
194 1 paulo
195 1 paulo
h2. GEO - Municípios do ERP
196 1 paulo
197 1 paulo
Documentação: [[Manual de Integração#Municípios-do-ERP|Municípios do ERP]] 
198 1 paulo
199 1 paulo
<pre><code class="sql">
200 4 paulo
Adicionar o sql
201 1 paulo
</code></pre>
202 1 paulo
203 1 paulo
h2. GEO - Clientes e Prospects
204 1 paulo
205 1 paulo
Documentação: [[Manual de Integração#Clientes-e-Prospects|Clientes e Prospects]] 
206 1 paulo
207 1 paulo
<pre><code class="sql">
208 6 paulo
select 
209 6 paulo
        '1' codEmpresa
210 6 paulo
        , COALESCE(im.codibge, '4127403') as codIBGE --CONFIRMAR COM O CLIENTE UM IBGE PADRÃO
211 6 paulo
        , p.cdpessoa as codCliente
212 6 paulo
        , 1 as tipo /* 1 - Cliente, 2 - Prospect*/
213 6 paulo
        , p.nmpessoa as nome
214 6 paulo
        , (case when (p.ininativo = 'TRUE') then 0 else 1 end) as situacao
215 6 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') as codRepres1
216 6 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 1), '0') as codRepres2
217 6 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 2), '0') as codRepres3
218 6 paulo
        , regexp_replace(pt.nrtelefone, '[^0-9]', '', 'g') as telefone
219 6 paulo
        , pm.dsemail as email
220 6 paulo
        , pe.nmlogradouro as endereco
221 6 paulo
        , pe.dsbairro as bairro
222 6 paulo
        , pe.cdcep as CEP
223 6 paulo
        , (case when v.dataCadastro is null then p.dtcadastro else v.dataCadastro end) as dataCadastro
224 6 paulo
        , coalesce(
225 6 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
226 6 paulo
                 union
227 6 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
228 6 paulo
                ), p.nrcpfcnpj) as cnpjCpf
229 6 paulo
        , pmc.dsemail as emailCobranca
230 6 paulo
        , pe.dsbairro as nomeDistritoBairro
231 6 paulo
        , pts.nrtelefone as celular
232 6 paulo
        , pj.nrinscestl as inscricaoEstadual
233 6 paulo
        , pe.nrlogradouro as enderecoNumero
234 6 paulo
        , pe.dscomplemento as complemento
235 6 paulo
        , null as IndicePontualidade
236 6 paulo
        , null as telefone2
237 6 paulo
        , null as telefoneCobranca
238 6 paulo
        , case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end as grupoCliente
239 6 paulo
        , case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end as codClientePrincipal
240 6 paulo
        , null as situacaoEdt
241 6 paulo
        , (select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador) as nomeGrupoCliente
242 6 paulo
        , (case when coalesce(titulos_em_atraso,0) > 0 then 1 else 0 end) as flagInadimplente
243 6 paulo
        , (pe.cdmunicipio || ' - ' || pe.nmmunicipio) as cidade
244 6 paulo
        , pe.ufsigla as uf
245 6 paulo
        , pj.nmfantasia as nomeFantasia
246 6 paulo
        , null as ramoAtividade
247 6 paulo
        , null as dataPrimeiraCompra
248 6 paulo
        , null as dataUltimaCompra
249 6 paulo
        , null as maiorCompra
250 6 paulo
        , null as maiorAcumulado
251 6 paulo
        , null as codClienteERP
252 6 paulo
        , null as codRamoAtividade
253 6 paulo
        , null as limiteCredito
254 6 paulo
        , null as ultimoFaturamento
255 6 paulo
        , null as dataReativacao
256 6 paulo
        , null as codSitCreditoERP
257 6 paulo
        , null as descSitCreditoERP
258 6 paulo
        , null as motivoInativo
259 6 paulo
        , null as diasVencimentoTitulo
260 6 paulo
        , null as socios
261 6 paulo
        , null as cidadeGrupoCliente
262 6 paulo
        , null as classificacaoERP
263 6 paulo
        , null as instagram
264 6 paulo
        , null as facebook
265 6 paulo
        , null as marcasLiberadas
266 6 paulo
        , pmc.dsemail as emailNfe
267 6 paulo
FROM    pessoavaentity p
268 6 paulo
inner join 
269 6 paulo
        pessoaenderecovaentity pe 
270 6 paulo
on      pe.cdempresa = p.cdempresa and pe.cdpessoa = p.cdpessoa 
271 6 paulo
inner join 
272 6 paulo
        vpesconsultavaentity vpc 
273 6 paulo
on      vpc.cdpessoa = p.cdpessoa	 
274 6 paulo
LEFT join 
275 6 paulo
        ETLCidade im 
276 6 paulo
on      im.codCidade = pe.cdMunicipio
277 6 paulo
LEFT join 
278 6 paulo
        pessoatelefonevaentity pt 
279 6 paulo
on      pt.cdempresa = p.cdempresa 
280 6 paulo
AND     pt.cdpessoa = p.cdpessoa 
281 6 paulo
AND     pt.id = (       SELECT  MIN(pt2.id) 
282 6 paulo
                        FROM    pessoatelefonevaentity pt2 
283 6 paulo
                        WHERE   pt.cdempresa = pt2.cdempresa 
284 6 paulo
                        AND     pt.cdpessoa = pt2.cdpessoa
285 6 paulo
                )
286 6 paulo
left join 
287 6 paulo
        pessoaemailvaentity pm 
288 6 paulo
on      pm.cdempresa = p.cdempresa 
289 6 paulo
and     pm.cdpessoa = p.cdpessoa 
290 6 paulo
and     pm.inpadrao = 'TRUE'
291 6 paulo
left join 
292 6 paulo
        pessoaemailvaentity pmc 
293 6 paulo
on      pmc.cdempresa = p.cdempresa 
294 6 paulo
and     pmc.cdpessoa = p.cdpessoa 
295 6 paulo
and     pmc.cdtipoemail = 3 -- CONFIRMAR QUAL TIPO DE E-MAIL É O EMAIL DE NFE/COBRANCA
296 6 paulo
left join 
297 6 paulo
        pessoatelefonevaentity pts 
298 6 paulo
on      pts.cdempresa = p.cdempresa 
299 6 paulo
and     pts.cdpessoa = p.cdpessoa 
300 6 paulo
and     pts.cdtipofone = 4 -- CONFIRMAR COM O CLIENTE QUAL É O CÓDIGO DO TELEFONE CELULAR
301 6 paulo
left join 
302 6 paulo
        pessoajuridicavaentity pj 
303 6 paulo
on      pj.cdempresa = p.cdempresa 
304 6 paulo
and     pj.cdpessoa = p.cdpessoa     
305 6 paulo
left join 
306 6 paulo
        (select codcliente::int as codcliente
307 6 paulo
                , codempresa::int as codempresa
308 6 paulo
                , count(*) as titulos_em_atraso 
309 6 paulo
        from etltitulo 
310 6 paulo
        where situacao = '1' 
311 6 paulo
        and (dataVencimento::date + 28) < (current_date) -- CONFIRMAR COM O CLIENTE QUANTOS DIAS CONSIDERA INADIMPLENTE
312 6 paulo
        group by codcliente
313 6 paulo
                , codempresa having sum(valor) > 3000) as inad -- CONFIRMAR COM O CLIENTE SE INADIMPLENTE É ACIMA DE 3 MIL REAIS DEVENDO
314 6 paulo
on      inad.codcliente = p.cdpessoa 
315 6 paulo
and     inad.codempresa = p.cdempresa
316 6 paulo
left join 
317 6 paulo
        (SELECT v.cdcliente, MIN(v.dtpedido) as dataCadastro FROM vendavaentity v GROUP BY v.cdcliente) as v 
318 6 paulo
on      v.cdcliente = p.cdpessoa 
319 6 paulo
where   vpc.incliente = 'TRUE'
320 6 paulo
AND     coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') is not null
321 6 paulo
and     coalesce(
322 6 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
323 6 paulo
                 union
324 6 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
325 6 paulo
                ), p.nrcpfcnpj) is not null
326 6 paulo
AND     pe.cdcep <> '99999999'
327 6 paulo
AND     length(coalesce(
328 6 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
329 6 paulo
                 union
330 6 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
331 6 paulo
                ), p.nrcpfcnpj)) >= 14 -- CONFIRMAR COM O CLIENTE SE É PARA PUXAR SÓ CNPJ
332 1 paulo
</code></pre>
333 1 paulo
334 1 paulo
h2. GEO - Cliente Dos Representantes
335 1 paulo
336 1 paulo
Documentação: [[Manual de Integração#Cliente-Dos-Representantes|Cliente Dos Representantes ]] 
337 1 paulo
338 1 paulo
<pre><code class="sql">
339 5 paulo
select '1' codempresa,  
340 5 paulo
       cdpessoa,
341 5 paulo
       cdrepresentant 
342 5 paulo
from pessoareprclientevaentity 
343 1 paulo
</code></pre>
344 1 paulo
345 1 paulo
h2. GEO - Marcas do Cliente
346 1 paulo
347 1 paulo
Documentação: [[Manual de Integração#Marcas-do-Cliente|Marcas do Cliente]] 
348 1 paulo
349 1 paulo
<pre><code class="sql">
350 1 paulo
Adicionar SQL
351 1 paulo
</code></pre>
352 1 paulo
353 1 paulo
h2. GEO - Coleções
354 1 paulo
355 1 paulo
Documentação: [[Manual de Integração#Coleções|Coleções]]
356 1 paulo
357 1 paulo
<pre><code class="sql">
358 7 paulo
select 
359 7 paulo
        '1' as codEmpresa
360 7 paulo
        , cdclassificacao as codColecao
361 7 paulo
        , dsclassificacao as nome
362 7 paulo
FROM    produtoclassificacaovaentity
363 7 paulo
where   cdtipoclass = 300 -- CONFIRMAR CÓDIGO DE COLEÇÃO COM O CLIENTE
364 34 paulo
group by cdclassificacao
365 34 paulo
        , dsclassificacao
366 7 paulo
order by dsclassificacao
367 1 paulo
</code></pre>
368 1 paulo
369 1 paulo
h2. GEO - Linhas de Produto
370 1 paulo
371 1 paulo
Documentação: [[Manual de Integração#Linhas-de-Produto|Linhas de Produto]] 
372 1 paulo
373 1 paulo
<pre><code class="sql">
374 8 paulo
select 
375 8 paulo
        '1' as codEmpresa
376 8 paulo
        , cdclassificacao as codLinha
377 8 paulo
        , dsclassificacao as nome
378 8 paulo
FROM    produtoclassificacaovaentity
379 8 paulo
where   cdtipoclass = 300 -- CONFIRMAR CÓDIGO DE LINHA COM O CLIENTE
380 34 paulo
group by cdclassificacao
381 34 paulo
        , dsclassificacao
382 8 paulo
order by dsclassificacao
383 1 paulo
</code></pre>
384 1 paulo
385 1 paulo
h2. GEO - Marcas
386 1 paulo
387 1 paulo
Documentação: [[Manual de Integração#Marcas|Marcas]] 
388 1 paulo
389 1 paulo
<pre><code class="sql">
390 9 paulo
select 
391 9 paulo
        '1' as codEmpresa
392 9 paulo
        , cdclassificacao as codMarca
393 9 paulo
        , dsclassificacao as nome
394 9 paulo
FROM    produtoclassificacaovaentity
395 9 paulo
where   cdtipoclass = 300 -- CONFIRMAR CÓDIGO DE MARCA COM O CLIENTE
396 34 paulo
group by cdclassificacao
397 34 paulo
        , dsclassificacao
398 9 paulo
order by dsclassificacao
399 1 paulo
</code></pre>
400 1 paulo
401 1 paulo
h2. GEO - Vendas
402 1 paulo
403 1 paulo
Documentação: [[Manual de Integração#Vendas|Vendas]] 
404 1 paulo
405 1 paulo
<pre><code class="sql">
406 11 paulo
select
407 11 paulo
        '1' as codEmpresa
408 11 paulo
        , v.colecao as codColecao
409 11 paulo
        , v.dtpedido as dataReferencia
410 11 paulo
        , v.codlinha as codLinha
411 11 paulo
        , v.codRepres as codRepres
412 11 paulo
        , v.codcliente as codCliente
413 11 paulo
        , v.codibge as codIBGE
414 11 paulo
        , v.uf as UF
415 11 paulo
        , sum(v.valorBruto) as valorBruto
416 11 paulo
        , sum(v.valorliquido) as valorLiquido
417 11 paulo
        , sum(v.valorDesconto) as valorDesconto
418 11 paulo
        , sum(v.valorComissao) as valorComissao
419 11 paulo
        , sum(v.prazomedioxvalor) as prazoMedioXValor
420 11 paulo
        , sum(v.qtsolicitada) as quantidade
421 11 paulo
        , v.nomeCliente as nomeCliente
422 11 paulo
        , v.cdpedido as codPedido
423 11 paulo
        , null as codProduto
424 11 paulo
        , null as campoCoringa1
425 11 paulo
        , null as campoCoringa2
426 11 paulo
        , null as campoCoringa3
427 11 paulo
        , v.dataprevfaturamento as dataPrevFaturamento
428 11 paulo
        , null as nomeDistritoBairro
429 11 paulo
        , v.grupocliente as grupoCliente
430 11 paulo
        , null as valorRentabilidade
431 11 paulo
        , null as dataUltFaturamento
432 11 paulo
        , null as valorFaturado
433 11 paulo
        , null as valorSaldo
434 11 paulo
        , v.codMarca as codMarca
435 11 paulo
        , v.nomegrupocliente as nomeGrupoCliente
436 11 paulo
        , v.dtemissao as dataEmissao
437 11 paulo
        , null as codRepresAgrupador
438 11 paulo
        , null as flagPolitica
439 11 paulo
        , null as codTabPreco
440 11 paulo
        , null as qtdeItens
441 11 paulo
        , null as qtdeEmQuilos
442 11 paulo
        , null as cidadeGrupoCliente
443 11 paulo
        , null as campoCoringa4
444 11 paulo
        , null as campoCoringa5
445 11 paulo
        , null as campoCoringa6
446 11 paulo
        , null as situacaoPedido
447 11 paulo
        , null as dataUltimaNF
448 11 paulo
        , null as numeroUltimaNF
449 11 paulo
        , null as pedidoCliente
450 11 paulo
        , null as pedidoRepresentante
451 11 paulo
        , null as percComissaoAtendente
452 11 paulo
FROM    (
453 11 paulo
select '1' as codEmpresa
454 11 paulo
      , coalesce((select pc.cdclassificacao from produtoclassificacaovaentity pc where pc.cdproduto = vi.cdproduto and pc.cdtipoclass = 300 limit 1), 'SEM COLECAO')  as colecao
455 11 paulo
      ,  cast(v.dtpedido as date)
456 11 paulo
      , '99999' as codlinha
457 11 paulo
      , v.cdrepresentant as codRepres
458 11 paulo
      , v.cdcliente as codCliente
459 11 paulo
      , CASE WHEN im.codibge = '99999999' or im.codibge is null THEN '4211900' ELSE im.codibge END as codIBGE
460 11 paulo
      , pe.ufsigla as uf      
461 11 paulo
      , ROUND(CAST ((vi.qtSolicitada + vi.qtextra - vi.qtCancelada) * vi.vlUnitario AS numeric) ,4) AS valorBruto
462 11 paulo
      , ROUND(CAST (((((vi.qtSolicitada + vi.qtextra - vi.qtCancelada) * vi.vlUnitario) * ((100 - v.prDesconto) / 100) ) * ((100 - vi.prDesconto) / 100)) AS numeric), 4) AS valorLiquido --virtual age corta o desconto pela metade quanto é meia nota
463 11 paulo
      , ROUND(CAST (((vi.qtSolicitada + vi.qtextra - vi.qtCancelada) * vi.vlUnitario) - ((vi.qtSolicitada + vi.qtextra - vi.qtCancelada) * vi.vlUnitario) * ((100 - v.prDesconto) / 100) AS numeric), 4) AS valorDesconto
464 11 paulo
      , ROUND(CAST((ROUND(CAST(((((vi.qtSolicitada + vi.qtextra - vi.qtCancelada) * vi.vlUnitario) * ((100 - v.prDesconto) / 100) ) * ((100 - vi.prDesconto) / 100)) AS numeric), 4)) * ((v.prComissaoFat + v.prComissaoRec) / 100) AS numeric), 4) AS valorComissao
465 11 paulo
      , ROUND(CAST (((((vi.qtSolicitada + vi.qtextra - vi.qtCancelada) * vi.vlUnitario) * ((100 - v.prDesconto) / 100) ) * ((100 - vi.prDesconto) / 100)) * (v.nrprzmedio)  AS numeric), 4) AS prazomedioxvalor
466 11 paulo
      , (vi.qtSolicitada + vi.qtextra - (COALESCE(vi.qtCancelada, 0))) AS qtSolicitada
467 11 paulo
      , null cdproduto 
468 11 paulo
      , vi.cdPedido cdPedido
469 11 paulo
      , p.nmpessoa nomeCliente
470 11 paulo
      , v.cdpedido codPedido
471 11 paulo
      , vi.cdproduto as codProduto
472 11 paulo
      , null coringa1
473 11 paulo
      , null coringa2
474 11 paulo
      , null coringa3
475 11 paulo
      , cast(v.dtprevbaixa as date) dataprevfaturamento
476 11 paulo
      , null as nomeDistrito
477 11 paulo
      , vpc.cdcoligador as grupoCliente
478 11 paulo
      , 0.0 as valorRentabilidade
479 11 paulo
      , null dtaUltimoFaturamento
480 11 paulo
      , null valorFaturado
481 11 paulo
      , null as valorSaldo
482 11 paulo
      , '99999' as codMarca
483 11 paulo
      , coalesce((select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador),'Sem Grupo') as nomeGrupoCliente
484 11 paulo
      , cast(v.dtpedido as date) dtEmissao
485 11 paulo
      , null codRepresAgrupador
486 11 paulo
      , null flagPolitica
487 11 paulo
from 
488 11 paulo
        vendaitemvaentity vi
489 11 paulo
left join 
490 11 paulo
        vendavaentity v 
491 11 paulo
on      v.cdempresa = vi.cdempresa 
492 11 paulo
and     v.cdpedido = vi.cdpedido 
493 11 paulo
left join 
494 11 paulo
        pessoavaentity p 
495 11 paulo
on      p.cdpessoa = v.cdcliente
496 37 alex.a
and     p.cdempresa = v.cdempresa
497 11 paulo
left join 
498 11 paulo
        vpesconsultavaentity vpc 
499 11 paulo
on      vpc.cdpessoa = p.cdpessoa
500 11 paulo
left join 
501 11 paulo
        pessoaenderecovaentity pe 
502 11 paulo
on      pe.cdpessoa = p.cdpessoa and pe.nrsequencia = ( select min(pen.nrsequencia) 
503 11 paulo
                                                        from pessoaenderecovaentity pen 
504 11 paulo
                                                        where pe.cdpessoa = pen.cdpessoa)
505 11 paulo
LEFT join 
506 11 paulo
        ETLCidade im 
507 11 paulo
on      im.codCidade = pe.cdMunicipio
508 11 paulo
where   v.tpsituacao not in (6) --remove os cancelados
509 11 paulo
and     vpc.incliente = 'TRUE'
510 11 paulo
AND     cast(v.dtpedido as date) >= current_date - 365
511 11 paulo
) v
512 11 paulo
group by  v.colecao
513 11 paulo
        , v.dtpedido
514 11 paulo
        , v.codlinha
515 11 paulo
        , v.codcliente
516 11 paulo
        , v.codRepres
517 11 paulo
        , v.codibge
518 11 paulo
        , v.uf
519 11 paulo
        , v.nomeCliente
520 11 paulo
        , v.cdpedido
521 11 paulo
        , v.dataprevfaturamento
522 11 paulo
        , v.grupocliente
523 11 paulo
        , v.nomegrupocliente
524 11 paulo
        , v.codMarca
525 11 paulo
        , v.dtemissao
526 11 paulo
</code></pre>
527 11 paulo
528 11 paulo
Incremental:
529 11 paulo
530 11 paulo
<pre><code class="sql">
531 11 paulo
select
532 11 paulo
        '1' as codEmpresa
533 11 paulo
        , v.cdPedido cdPedido
534 11 paulo
FROM    vendavaentity v
535 11 paulo
WHERE   cast(v.dtpedido as date) >= current_date - 365
536 11 paulo
GROUP BY v.cdPedido
537 1 paulo
</code></pre>
538 1 paulo
539 1 paulo
h2. GEO - Faturamento - Contrato
540 1 paulo
541 1 paulo
Documentação: [[Manual de Integração#Faturamento-Contrato|Faturamento - Contrato]]
542 1 paulo
543 1 paulo
<pre><code class="sql">
544 1 paulo
Adicionar SQL
545 1 paulo
</code></pre>
546 1 paulo
547 1 paulo
h2. GEO - Meta do Representante
548 1 paulo
549 1 paulo
Documentação: [[Manual de Integração#Meta-do-Representante|Meta do Representante]]
550 1 paulo
551 1 paulo
<pre><code class="sql">
552 1 paulo
Adicionar SQL
553 1 paulo
</code></pre>
554 1 paulo
555 1 paulo
h2. GEO - Meta do Escritório
556 1 paulo
557 1 paulo
Documentação: [[Manual de Integração#Meta-do-Escritório|Meta do Escritório]]
558 1 paulo
559 1 paulo
<pre><code class="sql">
560 1 paulo
Adicionar SQL
561 1 paulo
</code></pre>
562 1 paulo
563 1 paulo
h2. GEO - Estoque Centralizado
564 1 paulo
565 1 paulo
Documentação: [[Manual de Integração#Estoque Centralizado|Estoque Centralizado]]
566 1 paulo
567 1 paulo
<pre><code class="sql">
568 28 paulo
SELECT 
569 28 paulo
        '1' as codEmpresa
570 28 paulo
        , grupo.cdnivel as codigoProduto
571 28 paulo
        , cdtamanho as seqTamanho
572 28 paulo
        , grade.cdCor as seqSortimento
573 28 paulo
        , COALESCE(colecao.cdclassificacao, '99999') as colecao
574 28 paulo
        , (CASE WHEN inf.tpProduto = '0' OR inf.tpProduto is null then 0 ELSE 1 end) as estoqueLimitado
575 28 paulo
        , sum(estoque.quantidadeEstoque + estoque.quantidadeOP - estoque.quantidadeVenda + estoque.quantidadeTransacao) as quantidade
576 28 paulo
        , grade.dstamanho as codTamanho
577 28 paulo
        , grade.cdgrade as codGrade
578 28 paulo
        , null as deposito
579 28 paulo
        , COALESCE(colecao.dsclassificacao, 'SEM COLECAO') as nomeColecao
580 28 paulo
        , null as dataProduto
581 28 paulo
        , GREATEST(SUM(estoque.quantidadeEstoque + estoque.quantidadeOP - estoque.quantidadeVenda + estoque.quantidadeTransacao), 0) as quantidadeProntaEntrega
582 28 paulo
        , grade.cdCor as codCorBase
583 28 paulo
        , grupo.dsNivel as nomeReferencia
584 28 paulo
        , dscor as nomeCor
585 28 paulo
        , null as ean13
586 28 paulo
        , null as visualQuantidadeProduto
587 28 paulo
        , null as visualQuantidadeProducao
588 28 paulo
        , cdtamanho as seqOrdenacaoTamanho
589 28 paulo
FROM    SaldoProdutoVAEntity estoque
590 28 paulo
INNER JOIN 
591 28 paulo
        ProdutoGradeVAEntity grade 
592 28 paulo
ON      grade.cdProduto::VARCHAR = estoque.codProduto
593 28 paulo
INNER JOIN 
594 28 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
595 28 paulo
ON      grupo.cdProduto::VARCHAR = estoque.codProduto
596 28 paulo
LEFT JOIN 
597 28 paulo
        ProdutoInfVAEntity inf 
598 28 paulo
on      inf.cdProduto::VARCHAR = estoque.codProduto
599 28 paulo
LEFT JOIN 
600 28 paulo
        produtoclassificacaovaentity colecao 
601 28 paulo
on      grupo.cdProduto = colecao.cdProduto 
602 28 paulo
and     colecao.cdtipoclass = 1 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA COLEÇÃO COM O CLIENTE
603 28 paulo
WHERE   COALESCE(inf.ininativo, 'FALSE') = 'FALSE'
604 28 paulo
AND     (
605 28 paulo
           (COALESCE(colecao.cdclassificacao, '99999') in (#COLECOES) AND '-1' in (#REFERENCES)) 
606 28 paulo
        OR (grupo.cdnivel in (#REFERENCES)) 
607 28 paulo
        )
608 28 paulo
GROUP BY grupo.cdnivel
609 28 paulo
        , cdtamanho
610 28 paulo
        , grade.cdCor
611 28 paulo
        , COALESCE(colecao.cdclassificacao, '99999')
612 28 paulo
        , (CASE WHEN inf.tpProduto = '0' OR inf.tpProduto is null then 0 ELSE 1 end)
613 28 paulo
        , grade.dstamanho
614 28 paulo
        , grade.cdgrade
615 28 paulo
        , COALESCE(colecao.dsclassificacao, 'SEM COLECAO')
616 28 paulo
        , grade.cdCor
617 28 paulo
        , grupo.dsNivel
618 28 paulo
        , dscor
619 1 paulo
</code></pre>
620 1 paulo
621 1 paulo
h2. GEO - Clientes Inadimplentes
622 1 paulo
623 1 paulo
Documentação: [[Manual de Integração#Clientes Inadimplentes|Clientes Inadimplentes]]
624 1 paulo
625 1 paulo
<pre><code class="sql">
626 1 paulo
Adicionar SQL
627 10 paulo
</code></pre>
628 10 paulo
629 10 paulo
h2. GEO - Condição de Venda
630 10 paulo
631 10 paulo
Documentação: Não tem ainda
632 10 paulo
633 10 paulo
<pre><code class="sql">
634 10 paulo
select 
635 10 paulo
        '1' as codEmpresa
636 10 paulo
        , codCondPagto as codPagamento
637 10 paulo
        , nome as nome
638 10 paulo
        , quantidade as qtdeParcelas
639 10 paulo
        , round(CAST(prazoMedio as numeric),2) as prazoMedio
640 10 paulo
        , situacao as situacao
641 15 paulo
        , 0 as Parcelamento
642 10 paulo
        , null as Acrescimo
643 10 paulo
        , null as Desconto
644 10 paulo
FROM    ETLCondPagto
645 1 paulo
</code></pre>
646 1 paulo
647 1 paulo
h1. *Força de Vendas*
648 1 paulo
649 1 paulo
h2. FV - Tabela de Preço
650 1 paulo
651 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço|Tabela de Preço]]
652 1 paulo
653 1 paulo
<pre><code class="sql">
654 16 paulo
select 
655 16 paulo
        '1' as codEmpresa
656 16 paulo
        , codTabelaPreco as codTabela
657 16 paulo
        , descricao as descricao
658 16 paulo
        , null as dataMinimaFaturamento
659 16 paulo
        , null as dataMaximaFaturamento
660 16 paulo
        , null as percDescontoShowRoom
661 16 paulo
        , null as dataVigenciaInicial
662 16 paulo
        , null as dataVigenciaFinal
663 16 paulo
        , null as codColecao
664 16 paulo
        , null as codSegmento
665 16 paulo
        , null as codTabelaPrecoPrincipal
666 16 paulo
        , null as desconsiderarDescAcr
667 16 paulo
        , null as codEmpresaDestino
668 16 paulo
        , null as currency
669 16 paulo
        , null as codTipoPedido
670 16 paulo
FROM    ETLtabelapreco
671 16 paulo
WHERE   codEmpresa = :p1
672 16 paulo
AND     codTabelaPreco = :p2
673 1 paulo
</code></pre>
674 1 paulo
675 1 paulo
h2. FV - Tabela de Preço por Representante
676 1 paulo
677 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-por-Representante|Tabela de Preço por Representante]]
678 1 paulo
679 1 paulo
<pre><code class="sql">
680 1 paulo
Adicionar SQL
681 1 paulo
</code></pre>
682 1 paulo
683 1 paulo
h2. FV - Tabela de Preço - Produto
684 1 paulo
685 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Produto|Tabela de Preço - Produto]]
686 1 paulo
687 1 paulo
<pre><code class="sql">
688 17 paulo
select 
689 17 paulo
        '1' as codEmpresa
690 17 paulo
        , preco.codTabelaPreco as codTabela
691 17 paulo
        , grupo.cdNivel as codProduto
692 17 paulo
        , grade.cdGrade as codGrade
693 17 paulo
        , preco.preco as preco
694 17 paulo
        , grade.cdCor as seqSortimento
695 17 paulo
        , null as itemAtivo
696 17 paulo
        , grade.cdTamanho as seqTamanho
697 17 paulo
        , produto.dsProduto as descricaoProd
698 17 paulo
        , null as vlrUnitarioAnterior
699 17 paulo
        , grade.cdTamanho as seqTamanho
700 17 paulo
        , null as permiteBonificacao
701 17 paulo
        , null as flagOferta
702 17 paulo
        , null as codigoCaixaGoldBe    
703 17 paulo
FROM    ETLProdutoTabelaPreco preco
704 17 paulo
LEFT OUTER JOIN 
705 17 paulo
        ProdutoGradeVAEntity grade 
706 36 vinidalmagro
ON      preco.codProduto = grade.cdProdutoStr
707 17 paulo
INNER JOIN 
708 17 paulo
        etltabelapreco tab  
709 17 paulo
ON      tab.codTabelapreco = preco.codtabelapreco
710 17 paulo
INNER JOIN 
711 17 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
712 17 paulo
ON      grupo.cdProduto = grade.cdProduto
713 17 paulo
INNER JOIN 
714 17 paulo
        ProdutoVAEntity produto 
715 17 paulo
ON      produto.cdProduto = grupo.cdProduto   
716 17 paulo
WHERE   preco.codEmpresa = :p1
717 17 paulo
AND     preco.codTabelaPreco = :p2
718 17 paulo
AND     preco.preco IS NOT NULL
719 17 paulo
AND     grupo.cdNivel <> ''
720 17 paulo
GROUP BY preco.codTabelaPreco
721 17 paulo
        , grupo.cdNivel
722 17 paulo
        , grade.cdGrade
723 17 paulo
        , preco.preco
724 17 paulo
        , grade.cdCor
725 17 paulo
        , grade.cdTamanho
726 17 paulo
        , produto.dsProduto
727 1 paulo
</code></pre>
728 1 paulo
729 1 paulo
h2. FV - Tabela de Preço - Política - Desconto Comercial
730 1 paulo
731 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Política-Desconto-Comercial|Tabela de Preço - Política - Desconto Comercial]]
732 1 paulo
733 1 paulo
<pre><code class="sql">
734 1 paulo
Adicionar SQL
735 1 paulo
</code></pre>
736 1 paulo
737 1 paulo
h2. FV - Tabela de Preço - Política - Desconto Financeiro
738 1 paulo
739 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Política-Desconto-Financeiro|Tabela de Preço - Política - Desconto Financeiro]]
740 1 paulo
741 1 paulo
<pre><code class="sql">
742 1 paulo
Adicionar SQL
743 1 paulo
</code></pre>
744 1 paulo
745 1 paulo
h2. FV - Tabela de Preço - Política - Desconto Antecipação
746 1 paulo
747 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Política-Desconto-Antecipação|Tabela de Preço - Política - Desconto Antecipação]]
748 1 paulo
749 1 paulo
<pre><code class="sql">
750 1 paulo
Adicionar SQL
751 1 paulo
</code></pre>
752 1 paulo
753 1 paulo
h2. FV - Tabela de Preço - Política - Prazo Adicional
754 1 paulo
755 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Política-Prazo-Adicional|Tabela de Preço - Política - Prazo Adicional]]
756 1 paulo
757 1 paulo
<pre><code class="sql">
758 1 paulo
Adicionar SQL
759 1 paulo
</code></pre>
760 1 paulo
761 1 paulo
h2. FV - Tabela de Preço - Política - Desconto Volume
762 1 paulo
763 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Política-Desconto-Volume|Tabela de Preço - Política - Desconto Volume]]
764 1 paulo
765 1 paulo
<pre><code class="sql">
766 1 paulo
Adicionar SQL
767 1 paulo
</code></pre>
768 1 paulo
769 1 paulo
h2. FV - Tabela de Preço - Política - Preços por volume
770 1 paulo
771 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Política-Preços-por-volume|Tabela de Preço - Política - Preços por volume]]
772 1 paulo
773 1 paulo
<pre><code class="sql">
774 1 paulo
Adicionar SQL
775 1 paulo
</code></pre>
776 1 paulo
777 1 paulo
h2. FV - Títulos Em Aberto
778 1 paulo
779 1 paulo
Documentação: [[Digitação de Pedidos#Títulos-Em-Aberto|Títulos Em Aberto]]
780 1 paulo
781 1 paulo
<pre><code class="sql">
782 12 paulo
select 
783 12 paulo
        titulo.titulo as titulo
784 12 paulo
        , titulo.notaFiscal as notaFiscal
785 12 paulo
        , titulo.dataEmissao as dataEmissao
786 12 paulo
        , titulo.dataVencimento as dataVecto
787 12 paulo
        , titulo.valor as valor
788 12 paulo
        , titulo.nomePortador as nomePortador
789 12 paulo
        , titulo.codCliente as codCliente
790 12 paulo
        , pessoa.nmPessoa as nomeCliente
791 12 paulo
        , null as codgrupocliente
792 12 paulo
        , null as moeda
793 12 paulo
FROM    ETLTitulo titulo
794 12 paulo
LEFT OUTER JOIN 
795 12 paulo
        PessoaVAEntity pessoa 
796 12 paulo
ON      CAST(pessoa.cdPessoa as text) = titulo.codCliente
797 12 paulo
WHERE   cast((select rep.cdrepresentant 
798 12 paulo
                from pessoareprclientevaentity rep 
799 12 paulo
                where rep.cdempresa = pessoa.cdempresa 
800 12 paulo
                and rep.cdpessoa = pessoa.cdpessoa limit 1) as text) = :p2
801 12 paulo
AND     ((titulo.codCliente = :p3) OR (:p3 IS NULL))
802 12 paulo
and     situacao= '1'
803 1 paulo
</code></pre>
804 1 paulo
805 1 paulo
h2. FV - Condição de Venda
806 1 paulo
807 1 paulo
Documentação: [[Digitação de Pedidos#Condição-de-Venda|Condição de Venda]]
808 1 paulo
809 1 paulo
<pre><code class="sql">
810 13 paulo
select 
811 13 paulo
        '1' as codEmpresa
812 13 paulo
        , codCondPagto as codPagamento
813 13 paulo
        , nome as nome
814 13 paulo
        , quantidade as qtdeParcelas
815 13 paulo
        , round(CAST(prazoMedio as numeric),2) as prazoMedio
816 13 paulo
        , situacao as situacao
817 13 paulo
        , 0 as Parcelamento
818 14 paulo
        , null as Acrescimo
819 14 paulo
        , null as Desconto
820 13 paulo
FROM    ETLCondPagto
821 1 paulo
</code></pre>
822 1 paulo
823 1 paulo
h2. FV - Cota de estoque - Por representante
824 1 paulo
825 1 paulo
Documentação: [[Digitação de Pedidos#Cota-de-estoque-Por-representante|Cota de estoque - Por representante]]
826 1 paulo
827 1 paulo
<pre><code class="sql">
828 1 paulo
Adicionar SQL
829 1 paulo
</code></pre>
830 1 paulo
831 1 paulo
h2. FV - Tipo de Nota
832 1 paulo
833 1 paulo
Documentação: [[Digitação de Pedidos#Tipo-de-Nota|Tipo de Nota]]
834 1 paulo
835 1 paulo
<pre><code class="sql">
836 1 paulo
Adicionar SQL
837 1 paulo
</code></pre>
838 1 paulo
839 1 paulo
h2. FV - Tipo de Cobrança
840 1 paulo
841 1 paulo
Documentação: [[Digitação de Pedidos#Tipo-de-Cobrança|Tipo de Cobrança]]
842 1 paulo
843 1 paulo
<pre><code class="sql">
844 1 paulo
Adicionar SQL
845 1 paulo
</code></pre>
846 1 paulo
847 1 paulo
h2. FV - Comissões
848 1 paulo
849 1 paulo
Documentação: [[Digitação de Pedidos#Comissões|Comissões]]
850 1 paulo
851 1 paulo
<pre><code class="sql">
852 1 paulo
Adicionar SQL
853 1 paulo
</code></pre>
854 1 paulo
855 1 paulo
h2. FV - Comissões - Extrato Resumo
856 1 paulo
857 1 paulo
Documentação: [[Digitação de Pedidos#Comissões-Extrato-Resumo|Comissões - Extrato Resumo]]
858 1 paulo
859 1 paulo
<pre><code class="sql">
860 1 paulo
Adicionar SQL
861 1 paulo
</code></pre>
862 1 paulo
863 1 paulo
h2. FV - Comissões - Extrato Detalhado
864 1 paulo
865 1 paulo
Documentação: [[Digitação de Pedidos#Comissões-Extrato-Detalhado|Comissões - Extrato Detalhado]]
866 1 paulo
867 1 paulo
<pre><code class="sql">
868 1 paulo
Adicionar SQL
869 1 paulo
</code></pre>
870 1 paulo
871 1 paulo
h2. FV - Clientes
872 1 paulo
873 1 paulo
Documentação: [[Digitação de Pedidos#Clientes|Clientes]]
874 1 paulo
875 1 paulo
<pre><code class="sql">
876 18 paulo
select 
877 18 paulo
        '1' as codEmpresa
878 18 paulo
        , pessoa.cdPessoa as codCliente
879 18 paulo
        , (CASE 
880 18 paulo
                WHEN TRIM(COALESCE(pessoaJuridica.nrCnpj, pessoaFisica.nrCpf)) = '' 
881 18 paulo
                        THEN pessoa.cdPessoa::text 
882 18 paulo
                ELSE COALESCE(pessoaJuridica.nrCnpj, pessoaFisica.nrCpf) 
883 18 paulo
           END) as cnpj
884 18 paulo
        , COALESCE(pessoaJuridica.nmfantasia, pessoa.nmpessoa) as nomeFantasia
885 18 paulo
        , pessoa.nmpessoa as razaoSocial
886 18 paulo
        , (CASE WHEN (pessoa.ininativo = 'TRUE') THEN 0 ELSE 1 END) as situacao
887 18 paulo
        , regexp_replace(telefone.nrtelefone, '[^0-9]', '', 'g') as telefone
888 18 paulo
        , email.dsEmail as email
889 18 paulo
        , emailNFE.dsEmail as emailNFE
890 18 paulo
        , im.codibge as codIBGE
891 18 paulo
        , endereco.nmLogradouro as endereco
892 18 paulo
        , endereco.nrLogradouro as enderecoNumero
893 18 paulo
        , endereco.dsbairro as bairro
894 18 paulo
        , endereco.cdcep as cep
895 18 paulo
        , pessoa.dtinclusao as dataCadastro
896 18 paulo
        , pessoaJuridica.nrInscEstl as inscricaoEstadual
897 18 paulo
        , null as inscricaoSUFRAMA
898 18 paulo
        , 0 as flagConsumidorFinal
899 18 paulo
        , emailNFE.dsemail as cobrancaEmail
900 18 paulo
        , null as cobrancaContato
901 18 paulo
        , regexp_replace(telefone.nrTelefone, '[^0-9]', '', 'g') as cobrancaTelefone
902 18 paulo
        , null as comprasEmail
903 18 paulo
        , null as comprasContato
904 18 paulo
        , null as comprasTelefone
905 18 paulo
        , null as avaliacaoRepres
906 18 paulo
        , regexp_replace(telefone2.nrTelefone, '[^0-9]', '', 'g') as celular
907 18 paulo
        , null as fax
908 18 paulo
        , null as flagClienteFiel
909 18 paulo
        , null as endComplemento
910 18 paulo
        , null as dataUltimaCompra
911 18 paulo
        , null as codTransportadora
912 18 paulo
        , null as codCondPagto
913 18 paulo
        , null as flagSimplesNacional
914 18 paulo
        , null as codTabPreco
915 18 paulo
        , null as percDesconto
916 18 paulo
        , null as codGerente
917 18 paulo
        , null as inscricaoMunicipal
918 18 paulo
        , null as codRamoAtividade
919 18 paulo
        , (case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end) as codGrupoCliente
920 18 paulo
        , null as dataFundacao
921 18 paulo
        , null as limiteCredito
922 18 paulo
        , null as limiteCreditoDisponivel
923 18 paulo
        , null as percDescontoGrupo
924 18 paulo
        , null as classificacaoCurva
925 18 paulo
        , null as obs
926 18 paulo
        , null as ListCodRepres
927 18 paulo
        , null as midiasSociais
928 18 paulo
        , null as msgDashboard
929 18 paulo
        , null as latitude
930 18 paulo
        , null as longitude
931 18 paulo
        , null as latitudeISF
932 18 paulo
        , null as longitudeISF
933 18 paulo
        , null as atualizadoCoordPor
934 18 paulo
        , null as cfop
935 18 paulo
        , null as codTranspRedespacho
936 18 paulo
        , null as codPortador
937 18 paulo
        , null as codTipoCob
938 18 paulo
        , null as valorPedidosEmAberto
939 18 paulo
        , null as valorTitulosEmAberto
940 18 paulo
        , (case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end) as codGrupoCliente
941 18 paulo
        , null as codTipoFatur
942 18 paulo
        , null as instagram
943 18 paulo
        , null as facebook
944 18 paulo
        , null as validarCamposCustomizados
945 18 paulo
        , null as lembreteAprovacaoPedido
946 18 paulo
        , null as grupoClienteCalculoST
947 18 paulo
FROM    PessoaVAEntity pessoa
948 18 paulo
INNER JOIN 
949 18 paulo
        PessoaEnderecoVAEntity endereco 
950 18 paulo
ON      endereco.cdEmpresa = pessoa.cdEmpresa 
951 18 paulo
AND     endereco.cdPessoa = pessoa.cdPessoa 
952 18 paulo
AND     endereco.id = ( select  min(id) 
953 18 paulo
                        from    pessoaenderecovaentity 
954 18 paulo
                        where   cdempresa = pessoa.cdempresa 
955 18 paulo
                        and     cdpessoa = pessoa.cdpessoa)
956 18 paulo
INNER JOIN 
957 18 paulo
        VPESConsultaVAEntity vpc 
958 18 paulo
ON      vpc.cdPessoa = pessoa.cdPessoa
959 18 paulo
LEFT join 
960 18 paulo
        ETLCidade im 
961 18 paulo
on      im.codCidade = endereco.cdMunicipio
962 18 paulo
LEFT JOIN 
963 18 paulo
        PessoaTelefoneVAEntity telefone 
964 18 paulo
ON      telefone.cdEmpresa = pessoa.cdEmpresa 
965 18 paulo
AND     telefone.cdPessoa = pessoa.cdPessoa 
966 18 paulo
AND     telefone.id = ( select  min(id) 
967 18 paulo
                        from    pessoatelefonevaentity 
968 18 paulo
                        where   cdempresa = telefone.cdempresa 
969 18 paulo
                        and     cdpessoa = telefone.cdpessoa 
970 18 paulo
                        and     inpadrao = 'TRUE')
971 18 paulo
LEFT JOIN 
972 18 paulo
        PessoaTelefoneVAEntity telefone2 
973 18 paulo
ON      telefone2.cdEmpresa = pessoa.cdEmpresa 
974 18 paulo
AND     telefone2.cdPessoa = pessoa.cdPessoa 
975 18 paulo
AND     telefone2.id = (select  min(id) 
976 18 paulo
                        from    pessoatelefonevaentity 
977 18 paulo
                        where   cdempresa = telefone2.cdempresa 
978 18 paulo
                        and     cdpessoa = telefone2.cdpessoa 
979 18 paulo
                        and     cdtipofone = 2) -- CONFIRMAR CD TIPO CELULAR
980 18 paulo
LEFT JOIN 
981 18 paulo
        PessoaEmailVAEntity email 
982 18 paulo
ON      email.cdEmpresa = pessoa.cdEmpresa 
983 18 paulo
AND     email.cdPessoa = pessoa.cdPessoa 
984 18 paulo
AND     email.id = (    select  min(id) 
985 18 paulo
                        from    pessoaemailvaentity 
986 18 paulo
                        where   cdpessoa = email.cdpessoa 
987 18 paulo
                        and     cdempresa = email.cdempresa 
988 18 paulo
                        and     inpadrao = 'TRUE')
989 18 paulo
LEFT JOIN 
990 18 paulo
        PessoaEmailVAEntity emailNFE 
991 18 paulo
ON      emailNFE.cdEmpresa = pessoa.cdEmpresa 
992 18 paulo
AND     emailNFE.cdPessoa = pessoa.cdPessoa 
993 18 paulo
AND     emailNFE.id = ( select  min(id) 
994 18 paulo
                        from    pessoaemailvaentity 
995 18 paulo
                        where   cdpessoa = emailNFE.cdpessoa 
996 18 paulo
                        and     cdempresa = emailNFE.cdempresa 
997 18 paulo
                        and     cdtipoemail = 4) -- CONFIRMAR CD TIPO EMAIL COBRANCA/NFE
998 18 paulo
LEFT JOIN 
999 18 paulo
        pessoajuridicavaentity pessoaJuridica 
1000 18 paulo
ON      pessoaJuridica.cdEmpresa = pessoa.cdEmpresa 
1001 18 paulo
AND     pessoaJuridica.cdPessoa = pessoa.cdPessoa
1002 18 paulo
LEFT JOIN 
1003 18 paulo
        pessoafisicavaentity pessoaFisica 
1004 18 paulo
ON      pessoaFisica.cdEmpresa = pessoa.cdEmpresa 
1005 18 paulo
AND     pessoaFisica.cdPessoa = pessoa.cdPessoa
1006 18 paulo
WHERE   vpc.inCliente = 'TRUE'
1007 18 paulo
AND     length(CASE 
1008 18 paulo
                WHEN TRIM(COALESCE(pessoaJuridica.nrCnpj, pessoaFisica.nrCpf)) = '' 
1009 18 paulo
                        THEN pessoa.cdPessoa::text 
1010 18 paulo
                ELSE COALESCE(pessoaJuridica.nrCnpj, pessoaFisica.nrCpf) 
1011 18 paulo
           END) >= 14 -- Para puxar apenas clientes jurídicos
1012 18 paulo
AND     1 = (SELECT 1
1013 29 paulo
            FROM    pessoaReprClienteVAEntity rep
1014 18 paulo
            WHERE   rep.cdEmpresa = pessoa.cdEmpresa
1015 18 paulo
            AND     rep.cdPessoa = pessoa.cdPessoa
1016 18 paulo
            AND     CAST(rep.cdRepresentant AS TEXT) = :p2
1017 18 paulo
            LIMIT 1
1018 18 paulo
            )
1019 18 paulo
GROUP BY pessoa.cdPessoa
1020 18 paulo
        , (CASE 
1021 18 paulo
                WHEN TRIM(COALESCE(pessoaJuridica.nrCnpj, pessoaFisica.nrCpf)) = '' 
1022 18 paulo
                        THEN pessoa.cdPessoa::text 
1023 18 paulo
                ELSE COALESCE(pessoaJuridica.nrCnpj, pessoaFisica.nrCpf) 
1024 18 paulo
           END)
1025 18 paulo
        , COALESCE(pessoaJuridica.nmfantasia, pessoa.nmpessoa)
1026 18 paulo
        , pessoa.nmpessoa
1027 18 paulo
        , (CASE WHEN (pessoa.ininativo = 'TRUE') THEN 0 ELSE 1 END)
1028 18 paulo
        , regexp_replace(telefone.nrtelefone, '[^0-9]', '', 'g')
1029 18 paulo
        , email.dsEmail
1030 18 paulo
        , emailNFE.dsEmail
1031 18 paulo
        , im.codibge
1032 18 paulo
        , endereco.nmLogradouro
1033 18 paulo
        , endereco.nrLogradouro
1034 18 paulo
        , endereco.dsbairro
1035 18 paulo
        , endereco.cdcep
1036 18 paulo
        , pessoa.dtinclusao
1037 18 paulo
        , pessoaJuridica.nrInscEstl
1038 18 paulo
        , emailNFE.dsemail
1039 18 paulo
        , regexp_replace(telefone.nrTelefone, '[^0-9]', '', 'g')
1040 18 paulo
        , regexp_replace(telefone2.nrTelefone, '[^0-9]', '', 'g')
1041 18 paulo
        , (case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end)
1042 1 paulo
</code></pre>
1043 1 paulo
1044 1 paulo
h2. FV - Clientes - Campos Customizados
1045 1 paulo
1046 1 paulo
Documentação: [[Digitação de Pedidos#Clientes-Campos-Customizados|Clientes - Campos Customizados]]
1047 1 paulo
1048 1 paulo
<pre><code class="sql">
1049 1 paulo
Adicionar SQL
1050 1 paulo
</code></pre>
1051 1 paulo
1052 1 paulo
h2. FV - Clientes - Locais de Entrega
1053 1 paulo
1054 1 paulo
Documentação: [[Digitação de Pedidos#Clientes-Locais-de-Entrega|Clientes - Locais de Entrega]]
1055 1 paulo
1056 1 paulo
<pre><code class="sql">
1057 1 paulo
Adicionar SQL
1058 1 paulo
</code></pre>
1059 1 paulo
1060 1 paulo
h2. FV - Clientes - Ramos de Atividade
1061 1 paulo
1062 1 paulo
Documentação: [[Digitação de Pedidos#Clientes-Ramos-de-Atividade|Clientes - Ramos de Atividade]]
1063 1 paulo
1064 1 paulo
<pre><code class="sql">
1065 1 paulo
Adicionar SQL
1066 1 paulo
</code></pre>
1067 1 paulo
1068 1 paulo
h2. FV - Clientes - Grupos de Cliente
1069 1 paulo
1070 1 paulo
Documentação: [[Digitação de Pedidos#Clientes-Grupos-de-Cliente|Clientes - Grupos de Cliente]]
1071 1 paulo
1072 1 paulo
<pre><code class="sql">
1073 1 paulo
Adicionar SQL
1074 1 paulo
</code></pre>
1075 1 paulo
1076 1 paulo
h2. FV - Clientes - Condições de venda
1077 1 paulo
1078 1 paulo
Documentação: [[Digitação de Pedidos#Clientes-Condiçõesdevenda|Clientes - Condições de venda]]
1079 1 paulo
1080 1 paulo
<pre><code class="sql">
1081 1 paulo
Adicionar SQL
1082 1 paulo
</code></pre>
1083 1 paulo
1084 1 paulo
h2. FV - Clientes - Marcas
1085 1 paulo
1086 1 paulo
Documentação: [[Digitação de Pedidos#Clientes-Marcas|Clientes - Marcas]]
1087 1 paulo
1088 1 paulo
<pre><code class="sql">
1089 1 paulo
Adicionar SQL
1090 1 paulo
</code></pre>
1091 1 paulo
1092 1 paulo
h2. FV - Clientes - Marcas Concorrentes
1093 1 paulo
1094 1 paulo
Documentação: [[Digitação de Pedidos#Clientes-MarcasConcorrentes|Clientes - Marcas Concorrentes]]
1095 1 paulo
1096 1 paulo
<pre><code class="sql">
1097 1 paulo
Adicionar SQL
1098 1 paulo
</code></pre>
1099 1 paulo
1100 1 paulo
h2. FV - Produtos
1101 1 paulo
1102 1 paulo
Documentação: [[Digitação de Pedidos#Produtos|Produtos]]
1103 1 paulo
1104 1 paulo
<pre><code class="sql">
1105 19 paulo
select 
1106 19 paulo
        grupo.cdNivel as codReferencia
1107 19 paulo
        , grupo.dsNivel as descricao
1108 19 paulo
        , COALESCE(ETIQUETA.cdclassificacao, '99999') as codEtiqueta
1109 19 paulo
        , COALESCE(ETIQUETA.dsclassificacao, 'SEM ETIQUETA') as nomeEtiqueta
1110 19 paulo
        , COALESCE(LINHA.cdclassificacao, '99999') as codLinha
1111 21 paulo
        , COALESCE(LINHA.dsclassificacao, 'SEM LINHA') as nomeLinha
1112 19 paulo
        , COALESCE(TIPOPECA.cdclassificacao, '99999') as codTipoPeca
1113 19 paulo
        , COALESCE(TIPOPECA.dsclassificacao, 'SEM TIPO PECA') as nomeTpoPeca
1114 19 paulo
        , COALESCE(MODELO.cdclassificacao, '99999') as codTipoModelo
1115 19 paulo
        , COALESCE(MODELO.dsclassificacao, 'SEM MODELO') as nomeTipoModelo
1116 19 paulo
        , null as opcoesVenda
1117 19 paulo
        , grupo.cdNivel as codReferProvisoria
1118 19 paulo
        , null as flagSortimentoCor
1119 19 paulo
        , null as flagEstoqueLimitado
1120 19 paulo
        , null as flagSortimentoCorTamanho
1121 19 paulo
        , null as flagSortimentoAutomatico
1122 19 paulo
        , null as aliquotaIpi
1123 19 paulo
        , null as flagNaoAplicaDesconto
1124 19 paulo
        , COALESCE(colecao.cdclassificacao, '99999') as codColecao
1125 19 paulo
        , null as qtdeQuilosPadrao
1126 19 paulo
        , null as cubagem		
1127 19 paulo
        , COALESCE(colecao.dsclassificacao, 'SEM COLECAO') as nomeColecao
1128 19 paulo
        , null as estacaoColecao
1129 19 paulo
        , COALESCE(FAMILIA.cdclassificacao, '99999') as codFamilia
1130 19 paulo
        , COALESCE(FAMILIA.dsclassificacao, 'SEM FAMILIA') as nomeFamilia
1131 19 paulo
        , null as divisorLote
1132 19 paulo
        , null as divisorBrinde
1133 19 paulo
        , null as codReferImagem
1134 19 paulo
        , null as agrupadorEstoqueData
1135 19 paulo
        , COALESCE(MARCA.cdclassificacao, '99999') as codMarca
1136 19 paulo
        , COALESCE(MARCA.dsclassificacao, 'SEM MARCA') as nomeMarca
1137 19 paulo
        , null as peso
1138 19 paulo
        , null as codArtigoPai
1139 19 paulo
        , null as flagGradeFechada
1140 19 paulo
        , null as codReferenciaCorTamanho
1141 19 paulo
        , null as dataLimiteFatur
1142 19 paulo
        , null as qtdDiasMinFaturamento
1143 19 paulo
        , null as dataVencimentoProduto
1144 19 paulo
        , null as especificacoesTecnicas
1145 19 paulo
        , COALESCE(GENERO.cdclassificacao, '99999') as codGenero
1146 20 paulo
        , COALESCE(GENERO.dsclassificacao, 'SEM GENERO') as nomeGenero
1147 19 paulo
        , null as composicaoProduto
1148 19 paulo
        , null as descricaoPesquisa
1149 19 paulo
        , null as flagReferenciaCalcadista
1150 19 paulo
        , null as dataEntrega
1151 19 paulo
        , null as grupoProdutoCalculoST
1152 19 paulo
        , null as flagMultiplicadorUnico
1153 19 paulo
FROM    ETLProdutoTabelaPreco preco
1154 19 paulo
INNER JOIN 
1155 1 paulo
        ProdutoVAEntity produto 
1156 30 paulo
ON      produto.cdProdutoStr = preco.codProduto
1157 30 paulo
INNER JOIN 
1158 30 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1159 30 paulo
ON      grupo.cdProduto = produto.cdProduto
1160 19 paulo
LEFT OUTER JOIN 
1161 19 paulo
        ProdutoInfVAEntity prinf 
1162 30 paulo
ON      prinf.cdProduto = produto.cdProduto
1163 19 paulo
LEFT OUTER JOIN 
1164 19 paulo
        produtoclassificacaovaentity colecao 
1165 19 paulo
on      grupo.cdProduto = colecao.cdProduto 
1166 19 paulo
and     colecao.cdtipoclass = 1 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA COLEÇÃO COM O CLIENTE
1167 19 paulo
LEFT OUTER JOIN 
1168 19 paulo
        produtoclassificacaovaentity ETIQUETA 
1169 19 paulo
on      grupo.cdProduto = ETIQUETA.cdProduto 
1170 19 paulo
and     ETIQUETA.cdtipoclass = 2 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA ETIQUETA COM O CLIENTE
1171 19 paulo
LEFT OUTER JOIN 
1172 19 paulo
        produtoclassificacaovaentity LINHA 
1173 19 paulo
on      grupo.cdProduto = LINHA.cdProduto 
1174 19 paulo
and     LINHA.cdtipoclass = 3 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA LINHA COM O CLIENTE
1175 19 paulo
LEFT OUTER JOIN 
1176 19 paulo
        produtoclassificacaovaentity TIPOPECA 
1177 19 paulo
on      grupo.cdProduto = TIPOPECA.cdProduto 
1178 19 paulo
and     TIPOPECA.cdtipoclass = 4 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA TIPO DE PEÇA COM O CLIENTE
1179 19 paulo
LEFT OUTER JOIN 
1180 19 paulo
        produtoclassificacaovaentity MODELO 
1181 19 paulo
on      grupo.cdProduto = MODELO.cdProduto 
1182 19 paulo
and     MODELO.cdtipoclass = 5 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA MODELO COM O CLIENTE
1183 19 paulo
LEFT OUTER JOIN 
1184 19 paulo
        produtoclassificacaovaentity MARCA 
1185 19 paulo
on      grupo.cdProduto = MARCA.cdProduto 
1186 19 paulo
and     MARCA.cdtipoclass = 6 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA MARCA COM O CLIENTE
1187 19 paulo
LEFT OUTER JOIN 
1188 19 paulo
        produtoclassificacaovaentity GENERO 
1189 19 paulo
on      grupo.cdProduto = GENERO.cdProduto 
1190 19 paulo
and     GENERO.cdtipoclass = 7 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA GENERO COM O CLIENTE
1191 19 paulo
LEFT OUTER JOIN 
1192 19 paulo
        produtoclassificacaovaentity FAMILIA 
1193 19 paulo
on      grupo.cdProduto = FAMILIA.cdProduto 
1194 19 paulo
and     FAMILIA.cdtipoclass = 8 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA FAMILIA COM O CLIENTE
1195 19 paulo
WHERE   ((preco.codTabelaPreco IN (#TABPRECOS))  OR (#TABPRECOSNULL IS NULL))
1196 19 paulo
AND     (colecao.cdClassificacao IN (#COLECOES) OR (#COLECOESNULL IS NULL))
1197 19 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1198 19 paulo
AND     ((grupo.cdNivel = :p2) or (:p2 is null))
1199 19 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1200 19 paulo
AND     grupo.cdNivel <> ''
1201 19 paulo
GROUP BY grupo.cdNivel
1202 19 paulo
        , grupo.dsNivel
1203 19 paulo
        , COALESCE(ETIQUETA.cdclassificacao, '99999')
1204 19 paulo
        , COALESCE(ETIQUETA.dsclassificacao, 'SEM ETIQUETA')
1205 19 paulo
        , COALESCE(LINHA.cdclassificacao, '99999')
1206 19 paulo
        , COALESCE(LINHA.dsclassificacao, 'SEM LINHA')
1207 19 paulo
        , COALESCE(TIPOPECA.cdclassificacao, '99999')
1208 19 paulo
        , COALESCE(TIPOPECA.dsclassificacao, 'SEM TIPO PECA')
1209 19 paulo
        , COALESCE(MODELO.cdclassificacao, '99999')
1210 19 paulo
        , COALESCE(MODELO.dsclassificacao, 'SEM MODELO')
1211 19 paulo
        , COALESCE(colecao.cdclassificacao, '99999')
1212 19 paulo
        , COALESCE(colecao.dsclassificacao, 'SEM COLECAO')
1213 19 paulo
        , COALESCE(FAMILIA.cdclassificacao, '99999')
1214 19 paulo
        , COALESCE(FAMILIA.dsclassificacao, 'SEM FAMILIA')
1215 19 paulo
        , COALESCE(MARCA.cdclassificacao, '99999')
1216 19 paulo
        , COALESCE(MARCA.dsclassificacao, 'SEM MARCA')
1217 19 paulo
        , COALESCE(GENERO.cdclassificacao, '99999')
1218 20 paulo
        , COALESCE(GENERO.dsclassificacao, 'SEM GENERO')
1219 1 paulo
</code></pre>
1220 1 paulo
1221 1 paulo
h2. FV - Produtos - Grades
1222 1 paulo
1223 1 paulo
Documentação: [[Digitação de Pedidos#Produtos-Grades|Produtos - Grades]]
1224 1 paulo
1225 1 paulo
<pre><code class="sql">
1226 22 paulo
select 
1227 22 paulo
        grupo.cdNivel as codReferencia
1228 22 paulo
        , grade.cdGrade as codGrade
1229 22 paulo
        , grade.cdTamanho as seqTamanho
1230 22 paulo
        , grade.cdTamanho as seqOrdenacao
1231 22 paulo
        , grade.dsTamanho as codTamanho
1232 22 paulo
        , '1' as qtdPalito
1233 22 paulo
FROM    ETLProdutoTabelaPreco preco
1234 31 paulo
INNER JOIN 
1235 1 paulo
        ProdutoVAEntity produto 
1236 31 paulo
ON      produto.cdProdutoStr = preco.codProduto
1237 1 paulo
INNER JOIN 
1238 22 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1239 22 paulo
ON      grupo.cdProduto = produto.cdProduto
1240 31 paulo
LEFT OUTER JOIN 
1241 31 paulo
        ProdutoInfVAEntity prinf 
1242 31 paulo
ON      prinf.cdProduto = produto.cdProduto
1243 22 paulo
INNER JOIN 
1244 22 paulo
        ProdutoGradeVAEntity grade 
1245 22 paulo
ON      grade.cdProduto = produto.cdProduto
1246 22 paulo
WHERE   ((preco.codTabelaPreco IN (#TABPRECOS))  OR (#TABPRECOSNULL IS NULL))
1247 22 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1248 22 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1249 22 paulo
AND     ((grupo.cdnivel in (#REFERENCIAS)) OR (#REFERSNULL IS NULL))
1250 22 paulo
GROUP BY grupo.cdNivel 
1251 22 paulo
        , grade.cdGrade 
1252 22 paulo
        , grade.cdTamanho
1253 22 paulo
        , grade.dsTamanho
1254 1 paulo
</code></pre>
1255 1 paulo
1256 1 paulo
h2. FV - Produtos - Sortimentos
1257 1 paulo
1258 1 paulo
Documentação: [[Digitação de Pedidos#Produtos-Sortimentos|Produtos - Sortimentos]]
1259 1 paulo
1260 1 paulo
<pre><code class="sql">
1261 32 paulo
select 
1262 32 paulo
        grupo.cdnivelcompleto as codReferencia
1263 32 paulo
        , grade.cdCor as codSortimento
1264 32 paulo
        , grade.dsCor as descricao
1265 32 paulo
        , grade.cdCor as codCorBase
1266 32 paulo
        , '#FFFFFF' as rgb
1267 32 paulo
        , null as loteEntrega
1268 32 paulo
        , 1 as itemAtivo
1269 32 paulo
        , null as percentualSortimento
1270 32 paulo
        , null as flagEstoqueLimitado
1271 32 paulo
        , COALESCE(FAMILIA.cdclassificacao, '99999') as codFamilia
1272 32 paulo
        , COALESCE(FAMILIA.dsclassificacao, 'SEM FAMILIA') as nomeFamilia
1273 32 paulo
FROM    ETLProdutoTabelaPreco preco
1274 32 paulo
INNER JOIN 
1275 32 paulo
        ProdutoVAEntity produto 
1276 35 vinidalmagro
ON      produto.cdProdutoStr = preco.codProduto
1277 32 paulo
LEFT OUTER JOIN 
1278 32 paulo
        ProdutoInfVAEntity prinf 
1279 35 vinidalmagro
ON      prinf.cdProduto = produto.cdProduto
1280 32 paulo
INNER JOIN 
1281 32 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1282 32 paulo
ON      grupo.cdProduto = produto.cdProduto
1283 32 paulo
INNER JOIN 
1284 32 paulo
        ProdutoGradeVAEntity grade 
1285 32 paulo
ON      grade.cdProduto = produto.cdProduto
1286 32 paulo
LEFT OUTER JOIN 
1287 32 paulo
        produtoclassificacaovaentity FAMILIA 
1288 32 paulo
on      grupo.cdProduto = FAMILIA.cdProduto 
1289 32 paulo
and     FAMILIA.cdtipoclass = 8 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA FAMILIA COM O CLIENTE
1290 32 paulo
WHERE   ((preco.codTabelaPreco IN (#TABPRECOS))  OR (#TABPRECOSNULL IS NULL))
1291 32 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1292 32 paulo
AND     COALESCE(produto.inBloqueio, 0) = 0 
1293 32 paulo
GROUP BY grupo.cdnivelcompleto
1294 32 paulo
        , grade.cdCor
1295 32 paulo
        , grade.dsCor
1296 32 paulo
        , COALESCE(FAMILIA.cdclassificacao, '99999')
1297 32 paulo
        , COALESCE(FAMILIA.dsclassificacao, 'SEM FAMILIA')
1298 1 paulo
</code></pre>
1299 1 paulo
1300 1 paulo
h2. FV - Produtos Skus
1301 1 paulo
1302 1 paulo
Documentação: [[Digitação de Pedidos#Produtos-Skus|Produtos Skus]]
1303 1 paulo
1304 1 paulo
<pre><code class="sql">
1305 1 paulo
Adicionar SQL
1306 1 paulo
</code></pre>
1307 1 paulo
1308 1 paulo
h2. FV - Produto - Código Reduzido
1309 1 paulo
1310 1 paulo
Documentação: [[Digitação de Pedidos#Produto-Código-Reduzido|Produto - Código Reduzido]]
1311 1 paulo
1312 1 paulo
<pre><code class="sql">
1313 1 paulo
Adicionar SQL
1314 1 paulo
</code></pre>
1315 1 paulo
1316 1 paulo
h2. FV - Produto - EAN13
1317 1 paulo
1318 1 paulo
Documentação: [[Digitação de Pedidos#Produto-EAN13|Produto - EAN13]] 
1319 1 paulo
1320 1 paulo
<pre><code class="sql">
1321 23 paulo
SELECT 
1322 23 paulo
        grupo.cdNivel as codReferencia
1323 23 paulo
        , codBarras.cdBarraPrd as EAN
1324 23 paulo
        , null as seqSortimento
1325 23 paulo
        , null as seqTamanho
1326 23 paulo
        , null as nomeRef
1327 23 paulo
        , null as nomeSort
1328 23 paulo
FROM    ProdutoCdBarrasVAEntity codBarras
1329 23 paulo
INNER JOIN 
1330 23 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1331 23 paulo
ON      grupo.cdProduto = codBarras.cdProduto
1332 23 paulo
WHERE   ((grupo.cdNivel = :p2) OR (:p2 IS NULL))
1333 1 paulo
</code></pre>
1334 1 paulo
1335 1 paulo
h2. FV - Bloqueio de Referências
1336 1 paulo
1337 1 paulo
Documentação: [[Digitação de Pedidos#Bloqueio-de-Referências|Bloqueio de Referências]]
1338 1 paulo
1339 1 paulo
<pre><code class="sql">
1340 1 paulo
Adicionar SQL
1341 1 paulo
</code></pre>
1342 1 paulo
1343 1 paulo
h2. FV - Pedido - Capa
1344 1 paulo
1345 1 paulo
Documentação: [[Digitação de Pedidos#Pedido-Capa|Pedido - Capa]]
1346 1 paulo
1347 1 paulo
<pre><code class="sql">
1348 1 paulo
Adicionar SQL
1349 1 paulo
</code></pre>
1350 1 paulo
1351 1 paulo
h2. FV - Pedidos por Referência
1352 1 paulo
1353 1 paulo
Documentação: [[Digitação de Pedidos#Pedidos-por-Referência|Pedidos por Referência]]
1354 1 paulo
1355 1 paulo
<pre><code class="sql">
1356 1 paulo
Adicionar SQL
1357 1 paulo
</code></pre>
1358 1 paulo
1359 1 paulo
h2. FV - Listagem de Pedidos - Capa
1360 1 paulo
1361 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Capa|Listagem de Pedidos - Capa]]
1362 1 paulo
1363 1 paulo
<pre><code class="sql">
1364 25 paulo
select 
1365 25 paulo
        '1' as codEmpresa
1366 25 paulo
        , VENDAS.codCliente as codCliente
1367 25 paulo
        , VENDAS.nomeCliente as nomeCliente
1368 25 paulo
        , VENDAS.codRepres as codRepres
1369 25 paulo
        , VENDAS.pedAutomacao as pedAutomacao
1370 25 paulo
        , VENDAS.codPedido as codPedido
1371 25 paulo
        , VENDAS.dtEmissao as dataEmissao
1372 25 paulo
        , VENDAS.dataprevfaturamento as dataPrevFat
1373 25 paulo
        , VENDAS.situacao as situacao
1374 25 paulo
        , VENDAS.situacaoEdt as situacaoEdt
1375 25 paulo
        , SUM(VENDAS.valorBruto) as valorBruto
1376 25 paulo
        , SUM(VENDAS.valorLiquido) as valorLiquido
1377 25 paulo
        , SUM(VENDAS.valorSaldo) as valorSaldo
1378 25 paulo
        , SUM(VENDAS.quantidade) as qtdePedLiquida
1379 25 paulo
        , null as motivo
1380 25 paulo
        , null as pedidoCliente
1381 25 paulo
        , null as pedidoRepresentante
1382 25 paulo
        , null as percComissao
1383 25 paulo
        , null as usuarioDigitacao
1384 25 paulo
        , null as valorComissao
1385 25 paulo
        , null as percDescGeral
1386 25 paulo
        , null as valorDesconto
1387 25 paulo
        , null as nomeColecao
1388 25 paulo
        , null as codTipoNota
1389 25 paulo
        , null as currency
1390 25 paulo
        , null as tipoNota
1391 25 paulo
        , null as motivoQuarentenaPedidos
1392 25 paulo
        , null as atendente
1393 25 paulo
        , null as tabPrecoPedido
1394 25 paulo
        , null as situacaoWorkFlow
1395 25 paulo
FROM    (
1396 25 paulo
SELECT  pedido.cdCliente AS codCliente
1397 25 paulo
        , pessoa.nmpessoa AS nomeCliente
1398 25 paulo
        , pedido.cdRepresentant AS codRepres
1399 25 paulo
        , pedido.cdPedido AS pedAutomacao
1400 25 paulo
        , pedido.cdEmpresa || '/' ||pedido.cdPedido AS codPedido
1401 25 paulo
        , pedido.dtPedido AS dtEmissao
1402 25 paulo
        , pedido.dtprevbaixa AS dataprevfaturamento
1403 25 paulo
        , pedido.tpSituacao situacao
1404 25 paulo
        , CASE pedido.tpSituacao WHEN 4 THEN 'FATURADO'
1405 25 paulo
                              WHEN 6 THEN 'CANCELADO'
1406 25 paulo
                              WHEN 1 THEN 'EM ANDAMENTO'
1407 25 paulo
                              WHEN 2 THEN 'LIBERADO PARA FATURAMENTO'
1408 25 paulo
                              WHEN 3 THEN 'PARCIALMENTE FATURADO'
1409 25 paulo
                              WHEN 5 THEN 'BLOQUEADO'
1410 25 paulo
                              WHEN 7 THEN 'EM COMPOSIÇÃO'
1411 25 paulo
                              WHEN 8 THEN 'EM ANÁLISE' ELSE 'OUTRA SITUAÇÃO' END AS situacaoEdt
1412 25 paulo
       , SUM((pedidoItem.qtSolicitada - pedidoItem.qtcancelada) * pedidoItem.vlUnitario) AS valorBruto
1413 25 paulo
       , SUM((pedidoItem.qtSolicitada - pedidoItem.qtcancelada) * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100)  * ((100 - pedidoItem.prDesconto) / 100) AS valorLiquido
1414 25 paulo
       , SUM(((pedidoItem.qtSolicitada + pedidoItem.qtextra - pedidoItem.qtatendida - pedidoItem.qtcancelada) * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100)  * ((100 - pedidoItem.prDesconto) / 100)) AS valorSaldo
1415 25 paulo
       , SUM(pedidoItem.qtSolicitada - pedidoItem.qtcancelada) quantidade
1416 25 paulo
FROM    VendaVAEntity pedido
1417 25 paulo
INNER JOIN 
1418 25 paulo
        PessoaVAEntity pessoa 
1419 25 paulo
ON      pessoa.cdPessoa = pedido.cdCliente
1420 25 paulo
INNER JOIN 
1421 25 paulo
        VPESConsultaVAEntity vpc 
1422 25 paulo
ON      vpc.cdPessoa = pessoa.cdPessoa
1423 25 paulo
INNER JOIN 
1424 25 paulo
        VendaItemVAEntity pedidoItem 
1425 25 paulo
ON      pedidoItem.cdempresa = pedido.cdempresa
1426 25 paulo
AND     pedidoItem.cdPedido = pedido.cdPedido
1427 25 paulo
WHERE   vpc.inCliente = 'TRUE'
1428 25 paulo
AND     (pedido.dtPedido >= :p1) AND (pedido.dtpedido <= :p2)
1429 25 paulo
AND     ((CAST(pedido.cdRepresentant as text) = :p3) OR (:p3 IS NULL))
1430 25 paulo
AND     ((CAST(pedido.cdCliente as text) = :p4) OR (:p4 IS NULL))
1431 25 paulo
AND     ((select pc.cdclassificacao 
1432 25 paulo
        from    produtoclassificacaovaentity pc 
1433 25 paulo
        where pc.cdproduto = pedidoItem.cdproduto 
1434 25 paulo
        and pc.cdtipoclass = 101 -- CONFIRMAR COM O CLIENTE O CÓDIGO DA COLEÇÃO
1435 25 paulo
        limit 1) in (#COLECOES) OR (#COLECAONULL IS NULL)
1436 25 paulo
        )
1437 25 paulo
GROUP BY pedido.cdEmpresa
1438 25 paulo
        , pedido.cdCliente
1439 25 paulo
        , pessoa.nmpessoa
1440 25 paulo
        , pedido.cdRepresentant
1441 25 paulo
        , pedido.cdPedido
1442 25 paulo
        , pedido.dtPedido
1443 25 paulo
        , pedido.dtprevbaixa
1444 25 paulo
        , pedido.tpSituacao
1445 25 paulo
        , pedido.prDesconto
1446 25 paulo
        , pedidoItem.prDesconto
1447 25 paulo
) VENDAS
1448 25 paulo
GROUP BY VENDAS.codCliente
1449 25 paulo
        , VENDAS.nomeCliente
1450 25 paulo
        , VENDAS.codRepres
1451 25 paulo
        , VENDAS.pedAutomacao
1452 25 paulo
        , VENDAS.codPedido
1453 25 paulo
        , VENDAS.dtEmissao
1454 25 paulo
        , VENDAS.dataprevfaturamento
1455 25 paulo
        , VENDAS.situacao
1456 25 paulo
        , VENDAS.situacaoEdt
1457 1 paulo
</code></pre>
1458 1 paulo
1459 1 paulo
h2. FV - Listagem de Pedidos - Detalhado
1460 1 paulo
1461 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Detalhado|Listagem de Pedidos - Detalhado]]
1462 1 paulo
1463 1 paulo
<pre><code class="sql">
1464 24 paulo
select 
1465 24 paulo
        VENDAS.dataEmissao as dataEmissao
1466 24 paulo
        , VENDAS.dataPrevFaturamento as dataPrevFatur
1467 24 paulo
        , VENDAS.situacaoEdt as situacaoEdt
1468 24 paulo
        , VENDAS.codCliente as codCliente
1469 24 paulo
        , VENDAS.nomeCliente as nomeCliente
1470 24 paulo
        , VENDAS.municipio as cidadeCliente
1471 24 paulo
        , VENDAS.uf as ufCliente
1472 24 paulo
        , VENDAS.inscricaoEstadual as inscEstadual
1473 24 paulo
        , VENDAS.cnpjCpf as cnpjCliente
1474 24 paulo
        , VENDAS.codRepres as codRepres
1475 24 paulo
        , VENDAS.percComissao as percComissao
1476 24 paulo
        , VENDAS.codTabPreco as codTabPreco
1477 24 paulo
        , VENDAS.nomeTabPreco as nomeTabPreco
1478 24 paulo
        , VENDAS.codpgto as codCondVenda
1479 24 paulo
        , VENDAS.nomecodpgto as nomeCondVenda
1480 24 paulo
        , null as codTranspDespacho
1481 24 paulo
        , null as nomeTranspDespacho
1482 24 paulo
        , VENDAS.tipoFreteTranspDespacho as tipoFreteTranspDespacho
1483 24 paulo
        , null as codTranspRedespacho
1484 24 paulo
        , null as nomeTranspRedespacho
1485 24 paulo
        , null as tipoFreteTranspRedespacho
1486 24 paulo
        , '1' as codTipoNota
1487 24 paulo
        , 'NORMAL' as nomeTipoNota
1488 24 paulo
        , null as observacao
1489 24 paulo
        , SUM(VENDAS.valorBruto) as valorBruto
1490 24 paulo
        , SUM(VENDAS.valorLiquido) as valorLiquido
1491 24 paulo
        , SUM(VENDAS.valorSaldo) as valorSaldo
1492 24 paulo
        , 0 as percDesconto1
1493 24 paulo
        , 0 as percDesconto2
1494 24 paulo
        , 0 as percDesconto3
1495 24 paulo
        , 0 as percDesconto4
1496 24 paulo
        , 0 as percDesconto5
1497 24 paulo
        , VENDAS.nomeCli as fantasia
1498 24 paulo
        , VENDAS.email as emailCliente
1499 24 paulo
        , VENDAS.nrPedidoCliente as pedidoCliente
1500 24 paulo
        , null as pedidoRepresentante
1501 24 paulo
FROM    
1502 24 paulo
(SELECT pedido.dtPedido as dataEmissao
1503 24 paulo
        , pedido.dtPrevBaixa as dataPrevFaturamento
1504 24 paulo
        , CASE pedido.tpSituacao WHEN 4 THEN 'FATURADO'
1505 24 paulo
                              WHEN 6 THEN 'CANCELADO'
1506 24 paulo
                              WHEN 1 THEN 'EM ANDAMENTO'
1507 24 paulo
                              WHEN 2 THEN 'LIBERADO PARA FATURAMENTO'
1508 24 paulo
                              WHEN 3 THEN 'PARCIALMENTE FATURADO'
1509 24 paulo
                              WHEN 5 THEN 'BLOQUEADO'
1510 24 paulo
                              WHEN 7 THEN 'EM COMPOSIÇÃO'
1511 24 paulo
                              WHEN 8 THEN 'EM ANÁLISE' ELSE 'OUTRA OUTRA SITUAÇÃO' END AS situacaoEdt
1512 24 paulo
        , pedido.cdCliente codCliente
1513 24 paulo
        , pessoa.nmPessoa nomeCliente
1514 24 paulo
        , endereco.nmMunicipio municipio
1515 24 paulo
        , endereco.ufSigla uf
1516 24 paulo
        , pessoaJuridica.nrInscEstl AS inscricaoEstadual
1517 24 paulo
        , pessoaJuridica.nrCnpj cnpjCpf
1518 24 paulo
        , pedido.cdrepresentant AS codRepres
1519 24 paulo
        , COALESCE(pedido.prComissaoFat, 0) + COALESCE(pedido.prComissaoRec, 0) AS percComissao
1520 24 paulo
        , pedido.cdTabpreco as codTabPreco
1521 24 paulo
        , tabPreco.descricao nomeTabPreco
1522 24 paulo
        , pedido.cdCondpgto codpgto
1523 24 paulo
        , condPagto.nome nomecodpgto
1524 24 paulo
        , CASE pedido.cdTransport WHEN 0 THEN null ELSE pedido.cdTransport END
1525 24 paulo
        , CASE pedido.cdTransport WHEN 0 THEN null ELSE pedido.nmTransport END
1526 24 paulo
        , CASE pedido.tpFrete WHEN 1 THEN 'EMITENTE'
1527 24 paulo
                           WHEN 2 THEN 'DESTINATÁRIO'
1528 24 paulo
                           WHEN 3 THEN 'POR TERCEIRO'
1529 24 paulo
                           WHEN 4 THEN 'SEM FRETE' ELSE 'OUTROS' END AS tipoFreteTranspDespacho
1530 24 paulo
        , SUM((pedidoItem.qtSolicitada - pedidoItem.qtcancelada) * pedidoItem.vlUnitario) AS valorBruto
1531 24 paulo
        , SUM((pedidoItem.qtSolicitada - pedidoItem.qtcancelada) * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100) * ((100 - pedidoItem.prDesconto) / 100) AS valorLiquido
1532 24 paulo
        , SUM(((pedidoItem.qtSolicitada + pedidoItem.qtextra - pedidoItem.qtatendida - pedidoItem.qtcancelada) * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100) * ((100 - pedidoItem.prDesconto) / 100)) AS valorSaldo
1533 24 paulo
        , pessoa.nmPessoa as nomeCli
1534 24 paulo
        , email.dsemail as email
1535 24 paulo
        , pedido.nrPedidoCliente nrPedidoCliente
1536 24 paulo
FROM    VendaVAEntity pedido
1537 24 paulo
INNER JOIN 
1538 24 paulo
        PessoaVAEntity pessoa 
1539 24 paulo
ON      pessoa.cdPessoa = pedido.cdCliente
1540 24 paulo
INNER JOIN 
1541 24 paulo
        VPESConsultaVAEntity vpc 
1542 24 paulo
ON      vpc.cdPessoa = pessoa.cdPessoa
1543 24 paulo
INNER JOIN 
1544 24 paulo
        PessoaEnderecoVAEntity endereco 
1545 24 paulo
ON      endereco.cdEmpresa = pessoa.cdEmpresa 
1546 24 paulo
AND     endereco.cdPessoa = pessoa.cdPessoa 
1547 24 paulo
AND     endereco.id = (select min(id) from pessoaenderecovaentity where cdempresa = pessoa.cdempresa and cdpessoa = pessoa.cdpessoa)
1548 24 paulo
LEFT OUTER JOIN 
1549 24 paulo
        ETLTabelaPreco tabPreco 
1550 24 paulo
ON      tabPreco.codTabelaPreco =  CAST(pedido.cdTabPreco as text)
1551 24 paulo
LEFT OUTER JOIN 
1552 24 paulo
        ETLCondPagto condPagto 
1553 24 paulo
ON      condPagto.codEmpresa = CAST(pedido.cdEmpresa as text) 
1554 24 paulo
AND     condPagto.codCondPagto = CAST(pedido.cdCondPgto as text)
1555 24 paulo
INNER JOIN 
1556 24 paulo
        VendaItemVAEntity pedidoItem 
1557 24 paulo
ON      pedidoItem.cdempresa = pedido.cdempresa 
1558 24 paulo
AND     pedidoItem.cdPedido = pedido.cdPedido
1559 24 paulo
LEFT OUTER JOIN 
1560 24 paulo
        PessoaEmailVAEntity email 
1561 24 paulo
ON      email.cdEmpresa = pessoa.cdEmpresa 
1562 24 paulo
AND     email.cdPessoa = pessoa.cdPessoa 
1563 24 paulo
AND     email.inPadrao = 'TRUE'
1564 24 paulo
LEFT OUTER JOIN 
1565 24 paulo
        PessoaJuridicaVAEntity pessoaJuridica 
1566 24 paulo
ON      pessoaJuridica.cdEmpresa = pessoa.cdEmpresa 
1567 24 paulo
AND     pessoaJuridica.cdPessoa = pessoa.cdPessoa
1568 24 paulo
WHERE   CAST(pedido.cdEmpresa || '/' || pedido.cdPedido as text) = :p1
1569 24 paulo
GROUP BY pedido.dtPedido
1570 24 paulo
        , pedido.dtPrevBaixa
1571 24 paulo
        , pedido.tpSituacao
1572 24 paulo
        , pedido.cdCliente
1573 24 paulo
        , pessoa.nmPessoa
1574 24 paulo
        , endereco.nmMunicipio
1575 24 paulo
        , endereco.ufSigla
1576 24 paulo
        , pessoaJuridica.nrInscEstl
1577 24 paulo
        , pessoaJuridica.nrCnpj
1578 24 paulo
        , pedido.cdrepresentant
1579 24 paulo
        , COALESCE(pedido.prComissaoFat, 0)
1580 24 paulo
        , COALESCE(pedido.prComissaoRec, 0)
1581 24 paulo
        , pedido.cdTabpreco
1582 24 paulo
        , tabPreco.descricao
1583 24 paulo
        , pedido.cdCondpgto
1584 24 paulo
        , condPagto.nome
1585 24 paulo
        , pedido.cdTransport
1586 24 paulo
        , pedido.nmTransport
1587 24 paulo
        , pedido.tpFrete
1588 24 paulo
        , pessoa.nmPessoa
1589 24 paulo
        , email.dsemail
1590 24 paulo
        , pedido.nrPedidoCliente
1591 24 paulo
        , pedido.prDesconto
1592 24 paulo
        , pedidoItem.prDesconto
1593 24 paulo
        , pedido.cdPedido
1594 24 paulo
        , pedido.cdEmpresa) VENDAS
1595 24 paulo
GROUP BY VENDAS.dataEmissao
1596 24 paulo
        , VENDAS.dataPrevFaturamento
1597 24 paulo
        , VENDAS.situacaoEdt
1598 24 paulo
        , VENDAS.codCliente
1599 24 paulo
        , VENDAS.nomeCliente
1600 24 paulo
        , VENDAS.municipio
1601 24 paulo
        , VENDAS.uf
1602 24 paulo
        , VENDAS.inscricaoEstadual
1603 24 paulo
        , VENDAS.cnpjCpf
1604 24 paulo
        , VENDAS.codRepres
1605 24 paulo
        , VENDAS.percComissao
1606 24 paulo
        , VENDAS.codTabPreco
1607 24 paulo
        , VENDAS.nomeTabPreco
1608 24 paulo
        , VENDAS.codpgto
1609 24 paulo
        , VENDAS.nomecodpgto
1610 24 paulo
        , VENDAS.tipoFreteTranspDespacho
1611 24 paulo
        , VENDAS.nomeCli
1612 24 paulo
        , VENDAS.email
1613 24 paulo
        , VENDAS.nrPedidoCliente
1614 1 paulo
</code></pre>
1615 1 paulo
1616 1 paulo
h2. FV - Listagem de Pedidos - Itens
1617 1 paulo
1618 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Itens|Listagem de Pedidos - Itens]]
1619 1 paulo
1620 1 paulo
<pre><code class="sql">
1621 26 paulo
select 
1622 26 paulo
        row_number() OVER (ORDER BY item.cdProduto) as codItem
1623 26 paulo
        , item.cdProduto as codProduto
1624 26 paulo
        , produto.dsProduto as nomeProduto
1625 26 paulo
        , item.qtSolicitada as qtdePedida
1626 26 paulo
        , item.qtCancelada as qtdeSaldo
1627 26 paulo
        , item.qtAtendida as qtdeFaturado
1628 26 paulo
        , item.qtCancelada as qtdeCancelada
1629 26 paulo
        , item.vlUnitario as valorUnitarioBruto
1630 26 paulo
        , (CASE item.qtSolicitada WHEN 0 THEN 0 ELSE ((item.qtSolicitada - item.qtcancelada) * ((item.vlUnitario * ((100 - item.prDesconto) / 100)) * ((100 - pedido.prDesconto) / 100)) / item.qtSolicitada) END) as valorUnitarioLiquido
1631 26 paulo
        , (item.qtSolicitada * ((item.vlUnitario * ((100 - item.prDesconto) / 100)) * ((100 - pedido.prDesconto) / 100))) - (item.qtCancelada * ((item.vlUnitario * ((100 - item.prDesconto) / 100)) * ((100 - pedido.prDesconto) / 100))) as valorTotal
1632 26 paulo
        , null as codReferencia
1633 26 paulo
        , null as seqTamanho
1634 26 paulo
        , null as seqSortimento
1635 26 paulo
FROM    VendaItemVAEntity item
1636 26 paulo
LEFT OUTER JOIN 
1637 26 paulo
        VendaVAEntity pedido 
1638 26 paulo
ON      item.cdEmpresa = pedido.cdEmpresa 
1639 26 paulo
AND     item.cdPedido = pedido.cdPedido
1640 26 paulo
LEFT OUTER JOIN 
1641 26 paulo
        ProdutoVAEntity produto 
1642 26 paulo
ON      produto.cdProduto = item.cdProduto
1643 26 paulo
WHERE   CAST(pedido.cdEmpresa || '/' || item.cdPedido as text) = :p1
1644 1 paulo
</code></pre>
1645 1 paulo
1646 1 paulo
h2. FV - Listagem de Pedidos - Notas
1647 1 paulo
1648 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Notas|Listagem de Pedidos - Notas]]
1649 1 paulo
1650 1 paulo
<pre><code class="sql">
1651 27 paulo
select 
1652 27 paulo
        nota.dataEmissao as dataEmissao
1653 27 paulo
        , nota.numeroNF as numeroNF
1654 27 paulo
        , CASE nota.situacao WHEN 'G' THEN 'GERADA'
1655 27 paulo
                          WHEN 'A' THEN 'AUTORIZADA'
1656 27 paulo
                          WHEN 'C' THEN 'CANCELADA'
1657 27 paulo
                          WHEN 'I' THEN 'INUTILIZADA'
1658 27 paulo
                          WHEN 'D' THEN 'DENEGADA'
1659 27 paulo
                          WHEN 'E' THEN 'EMITIDA' ELSE 'OUTROS' END as situacao
1660 27 paulo
        , nota.valorLiquido as valorLiquido
1661 27 paulo
        , nota.codTransp as codTransp
1662 27 paulo
        , null as nomeTransp
1663 27 paulo
        , null as codRedespacho
1664 27 paulo
        , null as nomeRedespacho
1665 27 paulo
        , nota.chaveNFE as chaveNFE
1666 27 paulo
        , null as qtdeFaturado
1667 27 paulo
FROM    ETLPedidoNotaFiscal nota
1668 27 paulo
INNER JOIN    
1669 27 paulo
        VPesConsultaVAEntity vpc 
1670 27 paulo
ON      CAST(vpc.cdPessoa as text) = nota.codTransp
1671 27 paulo
WHERE   CAST(nota.codEmpresa || '/' || nota.codPedido as text) = :p1
1672 27 paulo
AND     vpc.inTransport = 'TRUE'
1673 27 paulo
WHERE   CodPedido = :p1
1674 1 paulo
</code></pre>
1675 1 paulo
1676 1 paulo
h2. FV - Listagem de Pedidos - Observações
1677 1 paulo
1678 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Observções|Listagem de Pedidos - Observações]]
1679 1 paulo
1680 1 paulo
<pre><code class="sql">
1681 1 paulo
Adicionar SQL
1682 1 paulo
</code></pre>
1683 1 paulo
1684 1 paulo
h2. FV - Listagem de Pedidos - Histórico
1685 1 paulo
1686 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Histórico|Listagem de Pedidos - Histórico]]
1687 1 paulo
1688 1 paulo
<pre><code class="sql">
1689 1 paulo
Adicionar SQL
1690 1 paulo
</code></pre>
1691 1 paulo
1692 1 paulo
h2. FV - Estoque
1693 1 paulo
1694 1 paulo
Documentação: [[Digitação de Pedidos#Estoque|Estoque]]
1695 1 paulo
1696 1 paulo
<pre><code class="sql">
1697 1 paulo
Adicionar SQL
1698 1 paulo
</code></pre>
1699 1 paulo
1700 1 paulo
h2. FV - Lote Entrega
1701 1 paulo
1702 1 paulo
Documentação: [[Digitação de Pedidos#Lotes-de-Entrega|Lote Entrega]]
1703 1 paulo
1704 1 paulo
<pre><code class="sql">
1705 1 paulo
Adicionar SQL
1706 1 paulo
</code></pre>
1707 1 paulo
1708 1 paulo
h2. FV - Lotes de Faturamento
1709 1 paulo
1710 1 paulo
Documentação: [[Digitação de Pedidos#Lotes-de-Faturamento|Lotes de Faturamento]]
1711 1 paulo
1712 1 paulo
<pre><code class="sql">
1713 1 paulo
Adicionar SQL
1714 1 paulo
</code></pre>
1715 1 paulo
1716 1 paulo
h2. FV - Cálculo substituição tributária
1717 1 paulo
1718 1 paulo
Documentação: [[Digitação de Pedidos#Cálculo-substituição-tributária|Cálculo substituição tributária]]
1719 1 paulo
1720 1 paulo
<pre><code class="sql">
1721 1 paulo
Adicionar SQL
1722 1 paulo
</code></pre>
1723 1 paulo
1724 1 paulo
h2. FV - Grupos substituição tributária
1725 1 paulo
1726 1 paulo
Documentação: [[Digitação de Pedidos#Grupos-substituição-tributária|Grupos substituição tributária]]
1727 1 paulo
1728 1 paulo
<pre><code class="sql">
1729 1 paulo
Adicionar SQL
1730 1 paulo
</code></pre>
1731 1 paulo
1732 1 paulo
h2. FV - Integração Valor de Frete por UF
1733 1 paulo
1734 1 paulo
Documentação: [[Digitação de Pedidos#Integração-Valor-de-Frete-por-UF|Integração Valor de Frete por UF]]
1735 1 paulo
1736 1 paulo
<pre><code class="sql">
1737 1 paulo
Adicionar SQL
1738 1 paulo
</code></pre>
1739 1 paulo
1740 1 paulo
h2. FV - Tabela de Preço SKU
1741 1 paulo
1742 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-SKU|Tabela de Preço SKU]]
1743 1 paulo
1744 1 paulo
<pre><code class="sql">
1745 38 paulo
SELECT 
1746 38 paulo
        '1' as codEmpresa
1747 38 paulo
        , preco.codTabelaPreco as codTabPreco
1748 38 paulo
        , grupo.cdNivel as codReferencia
1749 38 paulo
        , grade.cdGrade as codGrade
1750 38 paulo
        , preco.preco as vlrUnitario
1751 38 paulo
        , grade.cdCor as seqSortimento
1752 38 paulo
        , null as itemAti
1753 38 paulo
        , grade.cdTamanho as seqTamanho
1754 38 paulo
        , produto.dsProduto as descrProdu
1755 38 paulo
        , null as vlrUnitarioAnterior
1756 38 paulo
        , grade.cdTamanho as seqTamanho
1757 38 paulo
        , null as permiteBonificacao
1758 38 paulo
        , null as flagOferta
1759 38 paulo
FROM    ETLProdutoTabelaPreco preco
1760 38 paulo
LEFT OUTER JOIN 
1761 38 paulo
        ProdutoGradeVAEntity grade 
1762 38 paulo
ON      preco.codProduto = grade.cdProdutoStr
1763 38 paulo
INNER JOIN 
1764 38 paulo
        etltabelapreco tab  
1765 38 paulo
ON      tab.codTabelapreco = preco.codtabelapreco
1766 38 paulo
INNER JOIN 
1767 38 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1768 38 paulo
ON      grupo.cdProduto = grade.cdProduto
1769 38 paulo
INNER JOIN 
1770 38 paulo
        ProdutoVAEntity produto 
1771 38 paulo
ON      produto.cdProduto = grupo.cdProduto   
1772 38 paulo
WHERE   preco.codEmpresa = :p1
1773 38 paulo
AND     preco.codTabelaPreco = :p2
1774 38 paulo
AND     preco.preco IS NOT NULL
1775 38 paulo
AND     grupo.cdNivel <> ''
1776 38 paulo
GROUP BY preco.codTabelaPreco
1777 38 paulo
        , grupo.cdNivel
1778 38 paulo
        , grade.cdGrade
1779 38 paulo
        , preco.preco
1780 38 paulo
        , grade.cdCor
1781 38 paulo
        , grade.cdTamanho
1782 38 paulo
        , produto.dsProduto
1783 1 paulo
</code></pre>
1784 1 paulo
1785 1 paulo
h2. FV - Tabela de Preço - Política - Desconto Adicional de Lote
1786 1 paulo
1787 1 paulo
Documentação: [[Digitação de Pedidos#Tabela-de-Preço-Política-Desconto-Adicional-de-Lote|Tabela de Preço - Política - Desconto Adicional de Lote]]
1788 1 paulo
1789 1 paulo
<pre><code class="sql">
1790 1 paulo
Adicionar SQL
1791 1 paulo
</code></pre>
1792 1 paulo
1793 1 paulo
h2. FV - Listagem de Pedidos em Aberto - Capa
1794 1 paulo
1795 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Em-Aberto-Capa|Listagem de Pedidos em Aberto - Capa]]
1796 1 paulo
1797 1 paulo
<pre><code class="sql">
1798 1 paulo
Adicionar SQL
1799 1 paulo
</code></pre>
1800 1 paulo
1801 1 paulo
h2. FV - Listagem de Pedidos em Aberto - Detalhado
1802 1 paulo
1803 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Detalhado|Listagem de Pedidos em Aberto - Detalhado]]
1804 1 paulo
1805 1 paulo
<pre><code class="sql">
1806 1 paulo
Adicionar SQL
1807 1 paulo
</code></pre>
1808 1 paulo
1809 1 paulo
h2. FV - Listagem de Pedidos em Aberto - Itens
1810 1 paulo
1811 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Itens|Listagem de Pedidos em Aberto - Itens]]
1812 1 paulo
1813 1 paulo
<pre><code class="sql">
1814 1 paulo
Adicionar SQL
1815 1 paulo
</code></pre>
1816 1 paulo
1817 1 paulo
h2. FV - SKUs Pronta Entrega e Programado
1818 1 paulo
1819 1 paulo
Documentação: [[Digitação de Pedidos#SKUs Pronta Entrega e Programado|SKUs Pronta Entrega e Programado]]
1820 1 paulo
1821 1 paulo
<pre><code class="sql">
1822 1 paulo
Adicionar SQL
1823 1 paulo
</code></pre>
1824 1 paulo
1825 1 paulo
h1. *Business to Business*
1826 1 paulo
1827 1 paulo
h2. B2B - Produtos 
1828 1 paulo
1829 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos|Produtos]]
1830 1 paulo
1831 1 paulo
1832 1 paulo
<pre><code class="sql">
1833 33 paulo
select 
1834 33 paulo
        grupo.cdNivel as codReferencia
1835 33 paulo
        , grupo.dsNivel as NomeReferencia
1836 33 paulo
        , COALESCE(ETIQUETA.cdclassificacao, '99999') as codEtiqueta
1837 33 paulo
        , COALESCE(ETIQUETA.dsclassificacao, 'SEM ETIQUETA') as nomeEtiqueta
1838 33 paulo
        , COALESCE(LINHA.cdclassificacao, '99999') as codLinha
1839 33 paulo
        , COALESCE(LINHA.dsclassificacao, 'SEM LINHA') as nomeLinha
1840 33 paulo
        , COALESCE(TIPOPECA.cdclassificacao, '99999') as codTipoPeca
1841 33 paulo
        , COALESCE(TIPOPECA.dsclassificacao, 'SEM TIPO PECA') as nomeTpoPeca
1842 33 paulo
        , COALESCE(MODELO.cdclassificacao, '99999') as codTipoModelo
1843 33 paulo
        , COALESCE(MODELO.dsclassificacao, 'SEM MODELO') as nomeTipoModelo
1844 33 paulo
        , null as precoUnitario
1845 33 paulo
        , null as GradesAtivas
1846 33 paulo
        , grupo.cdNivel as codReferenciaProvisoria
1847 33 paulo
        , null as descricao
1848 33 paulo
        , null as descricaoHTML
1849 33 paulo
        , null as qtdeEmbarquePadrao
1850 33 paulo
        , null as genero
1851 33 paulo
        , null as keywords
1852 33 paulo
        , null as composicao
1853 33 paulo
        , null as precoSugerido
1854 33 paulo
        , null as flagGradeFechada
1855 33 paulo
        , null as unidMedida
1856 33 paulo
        , null as codGrupo
1857 33 paulo
        , null as percentualIPI
1858 33 paulo
        , null as grupo_st
1859 33 paulo
FROM    ETLProdutoTabelaPreco preco
1860 33 paulo
INNER JOIN 
1861 33 paulo
        ProdutoVAEntity produto 
1862 33 paulo
ON      produto.cdProdutoStr = preco.codProduto
1863 33 paulo
INNER JOIN 
1864 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1865 33 paulo
ON      grupo.cdProduto = produto.cdProduto
1866 33 paulo
LEFT OUTER JOIN 
1867 33 paulo
        ProdutoInfVAEntity prinf 
1868 33 paulo
ON      prinf.cdProduto = produto.cdProduto
1869 33 paulo
LEFT OUTER JOIN 
1870 33 paulo
        produtoclassificacaovaentity colecao 
1871 33 paulo
on      grupo.cdProduto = colecao.cdProduto 
1872 33 paulo
and     colecao.cdtipoclass = 1 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA COLEÇÃO COM O CLIENTE
1873 33 paulo
LEFT OUTER JOIN 
1874 33 paulo
        produtoclassificacaovaentity ETIQUETA 
1875 33 paulo
on      grupo.cdProduto = ETIQUETA.cdProduto 
1876 33 paulo
and     ETIQUETA.cdtipoclass = 2 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA ETIQUETA COM O CLIENTE
1877 33 paulo
LEFT OUTER JOIN 
1878 33 paulo
        produtoclassificacaovaentity LINHA 
1879 33 paulo
on      grupo.cdProduto = LINHA.cdProduto 
1880 33 paulo
and     LINHA.cdtipoclass = 3 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA LINHA COM O CLIENTE
1881 33 paulo
LEFT OUTER JOIN 
1882 33 paulo
        produtoclassificacaovaentity TIPOPECA 
1883 33 paulo
on      grupo.cdProduto = TIPOPECA.cdProduto 
1884 33 paulo
and     TIPOPECA.cdtipoclass = 4 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA TIPO DE PEÇA COM O CLIENTE
1885 33 paulo
LEFT OUTER JOIN 
1886 33 paulo
        produtoclassificacaovaentity MODELO 
1887 33 paulo
on      grupo.cdProduto = MODELO.cdProduto 
1888 33 paulo
and     MODELO.cdtipoclass = 5 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA MODELO COM O CLIENTE
1889 33 paulo
LEFT OUTER JOIN 
1890 33 paulo
        produtoclassificacaovaentity MARCA 
1891 33 paulo
on      grupo.cdProduto = MARCA.cdProduto 
1892 33 paulo
and     MARCA.cdtipoclass = 6 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA MARCA COM O CLIENTE
1893 33 paulo
LEFT OUTER JOIN 
1894 33 paulo
        produtoclassificacaovaentity GENERO 
1895 33 paulo
on      grupo.cdProduto = GENERO.cdProduto 
1896 33 paulo
and     GENERO.cdtipoclass = 7 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA GENERO COM O CLIENTE
1897 33 paulo
LEFT OUTER JOIN 
1898 33 paulo
        produtoclassificacaovaentity FAMILIA 
1899 33 paulo
on      grupo.cdProduto = FAMILIA.cdProduto 
1900 33 paulo
and     FAMILIA.cdtipoclass = 8 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA FAMILIA COM O CLIENTE
1901 33 paulo
WHERE   preco.codTabelaPreco IN ('#TABPRECO')
1902 33 paulo
AND     (colecao.cdClassificacao = :p2)
1903 33 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1904 33 paulo
AND     (grupo.cdNivel in (#REFERENCIAS) or COALESCE(#REFERENCIAS_TODAS,'0') = COALESCE('','0'))
1905 33 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1906 33 paulo
AND     grupo.cdNivel <> ''
1907 33 paulo
GROUP BY grupo.cdNivel
1908 33 paulo
        , grupo.dsNivel
1909 33 paulo
        , COALESCE(ETIQUETA.cdclassificacao, '99999')
1910 33 paulo
        , COALESCE(ETIQUETA.dsclassificacao, 'SEM ETIQUETA')
1911 33 paulo
        , COALESCE(LINHA.cdclassificacao, '99999')
1912 33 paulo
        , COALESCE(LINHA.dsclassificacao, 'SEM LINHA')
1913 33 paulo
        , COALESCE(TIPOPECA.cdclassificacao, '99999')
1914 33 paulo
        , COALESCE(TIPOPECA.dsclassificacao, 'SEM TIPO PECA')
1915 33 paulo
        , COALESCE(MODELO.cdclassificacao, '99999')
1916 33 paulo
        , COALESCE(MODELO.dsclassificacao, 'SEM MODELO')
1917 1 paulo
</code></pre>
1918 1 paulo
1919 1 paulo
h2. B2B - Produtos - Grades 
1920 1 paulo
1921 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Grades|Produtos - Grades]]
1922 1 paulo
1923 1 paulo
1924 1 paulo
<pre><code class="sql">
1925 33 paulo
select 
1926 33 paulo
        grupo.cdNivel as codReferencia
1927 33 paulo
        , grade.cdGrade as codGrade
1928 33 paulo
        , grade.cdTamanho as seqTamanho
1929 33 paulo
        , grade.cdTamanho as seqOrdenacao
1930 33 paulo
        , grade.dsTamanho as codTamanho
1931 33 paulo
        , null as pesoPeca
1932 33 paulo
        , null as nomeGrade
1933 33 paulo
FROM    ETLProdutoTabelaPreco preco
1934 33 paulo
INNER JOIN 
1935 33 paulo
        ProdutoVAEntity produto 
1936 33 paulo
ON      produto.cdProdutoStr = preco.codProduto
1937 33 paulo
INNER JOIN 
1938 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1939 33 paulo
ON      grupo.cdProduto = produto.cdProduto
1940 33 paulo
LEFT OUTER JOIN 
1941 33 paulo
        ProdutoInfVAEntity prinf 
1942 33 paulo
ON      prinf.cdProduto = produto.cdProduto
1943 33 paulo
INNER JOIN 
1944 33 paulo
        ProdutoGradeVAEntity grade 
1945 33 paulo
ON      grade.cdProduto = produto.cdProduto
1946 33 paulo
WHERE   preco.codTabelaPreco IN ('#TABPRECO')
1947 33 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1948 33 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1949 33 paulo
AND     (grupo.cdnivel in (#REFERENCIAS) or COALESCE(#REFERENCIAS_TODAS,'0') = COALESCE('','0'))
1950 1 paulo
</code></pre>
1951 1 paulo
1952 1 paulo
h2. B2B - Produtos - Grade Fechada 
1953 1 paulo
1954 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Grade-Fechada|Produtos - Grade Fechada]]
1955 1 paulo
1956 1 paulo
1957 1 paulo
<pre><code class="sql">
1958 1 paulo
Adicionar SQL
1959 1 paulo
</code></pre>
1960 1 paulo
1961 1 paulo
h2. B2B - Produtos - Sortimentos 
1962 1 paulo
1963 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Sortimentos|Produtos - Sortimentos]]
1964 1 paulo
1965 1 paulo
1966 1 paulo
<pre><code class="sql">
1967 33 paulo
select 
1968 33 paulo
        grupo.cdNivel as codReferencia
1969 33 paulo
        , grade.cdCor as codSortimento
1970 33 paulo
        , grade.dsCor as descricao
1971 33 paulo
        , grade.cdCor as codCorBase
1972 33 paulo
        , '#FFFFFF' as codRGBCorBase
1973 33 paulo
        , null as ordem
1974 33 paulo
        , null as pocket
1975 33 paulo
        , null as estampa
1976 33 paulo
FROM    ETLProdutoTabelaPreco preco
1977 33 paulo
INNER JOIN 
1978 33 paulo
        ProdutoVAEntity produto 
1979 33 paulo
ON      CAST(produto .cdProduto AS text) = preco.codProduto
1980 33 paulo
LEFT OUTER JOIN 
1981 33 paulo
        ProdutoInfVAEntity prinf 
1982 33 paulo
ON      CAST(prinf.cdProduto AS text) = preco.codProduto
1983 33 paulo
INNER JOIN 
1984 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1985 33 paulo
ON      grupo.cdProduto = produto.cdProduto
1986 33 paulo
INNER JOIN 
1987 33 paulo
        ProdutoGradeVAEntity grade 
1988 33 paulo
ON      grade.cdProduto = produto.cdProduto
1989 33 paulo
WHERE   preco.codTabelaPreco IN ('#TABPRECO')
1990 33 paulo
AND     colecao.cdClassificacao = :p2
1991 33 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1992 33 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1993 33 paulo
AND     (LTRIM(RTRIM(grupo.cdnivel)) in (#REFERENCIAS) or COALESCE(#REFERENCIAS_TODAS,'0') = COALESCE('','0'))
1994 33 paulo
GROUP BY grupo.cdNivel
1995 33 paulo
        , grade.cdCor
1996 33 paulo
        , grade.dsCor
1997 1 paulo
</code></pre>
1998 1 paulo
1999 1 paulo
h2. B2B - Produtos - Tabela de Preço 
2000 1 paulo
2001 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Tabela-de-Preço|Produtos - Tabela de Preço]]
2002 1 paulo
2003 1 paulo
2004 1 paulo
<pre><code class="sql">
2005 33 paulo
select 
2006 33 paulo
        '1' as codEmpresa
2007 33 paulo
        , preco.codTabelaPreco as codTabela
2008 33 paulo
        , grupo.cdNivel as codProduto
2009 33 paulo
        , grade.cdGrade as codGrade
2010 33 paulo
        , preco.preco as preco
2011 33 paulo
        , null as preco_sugerido
2012 33 paulo
FROM    ETLProdutoTabelaPreco preco
2013 33 paulo
LEFT OUTER JOIN 
2014 33 paulo
        ProdutoGradeVAEntity grade 
2015 33 paulo
ON      CAST(preco.codProduto AS text) = CAST(grade.cdProduto AS text)
2016 33 paulo
INNER JOIN 
2017 33 paulo
        etltabelapreco tab  
2018 33 paulo
ON      tab.codTabelapreco = preco.codtabelapreco
2019 33 paulo
INNER JOIN 
2020 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
2021 33 paulo
ON      grupo.cdProduto = grade.cdProduto
2022 33 paulo
INNER JOIN 
2023 33 paulo
        ProdutoVAEntity produto 
2024 33 paulo
ON      produto.cdProduto = grupo.cdProduto   
2025 33 paulo
WHERE   preco.codTabelaPreco in ('#TABPRECO')
2026 33 paulo
AND     preco.preco IS NOT NULL
2027 33 paulo
AND     grupo.cdNivel <> ''
2028 33 paulo
GROUP BY preco.codTabelaPreco
2029 33 paulo
        , grupo.cdNivel
2030 33 paulo
        , grade.cdGrade
2031 33 paulo
        , preco.preco
2032 1 paulo
</code></pre>
2033 1 paulo
2034 1 paulo
h2. B2B - Produtos - Tabela de Preço por SKU 
2035 1 paulo
2036 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Tabela-de-Preço-por-SKU|Produtos - Tabela de Preço por SKU]]
2037 1 paulo
2038 1 paulo
2039 1 paulo
<pre><code class="sql">
2040 1 paulo
Adicionar SQL
2041 1 paulo
</code></pre>
2042 1 paulo
2043 1 paulo
h2. B2B - Produtos - Estoque 
2044 1 paulo
2045 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Estoque|Produtos - Estoque]]
2046 1 paulo
2047 1 paulo
2048 1 paulo
<pre><code class="sql">
2049 1 paulo
Adicionar SQL
2050 1 paulo
</code></pre>
2051 1 paulo
2052 1 paulo
h2. B2B - Produtos - Pocket 
2053 1 paulo
2054 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Pocket|Produtos - Pocket]]
2055 1 paulo
2056 1 paulo
2057 1 paulo
<pre><code class="sql">
2058 1 paulo
Adicionar SQL
2059 1 paulo
</code></pre>
2060 1 paulo
2061 1 paulo
h2. B2B - Pedido - Capa 
2062 1 paulo
2063 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Capa|Pedido - Capa]]
2064 1 paulo
2065 1 paulo
2066 1 paulo
<pre><code class="sql">
2067 33 paulo
select 
2068 33 paulo
        uuid.uuid as codPedidoLoja
2069 33 paulo
        , pedido.cdPedido as codPedido
2070 33 paulo
        , CASE pedido.tpSituacao 
2071 33 paulo
                WHEN 4 THEN '45'
2072 33 paulo
                WHEN 6 THEN '98'
2073 33 paulo
                WHEN 1 THEN '40'
2074 33 paulo
                WHEN 2 THEN '45'
2075 33 paulo
                WHEN 3 THEN '43'
2076 33 paulo
                WHEN 5 THEN '40'
2077 33 paulo
                WHEN 7 THEN '40'
2078 33 paulo
                WHEN 8 THEN '40' 
2079 33 paulo
          ELSE '40' 
2080 33 paulo
        END as situacao
2081 33 paulo
FROM    VendaVAEntity pedido
2082 33 paulo
INNER JOIN 
2083 33 paulo
        etlpedidouuid uuid
2084 33 paulo
ON      uuid.codpedido = cast(pedido.cdPedido as varchar)
2085 33 paulo
WHERE   pedido.cdEmpresa = 1
2086 33 paulo
AND     uuid.uuid in (#PEDIDOS_LOJA)
2087 1 paulo
</code></pre>
2088 1 paulo
2089 1 paulo
h2. B2B - Pedido - Histórico 
2090 1 paulo
2091 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Histórico|Pedido - Histórico]]
2092 1 paulo
2093 1 paulo
2094 1 paulo
<pre><code class="sql">
2095 33 paulo
select 
2096 33 paulo
        pedido.cdPedido as NumeroErp
2097 33 paulo
        , pedido.dtPedido as Data
2098 33 paulo
        , CASE pedido.tpSituacao 
2099 33 paulo
                WHEN 4 THEN '45'
2100 33 paulo
                WHEN 6 THEN '98'
2101 33 paulo
                WHEN 1 THEN '40'
2102 33 paulo
                WHEN 2 THEN '45'
2103 33 paulo
                WHEN 3 THEN '40'
2104 33 paulo
                WHEN 5 THEN '40'
2105 33 paulo
                WHEN 7 THEN '40'
2106 33 paulo
                WHEN 8 THEN '40' 
2107 33 paulo
          ELSE '40' 
2108 33 paulo
        END as Situacao
2109 33 paulo
        , null as FormaPagamento
2110 33 paulo
        , SUM(pedidoItem.qtSolicitada * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100) as Total
2111 33 paulo
        , null as codcliente
2112 33 paulo
        , pessoa.nrcpfcnpj as cliCnpj
2113 33 paulo
        , null as nomecliente
2114 33 paulo
FROM    VendaItemVAEntity pedidoItem 
2115 33 paulo
INNER JOIN 
2116 33 paulo
        VendaVAEntity pedido 
2117 33 paulo
ON      pedidoItem.cdempresa = pedido.cdempresa AND pedidoItem.cdPedido = pedido.cdPedido
2118 33 paulo
LEFT JOIN 
2119 33 paulo
        PessoaVAEntity pessoa 
2120 33 paulo
ON      pessoa.cdPessoa = pedido.cdCliente
2121 33 paulo
WHERE   pedido.tpSituacao NOT IN (6)
2122 33 paulo
AND     CAST(pedido.cdempresa as TEXT) = :p1
2123 33 paulo
AND     CAST(pessoa.nrcpfcnpj as TEXT) = :p2
2124 33 paulo
GROUP BY pedido.cdPedido,
2125 33 paulo
         pedido.dtPedido,
2126 33 paulo
         pedido.tpSituacao,
2127 33 paulo
         pedido.prDesconto,
2128 33 paulo
         pessoa.nrcpfcnpj
2129 33 paulo
order by pedido.dtPedido desc
2130 1 paulo
</code></pre>
2131 1 paulo
2132 1 paulo
h2. B2B - Pedido - Detalhe 
2133 1 paulo
2134 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Detalhe|Pedido - Detalhe]]
2135 1 paulo
2136 1 paulo
2137 1 paulo
<pre><code class="sql">
2138 33 paulo
select 
2139 33 paulo
        pedido.cdPedido as NumeroErp
2140 33 paulo
        , pedido.dtPedido as Data
2141 33 paulo
        , CASE pedido.tpSituacao 
2142 33 paulo
                WHEN 4 THEN '45'
2143 33 paulo
                WHEN 6 THEN '98'
2144 33 paulo
                WHEN 1 THEN '40'
2145 33 paulo
                WHEN 2 THEN '45'
2146 33 paulo
                WHEN 3 THEN '40'
2147 33 paulo
                WHEN 5 THEN '40'
2148 33 paulo
                WHEN 7 THEN '40'
2149 33 paulo
                WHEN 8 THEN '40' 
2150 33 paulo
          ELSE '40' 
2151 33 paulo
        END as Situacao
2152 33 paulo
        , null as FormaPagamento
2153 33 paulo
        , SUM(pedidoItem.qtSolicitada * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100) as Total
2154 33 paulo
        , SUM(pedidoItem.qtSolicitada * pedidoItem.vlUnitario) as TotalBruto
2155 33 paulo
        , pedido.observacoes as Observacoes
2156 33 paulo
FROM    VendaItemVAEntity pedidoItem 
2157 33 paulo
INNER JOIN 
2158 33 paulo
        VendaVAEntity pedido 
2159 33 paulo
ON      pedidoItem.cdempresa = pedido.cdempresa 
2160 33 paulo
AND     pedidoItem.cdPedido = pedido.cdPedido
2161 33 paulo
LEFT JOIN 
2162 33 paulo
        PessoaVAEntity pessoa 
2163 33 paulo
ON      pessoa.cdPessoa = pedido.cdCliente
2164 33 paulo
LEFT JOIN 
2165 33 paulo
        VPESConsultaVAEntity vpc 
2166 33 paulo
ON      vpc.cdPessoa = pessoa.cdPessoa
2167 33 paulo
LEFT JOIN 
2168 33 paulo
        PessoaEnderecoVAEntity endereco 
2169 33 paulo
ON      endereco.cdPessoa = pessoa.cdPessoa 
2170 33 paulo
AND     endereco.nrSequencia = 1
2171 33 paulo
LEFT join 
2172 33 paulo
        vendaclassificacaovaentity colecao 
2173 33 paulo
on      pedido.cdempresa = colecao.cdempresa 
2174 33 paulo
and     pedido.cdPedido = colecao.cdpedido 
2175 33 paulo
and     colecao.cdtipoclass = 2
2176 33 paulo
LEFT join 
2177 33 paulo
        vendaclassificacaovaentity segmento 
2178 33 paulo
on      pedido.cdempresa = segmento.cdempresa 
2179 33 paulo
and     pedido.cdPedido = segmento.cdpedido 
2180 33 paulo
and     segmento.cdtipoclass = 1
2181 33 paulo
WHERE   pedido.tpSituacao NOT IN (6)
2182 33 paulo
AND     vpc.inCliente = 'TRUE'
2183 33 paulo
AND     CAST(pedido.cdempresa as TEXT) = :p1
2184 33 paulo
AND     CAST(pessoa.nrcpfcnpj as TEXT) = :p2
2185 33 paulo
AND     CAST(pedido.cdPedido as TEXT) = :p3
2186 33 paulo
GROUP BY pedido.cdPedido
2187 33 paulo
        , pedido.dtPedido
2188 33 paulo
        , pedido.tpSituacao
2189 33 paulo
        , pedido.prDesconto
2190 33 paulo
        , pessoa.nrcpfcnpj
2191 33 paulo
        , pedido.observacoes
2192 1 paulo
</code></pre>
2193 1 paulo
2194 1 paulo
h2. B2B - Pedido - Itens 
2195 1 paulo
2196 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Itens|Pedido - Itens]]
2197 1 paulo
2198 1 paulo
2199 1 paulo
<pre><code class="sql">
2200 33 paulo
select 
2201 33 paulo
        row_number() OVER (ORDER BY grupo.cdNivel) as CodItem
2202 33 paulo
        , grupo.cdNivel as CodProduto
2203 33 paulo
        , grupo.dsNivel as NomeProduto
2204 33 paulo
        , sum(item.qtSolicitada) as QtdePedida
2205 33 paulo
        , sum(item.qtSolicitada - item.qtCancelada - item.qtAtendida) as QtdeSaldo
2206 33 paulo
        , sum(item.qtAtendida) as QtdeFaturado
2207 33 paulo
        , sum(item.qtCancelada) as QtdeCancelado
2208 33 paulo
        , item.vlUnitario as ValorUnitarioBruto
2209 33 paulo
        , CASE sum(item.qtSolicitada) 
2210 33 paulo
                WHEN 0 THEN 0 
2211 33 paulo
                ELSE sum(item.qtSolicitada) * ((item.vlUnitario * ((100 - item.prDesconto) / 100)) * ((100 - pedido.prDesconto) / 100)) / sum(item.qtSolicitada) 
2212 33 paulo
          END as ValorUnitarioLiquido
2213 33 paulo
        , (sum(item.qtSolicitada) * ((item.vlUnitario * ((100 - item.prDesconto) / 100)) * ((100 - pedido.prDesconto) / 100))) - (sum(item.qtCancelada) * ((item.vlUnitario * ((100 - item.prDesconto) / 100)) * ((100 - pedido.prDesconto) / 100))) as ValorTotal
2214 33 paulo
        , grupo.cdNivel as CodReferencia
2215 33 paulo
        , grade.dsTamanho as SeqTamanho
2216 33 paulo
        , grade.cdCor as SeqSortimento
2217 33 paulo
        , null as QtdeReservado
2218 33 paulo
FROM    VendaItemVAEntity item
2219 33 paulo
LEFT JOIN 
2220 33 paulo
        VendaVAEntity pedido 
2221 33 paulo
ON      item.cdEmpresa = pedido.cdEmpresa 
2222 33 paulo
AND     item.cdPedido = pedido.cdPedido
2223 33 paulo
LEFT JOIN 
2224 33 paulo
        ProdutoVAEntity produto 
2225 33 paulo
ON      produto.cdProduto = item.cdProduto
2226 33 paulo
LEFT JOIN 
2227 33 paulo
        ProdutoGrupoAdicionalVAEntity  grupo 
2228 33 paulo
ON      grupo.cdproduto = produto.cdproduto
2229 33 paulo
LEFT JOIN 
2230 33 paulo
        produtogradevaentity grade 
2231 33 paulo
ON      grade.cdproduto = produto.cdproduto
2232 33 paulo
WHERE   CAST(item.cdPedido as text) = :p1
2233 33 paulo
group by grupo.cdNivel
2234 33 paulo
        , grupo.dsNivel
2235 33 paulo
        , item.vlUnitario
2236 33 paulo
        , item.prDesconto
2237 33 paulo
        , pedido.prDesconto
2238 33 paulo
        , grade.dsTamanho
2239 1 paulo
</code></pre>
2240 1 paulo
2241 1 paulo
h2. B2B - Cliente 
2242 1 paulo
2243 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Cliente|Cliente]]
2244 1 paulo
2245 1 paulo
2246 1 paulo
<pre><code class="sql">
2247 33 paulo
select 
2248 33 paulo
        select 
2249 33 paulo
        coalesce(
2250 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2251 33 paulo
                 union
2252 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2253 33 paulo
                ), p.nrcpfcnpj) as cnpj
2254 33 paulo
        , pj.nmfantasia as nomeFantasia
2255 33 paulo
        , pm.dsemail as email
2256 33 paulo
        , pe.cdcep as cep
2257 33 paulo
        , pe.nmlogradouro as endereco
2258 33 paulo
        , pe.nrlogradouro as enderecoNumero
2259 33 paulo
        , pe.dscomplemento as complemento
2260 33 paulo
        , pe.dsbairro as bairro
2261 33 paulo
        , COALESCE(im.codibge, '4127403') as codIBGE --CONFIRMAR COM O CLIENTE UM IBGE PADRÃO
2262 33 paulo
        , regexp_replace(pt.nrtelefone, '[^0-9]', '', 'g') as telefone
2263 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') as codRepres1
2264 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 1), '0') as codRepres2
2265 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 2), '0') as codRepres3
2266 33 paulo
        , p.cdpessoa as codCliente
2267 33 paulo
        , (case when (p.ininativo = 'TRUE') then 0 else 1 end) as flagAtivoParaLoja
2268 33 paulo
        , 1 as flagIsRepresentanteB2B
2269 33 paulo
        , p.nmpessoa as razaoSocial
2270 33 paulo
        , null as emailRepres
2271 33 paulo
        , pj.nrinscestl as inscricaoEstadual
2272 33 paulo
        , pe.ufsigla as siglaUF
2273 33 paulo
        , null as nomeUF
2274 33 paulo
        , null as populacao
2275 33 paulo
        , null as ipc
2276 33 paulo
        , case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end as codGrupoCli
2277 33 paulo
        , (select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador) as nomeGrupoCli
2278 33 paulo
        , null as salarioBase
2279 33 paulo
        , null as limiteCredito
2280 33 paulo
        , null as codCondPagto
2281 33 paulo
        , null as codTransportadora
2282 33 paulo
        , null as descontoPadrao
2283 33 paulo
        , null as pais
2284 33 paulo
        , (case when coalesce(titulos_em_atraso,0) > 0 then 1 else 0 end) as inadimplente
2285 33 paulo
        , null as cliente_novo_crm
2286 33 paulo
        , pts.nrtelefone as fax
2287 33 paulo
        , pts.nrtelefone as celular
2288 33 paulo
        , pmc.dsemail as emailNfe
2289 33 paulo
        , null as telefoneCompras
2290 33 paulo
        , null as telefoneCobranca
2291 33 paulo
        , null as facebook
2292 33 paulo
        , null as instagram
2293 33 paulo
        , null as dataFundacao
2294 33 paulo
        , null as marcasLiberadas
2295 33 paulo
        , null as tipoFaturamento
2296 33 paulo
        , null as regime_st
2297 33 paulo
FROM    pessoavaentity p
2298 33 paulo
inner join 
2299 33 paulo
        pessoaenderecovaentity pe 
2300 33 paulo
on      pe.cdempresa = p.cdempresa and pe.cdpessoa = p.cdpessoa 
2301 33 paulo
inner join 
2302 33 paulo
        vpesconsultavaentity vpc 
2303 33 paulo
on      vpc.cdpessoa = p.cdpessoa	 
2304 33 paulo
LEFT join 
2305 33 paulo
        ETLCidade im 
2306 33 paulo
on      im.codCidade = pe.cdMunicipio
2307 33 paulo
LEFT join 
2308 33 paulo
        pessoatelefonevaentity pt 
2309 33 paulo
on      pt.cdempresa = p.cdempresa 
2310 33 paulo
AND     pt.cdpessoa = p.cdpessoa 
2311 33 paulo
AND     pt.id = (       SELECT  MIN(pt2.id) 
2312 33 paulo
                        FROM    pessoatelefonevaentity pt2 
2313 33 paulo
                        WHERE   pt.cdempresa = pt2.cdempresa 
2314 33 paulo
                        AND     pt.cdpessoa = pt2.cdpessoa
2315 33 paulo
                )
2316 33 paulo
left join 
2317 33 paulo
        pessoaemailvaentity pm 
2318 33 paulo
on      pm.cdempresa = p.cdempresa 
2319 33 paulo
and     pm.cdpessoa = p.cdpessoa 
2320 33 paulo
and     pm.inpadrao = 'TRUE'
2321 33 paulo
left join 
2322 33 paulo
        pessoaemailvaentity pmc 
2323 33 paulo
on      pmc.cdempresa = p.cdempresa 
2324 33 paulo
and     pmc.cdpessoa = p.cdpessoa 
2325 33 paulo
and     pmc.cdtipoemail = 3 -- CONFIRMAR QUAL TIPO DE E-MAIL É O EMAIL DE NFE/COBRANCA
2326 33 paulo
left join 
2327 33 paulo
        pessoatelefonevaentity pts 
2328 33 paulo
on      pts.cdempresa = p.cdempresa 
2329 33 paulo
and     pts.cdpessoa = p.cdpessoa 
2330 33 paulo
and     pts.cdtipofone = 4 -- CONFIRMAR COM O CLIENTE QUAL É O CÓDIGO DO TELEFONE CELULAR
2331 33 paulo
left join 
2332 33 paulo
        pessoajuridicavaentity pj 
2333 33 paulo
on      pj.cdempresa = p.cdempresa 
2334 33 paulo
and     pj.cdpessoa = p.cdpessoa     
2335 33 paulo
left join 
2336 33 paulo
        (select codcliente::int as codcliente
2337 33 paulo
                , codempresa::int as codempresa
2338 33 paulo
                , count(*) as titulos_em_atraso 
2339 33 paulo
        from etltitulo 
2340 33 paulo
        where situacao = '1' 
2341 33 paulo
        and (dataVencimento::date + 28) < (current_date) -- CONFIRMAR COM O CLIENTE QUANTOS DIAS CONSIDERA INADIMPLENTE
2342 33 paulo
        group by codcliente
2343 33 paulo
                , codempresa having sum(valor) > 3000) as inad -- CONFIRMAR COM O CLIENTE SE INADIMPLENTE É ACIMA DE 3 MIL REAIS DEVENDO
2344 33 paulo
on      inad.codcliente = p.cdpessoa 
2345 33 paulo
and     inad.codempresa = p.cdempresa
2346 33 paulo
left join 
2347 33 paulo
        (SELECT v.cdcliente, MIN(v.dtpedido) as dataCadastro FROM vendavaentity v GROUP BY v.cdcliente) as v 
2348 33 paulo
on      v.cdcliente = p.cdpessoa 
2349 33 paulo
where   vpc.incliente = 'TRUE'
2350 33 paulo
AND     coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') is not null
2351 33 paulo
and     coalesce(
2352 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2353 33 paulo
                 union
2354 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2355 33 paulo
                ), p.nrcpfcnpj) is not null
2356 33 paulo
AND     pe.cdcep <> '99999999'
2357 33 paulo
AND     length(coalesce(
2358 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2359 33 paulo
                 union
2360 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2361 33 paulo
                ), p.nrcpfcnpj)) >= 14 -- CONFIRMAR COM O CLIENTE SE É PARA PUXAR SÓ CNPJ
2362 33 paulo
AND     (
2363 33 paulo
        (coalesce(
2364 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2365 33 paulo
                 union
2366 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2367 33 paulo
                ), p.nrcpfcnpj) = replace(replace(replace(:p2,'.',''),'-',''),'/','')) 
2368 33 paulo
    OR  (cast(P.cdPessoa as varchar(14)) = :p2)
2369 33 paulo
        )
2370 1 paulo
</code></pre>
2371 1 paulo
2372 1 paulo
h2. B2B - Representantes - Clientes 
2373 1 paulo
2374 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Representantes - Clientes|Representantes - Clientes]]
2375 1 paulo
2376 1 paulo
2377 1 paulo
<pre><code class="sql">
2378 33 paulo
select 
2379 33 paulo
        coalesce(
2380 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = pessoa.cdempresa and pf.cdpessoa = pessoa.cdpessoa
2381 33 paulo
                 union
2382 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = pessoa.cdempresa and pj.cdpessoa = pessoa.cdpessoa
2383 33 paulo
                ), pessoa.nrcpfcnpj) as cnpj
2384 33 paulo
        , pessoa.nmpessoa as nomeFantasia
2385 33 paulo
        , email.dsemail as email
2386 33 paulo
        , endereco.cdcep as cep
2387 33 paulo
        , endereco.nmLogradouro as endereco
2388 33 paulo
        , endereco.nrLogradouro as enderecoNumero
2389 33 paulo
        , null as complemento
2390 33 paulo
        , endereco.dsbairro as bairro
2391 33 paulo
        , COALESCE(im.codibge, '4127403') as codIBGE --CONFIRMAR COM O CLIENTE UM IBGE PADRÃO
2392 33 paulo
        , telefone.nrtelefone as telefone
2393 33 paulo
        , pessoa.cdPessoa as codRepres1
2394 33 paulo
        , null as codRepres2
2395 33 paulo
        , null as codRepres3
2396 33 paulo
        , pessoa.cdPessoa as codCliente
2397 33 paulo
        , 1 as flagAtivoParaLoja
2398 33 paulo
        , 2 as flagIsRepresentanteB2B
2399 33 paulo
        , pessoa.nmpessoa as razaoSocial
2400 33 paulo
        , null as emailRepres
2401 33 paulo
        , null as inscricaoEstadual
2402 33 paulo
        , CASE WHEN endereco.cdcep = '99999999' THEN 'EX' ELSE UPPER(endereco.ufsigla) END as siglaUF
2403 33 paulo
        , CASE WHEN endereco.cdcep = '99999999' THEN 'EX' ELSE UPPER(endereco.ufsigla) END as nomeUF
2404 33 paulo
        , null as populacao
2405 33 paulo
        , null as ipc
2406 33 paulo
        , (case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end) as codGrupoCli
2407 33 paulo
        , (select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador) as nomeGrupoCli
2408 33 paulo
FROM    PessoaVAEntity pessoa
2409 33 paulo
INNER JOIN 
2410 33 paulo
        PessoaEnderecoVAEntity endereco 
2411 33 paulo
ON      endereco.cdEmpresa = pessoa.cdEmpresa 
2412 33 paulo
AND     endereco.cdPessoa = pessoa.cdPessoa 
2413 33 paulo
and     endereco.id = (select min(id) from pessoaenderecovaentity where cdempresa = endereco.cdempresa and cdpessoa = endereco.cdpessoa)
2414 33 paulo
INNER JOIN 
2415 33 paulo
        VPESConsultaVAEntity vpc 
2416 33 paulo
ON      vpc.cdPessoa = pessoa.cdPessoa     
2417 33 paulo
LEFT JOIN 
2418 33 paulo
        PessoaTelefoneVAEntity telefone 
2419 33 paulo
ON      telefone.cdEmpresa = pessoa.cdEmpresa 
2420 33 paulo
AND     telefone.cdPessoa = pessoa.cdPessoa 
2421 33 paulo
and     telefone.id = (select min(id) from pessoatelefonevaentity where cdempresa = telefone.cdempresa and cdpessoa = telefone.cdpessoa and inpadrao = 'TRUE')
2422 33 paulo
LEFT JOIN 
2423 33 paulo
        PessoaEmailVAEntity email 
2424 33 paulo
ON      email.cdEmpresa = pessoa.cdEmpresa 
2425 33 paulo
AND     email.cdPessoa = pessoa.cdPessoa 
2426 33 paulo
and     email.id = (select min(id) from pessoaemailvaentity where cdpessoa = email.cdpessoa and cdempresa = email.cdempresa and inpadrao = 'TRUE')
2427 33 paulo
LEFT JOIN 
2428 33 paulo
        PessoaEmailVAEntity emailNFE 
2429 33 paulo
ON      emailNFE.cdEmpresa = pessoa.cdEmpresa 
2430 33 paulo
AND     emailNFE.cdPessoa = pessoa.cdPessoa 
2431 33 paulo
and     emailNFE.id = (select min(id) from pessoaemailvaentity where cdpessoa = emailNFE.cdpessoa and cdempresa = emailNFE.cdempresa and cdtipoemail = 3) -- CONFIRMAR QUAL TIPO DE E-MAIL É O EMAIL DE NFE/COBRANCA
2432 33 paulo
LEFT JOIN 
2433 33 paulo
        PessoaTelefoneVAEntity telefone2 
2434 33 paulo
ON      telefone2.cdEmpresa = pessoa.cdEmpresa 
2435 33 paulo
AND     telefone2.cdPessoa = pessoa.cdPessoa 
2436 33 paulo
and     telefone2.id = (select min(id) from pessoatelefonevaentity where cdempresa = telefone2.cdempresa and cdpessoa = telefone2.cdpessoa and cdtipofone = 2) -- CONFIRMAR COM O CLIENTE QUAL É O CÓDIGO DO TELEFONE CELULAR
2437 33 paulo
LEFT JOIN 
2438 33 paulo
        pessoajuridicavaentity pessoaJuridica 
2439 33 paulo
ON      pessoaJuridica.cdEmpresa = pessoa.cdEmpresa 
2440 33 paulo
AND     pessoaJuridica.cdPessoa = pessoa.cdPessoa
2441 33 paulo
LEFT join 
2442 33 paulo
        ETLCidade im 
2443 33 paulo
on      im.codCidade = endereco.cdMunicipio
2444 33 paulo
WHERE   vpc.inRepresent = 'TRUE'
2445 33 paulo
AND     pessoa.ininativo = 'FALSE'
2446 33 paulo
and     ((replace(replace(replace(pessoaJuridica.nrcnpj,'.',''),'-',''),'/','') = replace(replace(replace(:p2,'.',''),'-',''),'/','')) OR  (cast(pessoa.cdPessoa as varchar(14)) = :p2))
2447 1 paulo
</code></pre>
2448 1 paulo
2449 1 paulo
h2. B2B - Clientes - Representantes 
2450 1 paulo
2451 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Clientes-Representantes|Clientes - Representantes]]
2452 1 paulo
2453 1 paulo
2454 1 paulo
<pre><code class="sql">
2455 33 paulo
select 
2456 33 paulo
        coalesce(
2457 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2458 33 paulo
                 union
2459 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2460 33 paulo
                ), p.nrcpfcnpj) as cnpj
2461 39 paulo
        , CASE WHEN pj.nmfantasia IS NULL OR pj.nmfantasia = '' THEN p.nmpessoa ELSE pj.nmfantasia END as nomeFantasia
2462 39 paulo
        --, pm.dsemail as email
2463 39 paulo
        , 'angela@geovendas.com'
2464 33 paulo
        , pe.cdcep as cep
2465 33 paulo
        , pe.nmlogradouro as endereco
2466 33 paulo
        , pe.nrlogradouro as enderecoNumero
2467 33 paulo
        , pe.dscomplemento as complemento
2468 33 paulo
        , pe.dsbairro as bairro
2469 33 paulo
        , COALESCE(im.codibge, '4127403') as codIBGE --CONFIRMAR COM O CLIENTE UM IBGE PADRÃO
2470 33 paulo
        , regexp_replace(pt.nrtelefone, '[^0-9]', '', 'g') as telefone
2471 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') as codRepres1
2472 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 1), '0') as codRepres2
2473 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 2), '0') as codRepres3
2474 1 paulo
        , p.cdpessoa as codCliente
2475 33 paulo
        , (case when (p.ininativo = 'TRUE') then 0 else 1 end) as flagAtivoParaLoja
2476 33 paulo
        , 1 as flagIsRepresentanteB2B
2477 39 paulo
        , CASE WHEN p.nmpessoa IS NULL OR p.nmpessoa = '' THEN pj.nmfantasia ELSE p.nmpessoa END as razaoSocial
2478 33 paulo
        , null as emailRepres
2479 33 paulo
        , pj.nrinscestl as inscricaoEstadual
2480 33 paulo
        , pe.ufsigla as siglaUF
2481 33 paulo
        , null as nomeUF
2482 33 paulo
        , null as populacao
2483 33 paulo
        , null as ipc
2484 33 paulo
        , case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end as codGrupoCli
2485 33 paulo
        , (select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador) as nomeGrupoCli
2486 33 paulo
        , null as salarioBase
2487 33 paulo
        , null as limiteCredito
2488 33 paulo
        , null as codCondPagto
2489 33 paulo
        , null as codTransportadora
2490 33 paulo
        , null as descontoPadrao
2491 33 paulo
        , null as pais
2492 33 paulo
        , (case when coalesce(titulos_em_atraso,0) > 0 then 1 else 0 end) as inadimplente
2493 33 paulo
        , null as cliente_novo_crm
2494 33 paulo
        , pts.nrtelefone as fax
2495 33 paulo
        , pts.nrtelefone as celular
2496 33 paulo
        , pmc.dsemail as emailNfe
2497 33 paulo
        , null as telefoneCompras
2498 33 paulo
        , null as telefoneCobranca
2499 33 paulo
        , null as facebook
2500 33 paulo
        , null as instagram
2501 33 paulo
        , null as dataFundacao
2502 33 paulo
FROM    pessoavaentity p
2503 33 paulo
inner join 
2504 1 paulo
        pessoaenderecovaentity pe 
2505 33 paulo
on      pe.cdempresa = p.cdempresa and pe.cdpessoa = p.cdpessoa 
2506 33 paulo
inner join 
2507 33 paulo
        vpesconsultavaentity vpc 
2508 39 paulo
on      vpc.cdpessoa = p.cdpessoa     
2509 33 paulo
LEFT join 
2510 33 paulo
        ETLCidade im 
2511 33 paulo
on      im.codCidade = pe.cdMunicipio
2512 33 paulo
LEFT join 
2513 33 paulo
        pessoatelefonevaentity pt 
2514 33 paulo
on      pt.cdempresa = p.cdempresa 
2515 33 paulo
AND     pt.cdpessoa = p.cdpessoa 
2516 33 paulo
AND     pt.id = (       SELECT  MIN(pt2.id) 
2517 33 paulo
                        FROM    pessoatelefonevaentity pt2 
2518 33 paulo
                        WHERE   pt.cdempresa = pt2.cdempresa 
2519 33 paulo
                        AND     pt.cdpessoa = pt2.cdpessoa
2520 33 paulo
                )
2521 33 paulo
left join 
2522 33 paulo
        pessoaemailvaentity pm 
2523 33 paulo
on      pm.cdempresa = p.cdempresa 
2524 33 paulo
and     pm.cdpessoa = p.cdpessoa 
2525 33 paulo
and     pm.inpadrao = 'TRUE'
2526 33 paulo
left join 
2527 33 paulo
        pessoaemailvaentity pmc 
2528 33 paulo
on      pmc.cdempresa = p.cdempresa 
2529 33 paulo
and     pmc.cdpessoa = p.cdpessoa 
2530 33 paulo
and     pmc.cdtipoemail = 3 -- CONFIRMAR QUAL TIPO DE E-MAIL É O EMAIL DE NFE/COBRANCA
2531 33 paulo
left join 
2532 33 paulo
        pessoatelefonevaentity pts 
2533 33 paulo
on      pts.cdempresa = p.cdempresa 
2534 33 paulo
and     pts.cdpessoa = p.cdpessoa 
2535 33 paulo
and     pts.cdtipofone = 4 -- CONFIRMAR COM O CLIENTE QUAL É O CÓDIGO DO TELEFONE CELULAR
2536 33 paulo
left join 
2537 33 paulo
        pessoajuridicavaentity pj 
2538 33 paulo
on      pj.cdempresa = p.cdempresa 
2539 33 paulo
and     pj.cdpessoa = p.cdpessoa     
2540 33 paulo
left join 
2541 33 paulo
        (select codcliente::int as codcliente
2542 33 paulo
                , codempresa::int as codempresa
2543 33 paulo
                , count(*) as titulos_em_atraso 
2544 33 paulo
        from etltitulo 
2545 33 paulo
        where situacao = '1' 
2546 33 paulo
        and (dataVencimento::date + 28) < (current_date) -- CONFIRMAR COM O CLIENTE QUANTOS DIAS CONSIDERA INADIMPLENTE
2547 33 paulo
        group by codcliente
2548 33 paulo
                , codempresa having sum(valor) > 3000) as inad -- CONFIRMAR COM O CLIENTE SE INADIMPLENTE É ACIMA DE 3 MIL REAIS DEVENDO
2549 33 paulo
on      inad.codcliente = p.cdpessoa 
2550 33 paulo
and     inad.codempresa = p.cdempresa
2551 33 paulo
left join 
2552 33 paulo
        (SELECT v.cdcliente, MIN(v.dtpedido) as dataCadastro FROM vendavaentity v GROUP BY v.cdcliente) as v 
2553 33 paulo
on      v.cdcliente = p.cdpessoa 
2554 33 paulo
where   vpc.incliente = 'TRUE'
2555 33 paulo
AND     coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') is not null
2556 33 paulo
and     coalesce(
2557 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2558 33 paulo
                 union
2559 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2560 33 paulo
                ), p.nrcpfcnpj) is not null
2561 33 paulo
AND     pe.cdcep <> '99999999'
2562 33 paulo
AND     length(coalesce(
2563 1 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2564 33 paulo
                 union
2565 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2566 33 paulo
                ), p.nrcpfcnpj)) >= 14 -- CONFIRMAR COM O CLIENTE SE É PARA PUXAR SÓ CNPJ
2567 33 paulo
AND     (
2568 39 paulo
        CAST(coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') AS VARCHAR(255)) = :p2
2569 39 paulo
    OR  CAST(coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 1), '0') AS VARCHAR(255)) = :p2
2570 39 paulo
    OR  CAST(coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 2), '0') AS VARCHAR(255)) = :p2
2571 33 paulo
)
2572 1 paulo
</code></pre>
2573 1 paulo
2574 1 paulo
h2. B2B - Comissão por Repres/Cliente/Marca 
2575 1 paulo
2576 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Comissão por Repres/Cliente/Marca|Comissão por Repres/Cliente/Marca]]
2577 1 paulo
2578 1 paulo
2579 1 paulo
<pre><code class="sql">
2580 1 paulo
Adicionar SQL
2581 1 paulo
</code></pre>
2582 1 paulo
2583 1 paulo
h2. B2B - Condição de Venda 
2584 1 paulo
2585 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Condição de Venda|Condição de Venda]]
2586 1 paulo
2587 1 paulo
2588 1 paulo
<pre><code class="sql">
2589 1 paulo
Adicionar SQL
2590 1 paulo
</code></pre>
2591 1 paulo
2592 1 paulo
h2. B2B - Bloqueio de Referências 
2593 1 paulo
2594 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Bloqueio-de-Referências|Bloqueio Referências]]
2595 1 paulo
2596 1 paulo
2597 1 paulo
<pre><code class="sql">
2598 1 paulo
Adicionar SQL
2599 1 paulo
</code></pre>
2600 1 paulo
2601 1 paulo
h2. B2B - Boletos - Consulta Cliente 
2602 1 paulo
2603 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Boletos-Consulta-Cliente|Boletos - Consulta Cliente]]
2604 1 paulo
2605 1 paulo
2606 1 paulo
<pre><code class="sql">
2607 1 paulo
Adicionar SQL
2608 1 paulo
</code></pre>
2609 1 paulo
2610 1 paulo
h2. B2B - Boletos - Listagem 
2611 1 paulo
2612 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Boletos-Listagem|Boletos - Listagem]]
2613 1 paulo
2614 1 paulo
2615 1 paulo
<pre><code class="sql">
2616 1 paulo
Adicionar SQL
2617 1 paulo
</code></pre>
2618 1 paulo
2619 1 paulo
h2. B2B - Boletos - Detalhado 
2620 1 paulo
2621 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Boletos-Detalhado|Boletos - Detalhado]]
2622 1 paulo
2623 1 paulo
2624 1 paulo
<pre><code class="sql">
2625 1 paulo
Adicionar SQL
2626 1 paulo
</code></pre>
2627 1 paulo
2628 1 paulo
h2. B2B - DANFE- Listagem 
2629 1 paulo
2630 1 paulo
Documentação: [[Loja_Virtual_-_B2B#DANFE-Listagem|DANFE- Listagem]]
2631 1 paulo
2632 1 paulo
2633 1 paulo
<pre><code class="sql">
2634 1 paulo
Adicionar SQL
2635 1 paulo
</code></pre>
2636 1 paulo
2637 1 paulo
h2. B2B - DANFE- Itens da Nota 
2638 1 paulo
2639 1 paulo
Documentação: [[Loja_Virtual_-_B2B#DANFE-Itens-da-Nota|DANFE- Itens da Nota]]
2640 1 paulo
2641 1 paulo
2642 1 paulo
<pre><code class="sql">
2643 1 paulo
Adicionar SQL
2644 1 paulo
</code></pre>
2645 1 paulo
2646 1 paulo
h2. B2B - DANFE- XML 
2647 1 paulo
2648 1 paulo
Documentação: [[Loja_Virtual_-_B2B#DANFE-XML|DANFE- XML]]
2649 1 paulo
2650 1 paulo
2651 1 paulo
<pre><code class="sql">
2652 1 paulo
Adicionar SQL
2653 1 paulo
</code></pre>
2654 1 paulo
2655 1 paulo
h2. B2B - Lote de Faturamento 
2656 1 paulo
2657 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Lote de Faturamento| Lote de Faturamento]]
2658 1 paulo
2659 1 paulo
2660 1 paulo
<pre><code class="sql">
2661 1 paulo
Adicionar SQL
2662 1 paulo
</code></pre>
2663 1 paulo
2664 1 paulo
h2. B2B - Produto SKU - Cód. Barras 
2665 1 paulo
2666 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produto SKU - Cód. Barras| Produto SKU - Cód. Barras]]
2667 1 paulo
2668 1 paulo
2669 1 paulo
<pre><code class="sql">
2670 1 paulo
Adicionar SQL
2671 1 paulo
</code></pre>
2672 1 paulo
2673 1 paulo
h2. B2B - Espelho Nota de Devolução 
2674 1 paulo
2675 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Frete| Frete]]
2676 1 paulo
2677 1 paulo
2678 1 paulo
<pre><code class="sql">
2679 1 paulo
Adicionar SQL
2680 1 paulo
</code></pre>
2681 1 paulo
2682 1 paulo
h2. B2B - Espelho Nota de Devolução 
2683 1 paulo
2684 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Espelho Nota de Devolução| Espelho Nota de Devolução]]
2685 1 paulo
2686 1 paulo
2687 1 paulo
<pre><code class="sql">
2688 1 paulo
Adicionar SQL
2689 1 paulo
</code></pre>
2690 1 paulo
2691 1 paulo
h2. B2B - Produto Volume Valor por Referência 
2692 1 paulo
2693 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produto Volume Valor por Referência| Produto Volume Valor por Referência]]
2694 1 paulo
2695 1 paulo
2696 1 paulo
<pre><code class="sql">
2697 1 paulo
Adicionar SQL
2698 1 paulo
</code></pre>
2699 1 paulo
2700 1 paulo
h2. B2B - Substituição Tributária 
2701 1 paulo
2702 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Substituição Tributária| Substituição Tributária]]
2703 1 paulo
2704 1 paulo
2705 1 paulo
<pre><code class="sql">
2706 1 paulo
Adicionar SQL
2707 1 paulo
</code></pre>
2708 1 paulo
2709 1 paulo
h2. B2B - Pedido - Recompra 
2710 1 paulo
2711 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Recompra|Pedido - Recompra]]
2712 1 paulo
2713 1 paulo
2714 1 paulo
<pre><code class="sql">
2715 1 paulo
Adicionar SQL
2716 1 paulo
</code></pre>
2717 1 paulo
2718 1 paulo
h2. *CRM*
2719 1 paulo
2720 1 paulo
h1. CRM - Dados Cadastrais do Cliente
2721 1 paulo
2722 1 paulo
Documentação: [[CRM#Dados-Cadastrais-do-Cliente|Dados Cadastrais do Cliente]]
2723 1 paulo
2724 1 paulo
2725 1 paulo
<pre><code class="sql">
2726 40 paulo
SELECT
2727 40 paulo
        pessoa.nmPessoa as nome
2728 40 paulo
        , repCli.cdrepresentant as codRepres
2729 40 paulo
        , repres.nmPessoa as nomeRepres
2730 40 paulo
        , endereco.nmLogradouro as endereco
2731 40 paulo
        , endereco.dsbairro as bairro
2732 40 paulo
        , endereco.nrLogradouro as numero
2733 40 paulo
        , endereco.dscomplemento as complemento
2734 40 paulo
        , endereco.cdcep as cep
2735 40 paulo
        , null as codAtendente
2736 40 paulo
        , null as nomeAtendente
2737 40 paulo
        , pessoa.cdPessoa as codCliente
2738 40 paulo
        , pessoaJuridica.nrinscestl as inscricaoEstadual
2739 40 paulo
        , regexp_replace(telefone.nrtelefone, '[^0-9]', '', 'g') as telefone
2740 40 paulo
        , endereco.ufsigla as cepuf
2741 40 paulo
        , im.nome as cidade
2742 40 paulo
        , pessoa.dtcadastro as dataCadastro
2743 40 paulo
        , pessoaJuridica.nmfantasia as nomeFantasia
2744 40 paulo
        , vpc.cdcoligador as codGrupoEconomico
2745 40 paulo
        , vpc.cdcoligador as nomeGrupoEconomico
2746 40 paulo
        , pessoaJuridica.nrCnpj as cnpjCpf
2747 40 paulo
        , email.dsEmail as email
2748 40 paulo
        , regexp_replace(telefone2.nrtelefone, '[^0-9]', '', 'g') as celular
2749 40 paulo
FROM    pessoavaEntity pessoa
2750 42 paulo
INNER JOIN    
2751 42 paulo
        PessoaEnderecoVAEntity endereco 
2752 40 paulo
ON      endereco.cdEmpresa = pessoa.cdEmpresa 
2753 40 paulo
AND     endereco.cdPessoa = pessoa.cdPessoa 
2754 40 paulo
and     endereco.id = (select min(id) from pessoaenderecovaentity where cdempresa = endereco.cdempresa and cdpessoa = endereco.cdpessoa)
2755 40 paulo
LEFT JOIN 
2756 40 paulo
        PessoaTelefoneVAEntity telefone 
2757 40 paulo
ON      telefone.cdEmpresa = pessoa.cdEmpresa 
2758 40 paulo
AND     telefone.cdPessoa = pessoa.cdPessoa 
2759 40 paulo
and     telefone.id = (select min(id) from pessoatelefonevaentity where cdempresa = telefone.cdempresa and cdpessoa = telefone.cdpessoa) -- and inpadrao = 'TRUE')
2760 40 paulo
LEFT JOIN 
2761 40 paulo
        PessoaTelefoneVAEntity telefone2 
2762 40 paulo
ON      telefone2.cdEmpresa = pessoa.cdEmpresa 
2763 40 paulo
AND     telefone2.cdPessoa = pessoa.cdPessoa 
2764 40 paulo
and     telefone2.id = (select min(id) from pessoatelefonevaentity where cdempresa = telefone2.cdempresa and cdpessoa = telefone2.cdpessoa and cdtipofone = 4)
2765 40 paulo
LEFT join 
2766 40 paulo
        ETLCidade im on im.codCidade = endereco.cdMunicipio
2767 40 paulo
LEFT JOIN 
2768 40 paulo
        PessoaEmailVAEntity email 
2769 40 paulo
ON      email.cdEmpresa = pessoa.cdEmpresa 
2770 40 paulo
AND     email.cdPessoa = pessoa.cdPessoa 
2771 40 paulo
and     email.id = (select min(id) from pessoaemailvaentity where cdpessoa = email.cdpessoa and cdempresa = email.cdempresa and inpadrao = 'TRUE')
2772 40 paulo
LEFT JOIN 
2773 40 paulo
        pessoajuridicavaentity pessoaJuridica 
2774 40 paulo
ON      pessoaJuridica.cdEmpresa = pessoa.cdEmpresa 
2775 40 paulo
AND     pessoaJuridica.cdPessoa = pessoa.cdPessoa
2776 40 paulo
LEFT JOIN 
2777 40 paulo
        PessoaReprClienteVAEntity repCli 
2778 40 paulo
ON      pessoa.cdPessoa = repCli.cdPessoa 
2779 40 paulo
LEFT JOIN 
2780 40 paulo
        pessoavaEntity repres 
2781 40 paulo
ON      repCli.cdRepresentant = repres.cdpessoa
2782 40 paulo
LEFT JOIN 
2783 40 paulo
        vpesconsultavaentity vpc 
2784 40 paulo
on      vpc.cdpessoa = pessoa.cdpessoa
2785 40 paulo
WHERE ((pessoaJuridica.nrCnpj = :p2) or (pessoaJuridica.nrCnpj = :p1) OR (pessoa.cdpessoa::text = :p1))
2786 1 paulo
</code></pre>
2787 1 paulo
2788 1 paulo
h2. CRM - Pesquisa por Nome de Cliente
2789 1 paulo
2790 1 paulo
Documentação: [[CRM#Pesquisa-por-Nome-de-Cliente|Pesquisa por Nome de Cliente]]
2791 1 paulo
2792 1 paulo
2793 1 paulo
<pre><code class="sql">
2794 1 paulo
Adicionar SQL
2795 1 paulo
</code></pre>
2796 1 paulo
2797 1 paulo
h2. CRM - Pesquisa Avançada
2798 1 paulo
2799 1 paulo
Documentação: [[CRM#Pesquisa-Avançada|Pesquisa Avançada]]
2800 1 paulo
2801 1 paulo
2802 1 paulo
<pre><code class="sql">
2803 1 paulo
Adicionar SQL
2804 1 paulo
</code></pre>
2805 1 paulo
2806 1 paulo
h2. CRM - Lista de Pedidos do Cliente
2807 1 paulo
2808 1 paulo
Documentação: [[CRM#Lista-de-Pedidos-do-Cliente|Lista de Pedidos do Cliente]]
2809 1 paulo
2810 1 paulo
2811 1 paulo
<pre><code class="sql">
2812 1 paulo
Adicionar SQL
2813 1 paulo
</code></pre>
2814 1 paulo
2815 1 paulo
h2. CRM - Pedido - Detalhado
2816 1 paulo
2817 1 paulo
Documentação: [[CRM#Pedido-Detalhado|Pedido - Detalhado]]
2818 1 paulo
2819 1 paulo
2820 1 paulo
<pre><code class="sql">
2821 1 paulo
Adicionar SQL
2822 1 paulo
</code></pre>
2823 1 paulo
2824 1 paulo
h2. CRM - Pedido - Itens
2825 1 paulo
2826 1 paulo
Documentação: [[CRM#Pedido-Itens|Pedido - Itens]]
2827 1 paulo
2828 1 paulo
2829 1 paulo
<pre><code class="sql">
2830 1 paulo
Adicionar SQL
2831 1 paulo
</code></pre>
2832 1 paulo
2833 1 paulo
h2. CRM - Pedido - NFs
2834 1 paulo
2835 1 paulo
Documentação: [[CRM#Pedido-NFs|Pedido - NFs]]
2836 1 paulo
2837 1 paulo
2838 1 paulo
<pre><code class="sql">
2839 1 paulo
Adicionar SQL
2840 1 paulo
</code></pre>
2841 1 paulo
2842 1 paulo
h2. CRM - Informações Financeiras
2843 1 paulo
2844 1 paulo
Documentação: [[CRM#Informações-Financeiras|Informações Financeiras]]
2845 1 paulo
2846 1 paulo
2847 1 paulo
<pre><code class="sql">
2848 1 paulo
Adicionar SQL
2849 1 paulo
</code></pre>
2850 1 paulo
2851 1 paulo
h2. CRM - Informações Financeiras por Situação
2852 1 paulo
2853 1 paulo
Documentação: [[CRM#Informações Financeiras por Situação|Informações Financeiras por Situação]]
2854 1 paulo
2855 1 paulo
2856 1 paulo
<pre><code class="sql">
2857 1 paulo
Adicionar SQL
2858 1 paulo
</code></pre>
2859 1 paulo
2860 1 paulo
h2. CRM - Informações Financeiras - Ocorrências
2861 1 paulo
2862 1 paulo
Documentação: [[CRM#Informações Financeiras - Ocorrências|Informações Financeiras - Ocorrências]]
2863 1 paulo
2864 1 paulo
2865 1 paulo
<pre><code class="sql">
2866 1 paulo
Adicionar SQL
2867 1 paulo
</code></pre>
2868 1 paulo
2869 1 paulo
h2. CRM - Clientes do Grupo
2870 1 paulo
2871 1 paulo
Documentação: [[CRM#Clientes do Grupo|Clientes do Grupo]]
2872 1 paulo
2873 1 paulo
2874 1 paulo
<pre><code class="sql">
2875 1 paulo
Adicionar SQL
2876 1 paulo
</code></pre>
2877 1 paulo
2878 1 paulo
h2. CRM - Lista de Pedidos Representante
2879 1 paulo
2880 1 paulo
Documentação: [[CRM#Lista-de-Pedidos-Representante|Lista de Pedidos Representante]]
2881 1 paulo
2882 1 paulo
2883 1 paulo
<pre><code class="sql">
2884 1 paulo
Adicionar SQL
2885 1 paulo
</code></pre>
2886 1 paulo
2887 1 paulo
h2. CRM - Lista de Clientes do Itinerário
2888 1 paulo
2889 1 paulo
Documentação: [[CRM#Lista-de-Clientes-do-Itinerário|Lista de Clientes do Itinerário]]
2890 1 paulo
2891 1 paulo
2892 1 paulo
<pre><code class="sql">
2893 1 paulo
Adicionar SQL
2894 1 paulo
</code></pre>