Conferência de Caixa - MD (issue 9150)
git-svn-id: http://desenvolvimento.rjconsultores.com.br/repositorio/sco/BD/FlyWay/trunk@72075 d1611594-4594-4d17-8e1d-87c2c4800839master
parent
16c282f441
commit
6b8cf3bde2
|
@ -0,0 +1,122 @@
|
||||||
|
CREATE OR REPLACE TRIGGER "VTABOL"."TR_PAF_FISCAL_ML2"
|
||||||
|
before delete or insert or update on VTABOL.FISCAL_ML2
|
||||||
|
REFERENCING NEW AS NEW OLD AS OLD
|
||||||
|
for each row
|
||||||
|
declare
|
||||||
|
impressora_id number;
|
||||||
|
|
||||||
|
tipoReg varchar(2);
|
||||||
|
cnpjMatriz varchar(14);
|
||||||
|
ieEmpTransp varchar(14);
|
||||||
|
imEmpTransp varchar(14);
|
||||||
|
numSerie20 varchar(20);
|
||||||
|
mfAdicional varchar(1);
|
||||||
|
tipoEcf varchar(7);
|
||||||
|
marca varchar(20);
|
||||||
|
modelo varchar(20);
|
||||||
|
numUsuario varchar(2);
|
||||||
|
ccf varchar(6); --M
|
||||||
|
coo varchar(6);
|
||||||
|
gnf varchar(6); --L
|
||||||
|
grg varchar(6); --L
|
||||||
|
dataEmissao varchar(8);
|
||||||
|
horaEmissao varchar(6);
|
||||||
|
modalidade varchar(2);
|
||||||
|
categoria varchar(2);
|
||||||
|
identLinha varchar(8);
|
||||||
|
codOrigem varchar(20);
|
||||||
|
codDestino varchar(20);
|
||||||
|
tipoServico varchar(2);
|
||||||
|
dataViagem varchar(8);
|
||||||
|
horaViagem varchar(6);
|
||||||
|
tipoViagem varchar(2);
|
||||||
|
poltrona varchar(7);
|
||||||
|
plataforma varchar(15);
|
||||||
|
codDesconto varchar(8);
|
||||||
|
valorTarifa varchar(8);
|
||||||
|
aliquota varchar(4); --M
|
||||||
|
pedagio varchar(8);
|
||||||
|
taxaEmbarque varchar(8);
|
||||||
|
valorTotal varchar(8);
|
||||||
|
formaPago varchar(2);
|
||||||
|
valorPago varchar(8);
|
||||||
|
nomePassageiro varchar(50);
|
||||||
|
numDocIdentif varchar(40);
|
||||||
|
sac varchar(15);
|
||||||
|
agencia varchar(35);
|
||||||
|
|
||||||
|
info varchar(433);
|
||||||
|
begin
|
||||||
|
impressora_id := 0;
|
||||||
|
|
||||||
|
IF DELETING THEN
|
||||||
|
impressora_id := :OLD.fiscalimpressora_id;
|
||||||
|
ELSIF INSERTING THEN
|
||||||
|
impressora_id := :NEW.fiscalimpressora_id;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
if user <> 'VTABOL' then
|
||||||
|
update punto_venta p set p.pafinvalido = 1 where p.puntoventa_id = (select puntoventa_id from fiscal_impressora where fiscalimpressora_id = impressora_id);
|
||||||
|
end if;
|
||||||
|
|
||||||
|
if INSERTING or UPDATING then
|
||||||
|
tipoReg := nvl(:NEW.tipoReg, '');
|
||||||
|
cnpjMatriz := nvl(:NEW.cnpjMatriz, '');
|
||||||
|
ieEmpTransp := nvl(:NEW.ieEmpTransp, '');
|
||||||
|
imEmpTransp := nvl(:NEW.imEmpTransp, '');
|
||||||
|
numSerie20 := nvl(:NEW.numserie20, '');
|
||||||
|
mfAdicional := nvl(:NEW.mfAdicional, '');
|
||||||
|
tipoEcf := nvl(:NEW.tipoEcf, '');
|
||||||
|
marca := nvl(:NEW.marca, '');
|
||||||
|
modelo := nvl(:NEW.modelo, '');
|
||||||
|
numUsuario := nvl(:NEW.numUsuario, '');
|
||||||
|
coo := nvl(:NEW.coo, '');
|
||||||
|
dataEmissao := nvl(:NEW.dataEmissao, '');
|
||||||
|
horaEmissao := nvl(:NEW.horaEmissao, '');
|
||||||
|
modalidade := nvl(:NEW.modalidade, '');
|
||||||
|
categoria := nvl(:NEW.categoria, '');
|
||||||
|
identLinha := nvl(:NEW.identLinha, '');
|
||||||
|
codOrigem := nvl(:NEW.codOrigem, '');
|
||||||
|
codDestino := nvl(:NEW.codDestino, '');
|
||||||
|
tipoServico := nvl(:NEW.tipoServico, '');
|
||||||
|
dataViagem := nvl(:NEW.dataViagem, '');
|
||||||
|
horaViagem := nvl(:NEW.horaViagem, '');
|
||||||
|
tipoViagem := nvl(:NEW.tipoViagem, '');
|
||||||
|
poltrona := nvl(:NEW.poltrona, '');
|
||||||
|
plataforma := nvl(:NEW.plataforma, '');
|
||||||
|
codDesconto := nvl(:NEW.codDesconto, '');
|
||||||
|
valorTarifa := nvl(:NEW.valorTarifa, '');
|
||||||
|
pedagio := nvl(:NEW.pedagio, '');
|
||||||
|
taxaEmbarque := nvl(:NEW.taxaEmbarque, '');
|
||||||
|
valorTotal := nvl(:NEW.valorTotal, '');
|
||||||
|
formaPago := nvl(:NEW.formaPago, '');
|
||||||
|
valorPago := nvl(:NEW.valorPago, '');
|
||||||
|
nomePassageiro := nvl(:NEW.nomePassageiro, '');
|
||||||
|
numDocIdentif := nvl(:NEW.numDocIdentif, '');
|
||||||
|
sac := nvl(:NEW.sac, '');
|
||||||
|
agencia := nvl(:NEW.agencia, '');
|
||||||
|
|
||||||
|
if UPPER(tipoReg) = 'M2' then
|
||||||
|
ccf := nvl(:NEW.ccf, '');
|
||||||
|
aliquota := nvl(:NEW.aliquota, '');
|
||||||
|
gnf := '';
|
||||||
|
grg := '';
|
||||||
|
else
|
||||||
|
gnf := nvl(:NEW.gnf, '');
|
||||||
|
grg := nvl(:NEW.grg, '');
|
||||||
|
ccf := '';
|
||||||
|
aliquota := '';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
--info := tipoReg || cnpjMatriz || ieEmpTransp || imEmpTransp || numSerie20 || mfAdicional || tipoEcf || marca || modelo || numUsuario || ccf || coo || gnf || grg || dataEmissao || horaEmissao || modalidade || categoria || identLinha || codOrigem || codDestino || tipoServico || dataViagem || horaViagem || tipoViagem || poltrona || plataforma || codDesconto || valorTarifa || aliquota || pedagio || taxaEmbarque || valorTotal || formaPago || valorPago || nomePassageiro || numDocIdentif || sac || agencia;
|
||||||
|
--info := SYS.DBMS_CRYPTO.Hash (UTL_I18N.STRING_TO_RAW (info, 'AL32UTF8'), 2);
|
||||||
|
info := SYS.DBMS_CRYPTO.Hash (UTL_I18N.STRING_TO_RAW (tipoReg || cnpjMatriz || ieEmpTransp || imEmpTransp || numSerie20 || mfAdicional || tipoEcf || marca || modelo || numUsuario || ccf || coo || gnf || grg || dataEmissao || horaEmissao || modalidade || categoria || identLinha || codOrigem || codDestino || tipoServico || dataViagem || horaViagem || tipoViagem || poltrona || plataforma || codDesconto || valorTarifa || aliquota || pedagio || taxaEmbarque || valorTotal || formaPago || valorPago || nomePassageiro || numDocIdentif || sac || agencia, 'AL32UTF8'), 2);
|
||||||
|
|
||||||
|
if user <> 'VTABOL' then
|
||||||
|
:NEW.hashbd := info;
|
||||||
|
else
|
||||||
|
:NEW.hashvta := SYS.DBMS_CRYPTO.Hash (UTL_I18N.STRING_TO_RAW ('RJA2014' || info, 'AL32UTF8'), 2);
|
||||||
|
:NEW.hashbd := info;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
end;
|
Loading…
Reference in New Issue