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