Projeto

Geral

Perfil

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

alex.a, 08/05/2023 11:29 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 1 paulo
Adicionar SQL
1746 1 paulo
</code></pre>
1747 1 paulo
1748 1 paulo
h2. FV - Tabela de Preço - Política - Desconto Adicional de Lote
1749 1 paulo
1750 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]]
1751 1 paulo
1752 1 paulo
<pre><code class="sql">
1753 1 paulo
Adicionar SQL
1754 1 paulo
</code></pre>
1755 1 paulo
1756 1 paulo
h2. FV - Listagem de Pedidos em Aberto - Capa
1757 1 paulo
1758 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Em-Aberto-Capa|Listagem de Pedidos em Aberto - Capa]]
1759 1 paulo
1760 1 paulo
<pre><code class="sql">
1761 1 paulo
Adicionar SQL
1762 1 paulo
</code></pre>
1763 1 paulo
1764 1 paulo
h2. FV - Listagem de Pedidos em Aberto - Detalhado
1765 1 paulo
1766 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Detalhado|Listagem de Pedidos em Aberto - Detalhado]]
1767 1 paulo
1768 1 paulo
<pre><code class="sql">
1769 1 paulo
Adicionar SQL
1770 1 paulo
</code></pre>
1771 1 paulo
1772 1 paulo
h2. FV - Listagem de Pedidos em Aberto - Itens
1773 1 paulo
1774 1 paulo
Documentação: [[Digitação de Pedidos#Listagem-de-Pedidos-Itens|Listagem de Pedidos em Aberto - Itens]]
1775 1 paulo
1776 1 paulo
<pre><code class="sql">
1777 1 paulo
Adicionar SQL
1778 1 paulo
</code></pre>
1779 1 paulo
1780 1 paulo
h2. FV - SKUs Pronta Entrega e Programado
1781 1 paulo
1782 1 paulo
Documentação: [[Digitação de Pedidos#SKUs Pronta Entrega e Programado|SKUs Pronta Entrega e Programado]]
1783 1 paulo
1784 1 paulo
<pre><code class="sql">
1785 1 paulo
Adicionar SQL
1786 1 paulo
</code></pre>
1787 1 paulo
1788 1 paulo
h1. *Business to Business*
1789 1 paulo
1790 1 paulo
h2. B2B - Produtos 
1791 1 paulo
1792 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos|Produtos]]
1793 1 paulo
1794 1 paulo
1795 1 paulo
<pre><code class="sql">
1796 33 paulo
select 
1797 33 paulo
        grupo.cdNivel as codReferencia
1798 33 paulo
        , grupo.dsNivel as NomeReferencia
1799 33 paulo
        , COALESCE(ETIQUETA.cdclassificacao, '99999') as codEtiqueta
1800 33 paulo
        , COALESCE(ETIQUETA.dsclassificacao, 'SEM ETIQUETA') as nomeEtiqueta
1801 33 paulo
        , COALESCE(LINHA.cdclassificacao, '99999') as codLinha
1802 33 paulo
        , COALESCE(LINHA.dsclassificacao, 'SEM LINHA') as nomeLinha
1803 33 paulo
        , COALESCE(TIPOPECA.cdclassificacao, '99999') as codTipoPeca
1804 33 paulo
        , COALESCE(TIPOPECA.dsclassificacao, 'SEM TIPO PECA') as nomeTpoPeca
1805 33 paulo
        , COALESCE(MODELO.cdclassificacao, '99999') as codTipoModelo
1806 33 paulo
        , COALESCE(MODELO.dsclassificacao, 'SEM MODELO') as nomeTipoModelo
1807 33 paulo
        , null as precoUnitario
1808 33 paulo
        , null as GradesAtivas
1809 33 paulo
        , grupo.cdNivel as codReferenciaProvisoria
1810 33 paulo
        , null as descricao
1811 33 paulo
        , null as descricaoHTML
1812 33 paulo
        , null as qtdeEmbarquePadrao
1813 33 paulo
        , null as genero
1814 33 paulo
        , null as keywords
1815 33 paulo
        , null as composicao
1816 33 paulo
        , null as precoSugerido
1817 33 paulo
        , null as flagGradeFechada
1818 33 paulo
        , null as unidMedida
1819 33 paulo
        , null as codGrupo
1820 33 paulo
        , null as percentualIPI
1821 33 paulo
        , null as grupo_st
1822 33 paulo
FROM    ETLProdutoTabelaPreco preco
1823 33 paulo
INNER JOIN 
1824 33 paulo
        ProdutoVAEntity produto 
1825 33 paulo
ON      produto.cdProdutoStr = preco.codProduto
1826 33 paulo
INNER JOIN 
1827 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1828 33 paulo
ON      grupo.cdProduto = produto.cdProduto
1829 33 paulo
LEFT OUTER JOIN 
1830 33 paulo
        ProdutoInfVAEntity prinf 
1831 33 paulo
ON      prinf.cdProduto = produto.cdProduto
1832 33 paulo
LEFT OUTER JOIN 
1833 33 paulo
        produtoclassificacaovaentity colecao 
1834 33 paulo
on      grupo.cdProduto = colecao.cdProduto 
1835 33 paulo
and     colecao.cdtipoclass = 1 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA COLEÇÃO COM O CLIENTE
1836 33 paulo
LEFT OUTER JOIN 
1837 33 paulo
        produtoclassificacaovaentity ETIQUETA 
1838 33 paulo
on      grupo.cdProduto = ETIQUETA.cdProduto 
1839 33 paulo
and     ETIQUETA.cdtipoclass = 2 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA ETIQUETA COM O CLIENTE
1840 33 paulo
LEFT OUTER JOIN 
1841 33 paulo
        produtoclassificacaovaentity LINHA 
1842 33 paulo
on      grupo.cdProduto = LINHA.cdProduto 
1843 33 paulo
and     LINHA.cdtipoclass = 3 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA LINHA COM O CLIENTE
1844 33 paulo
LEFT OUTER JOIN 
1845 33 paulo
        produtoclassificacaovaentity TIPOPECA 
1846 33 paulo
on      grupo.cdProduto = TIPOPECA.cdProduto 
1847 33 paulo
and     TIPOPECA.cdtipoclass = 4 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA TIPO DE PEÇA COM O CLIENTE
1848 33 paulo
LEFT OUTER JOIN 
1849 33 paulo
        produtoclassificacaovaentity MODELO 
1850 33 paulo
on      grupo.cdProduto = MODELO.cdProduto 
1851 33 paulo
and     MODELO.cdtipoclass = 5 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA MODELO COM O CLIENTE
1852 33 paulo
LEFT OUTER JOIN 
1853 33 paulo
        produtoclassificacaovaentity MARCA 
1854 33 paulo
on      grupo.cdProduto = MARCA.cdProduto 
1855 33 paulo
and     MARCA.cdtipoclass = 6 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA MARCA COM O CLIENTE
1856 33 paulo
LEFT OUTER JOIN 
1857 33 paulo
        produtoclassificacaovaentity GENERO 
1858 33 paulo
on      grupo.cdProduto = GENERO.cdProduto 
1859 33 paulo
and     GENERO.cdtipoclass = 7 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA GENERO COM O CLIENTE
1860 33 paulo
LEFT OUTER JOIN 
1861 33 paulo
        produtoclassificacaovaentity FAMILIA 
1862 33 paulo
on      grupo.cdProduto = FAMILIA.cdProduto 
1863 33 paulo
and     FAMILIA.cdtipoclass = 8 -- CONFIRMAR O CÓDIGO DE CLASSIFICAÇÃO DA FAMILIA COM O CLIENTE
1864 33 paulo
WHERE   preco.codTabelaPreco IN ('#TABPRECO')
1865 33 paulo
AND     (colecao.cdClassificacao = :p2)
1866 33 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1867 33 paulo
AND     (grupo.cdNivel in (#REFERENCIAS) or COALESCE(#REFERENCIAS_TODAS,'0') = COALESCE('','0'))
1868 33 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1869 33 paulo
AND     grupo.cdNivel <> ''
1870 33 paulo
GROUP BY grupo.cdNivel
1871 33 paulo
        , grupo.dsNivel
1872 33 paulo
        , COALESCE(ETIQUETA.cdclassificacao, '99999')
1873 33 paulo
        , COALESCE(ETIQUETA.dsclassificacao, 'SEM ETIQUETA')
1874 33 paulo
        , COALESCE(LINHA.cdclassificacao, '99999')
1875 33 paulo
        , COALESCE(LINHA.dsclassificacao, 'SEM LINHA')
1876 33 paulo
        , COALESCE(TIPOPECA.cdclassificacao, '99999')
1877 33 paulo
        , COALESCE(TIPOPECA.dsclassificacao, 'SEM TIPO PECA')
1878 33 paulo
        , COALESCE(MODELO.cdclassificacao, '99999')
1879 33 paulo
        , COALESCE(MODELO.dsclassificacao, 'SEM MODELO')
1880 1 paulo
</code></pre>
1881 1 paulo
1882 1 paulo
h2. B2B - Produtos - Grades 
1883 1 paulo
1884 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Grades|Produtos - Grades]]
1885 1 paulo
1886 1 paulo
1887 1 paulo
<pre><code class="sql">
1888 33 paulo
select 
1889 33 paulo
        grupo.cdNivel as codReferencia
1890 33 paulo
        , grade.cdGrade as codGrade
1891 33 paulo
        , grade.cdTamanho as seqTamanho
1892 33 paulo
        , grade.cdTamanho as seqOrdenacao
1893 33 paulo
        , grade.dsTamanho as codTamanho
1894 33 paulo
        , null as pesoPeca
1895 33 paulo
        , null as nomeGrade
1896 33 paulo
FROM    ETLProdutoTabelaPreco preco
1897 33 paulo
INNER JOIN 
1898 33 paulo
        ProdutoVAEntity produto 
1899 33 paulo
ON      produto.cdProdutoStr = preco.codProduto
1900 33 paulo
INNER JOIN 
1901 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1902 33 paulo
ON      grupo.cdProduto = produto.cdProduto
1903 33 paulo
LEFT OUTER JOIN 
1904 33 paulo
        ProdutoInfVAEntity prinf 
1905 33 paulo
ON      prinf.cdProduto = produto.cdProduto
1906 33 paulo
INNER JOIN 
1907 33 paulo
        ProdutoGradeVAEntity grade 
1908 33 paulo
ON      grade.cdProduto = produto.cdProduto
1909 33 paulo
WHERE   preco.codTabelaPreco IN ('#TABPRECO')
1910 33 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1911 33 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1912 33 paulo
AND     (grupo.cdnivel in (#REFERENCIAS) or COALESCE(#REFERENCIAS_TODAS,'0') = COALESCE('','0'))
1913 1 paulo
</code></pre>
1914 1 paulo
1915 1 paulo
h2. B2B - Produtos - Grade Fechada 
1916 1 paulo
1917 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Grade-Fechada|Produtos - Grade Fechada]]
1918 1 paulo
1919 1 paulo
1920 1 paulo
<pre><code class="sql">
1921 1 paulo
Adicionar SQL
1922 1 paulo
</code></pre>
1923 1 paulo
1924 1 paulo
h2. B2B - Produtos - Sortimentos 
1925 1 paulo
1926 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Sortimentos|Produtos - Sortimentos]]
1927 1 paulo
1928 1 paulo
1929 1 paulo
<pre><code class="sql">
1930 33 paulo
select 
1931 33 paulo
        grupo.cdNivel as codReferencia
