Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- operacao.filial,
- operacao.data,
- operacao.hora,
- operacao.minuto,
- operacao.operador,
- empresas.hora_verao_ini AS hr_verao_init,
- empresas.hora_verao_fim AS hr_verao_end,
- empresas.fuso_horario AS fuso,
- SUM(
- CASE
- WHEN tipo = 'VENDA' THEN operacao.valor
- ELSE 0
- END
- ) venda_bruta,
- SUM(
- CASE
- WHEN tipo = 'TROCA' THEN operacao.valor
- ELSE 0
- END
- ) troca,
- departamento
- FROM
- (
- SELECT
- SUM(venda_bruta) valor,
- filial,
- hora,
- minuto,
- operador,
- data,
- 'VENDA' AS tipo,
- docdepto AS departamento
- FROM
- (
- SELECT
- SUM( (dociteqtd * docvaluni) - (dociteqtd * docdscorc) + (dociteqtd * docacrpla) - (dociteqtd * docdscpla) ) venda_bruta,
- doclojcod filial,
- docdtmovto data,
- docoprcod operador,
- CASE WHEN mcx.hora IS NOT NULL THEN
- mcx.hora
- WHEN substr(car.carhrefet, 1, 2) IS NOT NULL THEN
- substr(car.carhrefet, 1, 2)
- ELSE
- substr(DOCHRFIM, 1, 2)
- END hora,
- round(
- CASE WHEN mcx.hora IS NOT NULL THEN
- mcx.hora
- WHEN substr(car.carhrefet, 4, 2) IS NOT NULL THEN
- substr(car.carhrefet, 4, 2)
- ELSE
- substr(DOCHRFIM, 4, 2)
- END / 5, 0) * 5 minuto,
- docdepto
- FROM
- var.doc002
- JOIN var.doc001 USING ( doclojcod,
- doccod )
- LEFT JOIN (
- SELECT
- a.mcxlojcod,
- a.mcxnrovnc,
- a.mcxdtoper,
- MAX(substr(b.mcxhrfim,1,2) ) hora
- FROM
- var.mcx002 a,
- var.mcx002 b
- WHERE
- b.mcxlojori = a.mcxlojori
- AND b.mcxnroopr = a.mcxnroopr
- AND b.mcxoprcod != a.mcxoprcod
- AND a.mcxdtoper =:data
- GROUP BY
- a.mcxlojcod,
- a.mcxnrovnc,
- a.mcxdtoper
- ) mcx ON ( mcx.mcxlojcod = doclojcod
- AND mcx.mcxnrovnc = doccod
- AND mcx.mcxdtoper = docdtmovto )
- LEFT JOIN var.car001 car ON ( car.carlojcod = doclojcod
- AND car.carcod = doccod
- AND car.caroprcod = docoprcod )
- LEFT JOIN logix.cas_deptos dpto ON ( dpto.lin_prod = docdepto )
- WHERE
- docindexc <> 9
- AND docindexc1 <> 9
- AND docdtmovto =:data
- GROUP BY
- doclojcod,
- docdtmovto,
- docoprcod,
- mcx.hora,
- CASE WHEN mcx.hora IS NOT NULL THEN
- mcx.hora
- WHEN substr(car.carhrefet, 1, 2) IS NOT NULL THEN
- substr(car.carhrefet, 1, 2)
- ELSE
- substr(DOCHRFIM, 1, 2)
- END,
- round(
- CASE WHEN mcx.hora IS NOT NULL THEN
- mcx.hora
- WHEN substr(car.carhrefet, 4, 2) IS NOT NULL THEN
- substr(car.carhrefet, 4, 2)
- ELSE
- substr(DOCHRFIM, 4, 2)
- END / 5, 0) * 5,
- docdepto
- )
- GROUP BY
- filial,
- data,
- operador,
- hora,
- minuto,
- 'VENDA',
- docdepto
- UNION
- SELECT
- SUM(troca.valor_troca) valor,
- troca.filial filial,
- substr(mcxhrfim,1,2) hora,
- ROUND(substr(mcxhrfim,4,2) / 5,0) *5 minuto,
- mcxrspcod AS operador,
- trcdtmovto data,
- 'TROCA' AS tipo,
- troca.departamento AS departamento
- FROM
- (
- SELECT
- trc1.TRCLOJCOD filial,
- ITEDCMCOD departamento,
- SUM(trc2.TRCVALCMP) valor_troca,
- trcdtmovto,
- trc1.trccod
- FROM
- var.TRC001 trc1
- LEFT JOIN var.TRC002 trc2 ON ( trc1.TRCCOD = trc2.TRCCOD
- AND trc1.TRCLOJCOD = trc2.TRCLOJCOD )
- LEFT JOIN VAR.ITE001 item ON ( item.ITECOD = trc2.TRCITECOD )
- LEFT JOIN logix.EMPRESAS ON ( VARCOD = trc2.TRCLOJCOD )
- LEFT JOIN logix.cas_deptos dpto ON ( dpto.lin_prod = ITEDCMCOD )
- WHERE
- TRCDTMOVTO =:data
- AND GRUPO IN (
- 2,
- 3
- )
- GROUP BY
- trc1.TRCLOJCOD,
- ITEDCMCOD,
- trcdtmovto,
- trc1.trccod
- ) troca
- LEFT JOIN var.mcx002 ON ( mcxnrocrt = troca.trccod
- AND mcxlojori = troca.filial
- AND mcxdtoper = troca.trcdtmovto )
- WHERE
- troca.trcdtmovto =:data
- GROUP BY
- troca.filial,
- substr(mcxhrfim,1,2),
- ROUND(substr(mcxhrfim,4,2) / 5,0) *5,
- mcxrspcod,
- trcdtmovto,
- 'TROCA',
- troca.departamento
- ) operacao
- LEFT JOIN (
- SELECT
- filial,
- horario_verao_ini hora_verao_ini,
- horario_verao_fim hora_verao_fim,
- fuso_horario
- FROM
- filial_metadata
- ) empresas ON ( empresas.filial = operacao.filial )
- WHERE
- operacao.data =:data
- AND operacao.filial = 81
- GROUP BY
- operacao.filial,
- operacao.data,
- operacao.hora,
- operacao.minuto,
- operacao.operador,
- empresas.hora_verao_ini,
- empresas.hora_verao_fim,
- empresas.fuso_horario,
- departamento
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement