Projeto

Geral

Perfil

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

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