neoBi - Script de extração diário
-- Período
USE neoStore
declare @DATAINICIO varchar (50) = '2022-03-01';
declare @DATAFIM varchar (50) = DATEADD(DAY, 1, CONVERT (date, @DATAINICIO));
-- grup_codigo que estão sendo usados
DECLARE @temp_grup_codigo TABLE (
temp_grup_codigo int
)
INSERT INTO @temp_grup_codigo (temp_grup_codigo)
select
a.grup_codigo
from
neoSuite.. grupo a
inner join (select distinct grup_codigo,maqu_codigo from pedido) as b on a.grup_codigo = b.grup_codigo
inner join neosuite.. maquina c on b.maqu_codigo = c.maqu_codigo
where
maqu_apelido like ('neoStore PDV') or
maqu_apelido like ('neoAA Totem')
-- Pedido
select
pedi_codigo,
grup_codigo_pai,
a.grup_codigo,
maqu_codigo,
concat(CONVERT(VARCHAR(max),pedi_datafim,111), '-',CONVERT(VARCHAR(8),pedi_datafim,108)) as 'pedi_datafim',
CAST(pedi_valortotal AS money) as 'pedi_valortotal'
from
pedido a
inner join neoSuite.. grupo b on a.grup_codigo = b.grup_codigo
where
pedi_datafim between @DATAINICIO and @DATAFIM and
pest_codigo = 4 and
a.grup_codigo in (select * from @temp_grup_codigo)
-- Pedido item
select
peit_codigo,
b.pedi_codigo,
b.grup_codigo,
maqu_codigo,
c.grup_codigo_pai,
prod_codigo,
cast(peit_valor as money) as 'peit_valor',
peit_quantidade,
concat(CONVERT(VARCHAR(max),pedi_datafim,111), '-',CONVERT(VARCHAR(8),pedi_datafim,108)) as 'pedi_datafim'
from
pedido_item a
inner join pedido b on a.pedi_codigo = b.pedi_codigo
inner join neoSuite.. grupo c on b.grup_codigo = c.grup_codigo
where
pedi_datafim between @DATAINICIO and @DATAFIM and
pest_codigo = 4 and
b.grup_codigo in (select * from @temp_grup_codigo) and
peit_cancelado is null
order by
peit_codigo
-- Unidade
select
a.grup_codigo_pai,
d.grup_nome as 'grup_nome_pai',
a.grup_codigo,
a.grup_nome, b.maqu_codigo,
maqu_apelido
from
neoSuite.. grupo a
inner join (select distinct grup_codigo, maqu_codigo from pedido) as b on a.grup_codigo = b.grup_codigo
inner join neosuite.. maquina c on b.maqu_codigo = c.maqu_codigo
inner join (select grup_codigo, grup_nome from neoSuite.. grupo where grup_tipo = 'M') d on a.grup_codigo_pai = d.grup_codigo
where
maqu_apelido like ('neoStore PDV') or
maqu_apelido like ('neoAA Totem')
order by
grup_codigo asc
-- Produto de Venda
select
a.prca_codigo,
prca_descricao,
prod_codigo,
prod_nome,
a.grup_codigo as 'grup_codigo_pai'
from
produto a
inner join produto_categoria b on a.prca_codigo = b.prca_codigo
where
a.grup_codigo in (
select
grup_codigo_pai
from
neoSuite.. grupo a
inner join (select distinct grup_codigo, maqu_codigo from pedido) as b on a.grup_codigo = b.grup_codigo
inner join neosuite.. maquina c on b.maqu_codigo = c.maqu_codigo
inner join (select grup_codigo, grup_nome from neoSuite.. grupo where grup_tipo = 'M') d on a.grup_codigo_pai = d.grup_codigo
where
prod_codigo not in (select prod_codigo from produto_insumo) and
maqu_apelido like ('neoStore PDV') or
maqu_apelido like ('neoAA Totem'))