1932 33 paulo
        , grade.cdCor as codSortimento
1933 33 paulo
        , grade.dsCor as descricao
1934 33 paulo
        , grade.cdCor as codCorBase
1935 33 paulo
        , '#FFFFFF' as codRGBCorBase
1936 33 paulo
        , null as ordem
1937 33 paulo
        , null as pocket
1938 33 paulo
        , null as estampa
1939 33 paulo
FROM    ETLProdutoTabelaPreco preco
1940 33 paulo
INNER JOIN 
1941 33 paulo
        ProdutoVAEntity produto 
1942 33 paulo
ON      CAST(produto .cdProduto AS text) = preco.codProduto
1943 33 paulo
LEFT OUTER JOIN 
1944 33 paulo
        ProdutoInfVAEntity prinf 
1945 33 paulo
ON      CAST(prinf.cdProduto AS text) = preco.codProduto
1946 33 paulo
INNER JOIN 
1947 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1948 33 paulo
ON      grupo.cdProduto = produto.cdProduto
1949 33 paulo
INNER JOIN 
1950 33 paulo
        ProdutoGradeVAEntity grade 
1951 33 paulo
ON      grade.cdProduto = produto.cdProduto
1952 33 paulo
WHERE   preco.codTabelaPreco IN ('#TABPRECO')
1953 33 paulo
AND     colecao.cdClassificacao = :p2
1954 33 paulo
AND     COALESCE(prinf.ininativo, 'FALSE') = 'FALSE'
1955 33 paulo
AND     coalesce(produto.inBloqueio, 0) = 0 
1956 33 paulo
AND     (LTRIM(RTRIM(grupo.cdnivel)) in (#REFERENCIAS) or COALESCE(#REFERENCIAS_TODAS,'0') = COALESCE('','0'))
1957 33 paulo
GROUP BY grupo.cdNivel
1958 33 paulo
        , grade.cdCor
1959 33 paulo
        , grade.dsCor
1960 1 paulo
</code></pre>
1961 1 paulo
1962 1 paulo
h2. B2B - Produtos - Tabela de Preço 
1963 1 paulo
1964 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Tabela-de-Preço|Produtos - Tabela de Preço]]
1965 1 paulo
1966 1 paulo
1967 1 paulo
<pre><code class="sql">
1968 33 paulo
select 
1969 33 paulo
        '1' as codEmpresa
1970 33 paulo
        , preco.codTabelaPreco as codTabela
1971 33 paulo
        , grupo.cdNivel as codProduto
1972 33 paulo
        , grade.cdGrade as codGrade
1973 33 paulo
        , preco.preco as preco
1974 33 paulo
        , null as preco_sugerido
1975 33 paulo
FROM    ETLProdutoTabelaPreco preco
1976 33 paulo
LEFT OUTER JOIN 
1977 33 paulo
        ProdutoGradeVAEntity grade 
1978 33 paulo
ON      CAST(preco.codProduto AS text) = CAST(grade.cdProduto AS text)
1979 33 paulo
INNER JOIN 
1980 33 paulo
        etltabelapreco tab  
1981 33 paulo
ON      tab.codTabelapreco = preco.codtabelapreco
1982 33 paulo
INNER JOIN 
1983 33 paulo
        ProdutoGrupoAdicionalVAEntity grupo 
1984 33 paulo
ON      grupo.cdProduto = grade.cdProduto
1985 33 paulo
INNER JOIN 
1986 33 paulo
        ProdutoVAEntity produto 
