Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

/*========tur===================================================*/
/* DBMS name:     PostgreSQL 8                                  */
/* Criado em:     08/10/2021                                        */
/* Autor: Bruno Lopes Peixoto                                       */
/*==============================================================*/

SET search_path = sc_sec;

ALTER TABLE sec_conta_bancaria ADD COLUMN seq_pessoa INT8 NULL;

ALTER TABLE sec_conta_bancaria
   ADD CONSTRAINT fk_contabancaria_pessoa FOREIGN KEY (seq_pessoa)
      REFERENCES sec_pessoa (seq_pessoa)
      ON DELETE RESTRICT ON UPDATE RESTRICT;
         
CREATE  INDEX ix_contabancaria_pessoa ON sec_conta_bancaria (
seq_pessoa
);

ALTER TABLE sec_conta_bancaria ADD COLUMN tip_conta_bancaria CHAR(1) NULL;
ALTER TABLE sec_conta_bancaria ADD CONSTRAINT ck_contabancaria_tipo CHECK (tip_conta_bancaria IS NULL OR (tip_conta_bancaria IN ('B','C')));

comment ON COLUMN sec_conta_bancaria.tip_conta_bancaria IS
'Valores possíveis:
C - Caixa
B - Banco'
;

UPDATE sec_conta_bancaria SET tip_conta_bancaria = 'B' WHERE seq_conta_bancaria != 1;
UPDATE sec_conta_bancaria SET tip_conta_bancaria = 'C' WHERE seq_conta_bancaria = 1;
ALTER TABLE sec_conta_bancaria ALTER COLUMN tip_conta_bancaria SET NOT NULL;


CREATE SEQUENCE sq_extratobanco
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;

ALTER TABLE sq_extratobanco owner TO espacoc_sc_sec
;

/*==============================================================*/
/* Table: sec_extrato_banco                                  */
/*==============================================================*/
CREATE TABLE sec_extrato_banco (
   seq_extrato_banco INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_extratobanco'::regclass),
   seq_conta_bancaria   INT8                 NOT NULL,
   tip_extrato_banco CHAR(1)              NOT NULL
      CONSTRAINT ck_extratobanco_tipo CHECK (tip_extrato_banco IN ('D','C','P')),
   dat_lancamento      DATE                 NOT NULL,
   val_total            NUMERIC(10,2)        NOT NULL,
   dsc_observacao       VARCHAR(400)         NULL,
   CONSTRAINT pk_extratobanco PRIMARY KEY (seq_extrato_banco)
);

comment ON COLUMN sec_extrato_banco.tip_extrato_banco IS
'Valores possíveis:
D - Débitos
C - Créditos
P - Pagamento'
;

-- set table ownership
ALTER TABLE sec_extrato_banco owner TO espacoc_sc_sec
;

/*==============================================================*/
/* Index: ix_extratobanco                                   */
/*==============================================================*/
CREATE UNIQUE INDEX ix_extratobanco ON sec_extrato_banco (
seq_extrato_banco
);

/*==============================================================*/
/* Index: ix_extratobanco_contabancar                       */
/*==============================================================*/
CREATE  INDEX ix_extratobanco_contabancar ON sec_extrato_banco (
seq_conta_bancaria
);

ALTER TABLE sec_extrato_banco
   ADD CONSTRAINT fk_extratobanco_contabancaria FOREIGN KEY (seq_conta_bancaria)
      REFERENCES sec_conta_bancaria (seq_conta_bancaria)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

UPDATE sc_sec.sec_parcela p SET cod_conta_bancaria = 4 WHERE
(p.dsc_observacao LIKE ('%DÉBITO%VENDA%') OR p.dsc_observacao LIKE ('%CRÉDITO%VENDA%'))
AND P.dat_vencimento > '2021-09-30'
AND (SELECT COUNT(*) FROM sc_sec.sec_conta c WHERE c.seq_conta = p.seq_conta
                AND c.seq_loja IN (1, 4, 7, 16, 17)) > 0;
               
UPDATE sc_sec.sec_parcela p SET cod_conta_bancaria = 3 WHERE
(p.dsc_observacao LIKE ('%DÉBITO%VENDA%') OR p.dsc_observacao LIKE ('%CRÉDITO%VENDA%'))
AND P.dat_vencimento > '2021-09-30'
AND (SELECT COUNT(*) FROM sc_sec.sec_conta c WHERE c.seq_conta = p.seq_conta
                AND c.seq_loja NOT IN (1, 4, 7, 16, 17)) > 0;

SET search_path = public;