accomodate periods

This commit is contained in:
Paul Trowbridge 2018-09-19 00:58:06 -04:00
parent 8a5bfcbd4b
commit e4a813304d
3 changed files with 54 additions and 1 deletions

View File

@ -0,0 +1,41 @@
WITH
--startign month
m as (
SELECT
*
FROM
(
VALUES
(1,1,1)
,(2,2,1)
,(3,3,1)
,(4,4,2)
,(5,5,2)
,(6,6,2)
,(7,7,3)
,(8,8,3)
,(9,9,3)
,(10,10,4)
,(11,11,4)
,(12,12,4)
) X (cm,fm,fq)
)
INSERT INTO
evt.fspr
SELECT
--TO_CHAR(gs.d,'YYYY.MM.DD')::ltree t1
(
--year
to_char(extract(year from gs.d),'FM0000')
--quarter
||'.'||to_char(m.fq,'FM00')
--month
||'.'||to_char(m.fm,'FM00')
--day
||'.'||to_char(extract(day from gs.d),'FM00')
)::ltree t2
,tstzrange(gs.d,gs.d + '1 month'::interval) r
FROM
generate_series('2018-01-01 00:00'::timestamptz,'2099-12-01 00:00'::timestamptz,'1 month') gs(d)
INNER JOIN m ON
m.cm = extract(month from gs.d)

View File

@ -3,7 +3,11 @@
CREATE TABLE evt.gl (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY
,bprid INT REFERENCES evt.bpr (id)
,account text REFERENCES evt.acct (acct)
,acct text REFERENCES evt.acct (acct)
,pstmp timestamptz DEFAULT CURRENT_TIMESTAMP
--populates by trigger join to evt.fspr
,tstmp timestamptz
,fspr ltree REFERENCES evt.fspr (id);
,amount numeric (12,2)
,glline INT
,bprkeys JSONB
@ -11,6 +15,9 @@ CREATE TABLE evt.gl (
COMMENT ON COLUMN evt.gl.id IS 'gl id';
COMMENT ON COLUMN evt.gl.bprid IS 'id of initial basic pecuniary record';
COMMENT ON COLUMN evt.gl.acct IS 'account code';
COMMENT ON COLUMN evt.gl.pstmp IS 'post time stamp';
COMMENT ON COLUMN evt.gl.tstmp IS 'transaction time stamp';
COMMENT ON COLUMN evt.gl.fspr IS 'fiscal period';
COMMENT ON COLUMN evt.gl.amount IS 'amount';
COMMENT ON COLUMN evt.gl.glline IS 'gl line number';
COMMENT ON COLUMN evt.gl.bprkeys IS 'extract from initial basic pecuniary record';

5
schema/tables/perd.sql Normal file
View File

@ -0,0 +1,5 @@
------------------------fiscal periods------------------------
CREATE TABLE evt.fspr (
id ltree
,dur tstzrange
)