- edited description
Mudar regra de Baixa dos títulos.
Issue #8
new
O sistema permite informar a data de baixa manualmente. Para manter a integridade da informação sera criada uma nova coluna que será inalteravel. Com isso a data de baixa poderá ser personalizada.
Alterações executadas no Banco de Dados?
ALTER TABLE FLUXO_BAIXA_HISTORICO ADD
DT_REFERENCIA DM_DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL;
UPDATE FLUXO_BAIXA_HISTORICO
SET DT_REFERENCIA = COALESCE(DT_BAIXA, CURRENT_TIMESTAMP)
SET TERM ^ ;
ALTER PROCEDURE FLUXO_PARCELAS_BAIXAR (
ID_PARCELA CHAR(10) CHARACTER SET WIN1252,
VL_BAIXA NUMERIC(15,2),
TP_BAIXA CHAR(1) CHARACTER SET WIN1252,
ID_BANCO CHAR(10) CHARACTER SET WIN1252,
DATA_DA_BAIXA TIMESTAMP )
AS
DECLARE VARIABLE dt_baixa TIMESTAMP;
DECLARE VARIABLE dt_exclusao DATE;
DECLARE VARIABLE nr_parcela VARCHAR(30);
DECLARE VARIABLE vl_apagar NUMERIC(15,2);
BEGIN
SELECT fpa.dt_baixa, fpa.dt_exclusao, fpa.nr_parcela, fpa.vl_parcela_liquida
FROM fluxo_parcelas_abertas fpa
WHERE (fpa.id = :id_parcela)
INTO :dt_baixa, :dt_exclusao, :nr_parcela, :vl_apagar;
IF (NOT dt_baixa IS NULL) THEN
EXCEPTION fluxo_baixa 'não é possível baixar parcela ('||nr_parcela||'). Parcela já está baixada';
IF (NOT dt_exclusao IS NULL) THEN
EXCEPTION fluxo_baixa 'não é possível baixar parcela ('||nr_parcela||'). Parcela está excluída';
/* A pedido da speed graph agora é permitido informar a data da baixa, caso não tenha sido informada então será a data atual*/
dt_baixa = DATA_DA_BAIXA;
IF( dt_baixa IS NULL) THEN
dt_baixa = CURRENT_TIMESTAMP;
IF ((tp_baixa = 'T') OR (vl_baixa >= vl_apagar)) THEN
BEGIN
/* atualizo o campo DT_BAIXA com a data atual e VL_PAGO com o valor da baixa */
UPDATE fluxo_parcelas
SET dt_baixa = dt_baixa
WHERE id = :id_parcela;
END
INSERT INTO fluxo_baixa_historico
(id_parcela, vl_baixa, dt_baixa, vl_restante, id_banco, dt_referencia)
VALUES
(:id_parcela, :vl_baixa, :dt_baixa, (:vl_apagar - :vl_baixa), :id_banco, CURRENT_TIMESTAMP);
SUSPEND;
END^
SET TERM ; ^
GRANT EXECUTE
ON PROCEDURE FLUXO_PARCELAS_BAIXAR TO ROLE F_USER;
GRANT EXECUTE
ON PROCEDURE FLUXO_PARCELAS_BAIXAR TO SYSDBA;
Comments (2)
-
reporter -
reporter - edited description
- Log in to comment