1987 33 paulo
ON      produto.cdProduto = grupo.cdProduto   
1988 33 paulo
WHERE   preco.codTabelaPreco in ('#TABPRECO')
1989 33 paulo
AND     preco.preco IS NOT NULL
1990 33 paulo
AND     grupo.cdNivel <> ''
1991 33 paulo
GROUP BY preco.codTabelaPreco
1992 33 paulo
        , grupo.cdNivel
1993 33 paulo
        , grade.cdGrade
1994 33 paulo
        , preco.preco
1995 1 paulo
</code></pre>
1996 1 paulo
1997 1 paulo
h2. B2B - Produtos - Tabela de Preço por SKU 
1998 1 paulo
1999 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Tabela-de-Preço-por-SKU|Produtos - Tabela de Preço por SKU]]
2000 1 paulo
2001 1 paulo
2002 1 paulo
<pre><code class="sql">
2003 1 paulo
Adicionar SQL
2004 1 paulo
</code></pre>
2005 1 paulo
2006 1 paulo
h2. B2B - Produtos - Estoque 
2007 1 paulo
2008 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Estoque|Produtos - Estoque]]
2009 1 paulo
2010 1 paulo
2011 1 paulo
<pre><code class="sql">
2012 1 paulo
Adicionar SQL
2013 1 paulo
</code></pre>
2014 1 paulo
2015 1 paulo
h2. B2B - Produtos - Pocket 
2016 1 paulo
2017 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produtos-Pocket|Produtos - Pocket]]
2018 1 paulo
2019 1 paulo
2020 1 paulo
<pre><code class="sql">
2021 1 paulo
Adicionar SQL
2022 1 paulo
</code></pre>
2023 1 paulo
2024 1 paulo
h2. B2B - Pedido - Capa 
2025 1 paulo
2026 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Capa|Pedido - Capa]]
2027 1 paulo
2028 1 paulo
2029 1 paulo
<pre><code class="sql">
2030 33 paulo
select 
2031 33 paulo
        uuid.uuid as codPedidoLoja
2032 33 paulo
        , pedido.cdPedido as codPedido
2033 33 paulo
        , CASE pedido.tpSituacao 
2034 33 paulo
                WHEN 4 THEN '45'
2035 33 paulo
                WHEN 6 THEN '98'
2036 33 paulo
                WHEN 1 THEN '40'
2037 33 paulo
                WHEN 2 THEN '45'
2038 33 paulo
                WHEN 3 THEN '43'
2039 33 paulo
                WHEN 5 THEN '40'
2040 33 paulo
                WHEN 7 THEN '40'
2041 33 paulo
                WHEN 8 THEN '40' 
2042 33 paulo
          ELSE '40' 
2043 33 paulo
        END as situacao
2044 33 paulo
FROM    VendaVAEntity pedido
2045 33 paulo
INNER JOIN 
2046 33 paulo
        etlpedidouuid uuid
2047 33 paulo
ON      uuid.codpedido = cast(pedido.cdPedido as varchar)
2048 33 paulo
WHERE   pedido.cdEmpresa = 1
2049 33 paulo
AND     uuid.uuid in (#PEDIDOS_LOJA)
2050 1 paulo
</code></pre>
2051 1 paulo
2052 1 paulo
h2. B2B - Pedido - Histórico 
2053 1 paulo
2054 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Histórico|Pedido - Histórico]]
2055 1 paulo
2056 1 paulo
2057 1 paulo
<pre><code class="sql">
2058 33 paulo
select 
2059 33 paulo
        pedido.cdPedido as NumeroErp
2060 33 paulo
        , pedido.dtPedido as Data
2061 33 paulo
        , CASE pedido.tpSituacao 
2062 33 paulo
                WHEN 4 THEN '45'
2063 33 paulo
                WHEN 6 THEN '98'
2064 33 paulo
                WHEN 1 THEN '40'
2065 33 paulo
                WHEN 2 THEN '45'
2066 33 paulo
                WHEN 3 THEN '40'
2067 33 paulo
                WHEN 5 THEN '40'
2068 33 paulo
                WHEN 7 THEN '40'
2069 33 paulo
                WHEN 8 THEN '40' 
2070 33 paulo
          ELSE '40' 
2071 33 paulo
        END as Situacao
2072 33 paulo
        , null as FormaPagamento
2073 33 paulo
        , SUM(pedidoItem.qtSolicitada * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100) as Total
2074 33 paulo
        , null as codcliente
2075 33 paulo
        , pessoa.nrcpfcnpj as cliCnpj
2076 33 paulo
        , null as nomecliente
2077 33 paulo
FROM    VendaItemVAEntity pedidoItem 
2078 33 paulo
INNER JOIN 
2079 33 paulo
        VendaVAEntity pedido 
2080 33 paulo
ON      pedidoItem.cdempresa = pedido.cdempresa AND pedidoItem.cdPedido = pedido.cdPedido
2081 33 paulo
LEFT JOIN 
2082 33 paulo
        PessoaVAEntity pessoa 
2083 33 paulo
ON      pessoa.cdPessoa = pedido.cdCliente
2084 33 paulo
WHERE   pedido.tpSituacao NOT IN (6)
2085 33 paulo
AND     CAST(pedido.cdempresa as TEXT) = :p1
2086 33 paulo
AND     CAST(pessoa.nrcpfcnpj as TEXT) = :p2
2087 33 paulo
GROUP BY pedido.cdPedido,
2088 33 paulo
         pedido.dtPedido,
2089 33 paulo
         pedido.tpSituacao,
2090 33 paulo
         pedido.prDesconto,
2091 33 paulo
         pessoa.nrcpfcnpj
2092 33 paulo
order by pedido.dtPedido desc
2093 1 paulo
</code></pre>
2094 1 paulo
2095 1 paulo
h2. B2B - Pedido - Detalhe 
2096 1 paulo
2097 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Detalhe|Pedido - Detalhe]]
2098 1 paulo
2099 1 paulo
2100 1 paulo
<pre><code class="sql">
2101 33 paulo
select 
2102 33 paulo
        pedido.cdPedido as NumeroErp
2103 33 paulo
        , pedido.dtPedido as Data
2104 33 paulo
        , CASE pedido.tpSituacao 
2105 33 paulo
                WHEN 4 THEN '45'
2106 33 paulo
                WHEN 6 THEN '98'
2107 33 paulo
                WHEN 1 THEN '40'
2108 33 paulo
                WHEN 2 THEN '45'
2109 33 paulo
                WHEN 3 THEN '40'
2110 33 paulo
                WHEN 5 THEN '40'
2111 33 paulo
                WHEN 7 THEN '40'
2112 33 paulo
                WHEN 8 THEN '40' 
2113 33 paulo
          ELSE '40' 
2114 33 paulo
        END as Situacao
2115 33 paulo
        , null as FormaPagamento
2116 33 paulo
        , SUM(pedidoItem.qtSolicitada * pedidoItem.vlUnitario) * ((100 - pedido.prDesconto) / 100) as Total
2117 33 paulo
        , SUM(pedidoItem.qtSolicitada * pedidoItem.vlUnitario) as TotalBruto
2118 33 paulo
        , pedido.observacoes as Observacoes
2119 33 paulo
FROM    VendaItemVAEntity pedidoItem 
2120 33 paulo
INNER JOIN 
2121 33 paulo
        VendaVAEntity pedido 
2122 33 paulo
ON      pedidoItem.cdempresa = pedido.cdempresa 
2123 33 paulo
AND     pedidoItem.cdPedido = pedido.cdPedido
2124 33 paulo
LEFT JOIN 
2125 33 paulo
        PessoaVAEntity pessoa 
