1. update sg_colaborador set email = 'samara.martins@unosolucoes.com.br';
update cd_fornecedor set email = 'samara.martins@unosolucoes.com.br';
update cd_cliente set email_cobranca = 'samara.martins@unosolucoes.com.br';
update vd_vendedor_revenda set email = 'emaildaunonaofunciona@gmail.com';
update cd_empresa set email = 'emaildaunonaofunciona@gmail.com';
update cd_cliente_contato set email = 'samara.martins@unosolucoes.com.br';
update cd_cliente set email_cobranca = 'samara.martins@unosolucoes.com.br';
UPDATE `vd_pedido` SET `email_cliente`='samara.martins@unosolucoes.com.br';
UPDATE `vd_ponto_controle` SET
`email_aviso`='samara.martins@unosolucoes.com.br';
UPDATE cd_param_empresa SET valor = 'smtp.gmail.com' WHERE nome_param =
'smtpPadrao';
UPDATE cd_param_empresa SET valor = 'emaildaunonaofunciona@gmail.com' WHERE
nome_param = 'emailSMTP';
UPDATE cd_param_empresa SET valor = 'emaildaunonaofunciona@gmail.com' WHERE
nome_param = 'usuarioSMTP';
UPDATE cd_param_empresa SET valor = 'emaildaunonaofunciona1' WHERE nome_param =
'senhaSMTP';
UPDATE cd_param_empresa SET valor = '587' WHERE nome_param = 'portaSMTP';
UPDATE `cd_param_empresa` SET `valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailCobranca';
UPDATE `cd_param_empresa` SET `valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailInclusaoProduto';
UPDATE `cd_param_empresa` SET `valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailSuporte';
UPDATE `cd_param_empresa` SET `valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailAlteracaoCliente';
UPDATE `cd_param_empresa` SET `valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailSuporte';
Update `vd_vendedor_revenda` SET `nome_colaborador`='uno',
`email`='emaildaunonaofunciona@gmail.com', `telefone_1`='11111111111',
`ddd_1`=11, `id_usuario`='unosol', `senha`='6348f4fbdb0700923a4c4daa43834433',
`dica_senha`='padrao';
UPDATE `oc_categoria` SET `email`='emaildaunonaofunciona@gmail.com';
UPDATE `cd_param_empresa` SET
`valor`='http://ucommerce.com.br/phpboleto2/files/geraboleto.php' WHERE
`nome_param`='urlGeraBoleto';
UPDATE `cd_param_empresa` SET `valor`='http://ucommerce.com.br' WHERE
`nome_param`='ipBoleto';
UPDATE `cd_param_empresa` SET
`valor`='http://ucommerce.com.br/phpboleto2/files/geraboleto.php' WHERE
`nome_param`='urlGeraBoleto';
UPDATE `cd_param_empresa` SET `valor`='/var/www/phpboleto2/files/boletos/' WHERE
`nome_param`='urlArquivosBoleto';
UPDATE `cd_param_empresa` SET `valor`='http://ucommerce.com.br' WHERE
`nome_param`='ipEmailBoleto';
UPDATE `cd_param_empresa` SET `valor`='http://ucommerce.com.br' WHERE
`nome_param`='ipBoleto';
UPDATE `cd_parametro` SET `def_valor`='' WHERE `nome_param`='pathBoleto';
UPDATE `cd_parametro` SET
`def_valor`='/home/httpd/html/phpboleto2/files/boletos/' WHERE
`nome_param`='urlArquivosBoleto';
UPDATE `cd_parametro` SET
`def_valor`='http://ucommerce.com.br/phpboleto2/files/geraboleto.php' WHERE
`nome_param`='urlGeraBoleto';
UPDATE `cd_parametro` SET `def_valor`='ucommerce.com.br' WHERE
`nome_param`='ipEmailBoleto';
UPDATE `cd_parametro` SET `def_valor`='ucommerce.com.br' WHERE
`nome_param`='ipBoleto';
UPDATE `cd_param_empresa` SET `valor`='samara.martins@unosolucoes.com.br' WHERE
`nome_param`='emailGerenteVendas';
UPDATE at_status SET email_aviso ='samara.martins@unosolucoes.com.br',
2. email_responsavel ='samara.martins@unosolucoes.com.br';
UPDATE at_status SET email_aviso='samara.martins@unosolucoes.com.br',
email_responsavel='samara.martins@unosolucoes.com.br' ;
UPDATE `cd_param_empresa` SET `valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailSolicitacao';
UPDATE `cd_parametro` SET `def_valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailCobranca';
UPDATE `cd_parametro` SET `def_valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailDestino';
UPDATE `cd_parametro` SET `def_valor`='emaildaunonaofunciona@gmail.com' WHERE
`nome_param`='emailSuporte';
UPDATE `cd_cliente` SET `email_nfe`='samara.martins@unosolucoes.com.br';
UPDATE `fn_titulo_receber` SET
`email_cliente`='samara.martins@unosolucoes.com.br';
UPDATE `cd_banco` SET `bo_email`='samara.martins@unosolucoes.com.br' ;
UPDATE `sg_colaborador` SET `senha`='c4ca4238a0b923820dcc509a6f75849b';
UPDATE `vd_vendedor_revenda` SET `senha`='c4ca4238a0b923820dcc509a6f75849b';
UPDATE `cd_cliente` SET `cod_colaborador_revenda`=1;
UPDATE `cd_cliente_contato` SET `id_contato`='unosol',
`senha`='c4ca4238a0b923820dcc509a6f75849b' WHERE `cod_cliente`=1 AND
`cod_contato`=1;
UPDATE `cd_cliente_contato` SET `dt_senha`='2099-03-30' WHERE `cod_cliente`=1
AND `cod_contato`=1;
UPDATE cd_param_empresa SET valor = null WHERE nome_param = "ipAplicacao";
UPDATE cd_param_empresa SET valor = null WHERE nome_param =
'emailCopiaPedidosAbertos';
DELETE from sg_crontab;
TRUNCATE sg_crontab;
UPDATE gm_nfe_adm_empresa SET Validade = '16/04/2999' ;
UPDATE gm_nfe_adm_empresa SET CNPJ ='' ;
UPDATE gm_nfe_adm_empresa SET InscEstadual ='' ;
SET storage_engine = "Innodb";
SET FOREIGN_KEY_CHECKS = 0;
SET GLOBAL log_bin_trust_function_creators = 1;
DROP FUNCTION IF EXISTS calcularJurosPagar;
DROP FUNCTION IF EXISTS getDtVencimentoFeriado;
DROP FUNCTION IF EXISTS getSaldoContasPagarFornecedor;
DROP FUNCTION IF EXISTS getSaldoContasPagarFornecedoresPeriodo;
DROP FUNCTION IF EXISTS getValorBaixaContasPagar;
DROP FUNCTION IF EXISTS calcularJurosReceber;
DROP FUNCTION IF EXISTS getSaldoContasReceberCliente;
DROP FUNCTION IF EXISTS getSaldoContasReceberClientesPeriodo;
DROP FUNCTION IF EXISTS getValorBaixaContasReceber;
delimiter //
CREATE FUNCTION calcularJurosReceber( codEmpresa integer, codTitulo integer ,
codParcela integer, pSerie char(3) , dataReferencia date , retornaSaldo char)
returns decimal(17,2)
BEGIN
declare vlMulta decimal(17,2);
declare vlJuros decimal(17,2);
declare tarifaBoleto decimal(17,2);
declare vlTotalJurosMultaPont decimal(17,2);
declare vlTitulo decimal(17,2);
declare vlBaixa decimal(17,2);
declare vlTituloMenosImpostos decimal(17,2);
3. declare vlDesconto decimal(17,2);
declare percMulta decimal(17,2);
declare percJuros decimal(17,2);
declare vlSaldo decimal(17,2);
declare mesHoje int;
declare anoHoje int;
declare anoVenc int;
declare diasAtraso int;
declare dataVencimento date;
declare dataUltimaBaixa date;
declare tpJuros int;
set vlMulta = 0.0;
set vlJuros = 0.0;
set tarifaBoleto = 0.0;
set vlTotalJurosMultaPont = 0.0;
set vlTitulo = 0.0;
set vlBaixa = 0.0;
set vlTituloMenosImpostos = 0.0;
set vlDesconto = 0.0;
set percMulta = 0.0;
set percJuros = 0.0;
set vlSaldo = 0.0;
set tpJuros = 0;
SELECT
ifnull(fn_titulo_receber.vl_desconto ,0.0) as vlDesconto,
ifnull(fn_titulo_receber.perc_multa,0.0) as percMulta,
ifnulL(fn_titulo_receber.perc_juros,0.0) as percJuros,
getValorBaixaContasReceber
(
fn_titulo_receber.cod_empresa,
fn_titulo_receber.cod_titulo,
fn_titulo_receber.cod_parcela ,
fn_titulo_receber.serie ,
dataReferencia
) as vlBaixa,
fn_titulo_receber.vl_total_titulo as vlTitulo,
fn_titulo_receber.vl_total_titulo -
( ifnull( fn_titulo_receber.vl_iss , 0 )
+ ifnull(fn_titulo_receber.vl_ir,0)
+ ifnull( fn_titulo_receber.vl_pis, 0 )
+ ifnull( fn_titulo_receber.vl_cofins , 0 )
+ ifnull( fn_titulo_receber.vl_cs , 0 )
) as
vlTituloMenosImpostos,
ifnull( fn_titulo_receber.tp_juros , 0 )
as tpJuros,
ifnull( fn_titulo_receber.taxa_boleto , 0 )
as tarifaBoleto,
-- Pega a data do vencimento desconsiderando feriados e sábado e
domingo.
getDtVencimentoFeriado(fn_titulo_receber.dt_vencimento)
as dtVencimento,
(
select max(hist.dt_referencia)
from fn_titulo_receber_hist as hist
where
5. -- Verifica se deverá utilizar a data da última baixa para cálculo dos
-- juros.
IF ( dataUltimaBaixa != null ) THEN
IF ( dataUtimaBaixa > dataVencimento ) THEN
set dataReferencia = dataUltimaBaixa ;
END IF;
END IF;
-- Juros ao dia
IF ( tpJuros = 0 ) THEN
set diasAtraso = DATEDIFF(dataReferencia,dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
-- Juros ao Mês
IF ( tpJuros = 1 ) THEN
set mesHoje = month(dataReferencia);
set anoHoje = year(dataReferencia);
set anoVenc = year(dataVencimento);
set diasAtraso = mesHoje + ((anoHoje - anoVenc) * 12 );
set diasAtraso = mesHoje - month(dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
set vlMulta = ( vlSaldo + tarifaBoleto ) * percMulta;
IF ( ( vlMulta + vlJuros - vlDesconto ) IS NULL ) THEN
IF( retornaSaldo = '1' ) THEN
return vlSaldo;
END IF;
return 0.0;
END IF;
IF( retornaSaldo = '1' ) THEN
return vlSaldo + vlMulta + vlJuros - vlDesconto;
END IF;
return vlMulta + vlJuros - vlDesconto;
END
//
CREATE FUNCTION getSaldoContasReceberCliente( codEmpresa integer, codCliente
integer , pDTReferencia char(10) ) returns decimal(17,2)
BEGIN
declare vlSaldo decimal(17,2);
select
sum( calcularJurosReceber(tipa.cod_empresa,tipa.cod_titulo,tipa.cod_parcela,
serie ,cast(pDTReferencia as date) , '1' )
) as 'credito'
into
vlSaldo
from
fn_titulo_receber tipa
where
tipa.situacao between 10 and 30
and
6. tipa.dt_implant < pDTReferencia
and
tipa.cod_empresa = codEmpresa
and
tipa.cod_cliente = codCliente
and
(
(
tipa.vl_total_titulo -
( ifnull( tipa.vl_iss , 0 )
+ ifnull( tipa.vl_ir,0)
+ ifnull( tipa.vl_pis, 0 )
+ ifnull( tipa.vl_cofins , 0 )
+ ifnull( tipa.vl_cs , 0 )
)
) -
CASE WHEN
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_receber_hist as hist
where
hist.cod_empresa = tipa.cod_empresa
and
hist.cod_titulo = tipa.cod_titulo
and
hist.cod_parcela = tipa.cod_parcela
and
hist.serie = tipa.serie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
IS NULL
THEN
0.0
ELSE
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_receber_hist as hist
where
hist.cod_empresa = tipa.cod_empresa
and
hist.cod_titulo = tipa.cod_titulo
and
hist.cod_parcela = tipa.cod_parcela
and
hist.serie = tipa.serie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
END
) > 0
;
7. IF ( vlSaldo IS NULL ) THEN
return 0.0;
END IF;
return vlSaldo;
end
//
CREATE FUNCTION getSaldoContasReceberClientesPeriodo( codEmpresa integer,
pDTReferencia char(10) , pDataFinal char(19)) returns decimal(17,2)
BEGIN
declare done INT DEFAULT 0;
declare vlSaldo decimal(17,2);
declare pCliente integer;
declare vlSaldoTotal decimal(17,2);
DECLARE curClientes CURSOR FOR
select
distinct tipaPeriodo.cod_cliente
from
fn_titulo_receber tipaPeriodo
LEFT OUTER JOIN fn_titulo_receber_hist
as hist
ON
hist.cod_empresa =
tipaPeriodo.cod_empresa
and
hist.cod_titulo =
tipaPeriodo.cod_titulo
and
hist.cod_parcela =
tipaPeriodo.cod_parcela
and
hist.serie =
tipaPeriodo.serie
where
tipaPeriodo.cod_empresa =
codEmpresa
and
(
(
hist.dt_referencia between
pDTReferencia and pDataFinal
and
hist.tp_hist = 30
)
or
(
tipaPeriodo.dt_implant
between pDTReferencia and pDataFinal
and
tipaPeriodo.situacao between
10 and 30
)
);
declare CONTINUE HANDLER FOR NOT FOUND SET done = 1;
8. set vlSaldoTotal = 0;
OPEN curClientes;
read_loop: LOOP
FETCH curClientes INTO pCliente;
-- Verifica se o loop deverá ser terminado
IF done THEN
LEAVE read_loop;
END IF;
select
sum( calcularJurosReceber(tipa.cod_empresa,tipa.cod_titulo,tipa.cod_parcela,tipa
.serie,cast(pDTReferencia as date) , '1' )
) as 'credito'
into
vlSaldo
from
fn_titulo_receber tipa
where
tipa.situacao between 10 and 30
and
tipa.dt_implant < pDTReferencia
and
tipa.cod_empresa = codEmpresa
and
cod_cliente = pCliente
and
(
(
tipa.vl_total_titulo -
( ifnull( tipa.vl_iss , 0 )
+ ifnull( tipa.vl_ir,0)
+ ifnull( tipa.vl_pis, 0 )
+ ifnull( tipa.vl_cofins , 0 )
+ ifnull( tipa.vl_cs , 0 )
)
) -
CASE WHEN
(
select
sum(ifnull(hist.vl_baixa,0))
from fn_titulo_receber_hist as
hist
where
hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
and
hist.cod_parcela =
tipa.cod_parcela
and
hist.serie =
tipa.serie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
9. IS NULL
THEN
0.0
ELSE
(
select
sum(ifnull(hist.vl_baixa,0))
from fn_titulo_receber_hist as
hist
where
hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
and
hist.cod_parcela =
tipa.cod_parcela
and
hist.serie =
tipa.serie
and
hist.tp_hist = 30
and
hist.dt_referencia < cast(
pDTReferencia as date )
)
END
) > 0
;
IF ( vlSaldo IS NULL ) THEN
set vlSaldo = 0.0;
END IF;
SET vlSaldoTotal = vlSaldoTotal + vlSaldo;
END LOOP;
CLOSE curClientes;
return vlSaldoTotal;
end
//
CREATE FUNCTION getValorBaixaContasReceber( codEmpresa integer, pCodTitulo
integer, pCodParcela integer , pSerie char(3) , pDTReferencia char(10) )
returns decimal(17,2)
BEGIN
declare vlBaixa decimal(17,2);
select
sum(
CASE WHEN
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_receber_hist as hist
where
hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
10. and
hist.cod_parcela =
tipa.cod_parcela
and
hist.serie = tipa.serie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
IS NULL
THEN
0.0
ELSE
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_receber_hist as hist
where
hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
and
hist.cod_parcela =
tipa.cod_parcela
and
hist.serie =
tipa.serie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
END
) as 'valorBaixa'
into
vlBaixa
from
fn_titulo_receber tipa
where
tipa.situacao between 10 and 30
and
tipa.dt_vencimento < pDTReferencia
and
tipa.cod_empresa = codEmpresa
and
tipa.cod_titulo = pCodTitulo
and
tipa.cod_parcela = pCodParcela
and
tipa.serie = pSerie;
IF ( vlBaixa IS NULL ) THEN
return 0.0;
END IF;
return vlBaixa;
end
//
11. CREATE FUNCTION calcularJurosPagar( codEmpresa integer, codTitulo integer ,
codParcela integer, codFornecedor integer , codEspecie integer , dataReferencia
date , retornaSaldo char) returns decimal(17,2)
BEGIN
declare vlMulta decimal(17,2);
declare vlJuros decimal(17,2);
declare tarifaBoleto decimal(17,2);
declare vlTotalJurosMultaPont decimal(17,2);
declare vlTitulo decimal(17,2);
declare vlBaixa decimal(17,2);
declare vlTituloMenosImpostos decimal(17,2);
declare vlDesconto decimal(17,2);
declare percMulta decimal(17,2);
declare percJuros decimal(17,2);
declare vlSaldo decimal(17,2);
declare mesHoje int;
declare anoHoje int;
declare anoVenc int;
declare diasAtraso int;
declare dataVencimento date;
declare dataUltimaBaixa date;
declare tpJuros int;
set vlMulta = 0.0;
set vlJuros = 0.0;
set tarifaBoleto = 0.0;
set vlTotalJurosMultaPont = 0.0;
set vlTitulo = 0.0;
set vlBaixa = 0.0;
set vlTituloMenosImpostos = 0.0;
set vlDesconto = 0.0;
set percMulta = 0.0;
set percJuros = 0.0;
set vlSaldo = 0.0;
set tpJuros = 0;
SELECT
ifnull(fn_titulo_pagar.vl_desconto ,0.0) as vlDesconto,
ifnull(fn_titulo_pagar.perc_multa,0.0) as percMulta,
ifnulL(fn_titulo_pagar.perc_juros,0.0) as percJuros,
getValorBaixaContasPagar
(
fn_titulo_pagar.cod_empresa,
fn_titulo_pagar.cod_titulo,
fn_titulo_pagar.cod_parcela ,
fn_titulo_pagar.cod_fornecedor ,
fn_titulo_pagar.cod_especie ,
dataReferencia
) as vlBaixa,
fn_titulo_pagar.vl_total_titulo as vlTitulo,
fn_titulo_pagar.vl_total_titulo -
( ifnull( fn_titulo_pagar.vl_iss , 0 )
+ ifnull(fn_titulo_pagar.vl_ir,0)
+ ifnull( fn_titulo_pagar.vl_pis, 0 )
+ ifnull( fn_titulo_pagar.vl_cofins , 0 )
+ ifnull( fn_titulo_pagar.vl_cs , 0 )
) as
vlTituloMenosImpostos,
ifnull( fn_titulo_pagar.tp_juros , 0 )
13. -- Se tÃtulo não estiver vencido
IF ( vlSaldo < 0 OR DATE_FORMAT(dataReferencia, '%Y-%m-%d') <=
DATE_FORMAT(dataVencimento, '%Y-%m-%d') ) THEN
IF ( ifnull(vlBaixa,0) = 0 ) THEN
return 0.0;
ELSE
return ABS(vlSaldo);
END IF;
END IF;
IF ( vlSaldo <= 0 AND DATE_FORMAT(ifnull(dataUltimaBaixa,dataVencimento),
'%Y-%m-%d') <= DATE_FORMAT(dataVencimento, '%Y-%m-%d') ) THEN
return ABS(vlSaldo);
END IF;
-- Verifica se deverá utilizar a data da última baixa para cálculo dos
-- juros.
IF ( dataUltimaBaixa != null ) THEN
IF ( dataUtimaBaixa > dataVencimento ) THEN
set dataReferencia = dataUltimaBaixa ;
END IF;
END IF;
-- Juros ao dia
IF ( tpJuros = 0 ) THEN
set diasAtraso = DATEDIFF(dataReferencia,dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
-- Juros ao Mês
IF ( tpJuros = 1 ) THEN
set mesHoje = month(dataReferencia);
set anoHoje = year(dataReferencia);
set anoVenc = year(dataVencimento);
set diasAtraso = mesHoje + ((anoHoje - anoVenc) * 12 );
set diasAtraso = mesHoje - month(dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
set vlMulta = ( vlSaldo + tarifaBoleto ) * percMulta;
IF ( ( vlMulta + vlJuros - vlDesconto ) IS NULL ) THEN
IF( retornaSaldo = '1' ) THEN
return vlSaldo;
END IF;
return 0.0;
END IF;
IF( retornaSaldo = '1' ) THEN
return vlSaldo + vlMulta + vlJuros - vlDesconto;
END IF;
return vlMulta + vlJuros - vlDesconto;
END
//
15. + ifnull( tipa.vl_pis, 0 )
+ ifnull( tipa.vl_cofins , 0 )
+ ifnull( tipa.vl_cs , 0 )
)
) -
CASE WHEN
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_pagar_hist as hist
where
hist.cod_empresa = tipa.cod_empresa
and
hist.cod_titulo = tipa.cod_titulo
and
hist.cod_parcela = tipa.cod_parcela
and
hist.cod_fornecedor =
tipa.cod_fornecedor
and
hist.cod_especie = tipa.cod_especie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
IS NULL
THEN
0.0
ELSE
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_pagar_hist as hist
where
hist.cod_empresa = tipa.cod_empresa
and
hist.cod_titulo = tipa.cod_titulo
and
hist.cod_parcela = tipa.cod_parcela
and
hist.cod_fornecedor =
tipa.cod_fornecedor
and
hist.cod_especie = tipa.cod_especie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
END
) > 0
;
IF ( vlSaldo IS NULL ) THEN
return 0.0;
16. END IF;
return vlSaldo;
end
//
CREATE FUNCTION getSaldoContasPagarFornecedoresPeriodo( codEmpresa integer,
pDTReferencia char(10) , pDataFinal char(19)) returns decimal(17,2)
BEGIN
declare done INT DEFAULT 0;
declare vlSaldo decimal(17,2);
declare pFornecedor integer;
declare vlSaldoTotal decimal(17,2);
DECLARE curFornecedores CURSOR FOR
select
distinct tipaPeriodo.cod_fornecedor
from
fn_titulo_pagar tipaPeriodo
LEFT OUTER JOIN fn_titulo_pagar_hist as
hist
ON
hist.cod_empresa =
tipaPeriodo.cod_empresa
and
hist.cod_titulo =
tipaPeriodo.cod_titulo
and
hist.cod_parcela =
tipaPeriodo.cod_parcela
and
hist.cod_fornecedor =
tipaPeriodo.cod_fornecedor
and
hist.cod_especie =
tipaPeriodo.cod_especie
where
tipaPeriodo.cod_empresa =
codEmpresa
and
(
(
hist.dt_referencia between
pDTReferencia and pDataFinal
and
hist.tp_hist = 30
)
or
(
tipaPeriodo.dt_implant
between pDTReferencia and pDataFinal
and
tipaPeriodo.situacao between
10 and 30
)
);
declare CONTINUE HANDLER FOR NOT FOUND SET done = 1;
set vlSaldoTotal = 0;
17. OPEN curFornecedores;
read_loop: LOOP
FETCH curFornecedores INTO pFornecedor;
-- Verifica se o loop deverá ser terminado
IF done THEN
LEAVE read_loop;
END IF;
select
sum( calcularJurosPagar(tipa.cod_empresa,tipa.cod_titulo,tipa.cod_parcela,tipa.c
od_fornecedor,tipa.cod_especie,cast(pDTReferencia as date) , '1' )
) as 'credito'
into
vlSaldo
from
fn_titulo_pagar tipa
where
tipa.situacao between 10 and 30
and
tipa.dt_implant < pDTReferencia
and
tipa.cod_empresa = codEmpresa
and
cod_fornecedor = pFornecedor
and
(
(
tipa.vl_total_titulo -
( ifnull( tipa.vl_iss , 0 )
+ ifnull( tipa.vl_ir,0)
+ ifnull( tipa.vl_pis, 0 )
+ ifnull( tipa.vl_cofins , 0 )
+ ifnull( tipa.vl_cs , 0 )
)
) -
CASE WHEN
(
select
sum(ifnull(hist.vl_baixa,0))
from fn_titulo_pagar_hist as hist
where
hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
and
hist.cod_parcela =
tipa.cod_parcela
and
hist.cod_fornecedor =
tipa.cod_fornecedor
and
hist.cod_especie =
tipa.cod_especie
and
hist.tp_hist = 30
and
hist.dt_referencia <
18. cast( pDTReferencia as date )
)
IS NULL
THEN
0.0
ELSE
(
select
sum(ifnull(hist.vl_baixa,0))
from fn_titulo_pagar_hist as hist
where
hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
and
hist.cod_parcela =
tipa.cod_parcela
and
hist.cod_fornecedor =
tipa.cod_fornecedor
and
hist.cod_especie =
tipa.cod_especie
and
hist.tp_hist = 30
and
hist.dt_referencia < cast(
pDTReferencia as date )
)
END
) > 0
;
IF ( vlSaldo IS NULL ) THEN
set vlSaldo = 0.0;
END IF;
SET vlSaldoTotal = vlSaldoTotal + vlSaldo;
END LOOP;
CLOSE curFornecedores;
return vlSaldoTotal;
end
//
CREATE FUNCTION getValorBaixaContasPagar( codEmpresa integer, pCodTitulo
integer, pCodParcela integer , pCodFornecedor integer , pCodEspecie integer,
pDTReferencia char(10) ) returns decimal(17,2)
BEGIN
declare vlBaixa decimal(17,2);
select
sum(
CASE WHEN
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_pagar_hist as hist
where
19. hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
and
hist.cod_parcela =
tipa.cod_parcela
and
hist.cod_fornecedor =
tipa.cod_fornecedor
and
hist.cod_especie =
tipa.cod_especie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
IS NULL
THEN
0.0
ELSE
(
select sum(ifnull(hist.vl_baixa,0))
from fn_titulo_pagar_hist as hist
where
hist.cod_empresa =
tipa.cod_empresa
and
hist.cod_titulo =
tipa.cod_titulo
and
hist.cod_parcela =
tipa.cod_parcela
and
hist.cod_fornecedor =
tipa.cod_fornecedor
and
hist.cod_especie =
tipa.cod_especie
and
hist.tp_hist = 30
and
hist.dt_referencia <
cast( pDTReferencia as date )
)
END
) as 'valorBaixa'
into
vlBaixa
from
fn_titulo_pagar tipa
where
tipa.situacao between 10 and 30
and
tipa.dt_vencimento < pDTReferencia
and
tipa.cod_empresa = codEmpresa
and
tipa.cod_titulo = pCodTitulo
and
tipa.cod_parcela = pCodParcela
20. and
tipa.cod_fornecedor = pCodFornecedor
and
tipa.cod_especie = pCodEspecie;
IF ( vlBaixa IS NULL ) THEN
return 0.0;
END IF;
return vlBaixa;
end
//
delimiter ;
DROP FUNCTION IF EXISTS calcularJurosReceber;
delimiter //
CREATE FUNCTION calcularJurosReceber( codEmpresa integer, codTitulo integer ,
codParcela integer, pSerie char(3) , dataReferencia date , retornaSaldo char)
returns decimal(17,2)
BEGIN
declare vlMulta decimal(17,2);
declare vlJuros decimal(17,2);
declare tarifaBoleto decimal(17,2);
declare vlTotalJurosMultaPont decimal(17,2);
declare vlTitulo decimal(17,2);
declare vlBaixa decimal(17,2);
declare vlTituloMenosImpostos decimal(17,2);
declare vlDesconto decimal(17,2);
declare percMulta decimal(17,2);
declare percJuros decimal(17,2);
declare vlSaldo decimal(17,2);
declare mesHoje int;
declare anoHoje int;
declare anoVenc int;
declare diasAtraso int;
declare dataVencimento date;
declare dataUltimaBaixa date;
declare tpJuros int;
set vlMulta = 0.0;
set vlJuros = 0.0;
set tarifaBoleto = 0.0;
set vlTotalJurosMultaPont = 0.0;
set vlTitulo = 0.0;
set vlBaixa = 0.0;
set vlTituloMenosImpostos = 0.0;
set vlDesconto = 0.0;
set percMulta = 0.0;
set percJuros = 0.0;
set vlSaldo = 0.0;
set tpJuros = 0;
SELECT
ifnull(fn_titulo_receber.vl_desconto ,0.0) as vlDesconto,
ifnull(fn_titulo_receber.perc_multa,0.0) as percMulta,
ifnulL(fn_titulo_receber.perc_juros,0.0) as percJuros,
getValorBaixaContasReceber
(
fn_titulo_receber.cod_empresa,
21. fn_titulo_receber.cod_titulo,
fn_titulo_receber.cod_parcela ,
fn_titulo_receber.serie ,
dataReferencia
) as vlBaixa,
fn_titulo_receber.vl_total_titulo as vlTitulo,
fn_titulo_receber.vl_total_titulo -
( ifnull( fn_titulo_receber.vl_iss , 0 )
+ ifnull(fn_titulo_receber.vl_ir,0)
+ ifnull( fn_titulo_receber.vl_pis, 0 )
+ ifnull( fn_titulo_receber.vl_cofins , 0 )
+ ifnull( fn_titulo_receber.vl_cs , 0 )
) as
vlTituloMenosImpostos,
ifnull( fn_titulo_receber.tp_juros , 0 )
as tpJuros,
ifnull( fn_titulo_receber.taxa_boleto , 0 )
as tarifaBoleto,
-- Pega a data do vencimento desconsiderando feriados e sábado e
domingo.
getDtVencimentoFeriado(fn_titulo_receber.dt_vencimento)
as dtVencimento,
(
select max(hist.dt_referencia)
from fn_titulo_receber_hist as hist
where
hist.cod_empresa = fn_titulo_receber.cod_empresa
and
hist.cod_titulo = fn_titulo_receber.cod_titulo
and
hist.cod_parcela = fn_titulo_receber.cod_parcela
and
hist.serie = fn_titulo_receber.serie
and
hist.tp_hist = 30
) as dtUltimaBaixa
INTO
vlDesconto,
percMulta,
percJuros,
vlBaixa,
vlTitulo,
vlTituloMenosImpostos,
tpJuros,
tarifaBoleto,
dataVencimento,
dataUltimaBaixa
FROM
fn_titulo_receber
WHERE
fn_titulo_receber.cod_empresa = codEmpresa
and
fn_titulo_receber.cod_titulo = codTitulo
and
fn_titulo_receber.cod_parcela = codParcela
and
fn_titulo_receber.serie = pSerie;
-- ------------------------------------------------------------------------
-- Calcula os juros a partir deste ponto.
23. -- Juros ao dia
IF ( tpJuros = 0 ) THEN
set diasAtraso = DATEDIFF(dataReferencia,dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
-- Juros ao Mês
IF ( tpJuros = 1 ) THEN
set mesHoje = month(dataReferencia);
set anoHoje = year(dataReferencia);
set anoVenc = year(dataVencimento);
set diasAtraso = mesHoje + ((anoHoje - anoVenc) * 12 );
set diasAtraso = mesHoje - month(dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
set vlMulta = ( vlSaldo + tarifaBoleto ) * percMulta;
IF ( ( vlMulta + vlJuros - vlDesconto ) IS NULL ) THEN
IF( retornaSaldo = '1' ) THEN
return vlSaldo;
END IF;
return 0.0;
END IF;
IF( retornaSaldo = '1' ) THEN
return vlSaldo + vlMulta + vlJuros - vlDesconto;
END IF;
return vlMulta + vlJuros - vlDesconto;
END;
//
delimiter ;
SET GLOBAL log_bin_trust_function_creators = 1;
DROP FUNCTION IF EXISTS calcularJurosReceber;
DROP FUNCTION IF EXISTS calcularJurosPagar;
delimiter //
CREATE FUNCTION calcularJurosReceber( codEmpresa integer, codTitulo integer ,
codParcela integer, pSerie char(3) , dataReferencia date , retornaSaldo char)
RETURNS decimal(17,2)
BEGIN
declare vlMulta decimal(17,2);
declare vlJuros decimal(17,2);
declare tarifaBoleto decimal(17,2);
declare vlTotalJurosMultaPont decimal(17,2);
declare vlTitulo decimal(17,2);
declare vlBaixa decimal(17,2);
declare vlTituloMenosImpostos decimal(17,2);
declare vlDesconto decimal(17,2);
declare percMulta decimal(17,5);
declare percJuros decimal(17,5);
declare vlSaldo decimal(17,2);
declare mesHoje int;
declare anoHoje int;
24. declare anoVenc int;
declare diasAtraso int;
declare dataVencimento date;
declare dataUltimaBaixa date;
declare tpJuros int;
set vlMulta = 0.0;
set vlJuros = 0.0;
set tarifaBoleto = 0.0;
set vlTotalJurosMultaPont = 0.0;
set vlTitulo = 0.0;
set vlBaixa = 0.0;
set vlTituloMenosImpostos = 0.0;
set vlDesconto = 0.0;
set percMulta = 0.0;
set percJuros = 0.0;
set vlSaldo = 0.0;
set tpJuros = 0;
SELECT
ifnull(fn_titulo_receber.vl_desconto ,0.0) as vlDesconto,
ifnull(fn_titulo_receber.perc_multa,0.0) as percMulta,
ifnulL(fn_titulo_receber.perc_juros,0.0) as percJuros,
getValorBaixaContasReceber
(
fn_titulo_receber.cod_empresa,
fn_titulo_receber.cod_titulo,
fn_titulo_receber.cod_parcela ,
fn_titulo_receber.serie ,
dataReferencia
) as vlBaixa,
fn_titulo_receber.vl_total_titulo as vlTitulo,
fn_titulo_receber.vl_total_titulo -
( ifnull( fn_titulo_receber.vl_iss , 0 )
+ ifnull(fn_titulo_receber.vl_ir,0)
+ ifnull( fn_titulo_receber.vl_pis, 0 )
+ ifnull( fn_titulo_receber.vl_cofins , 0 )
+ ifnull( fn_titulo_receber.vl_cs , 0 )
) as
vlTituloMenosImpostos,
ifnull( fn_titulo_receber.tp_juros , 0 )
as tpJuros,
ifnull( fn_titulo_receber.taxa_boleto , 0 )
as tarifaBoleto,
getDtVencimentoFeriado(fn_titulo_receber.dt_vencimento)
as dtVencimento,
(
select max(hist.dt_referencia)
from fn_titulo_receber_hist as hist
where
hist.cod_empresa = fn_titulo_receber.cod_empresa
and
hist.cod_titulo = fn_titulo_receber.cod_titulo
and
hist.cod_parcela = fn_titulo_receber.cod_parcela
and
hist.serie = fn_titulo_receber.serie
and
25. hist.tp_hist = 30
) as dtUltimaBaixa
INTO
vlDesconto,
percMulta,
percJuros,
vlBaixa,
vlTitulo,
vlTituloMenosImpostos,
tpJuros,
tarifaBoleto,
dataVencimento,
dataUltimaBaixa
FROM
fn_titulo_receber
WHERE
fn_titulo_receber.cod_empresa = codEmpresa
and
fn_titulo_receber.cod_titulo = codTitulo
and
fn_titulo_receber.cod_parcela = codParcela
and
fn_titulo_receber.serie = pSerie;
set vlSaldo = vlTituloMenosImpostos - ifnull(vlBaixa,0);
IF ( dataVencimento is null ) THEN
IF( retornaSaldo = '1' ) THEN
return vlSaldo - vlDesconto;
END IF;
return 0.0;
END IF;
IF ( vlSaldo < 0 OR DATE_FORMAT(dataReferencia, '%Y-%m-%d') <=
DATE_FORMAT(dataVencimento, '%Y-%m-%d') ) THEN
IF ( ifnull(vlBaixa,0) = 0 ) THEN
IF( retornaSaldo = '1' AND vlSaldo > 0 ) THEN
return vlSaldo - vlDesconto;
END IF;
IF( retornaSaldo = '1' ) THEN
return ABS(vlSaldo);
END IF;
return 0.0;
ELSE
26. IF( retornaSaldo = '1' AND vlSaldo > 0 ) THEN
return vlSaldo - vlDesconto;
END IF;
return ABS(vlSaldo);
END IF;
END IF;
IF ( vlSaldo <= 0 AND DATE_FORMAT(ifnull(dataUltimaBaixa,dataVencimento),
'%Y-%m-%d') <= DATE_FORMAT(dataVencimento, '%Y-%m-%d') ) THEN
IF( retornaSaldo = '1' AND vlSaldo > 0 ) THEN
return vlSaldo - vlDesconto;
END IF;
return ABS(vlSaldo);
END IF;
IF ( dataUltimaBaixa != null ) THEN
IF ( dataUtimaBaixa > dataVencimento ) THEN
set dataReferencia = dataUltimaBaixa ;
END IF;
END IF;
IF ( tpJuros = 0 ) THEN
set diasAtraso = DATEDIFF(dataReferencia,dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
IF ( tpJuros = 1 ) THEN
set mesHoje = month(dataReferencia);
set anoHoje = year(dataReferencia);
set anoVenc = year(dataVencimento);
set diasAtraso = mesHoje + ((anoHoje - anoVenc) * 12 );
set diasAtraso = mesHoje - month(dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
set vlMulta = TRUNCATE(( vlSaldo + tarifaBoleto ) * percMulta,2);
IF ( ( vlMulta + vlJuros - ifnull( vlDesconto,0) ) IS NULL ) THEN
IF( retornaSaldo = '1' ) THEN
return vlSaldo;
END IF;
return 0.0;
END IF;
IF( retornaSaldo = '1' ) THEN
return vlSaldo + vlMulta + vlJuros - vlDesconto;
END IF;
27. return vlMulta + vlJuros - vlDesconto;
END//
CREATE FUNCTION calcularJurosPagar( codEmpresa integer, codTitulo integer ,
codParcela integer, codFornecedor integer , codEspecie integer , dataReferencia
date , retornaSaldo char) RETURNS decimal(17,2)
BEGIN
declare vlMulta decimal(17,2);
declare vlJuros decimal(17,2);
declare tarifaBoleto decimal(17,2);
declare vlTotalJurosMultaPont decimal(17,2);
declare vlTitulo decimal(17,2);
declare vlBaixa decimal(17,2);
declare vlTituloMenosImpostos decimal(17,2);
declare vlDesconto decimal(17,2);
declare percMulta decimal(17,5);
declare percJuros decimal(17,5);
declare vlSaldo decimal(17,2);
declare mesHoje int;
declare anoHoje int;
declare anoVenc int;
declare diasAtraso int;
declare dataVencimento date;
declare dataUltimaBaixa date;
declare tpJuros int;
set vlMulta = 0.0;
set vlJuros = 0.0;
set tarifaBoleto = 0.0;
set vlTotalJurosMultaPont = 0.0;
set vlTitulo = 0.0;
set vlBaixa = 0.0;
set vlTituloMenosImpostos = 0.0;
set vlDesconto = 0.0;
set percMulta = 0.0;
set percJuros = 0.0;
set vlSaldo = 0.0;
set tpJuros = 0;
SELECT
ifnull(fn_titulo_pagar.vl_desconto ,0.0) as vlDesconto,
ifnull(fn_titulo_pagar.perc_multa,0.0) as percMulta,
ifnulL(fn_titulo_pagar.perc_juros,0.0) as percJuros,
getValorBaixaContasPagar
(
fn_titulo_pagar.cod_empresa,
fn_titulo_pagar.cod_titulo,
fn_titulo_pagar.cod_parcela ,
fn_titulo_pagar.cod_fornecedor ,
fn_titulo_pagar.cod_especie ,
dataReferencia
) as vlBaixa,
fn_titulo_pagar.vl_total_titulo as vlTitulo,
fn_titulo_pagar.vl_total_titulo -
( ifnull( fn_titulo_pagar.vl_iss , 0 )
+ ifnull(fn_titulo_pagar.vl_ir,0)
+ ifnull( fn_titulo_pagar.vl_pis, 0 )
+ ifnull( fn_titulo_pagar.vl_cofins , 0 )
+ ifnull( fn_titulo_pagar.vl_cs , 0 )
28. ) as
vlTituloMenosImpostos,
ifnull( fn_titulo_pagar.tp_juros , 0 )
as tpJuros,
ifnull( fn_titulo_pagar.taxa_boleto , 0 )
as tarifaBoleto,
getDtVencimentoFeriado(fn_titulo_pagar.dt_vencimento)
as dtVencimento,
(
select max(hist.dt_referencia)
from fn_titulo_pagar_hist as hist
where
hist.cod_empresa = fn_titulo_pagar.cod_empresa
and
hist.cod_titulo = fn_titulo_pagar.cod_titulo
and
hist.cod_parcela = fn_titulo_pagar.cod_parcela
and
hist.cod_fornecedor =
fn_titulo_pagar.cod_fornecedor
and
hist.cod_especie = fn_titulo_pagar.cod_especie
and
hist.tp_hist = 30
) as dtUltimaBaixa
INTO
vlDesconto,
percMulta,
percJuros,
vlBaixa,
vlTitulo,
vlTituloMenosImpostos,
tpJuros,
tarifaBoleto,
dataVencimento,
dataUltimaBaixa
FROM
fn_titulo_pagar
WHERE
fn_titulo_pagar.cod_empresa = codEmpresa
and
fn_titulo_pagar.cod_titulo = codTitulo
and
fn_titulo_pagar.cod_parcela = codParcela
and
fn_titulo_pagar.cod_fornecedor = codFornecedor
and
fn_titulo_pagar.cod_especie = codEspecie;
IF ( dataVencimento is null ) THEN
return 0.0;
END IF;
set vlSaldo = vlTituloMenosImpostos - ifnull(vlBaixa,0);
29. IF ( vlSaldo < 0 OR DATE_FORMAT(dataReferencia, '%Y-%m-%d') <=
DATE_FORMAT(dataVencimento, '%Y-%m-%d') ) THEN
IF ( ifnull(vlBaixa,0) = 0 ) THEN
return 0.0;
ELSE
return ABS(vlSaldo);
END IF;
END IF;
IF ( vlSaldo <= 0 AND DATE_FORMAT(ifnull(dataUltimaBaixa,dataVencimento),
'%Y-%m-%d') <= DATE_FORMAT(dataVencimento, '%Y-%m-%d') ) THEN
return ABS(vlSaldo);
END IF;
IF ( dataUltimaBaixa != null ) THEN
IF ( dataUtimaBaixa > dataVencimento ) THEN
set dataReferencia = dataUltimaBaixa ;
END IF;
END IF;
IF ( tpJuros = 0 ) THEN
set diasAtraso = DATEDIFF(dataReferencia,dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
IF ( tpJuros = 1 ) THEN
set mesHoje = month(dataReferencia);
set anoHoje = year(dataReferencia);
set anoVenc = year(dataVencimento);
set diasAtraso = mesHoje + ((anoHoje - anoVenc) * 12 );
set diasAtraso = mesHoje - month(dataVencimento);
set vlJuros = ( vlSaldo + tarifaBoleto ) * percJuros;
set vlJuros = vlJuros * diasAtraso;
END IF;
set vlMulta = TRUNCATE(( vlSaldo + tarifaBoleto ) * percMulta,2);
IF ( ( vlMulta + vlJuros - vlDesconto ) IS NULL ) THEN
IF( retornaSaldo = '1' ) THEN
return vlSaldo;
END IF;
return 0.0;
END IF;
IF( retornaSaldo = '1' ) THEN
return vlSaldo + vlMulta + vlJuros - vlDesconto;
END IF;
return vlMulta + vlJuros - vlDesconto;
END//
30. CREATE DEFINER=`root`@`%` FUNCTION `SOMA_EMAILS_PEDIDO`(dataInicio CHAR(19),
dataFim CHAR(19), codColaborador integer) RETURNS decimal(10,0)
BEGIN
DECLARE VALOR_TOTAL NUMERIC(17,2);
select sum( valorPedido )
INTO VALOR_TOTAL
from
(
select
pedi.cod_pedido , SUM( distinct pedi.vl_total_produtos) as
valorPedido
from
vd_pedido pedi
inner join vd_pedido_hist hist
on
hist.cod_pedido = pedi.cod_pedido
and
hist.cod_empresa = pedi.cod_empresa
and
tp_historico = 35
and
dt_implant between dataInicio and dataFim
where
pedi.cod_colaborador = codColaborador
group by
pedi.cod_pedido
) as total;
RETURN ifnull(VALOR_TOTAL,0);
END//
delimiter ;
GRANT EXECUTE ON FUNCTION calcularJurosReceber to ROLE;
GRANT EXECUTE ON FUNCTION calcularJurosPagar to ROLE;
PREPARE SCRIPT FROM "SELECT CONCAT('GRANT ALTER ROUTINE,CREATE ROUTINE, EXECUTE
ON * TO ''', User , '''' , '@''' ,Host , ''';') FROM mysql.user;";
EXECUTE SCRIPT;
DROP PREPARE SCRIPT;
flush privileges;
DROP TRIGGER `tr_vd_pedido_afu`;
DROP TRIGGER `tr_vd_pedido_afi`;
DROP TRIGGER `tr_vd_pedido_afd`;
DROP TRIGGER IF EXISTS tr_vd_pedido_afi;
DELIMITER $$
CREATE TRIGGER tr_vd_pedido_afi AFTER INSERT
ON vd_pedido
FOR EACH ROW
BEGIN
IF NEW.cod_ecommerce = 5 THEN
INSERT INTO vd_pedido_ecommerce ( cod_pedido,
situacao_erp, situacao_ecommerce, dt_ultima_alteracao ) VALUES
( NEW.cod_pedido, NEW.situacao, '_NEAS', now() );
END IF;
END
$$
DELIMITER ;
DROP TRIGGER IF EXISTS tr_vd_pedido_afd
;
31. DELIMITER $$
CREATE TRIGGER tr_vd_pedido_afd AFTER DELETE
ON vd_pedido
FOR EACH ROW
BEGIN
IF OLD.cod_ecommerce = 5 THEN
DELETE FROM vd_pedido_ecommerce where cod_pedido =
OLD.cod_pedido;
END IF;
END
$$
DELIMITER ;
DROP TRIGGER IF EXISTS tr_vd_pedido_afu
;
DELIMITER $$
CREATE TRIGGER tr_vd_pedido_afu AFTER UPDATE
ON vd_pedido
FOR EACH ROW
BEGIN
IF NEW.cod_ecommerce = 5 AND NEW.situacao != OLD.situacao THEN
UPDATE vd_pedido_ecommerce set situacao_erp =
NEW.situacao , dt_ultima_alteracao = null where cod_pedido = NEW.cod_pedido;
END IF;
END
$$
DELIMITER ;