Projeto

Geral

Perfil

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

vinidalmagro, 20/04/2023 15:51 h

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