2126 33 paulo
ON      pessoa.cdPessoa = pedido.cdCliente
2127 33 paulo
LEFT JOIN 
2128 33 paulo
        VPESConsultaVAEntity vpc 
2129 33 paulo
ON      vpc.cdPessoa = pessoa.cdPessoa
2130 33 paulo
LEFT JOIN 
2131 33 paulo
        PessoaEnderecoVAEntity endereco 
2132 33 paulo
ON      endereco.cdPessoa = pessoa.cdPessoa 
2133 33 paulo
AND     endereco.nrSequencia = 1
2134 33 paulo
LEFT join 
2135 33 paulo
        vendaclassificacaovaentity colecao 
2136 33 paulo
on      pedido.cdempresa = colecao.cdempresa 
2137 33 paulo
and     pedido.cdPedido = colecao.cdpedido 
2138 33 paulo
and     colecao.cdtipoclass = 2
2139 33 paulo
LEFT join 
2140 33 paulo
        vendaclassificacaovaentity segmento 
2141 33 paulo
on      pedido.cdempresa = segmento.cdempresa 
2142 33 paulo
and     pedido.cdPedido = segmento.cdpedido 
2143 33 paulo
and     segmento.cdtipoclass = 1
2144 33 paulo
WHERE   pedido.tpSituacao NOT IN (6)
2145 33 paulo
AND     vpc.inCliente = 'TRUE'
2146 33 paulo
AND     CAST(pedido.cdempresa as TEXT) = :p1
2147 33 paulo
AND     CAST(pessoa.nrcpfcnpj as TEXT) = :p2
2148 33 paulo
AND     CAST(pedido.cdPedido as TEXT) = :p3
2149 33 paulo
GROUP BY pedido.cdPedido
2150 33 paulo
        , pedido.dtPedido
2151 33 paulo
        , pedido.tpSituacao
2152 33 paulo
        , pedido.prDesconto
2153 33 paulo
        , pessoa.nrcpfcnpj
2154 33 paulo
        , pedido.observacoes
2155 1 paulo
</code></pre>
2156 1 paulo
2157 1 paulo
h2. B2B - Pedido - Itens 
2158 1 paulo
2159 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Itens|Pedido - Itens]]
2160 1 paulo
2161 1 paulo
2162 1 paulo
<pre><code class="sql">
2163 33 paulo
select 
2164 33 paulo
        row_number() OVER (ORDER BY grupo.cdNivel) as CodItem
2165 33 paulo
        , grupo.cdNivel as CodProduto
2166 33 paulo
        , grupo.dsNivel as NomeProduto
2167 33 paulo
        , sum(item.qtSolicitada) as QtdePedida
2168 33 paulo
        , sum(item.qtSolicitada - item.qtCancelada - item.qtAtendida) as QtdeSaldo
2169 33 paulo
        , sum(item.qtAtendida) as QtdeFaturado
2170 33 paulo
        , sum(item.qtCancelada) as QtdeCancelado
2171 33 paulo
        , item.vlUnitario as ValorUnitarioBruto
2172 33 paulo
        , CASE sum(item.qtSolicitada) 
2173 33 paulo
                WHEN 0 THEN 0 
2174 33 paulo
                ELSE sum(item.qtSolicitada) * ((item.vlUnitario * ((100 - item.prDesconto) / 100)) * ((100 - pedido.prDesconto) / 100)) / sum(item.qtSolicitada) 
2175 33 paulo
          END as ValorUnitarioLiquido
2176 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
2177 33 paulo
        , grupo.cdNivel as CodReferencia
2178 33 paulo
        , grade.dsTamanho as SeqTamanho
2179 33 paulo
        , grade.cdCor as SeqSortimento
2180 33 paulo
        , null as QtdeReservado
2181 33 paulo
FROM    VendaItemVAEntity item
2182 33 paulo
LEFT JOIN 
2183 33 paulo
        VendaVAEntity pedido 
2184 33 paulo
ON      item.cdEmpresa = pedido.cdEmpresa 
2185 33 paulo
AND     item.cdPedido = pedido.cdPedido
2186 33 paulo
LEFT JOIN 
2187 33 paulo
        ProdutoVAEntity produto 
2188 33 paulo
ON      produto.cdProduto = item.cdProduto
2189 33 paulo
LEFT JOIN 
2190 33 paulo
        ProdutoGrupoAdicionalVAEntity  grupo 
2191 33 paulo
ON      grupo.cdproduto = produto.cdproduto
2192 33 paulo
LEFT JOIN 
2193 33 paulo
        produtogradevaentity grade 
2194 33 paulo
ON      grade.cdproduto = produto.cdproduto
2195 33 paulo
WHERE   CAST(item.cdPedido as text) = :p1
2196 33 paulo
group by grupo.cdNivel
2197 33 paulo
        , grupo.dsNivel
2198 33 paulo
        , item.vlUnitario
2199 33 paulo
        , item.prDesconto
2200 33 paulo
        , pedido.prDesconto
2201 33 paulo
        , grade.dsTamanho
2202 1 paulo
</code></pre>
2203 1 paulo
2204 1 paulo
h2. B2B - Cliente 
2205 1 paulo
2206 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Cliente|Cliente]]
2207 1 paulo
2208 1 paulo
2209 1 paulo
<pre><code class="sql">
2210 33 paulo
select 
2211 33 paulo
        select 
2212 33 paulo
        coalesce(
2213 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2214 33 paulo
                 union
2215 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2216 33 paulo
                ), p.nrcpfcnpj) as cnpj
2217 33 paulo
        , pj.nmfantasia as nomeFantasia
2218 33 paulo
        , pm.dsemail as email
2219 33 paulo
        , pe.cdcep as cep
2220 33 paulo
        , pe.nmlogradouro as endereco
2221 33 paulo
        , pe.nrlogradouro as enderecoNumero
2222 33 paulo
        , pe.dscomplemento as complemento
2223 33 paulo
        , pe.dsbairro as bairro
2224 33 paulo
        , COALESCE(im.codibge, '4127403') as codIBGE --CONFIRMAR COM O CLIENTE UM IBGE PADRÃO
2225 33 paulo
        , regexp_replace(pt.nrtelefone, '[^0-9]', '', 'g') as telefone
2226 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') as codRepres1
2227 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
2228 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
2229 33 paulo
        , p.cdpessoa as codCliente
2230 33 paulo
        , (case when (p.ininativo = 'TRUE') then 0 else 1 end) as flagAtivoParaLoja
2231 33 paulo
        , 1 as flagIsRepresentanteB2B
2232 33 paulo
        , p.nmpessoa as razaoSocial
2233 33 paulo
        , null as emailRepres
2234 33 paulo
        , pj.nrinscestl as inscricaoEstadual
2235 33 paulo
        , pe.ufsigla as siglaUF
2236 33 paulo
        , null as nomeUF
2237 33 paulo
        , null as populacao
2238 33 paulo
        , null as ipc
2239 33 paulo
        , case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end as codGrupoCli
2240 33 paulo
        , (select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador) as nomeGrupoCli
2241 33 paulo
        , null as salarioBase
2242 33 paulo
        , null as limiteCredito
2243 33 paulo
        , null as codCondPagto
2244 33 paulo
        , null as codTransportadora
2245 33 paulo
        , null as descontoPadrao
2246 33 paulo
        , null as pais
2247 33 paulo
        , (case when coalesce(titulos_em_atraso,0) > 0 then 1 else 0 end) as inadimplente
2248 33 paulo
        , null as cliente_novo_crm
