Untitled

 avatar
unknown
plain_text
2 months ago
9.7 kB
2
Indexable
 insert into monx_dfitem
    select a.nroempresa nroempresaerp,
           decode(a.nroserieecf, 'NF', nvl(a.numeronf, a.numerodf), a.numerodf) numerodf,
           nvl(a.serienf, a.seriedf) seriedf,
           a.seqitemdf,
           decode(a.nroserieecf, 'NF', a.nroserieecf, a.nroserieecf || to_char(a.dtamovimento, 'yymmdd')) nroserieecf,
           a.dtamovimento,
           a.codproduto seqproduto,
           a.qtdembalagem,
           a.codacesso codproduto,
           a.nrotributacao codtributacao,
           case
             when a.seriedf != 'NF' or a.modelodf = '65' then
               'SN'
             else
               decode(to_char(fn_getparametropdv('NotaFiscal', 'ConsideraConsumidorFinalCGO', b.nroempresapdv, a.nrocheckout)), 'S',
                decode(a.modelodf, '55', decode(m.indconsumidorfinal, 'S', 'SN', 'SC'), 'SN'),
                decode(a.modelodf, '55', decode(f.indcontribicms, 'S', 'SC', 'SN'), 'SN'))
           end tiptributacao,
           nvl(a.situacaonf, d.situacaonf) situacaonf,
           case
             when not a.nrobico is null then
               (select max(b1.seqlocal)
                  from mrl_postobico a1, mrl_postotanque b1
                 where a1.nroempresa = a.nroempresa
                   and a1.nrobico = a.nrobico
                   and b1.nroempresa = a1.nroempresa
                   and b1.nrotanque = a1.nrotanque)
             when not i.seqlocal is null and fc5maxparametro('BAIXA_PDV', a.nroempresa, 'UTILIZA_LOCAL_BAIXA_PEDIDO_PDV') = 'S' then
               i.seqlocal
             else
               decode(fc5maxparametro('BAIXA_PDV', a.nroempresa, 'LOCAL_BAIXA_PRODUTO_PDV'), 'C', nvl(g.localproduto, nvl(k.locsaida, c.locsaida)), nvl(k.locsaida, c.locsaida))
           end locatuestq,
           a.quantidade,
           case
             when (a.vlripi > a.vlracrescimo) then
               vlritem - (a.vlripi - a.vlracrescimo)
             else a.vlritem
           end vlritem,
           a.vlrtotisento,
           a.vlrtotoutra,
           case
             when d.ufempresa = 'RJ' and substr(d.situacaonf, 2, 2) = '51' and a.perdiferido = 100 then
               a.bascalcicms + nvl(a.vlrtoticmsdif, 0)
             when (a.vlripi > 0) and (f.fisicajuridica in ('F','J')) and (f.indcontribicms = 'N') then
               nvl(a.basecalcipi + a.vlripi, 0)
             when (a.vlracrescimo > 0) and (a.vlripi > a.vlracrescimo) and (f.fisicajuridica = 'F') then
               nvl(a.basecalcipi, 0)
             when (a.vlripi > 0) and (f.fisicajuridica = 'J') and (f.indcontribicms = 'S') then
               nvl(a.basecalcipi - a.vlrtotisento - a.vlrtotoutra, 0)
             else nvl(a.bascalcicms, 0)
           end bascalcicms,
           a.peraliquotaicms,
           a.basecalcicmsst,
           a.peraliquotaicmsst,
           a.vlricmsst,
           nvl(a.basecalcipi, 0) basecalcipi,
           a.peraliquotaipi,
           a.vlrdesconto,
           case
             when (a.vlripi > a.vlracrescimo) then
               a.vlripi
             else nvl(a.vlracrescimo, 0)
           end vlracrescimo,
           0 vlracrfinanceiro,
           0 vlrtotcomissao,
           0 vlrdescforanf,
           0 vlracrforanf,
           a.statusitem,
           a.cfop,
           'S' indreplicacao,
           a.vlrtotisentoipi,
           a.vlrtotoutraipi,
           a.vlripi,
           a.seqvendedor nrorepitem,
           a.vlrdescicms,
           a.basefcpicms,
           a.peraliqfcpicms,
           a.vlrfcpicms,
           a.basefcpst,
           a.peraliqfcpst,
           a.vlrfcpst,
           a.vlritemnormal,
           a.vlrdescsubtotal,
           a.nropedido nropedidovenda,
           a.seqpromocpdv,
           a.seqregraincentivo,
           a.nrosegmento nrosegitem,
           a.seqidprescritor,
           a.dtareceita,
           a.seqloteestoque,
           a.nronotificacao,
           a.vlrbaseiss,
           a.peraliqiss,
           a.vlrtotiss,
           a.nrobico,
           (select max(i1.vlrfretetransp)
              from mad_pedvendaitem i1
             where i1.nroempresa = i.nroempresa
               and i1.nropedvenda = i.nropedvenda
               and i1.seqproduto = a.codproduto
               and i1.qtdembalagem = a.qtdembalagem) vlrfretetransp,
           a.seqordemnfe,
           a.seqprodutofinal,
           a.quantidadeprodfinal,
           a.tipopromocpdv,
           a.precovalidnormal vlrtotalvdanormal,
           decode(a.seqprodutofinal, null, 'N', decode(vsbaixaprodcomposto, 'F', 'S', 'N')) indconvertcomponente,
           null vlrfreteitemrateio,
           null vlrsegurorateiodanfe,
           null vlrdespesarateiodanfe,
           decode(
             (select max(a1.seqtipoacrescdescto)
                from monx_doctoacrescdescto a1
               where a1.nroempresa = a.nroempresapdv
                 and a1.nrocheckout = a.nrocheckoutpdv
                 and a1.seqdocto = a.seqdoctopdv                                
                 and a1.seqtipoacrescdescto = 41), 41, decode(a.modelodf, '55', l.indsomafreteicms, 'N'), l.indsomafreteicms) indsomafreteicms,

           a.medpacientecid,
           a.usoprolongado,
           a.imei,
           decode(vsbaixaestoquenotaassincrono, 'S', 'P', null) indsomentevda,
           null qtdverbapdv,
           null vlrverbapdv,
           null vlrpiscofinsverbapdv,
           a.perredbcicmsefet,
           a.vlrbaseicmsefet,
           a.peraliqicmsefet,
           a.vlricmsefet,
           case
             when (a.vlripi > a.vlracrescimo) then
               a.vlrunitarioecf - ((a.vlripi - a.vlracrescimo) / a.quantidade)
             else a.vlrunitarioecf
           end vlrunitarioecf,
           case
             when (a.vlripi > a.vlracrescimo) then
               0
             else (a.vlracrescimo - nvl(a.vlripi, 0))
           end vlrtotdespacessoria,
           a.motivodesoneracao indmotivodesoicms,
           a.codajusteinfad codajusteefd,
           a.vlrtoticmsdeson vlrtoticmsdesonoutros,
           a.vlrtoticmsdif vlricmsdiferido,
           a.perdiferido,
           d.indcalcicmsdesonoutros,
           d.peraliqicmsdeson,
           a.indvdaproximovencto,
           a.seqcenariotrib,
           a.seqcenariotribconsulta,
           a.codobservacaoajusteefd,
           case
             when (a.vlripi > 0) and (a.vlripi >= a.vlracrescimo) then
               null
             else decode(a.modelodf, '65', a.vlricms, decode(nvl(a.vlrtoticmsdif, 0), 0, a.vlricms, null))
           end vlricms,
           d.situacaonfipi,
           case
             when d.ufempresa = 'RJ' and substr(d.situacaonf, 2, 2) = '51' then
               a.peraliquotaicms
           end peraliqicmsorig,
           a.vlripiprecovda,
           0 vlrfreterateiopdv,
           0 vlrdesptributitem,
           0 vlrdespntributitem
      from mfl_cupomfiscal a,
           max_empresa b,
           mrl_produtoempresa c,
           map_tributacaouf d,
           ge_pessoa e,
           ge_pessoa f,
           mfl_checkout g,
           mrl_cliente h,
           mad_pedvenda i,
           mrl_cliente j,
           max_cgolocalemp k,
           mad_segmento l,
           max_codgeraloper m
     where a.nroempresa = vnnroempresaerp
       and a.dtamovimento = pddtamovimento
       and a.statusitem in ('C', 'V')
       and a.indreplicacao = 'x'
       and b.nroempresa = a.nroempresa
       and not a.codproduto in (nvl(b.seqprodfrete, -1), nvl(b.seqprodseguro, -1), nvl(b.seqproddespesa, -1))
       and c.seqproduto = a.codproduto
       and c.nroempresa = b.nroempresa
       and d.nrotributacao = a.nrotributacao
       and d.ufempresa = b.uf
       and d.ufclientefornec = decode(a.modelodf, '65', b.uf,
          decode(a.seriedf, 'NF',
                  decode(to_char(fn_getparametropdv('NotaFiscal',
                                                    'ConsideraTributacaoDestino',
                                                    a.nroempresa,
                                                    a.nrocheckout)),
                          'S', f.uf,
                          decode(m.indconsumidorfinal, 'N',
                                  decode(m.indpresenca, 'N',
                                          decode(m.indvendainterpresencial, 'N',
                                                  f.uf, b.uf), b.uf), b.uf)),
                  b.uf))
       and d.tiptributacao = decode(to_char(fn_getparametropdv('NotaFiscal', 'ConsideraConsumidorFinalCGO', b.nroempresapdv, a.nrocheckout)), 'S',
        decode(a.modelodf, '55', decode(m.indconsumidorfinal, 'S', 'SN', 'SC'), 'SN'),
        decode(a.modelodf, '55', decode(f.indcontribicms, 'S', 'SC', 'SN'), 'SN'))
       and d.nroregtributacao = nvl(a.nroregtributacao, nvl(decode(a.modelodf, '65', j.nroregtributacaocli, h.nroregtributacaocli), (select min(nroregtributacao) from map_regimetributacao)))
       and g.nrocheckout(+) = a.nrocheckout
       and g.nroempresa(+) = a.nroempresa
       and e.seqpessoa = b.seqpessoaemp
       and f.seqpessoa(+) = a.seqpessoa
       and h.seqpessoa(+) = a.seqpessoa
       and i.nroempresa(+) = a.nroempresa
       and i.nropedvenda(+) = a.nropedido
       and j.seqpessoa(+) = b.seqpessoaemp
       and k.codgeraloper(+) = a.codgeraloper
       and k.nroempresa(+) = a.nroempresa
       and l.nrosegmento = a.nrosegmento
       and m.codgeraloper(+) = a.codgeraloper
     order by a.codproduto, a.qtdembalagem;
Editor is loading...
Leave a Comment