2249 33 paulo
        , pts.nrtelefone as fax
2250 33 paulo
        , pts.nrtelefone as celular
2251 33 paulo
        , pmc.dsemail as emailNfe
2252 33 paulo
        , null as telefoneCompras
2253 33 paulo
        , null as telefoneCobranca
2254 33 paulo
        , null as facebook
2255 33 paulo
        , null as instagram
2256 33 paulo
        , null as dataFundacao
2257 33 paulo
        , null as marcasLiberadas
2258 33 paulo
        , null as tipoFaturamento
2259 33 paulo
        , null as regime_st
2260 33 paulo
FROM    pessoavaentity p
2261 33 paulo
inner join 
2262 33 paulo
        pessoaenderecovaentity pe 
2263 33 paulo
on      pe.cdempresa = p.cdempresa and pe.cdpessoa = p.cdpessoa 
2264 33 paulo
inner join 
2265 33 paulo
        vpesconsultavaentity vpc 
2266 33 paulo
on      vpc.cdpessoa = p.cdpessoa	 
2267 33 paulo
LEFT join 
2268 33 paulo
        ETLCidade im 
2269 33 paulo
on      im.codCidade = pe.cdMunicipio
2270 33 paulo
LEFT join 
2271 33 paulo
        pessoatelefonevaentity pt 
2272 33 paulo
on      pt.cdempresa = p.cdempresa 
2273 33 paulo
AND     pt.cdpessoa = p.cdpessoa 
2274 33 paulo
AND     pt.id = (       SELECT  MIN(pt2.id) 
2275 33 paulo
                        FROM    pessoatelefonevaentity pt2 
2276 33 paulo
                        WHERE   pt.cdempresa = pt2.cdempresa 
2277 33 paulo
                        AND     pt.cdpessoa = pt2.cdpessoa
2278 33 paulo
                )
2279 33 paulo
left join 
2280 33 paulo
        pessoaemailvaentity pm 
2281 33 paulo
on      pm.cdempresa = p.cdempresa 
2282 33 paulo
and     pm.cdpessoa = p.cdpessoa 
2283 33 paulo
and     pm.inpadrao = 'TRUE'
2284 33 paulo
left join 
2285 33 paulo
        pessoaemailvaentity pmc 
2286 33 paulo
on      pmc.cdempresa = p.cdempresa 
2287 33 paulo
and     pmc.cdpessoa = p.cdpessoa 
2288 33 paulo
and     pmc.cdtipoemail = 3 -- CONFIRMAR QUAL TIPO DE E-MAIL É O EMAIL DE NFE/COBRANCA
2289 33 paulo
left join 
2290 33 paulo
        pessoatelefonevaentity pts 
2291 33 paulo
on      pts.cdempresa = p.cdempresa 
2292 33 paulo
and     pts.cdpessoa = p.cdpessoa 
2293 33 paulo
and     pts.cdtipofone = 4 -- CONFIRMAR COM O CLIENTE QUAL É O CÓDIGO DO TELEFONE CELULAR
2294 33 paulo
left join 
2295 33 paulo
        pessoajuridicavaentity pj 
2296 33 paulo
on      pj.cdempresa = p.cdempresa 
2297 33 paulo
and     pj.cdpessoa = p.cdpessoa     
2298 33 paulo
left join 
2299 33 paulo
        (select codcliente::int as codcliente
2300 33 paulo
                , codempresa::int as codempresa
2301 33 paulo
                , count(*) as titulos_em_atraso 
2302 33 paulo
        from etltitulo 
2303 33 paulo
        where situacao = '1' 
2304 33 paulo
        and (dataVencimento::date + 28) < (current_date) -- CONFIRMAR COM O CLIENTE QUANTOS DIAS CONSIDERA INADIMPLENTE
2305 33 paulo
        group by codcliente
2306 33 paulo
                , codempresa having sum(valor) > 3000) as inad -- CONFIRMAR COM O CLIENTE SE INADIMPLENTE É ACIMA DE 3 MIL REAIS DEVENDO
2307 33 paulo
on      inad.codcliente = p.cdpessoa 
2308 33 paulo
and     inad.codempresa = p.cdempresa
2309 33 paulo
left join 
2310 33 paulo
        (SELECT v.cdcliente, MIN(v.dtpedido) as dataCadastro FROM vendavaentity v GROUP BY v.cdcliente) as v 
2311 33 paulo
on      v.cdcliente = p.cdpessoa 
2312 33 paulo
where   vpc.incliente = 'TRUE'
2313 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
2314 33 paulo
and     coalesce(
2315 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2316 33 paulo
                 union
2317 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2318 33 paulo
                ), p.nrcpfcnpj) is not null
2319 33 paulo
AND     pe.cdcep <> '99999999'
2320 33 paulo
AND     length(coalesce(
2321 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2322 33 paulo
                 union
2323 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2324 33 paulo
                ), p.nrcpfcnpj)) >= 14 -- CONFIRMAR COM O CLIENTE SE É PARA PUXAR SÓ CNPJ
2325 33 paulo
AND     (
2326 33 paulo
        (coalesce(
2327 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2328 33 paulo
                 union
2329 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2330 33 paulo
                ), p.nrcpfcnpj) = replace(replace(replace(:p2,'.',''),'-',''),'/','')) 
2331 33 paulo
    OR  (cast(P.cdPessoa as varchar(14)) = :p2)
2332 33 paulo
        )
2333 1 paulo
</code></pre>
2334 1 paulo
2335 1 paulo
h2. B2B - Representantes - Clientes 
2336 1 paulo
2337 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Representantes - Clientes|Representantes - Clientes]]
2338 1 paulo
2339 1 paulo
2340 1 paulo
<pre><code class="sql">
2341 33 paulo
select 
2342 33 paulo
        coalesce(
2343 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = pessoa.cdempresa and pf.cdpessoa = pessoa.cdpessoa
2344 33 paulo
                 union
2345 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = pessoa.cdempresa and pj.cdpessoa = pessoa.cdpessoa
2346 33 paulo
                ), pessoa.nrcpfcnpj) as cnpj
2347 33 paulo
        , pessoa.nmpessoa as nomeFantasia
2348 33 paulo
        , email.dsemail as email
2349 33 paulo
        , endereco.cdcep as cep
2350 33 paulo
        , endereco.nmLogradouro as endereco
2351 33 paulo
        , endereco.nrLogradouro as enderecoNumero
2352 33 paulo
        , null as complemento
2353 33 paulo
        , endereco.dsbairro as bairro
2354 33 paulo
        , COALESCE(im.codibge, '4127403') as codIBGE --CONFIRMAR COM O CLIENTE UM IBGE PADRÃO
2355 33 paulo
        , telefone.nrtelefone as telefone
2356 33 paulo
        , pessoa.cdPessoa as codRepres1
2357 33 paulo
        , null as codRepres2
2358 33 paulo
        , null as codRepres3
2359 33 paulo
        , pessoa.cdPessoa as codCliente
2360 33 paulo
        , 1 as flagAtivoParaLoja
2361 33 paulo
        , 2 as flagIsRepresentanteB2B
2362 33 paulo
        , pessoa.nmpessoa as razaoSocial
2363 33 paulo
        , null as emailRepres
2364 33 paulo
        , null as inscricaoEstadual
2365 33 paulo
        , CASE WHEN endereco.cdcep = '99999999' THEN 'EX' ELSE UPPER(endereco.ufsigla) END as siglaUF
2366 33 paulo
        , CASE WHEN endereco.cdcep = '99999999' THEN 'EX' ELSE UPPER(endereco.ufsigla) END as nomeUF
2367 33 paulo
        , null as populacao
2368 33 paulo
        , null as ipc
2369 33 paulo
        , (case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end) as codGrupoCli
2370 33 paulo
        , (select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador) as nomeGrupoCli
2371 33 paulo
FROM    PessoaVAEntity pessoa
2372 33 paulo
INNER JOIN 
2373 33 paulo
        PessoaEnderecoVAEntity endereco 
2374 33 paulo
ON      endereco.cdEmpresa = pessoa.cdEmpresa 
2375 33 paulo
AND     endereco.cdPessoa = pessoa.cdPessoa 
2376 33 paulo
and     endereco.id = (select min(id) from pessoaenderecovaentity where cdempresa = endereco.cdempresa and cdpessoa = endereco.cdpessoa)
2377 33 paulo
INNER JOIN 
2378 33 paulo
        VPESConsultaVAEntity vpc 
2379 33 paulo
ON      vpc.cdPessoa = pessoa.cdPessoa     
2380 33 paulo
LEFT JOIN 
2381 33 paulo
        PessoaTelefoneVAEntity telefone 
2382 33 paulo
ON      telefone.cdEmpresa = pessoa.cdEmpresa 
2383 33 paulo
AND     telefone.cdPessoa = pessoa.cdPessoa 
2384 33 paulo
and     telefone.id = (select min(id) from pessoatelefonevaentity where cdempresa = telefone.cdempresa and cdpessoa = telefone.cdpessoa and inpadrao = 'TRUE')
2385 33 paulo
LEFT JOIN 
2386 33 paulo
        PessoaEmailVAEntity email 
2387 33 paulo
ON      email.cdEmpresa = pessoa.cdEmpresa 
2388 33 paulo
AND     email.cdPessoa = pessoa.cdPessoa 
2389 33 paulo
and     email.id = (select min(id) from pessoaemailvaentity where cdpessoa = email.cdpessoa and cdempresa = email.cdempresa and inpadrao = 'TRUE')
2390 33 paulo
LEFT JOIN 
2391 33 paulo
        PessoaEmailVAEntity emailNFE 
2392 33 paulo
ON      emailNFE.cdEmpresa = pessoa.cdEmpresa 
2393 33 paulo
AND     emailNFE.cdPessoa = pessoa.cdPessoa 
2394 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
2395 33 paulo
LEFT JOIN 
2396 33 paulo
        PessoaTelefoneVAEntity telefone2 
2397 33 paulo
ON      telefone2.cdEmpresa = pessoa.cdEmpresa 
2398 33 paulo
AND     telefone2.cdPessoa = pessoa.cdPessoa 
2399 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
2400 33 paulo
LEFT JOIN 
2401 33 paulo
        pessoajuridicavaentity pessoaJuridica 
2402 33 paulo
ON      pessoaJuridica.cdEmpresa = pessoa.cdEmpresa 
2403 33 paulo
AND     pessoaJuridica.cdPessoa = pessoa.cdPessoa
2404 33 paulo
LEFT join 
2405 33 paulo
        ETLCidade im 
2406 33 paulo
on      im.codCidade = endereco.cdMunicipio
2407 33 paulo
WHERE   vpc.inRepresent = 'TRUE'
2408 33 paulo
AND     pessoa.ininativo = 'FALSE'
2409 33 paulo
and     ((replace(replace(replace(pessoaJuridica.nrcnpj,'.',''),'-',''),'/','') = replace(replace(replace(:p2,'.',''),'-',''),'/','')) OR  (cast(pessoa.cdPessoa as varchar(14)) = :p2))
2410 1 paulo
</code></pre>
2411 1 paulo
2412 1 paulo
h2. B2B - Clientes - Representantes 
2413 1 paulo
2414 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Clientes-Representantes|Clientes - Representantes]]
2415 1 paulo
2416 1 paulo
2417 1 paulo
<pre><code class="sql">
2418 33 paulo
select 
2419 33 paulo
        coalesce(
2420 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2421 33 paulo
                 union
2422 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2423 33 paulo
                ), p.nrcpfcnpj) as cnpj
2424 33 paulo
        , pj.nmfantasia as nomeFantasia
2425 33 paulo
        , pm.dsemail as email
2426 33 paulo
        , pe.cdcep as cep
2427 33 paulo
        , pe.nmlogradouro as endereco
2428 33 paulo
        , pe.nrlogradouro as enderecoNumero
2429 33 paulo
        , pe.dscomplemento as complemento
2430 33 paulo
        , pe.dsbairro as bairro
2431 33 paulo
        , COALESCE(im.codibge, '4127403') as codIBGE --CONFIRMAR COM O CLIENTE UM IBGE PADRÃO
2432 33 paulo
        , regexp_replace(pt.nrtelefone, '[^0-9]', '', 'g') as telefone
2433 33 paulo
        , coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') as codRepres1
2434 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
2435 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
2436 33 paulo
        , p.cdpessoa as codCliente
2437 33 paulo
        , (case when (p.ininativo = 'TRUE') then 0 else 1 end) as flagAtivoParaLoja
2438 33 paulo
        , 1 as flagIsRepresentanteB2B
2439 33 paulo
        , p.nmpessoa as razaoSocial
2440 33 paulo
        , null as emailRepres
2441 33 paulo
        , pj.nrinscestl as inscricaoEstadual
2442 33 paulo
        , pe.ufsigla as siglaUF
2443 33 paulo
        , null as nomeUF
2444 33 paulo
        , null as populacao
2445 33 paulo
        , null as ipc
2446 33 paulo
        , case when vpc.cdcoligador = '0' then null else vpc.cdcoligador end as codGrupoCli
2447 33 paulo
        , (select pg.nmpessoa from pessoavaentity pg where pg.cdempresa = vpc.cdempresacad and pg.cdpessoa = vpc.cdcoligador) as nomeGrupoCli
2448 33 paulo
        , null as salarioBase
2449 33 paulo
        , null as limiteCredito
2450 33 paulo
        , null as codCondPagto
2451 33 paulo
        , null as codTransportadora
2452 33 paulo
        , null as descontoPadrao
2453 33 paulo
        , null as pais
2454 33 paulo
        , (case when coalesce(titulos_em_atraso,0) > 0 then 1 else 0 end) as inadimplente
2455 33 paulo
        , null as cliente_novo_crm
2456 33 paulo
        , pts.nrtelefone as fax
2457 33 paulo
        , pts.nrtelefone as celular
2458 33 paulo
        , pmc.dsemail as emailNfe
2459 33 paulo
        , null as telefoneCompras
2460 33 paulo
        , null as telefoneCobranca
2461 33 paulo
        , null as facebook
2462 33 paulo
        , null as instagram
2463 33 paulo
        , null as dataFundacao
2464 33 paulo
FROM    pessoavaentity p
2465 33 paulo
inner join 
2466 33 paulo
        pessoaenderecovaentity pe 
2467 33 paulo
on      pe.cdempresa = p.cdempresa and pe.cdpessoa = p.cdpessoa 
2468 33 paulo
inner join 
2469 33 paulo
        vpesconsultavaentity vpc 
2470 33 paulo
on      vpc.cdpessoa = p.cdpessoa	 
2471 33 paulo
LEFT join 
2472 33 paulo
        ETLCidade im 
2473 33 paulo
on      im.codCidade = pe.cdMunicipio
2474 33 paulo
LEFT join 
2475 33 paulo
        pessoatelefonevaentity pt 
2476 33 paulo
on      pt.cdempresa = p.cdempresa 
2477 33 paulo
AND     pt.cdpessoa = p.cdpessoa 
2478 33 paulo
AND     pt.id = (       SELECT  MIN(pt2.id) 
2479 33 paulo
                        FROM    pessoatelefonevaentity pt2 
2480 33 paulo
                        WHERE   pt.cdempresa = pt2.cdempresa 
2481 33 paulo
                        AND     pt.cdpessoa = pt2.cdpessoa
2482 33 paulo
                )
2483 33 paulo
left join 
2484 33 paulo
        pessoaemailvaentity pm 
2485 33 paulo
on      pm.cdempresa = p.cdempresa 
2486 33 paulo
and     pm.cdpessoa = p.cdpessoa 
2487 33 paulo
and     pm.inpadrao = 'TRUE'
2488 33 paulo
left join 
2489 33 paulo
        pessoaemailvaentity pmc 
2490 33 paulo
on      pmc.cdempresa = p.cdempresa 
2491 33 paulo
and     pmc.cdpessoa = p.cdpessoa 
2492 33 paulo
and     pmc.cdtipoemail = 3 -- CONFIRMAR QUAL TIPO DE E-MAIL É O EMAIL DE NFE/COBRANCA
2493 33 paulo
left join 
2494 33 paulo
        pessoatelefonevaentity pts 
2495 33 paulo
on      pts.cdempresa = p.cdempresa 
2496 33 paulo
and     pts.cdpessoa = p.cdpessoa 
2497 33 paulo
and     pts.cdtipofone = 4 -- CONFIRMAR COM O CLIENTE QUAL É O CÓDIGO DO TELEFONE CELULAR
2498 33 paulo
left join 
2499 33 paulo
        pessoajuridicavaentity pj 
2500 33 paulo
on      pj.cdempresa = p.cdempresa 
2501 33 paulo
and     pj.cdpessoa = p.cdpessoa     
2502 33 paulo
left join 
2503 33 paulo
        (select codcliente::int as codcliente
2504 33 paulo
                , codempresa::int as codempresa
2505 33 paulo
                , count(*) as titulos_em_atraso 
2506 33 paulo
        from etltitulo 
2507 33 paulo
        where situacao = '1' 
2508 33 paulo
        and (dataVencimento::date + 28) < (current_date) -- CONFIRMAR COM O CLIENTE QUANTOS DIAS CONSIDERA INADIMPLENTE
2509 33 paulo
        group by codcliente
2510 33 paulo
                , codempresa having sum(valor) > 3000) as inad -- CONFIRMAR COM O CLIENTE SE INADIMPLENTE É ACIMA DE 3 MIL REAIS DEVENDO
2511 33 paulo
on      inad.codcliente = p.cdpessoa 
2512 33 paulo
and     inad.codempresa = p.cdempresa
2513 33 paulo
left join 
2514 33 paulo
        (SELECT v.cdcliente, MIN(v.dtpedido) as dataCadastro FROM vendavaentity v GROUP BY v.cdcliente) as v 
2515 33 paulo
on      v.cdcliente = p.cdpessoa 
2516 33 paulo
where   vpc.incliente = 'TRUE'
2517 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
2518 33 paulo
and     coalesce(
2519 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2520 33 paulo
                 union
2521 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2522 33 paulo
                ), p.nrcpfcnpj) is not null
2523 33 paulo
AND     pe.cdcep <> '99999999'
2524 33 paulo
AND     length(coalesce(
2525 33 paulo
                (select pf.nrcpf as cpfCnpj from pessoafisicavaentity pf where pf.cdempresa = p.cdempresa and pf.cdpessoa = p.cdpessoa
2526 33 paulo
                 union
2527 33 paulo
                 select pj.nrcnpj as cpfCnpj from pessoajuridicavaentity pj where pj.cdempresa = p.cdempresa and pj.cdpessoa = p.cdpessoa
2528 33 paulo
                ), p.nrcpfcnpj)) >= 14 -- CONFIRMAR COM O CLIENTE SE É PARA PUXAR SÓ CNPJ
2529 33 paulo
AND     (
2530 33 paulo
        coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1), '0') = :p2
2531 33 paulo
    OR  coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 1), '0') = :p2
2532 33 paulo
    OR  coalesce((select rep.cdrepresentant from pessoareprclientevaentity rep where rep.cdempresa = p.cdempresa and rep.cdpessoa = p.cdpessoa limit 1 offset 2), '0') = :p2
2533 33 paulo
)
2534 1 paulo
</code></pre>
2535 1 paulo
2536 1 paulo
h2. B2B - Comissão por Repres/Cliente/Marca 
2537 1 paulo
2538 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Comissão por Repres/Cliente/Marca|Comissão por Repres/Cliente/Marca]]
2539 1 paulo
2540 1 paulo
2541 1 paulo
<pre><code class="sql">
2542 1 paulo
Adicionar SQL
2543 1 paulo
</code></pre>
2544 1 paulo
2545 1 paulo
h2. B2B - Condição de Venda 
2546 1 paulo
2547 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Condição de Venda|Condição de Venda]]
2548 1 paulo
2549 1 paulo
2550 1 paulo
<pre><code class="sql">
2551 1 paulo
Adicionar SQL
2552 1 paulo
</code></pre>
2553 1 paulo
2554 1 paulo
h2. B2B - Bloqueio de Referências 
2555 1 paulo
2556 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Bloqueio-de-Referências|Bloqueio Referências]]
2557 1 paulo
2558 1 paulo
2559 1 paulo
<pre><code class="sql">
2560 1 paulo
Adicionar SQL
2561 1 paulo
</code></pre>
2562 1 paulo
2563 1 paulo
h2. B2B - Boletos - Consulta Cliente 
2564 1 paulo
2565 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Boletos-Consulta-Cliente|Boletos - Consulta Cliente]]
2566 1 paulo
2567 1 paulo
2568 1 paulo
<pre><code class="sql">
2569 1 paulo
Adicionar SQL
2570 1 paulo
</code></pre>
2571 1 paulo
2572 1 paulo
h2. B2B - Boletos - Listagem 
2573 1 paulo
2574 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Boletos-Listagem|Boletos - Listagem]]
2575 1 paulo
2576 1 paulo
2577 1 paulo
<pre><code class="sql">
2578 1 paulo
Adicionar SQL
2579 1 paulo
</code></pre>
2580 1 paulo
2581 1 paulo
h2. B2B - Boletos - Detalhado 
2582 1 paulo
2583 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Boletos-Detalhado|Boletos - Detalhado]]
2584 1 paulo
2585 1 paulo
2586 1 paulo
<pre><code class="sql">
2587 1 paulo
Adicionar SQL
2588 1 paulo
</code></pre>
2589 1 paulo
2590 1 paulo
h2. B2B - DANFE- Listagem 
2591 1 paulo
2592 1 paulo
Documentação: [[Loja_Virtual_-_B2B#DANFE-Listagem|DANFE- Listagem]]
2593 1 paulo
2594 1 paulo
2595 1 paulo
<pre><code class="sql">
2596 1 paulo
Adicionar SQL
2597 1 paulo
</code></pre>
2598 1 paulo
2599 1 paulo
h2. B2B - DANFE- Itens da Nota 
2600 1 paulo
2601 1 paulo
Documentação: [[Loja_Virtual_-_B2B#DANFE-Itens-da-Nota|DANFE- Itens da Nota]]
2602 1 paulo
2603 1 paulo
2604 1 paulo
<pre><code class="sql">
2605 1 paulo
Adicionar SQL
2606 1 paulo
</code></pre>
2607 1 paulo
2608 1 paulo
h2. B2B - DANFE- XML 
2609 1 paulo
2610 1 paulo
Documentação: [[Loja_Virtual_-_B2B#DANFE-XML|DANFE- XML]]
2611 1 paulo
2612 1 paulo
2613 1 paulo
<pre><code class="sql">
2614 1 paulo
Adicionar SQL
2615 1 paulo
</code></pre>
2616 1 paulo
2617 1 paulo
h2. B2B - Lote de Faturamento 
2618 1 paulo
2619 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Lote de Faturamento| Lote de Faturamento]]
2620 1 paulo
2621 1 paulo
2622 1 paulo
<pre><code class="sql">
2623 1 paulo
Adicionar SQL
2624 1 paulo
</code></pre>
2625 1 paulo
2626 1 paulo
h2. B2B - Produto SKU - Cód. Barras 
2627 1 paulo
2628 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produto SKU - Cód. Barras| Produto SKU - Cód. Barras]]
2629 1 paulo
2630 1 paulo
2631 1 paulo
<pre><code class="sql">
2632 1 paulo
Adicionar SQL
2633 1 paulo
</code></pre>
2634 1 paulo
2635 1 paulo
h2. B2B - Espelho Nota de Devolução 
2636 1 paulo
2637 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Frete| Frete]]
2638 1 paulo
2639 1 paulo
2640 1 paulo
<pre><code class="sql">
2641 1 paulo
Adicionar SQL
2642 1 paulo
</code></pre>
2643 1 paulo
2644 1 paulo
h2. B2B - Espelho Nota de Devolução 
2645 1 paulo
2646 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Espelho Nota de Devolução| Espelho Nota de Devolução]]
2647 1 paulo
2648 1 paulo
2649 1 paulo
<pre><code class="sql">
2650 1 paulo
Adicionar SQL
2651 1 paulo
</code></pre>
2652 1 paulo
2653 1 paulo
h2. B2B - Produto Volume Valor por Referência 
2654 1 paulo
2655 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Produto Volume Valor por Referência| Produto Volume Valor por Referência]]
2656 1 paulo
2657 1 paulo
2658 1 paulo
<pre><code class="sql">
2659 1 paulo
Adicionar SQL
2660 1 paulo
</code></pre>
2661 1 paulo
2662 1 paulo
h2. B2B - Substituição Tributária 
2663 1 paulo
2664 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Substituição Tributária| Substituição Tributária]]
2665 1 paulo
2666 1 paulo
2667 1 paulo
<pre><code class="sql">
2668 1 paulo
Adicionar SQL
2669 1 paulo
</code></pre>
2670 1 paulo
2671 1 paulo
h2. B2B - Pedido - Recompra 
2672 1 paulo
2673 1 paulo
Documentação: [[Loja_Virtual_-_B2B#Pedido-Recompra|Pedido - Recompra]]
2674 1 paulo
2675 1 paulo
2676 1 paulo
<pre><code class="sql">
2677 1 paulo
Adicionar SQL
2678 1 paulo
</code></pre>
2679 1 paulo
2680 1 paulo
h2. *CRM*
2681 1 paulo
2682 1 paulo
h1. CRM - Dados Cadastrais do Cliente
2683 1 paulo
2684 1 paulo
Documentação: [[CRM#Dados-Cadastrais-do-Cliente|Dados Cadastrais do Cliente]]
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. CRM - Pesquisa por Nome de Cliente
2692 1 paulo
2693 1 paulo
Documentação: [[CRM#Pesquisa-por-Nome-de-Cliente|Pesquisa por Nome de Cliente]]
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. CRM - Pesquisa Avançada
2701 1 paulo
2702 1 paulo
Documentação: [[CRM#Pesquisa-Avançada|Pesquisa Avançada]]
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. CRM - Lista de Pedidos do Cliente
2710 1 paulo
2711 1 paulo
Documentação: [[CRM#Lista-de-Pedidos-do-Cliente|Lista de Pedidos do Cliente]]
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 - Pedido - Detalhado
2719 1 paulo
2720 1 paulo
Documentação: [[CRM#Pedido-Detalhado|Pedido - Detalhado]]
2721 1 paulo
2722 1 paulo
2723 1 paulo
<pre><code class="sql">
2724 1 paulo
Adicionar SQL
2725 1 paulo
</code></pre>
2726 1 paulo
2727 1 paulo
h2. CRM - Pedido - Itens
2728 1 paulo
2729 1 paulo
Documentação: [[CRM#Pedido-Itens|Pedido - Itens]]
2730 1 paulo
2731 1 paulo
2732 1 paulo
<pre><code class="sql">
2733 1 paulo
Adicionar SQL
2734 1 paulo
</code></pre>
2735 1 paulo
2736 1 paulo
h2. CRM - Pedido - NFs
2737 1 paulo
2738 1 paulo
Documentação: [[CRM#Pedido-NFs|Pedido - NFs]]
2739 1 paulo
2740 1 paulo
2741 1 paulo
<pre><code class="sql">
2742 1 paulo
Adicionar SQL
2743 1 paulo
</code></pre>
2744 1 paulo
2745 1 paulo
h2. CRM - Informações Financeiras
2746 1 paulo
2747 1 paulo
Documentação: [[CRM#Informações-Financeiras|Informações Financeiras]]
2748 1 paulo
2749 1 paulo
2750 1 paulo
<pre><code class="sql">
2751 1 paulo
Adicionar SQL
2752 1 paulo
</code></pre>
2753 1 paulo
2754 1 paulo
h2. CRM - Informações Financeiras por Situação
2755 1 paulo
2756 1 paulo
Documentação: [[CRM#Informações Financeiras por Situação|Informações Financeiras por Situação]]
2757 1 paulo
2758 1 paulo
2759 1 paulo
<pre><code class="sql">
2760 1 paulo
Adicionar SQL
2761 1 paulo
</code></pre>
2762 1 paulo
2763 1 paulo
h2. CRM - Informações Financeiras - Ocorrências
2764 1 paulo
2765 1 paulo
Documentação: [[CRM#Informações Financeiras - Ocorrências|Informações Financeiras - Ocorrências]]
2766 1 paulo
2767 1 paulo
2768 1 paulo
<pre><code class="sql">
2769 1 paulo
Adicionar SQL
2770 1 paulo
</code></pre>
2771 1 paulo
2772 1 paulo
h2. CRM - Clientes do Grupo
2773 1 paulo
2774 1 paulo
Documentação: [[CRM#Clientes do Grupo|Clientes do Grupo]]
2775 1 paulo
2776 1 paulo
2777 1 paulo
<pre><code class="sql">
2778 1 paulo
Adicionar SQL
2779 1 paulo
</code></pre>
2780 1 paulo
2781 1 paulo
h2. CRM - Lista de Pedidos Representante
2782 1 paulo
2783 1 paulo
Documentação: [[CRM#Lista-de-Pedidos-Representante|Lista de Pedidos Representante]]
2784 1 paulo
2785 1 paulo
2786 1 paulo
<pre><code class="sql">
2787 1 paulo
Adicionar SQL
2788 1 paulo
</code></pre>
2789 1 paulo
2790 1 paulo
h2. CRM - Lista de Clientes do Itinerário
2791 1 paulo
2792 1 paulo
Documentação: [[CRM#Lista-de-Clientes-do-Itinerário|Lista de Clientes do Itinerário]]
2793 1 paulo
2794 1 paulo
2795 1 paulo
<pre><code class="sql">
2796 1 paulo
Adicionar SQL
2797 1 paulo
</code></pre>