add column to event_log. demonstact GL extraction and load initial row

This commit is contained in:
Paul Trowbridge 2017-10-26 23:38:36 -04:00
parent 2838ff4cc5
commit 7ad5b8dd6f
7 changed files with 59 additions and 29 deletions

Binary file not shown.

View File

@ -77,7 +77,8 @@ FROM
m.regex->>'function' = 'replace' m.regex->>'function' = 'replace'
WHERE WHERE
--t.srce = 'PNCC' --t.srce = 'PNCC'
rec @> '{"Transaction":"ACH Credits","Transaction":"ACH Debits"}' --rec @> '{"Transaction":"ACH Credits","Transaction":"ACH Debits"}'
t.map IS NULL
--rec @> '{"Description":"CHECK 93013270 086129935"}'::jsonb --rec @> '{"Description":"CHECK 93013270 086129935"}'::jsonb
ORDER BY ORDER BY
t.id DESC, t.id DESC,
@ -200,7 +201,7 @@ GROUP BY
SELECT srce, id, jsonb_pretty(retain_val), jsonb_pretty(map) FROM agg_to_id SELECT srce, id, jsonb_pretty(retain_val), jsonb_pretty(map) FROM agg_to_id
/*
UPDATE UPDATE
tps.trans t tps.trans t
SET SET
@ -211,4 +212,3 @@ FROM
agg_to_id o agg_to_id o
WHERE WHERE
o.id = t.id; o.id = t.id;
*/

22
evt_log_gl_extract.pgsql Normal file
View File

@ -0,0 +1,22 @@
WITH j AS (
SELECT
id,
post_stmp,
rec as r
FROM
evt.log
)
--this is a dynamic approach that dumps all keys into the json except several that are required which it extracts
SELECT
id,
ARRAY['GL',rn::text] json_path,
post_stmp,
a.i->>'amt' amount,
a.i->>'account' account,
a.i->>'date' tran_date,
a.i - '{amt,account,date}'::text[] as therest
FROM
j
LEFT JOIN LATERAL JSONB_ARRAY_ELEMENTS(j.r->'GL') WITH ORDINALITY a(i, rn) ON TRUE

View File

@ -150,7 +150,7 @@ FROM
$j$::jsonb $j$::jsonb
, 2) , 2)
) x; ) x;
*/
DELETE FROM tps.map_rm where target = 'Parse ACH'; DELETE FROM tps.map_rm where target = 'Parse ACH';
INSERT INTO INSERT INTO
@ -249,3 +249,31 @@ FROM
$j$::jsonb $j$::jsonb
, 2) , 2)
) x; ) x;
*/
UPDATE
tps.map_rm
SET
regex =
$j$
{
"name":"First 20",
"description":"pull first 20 characters from description for mapping",
"defn": [
{
"key": "{Memo}",
"field":"f20",
"regex": ".{1,20}",
"flag":"",
"retain":"y"
}
],
"function":"extract",
"map":"yes",
"where": [
{
}
]
}
$j$::jsonb
WHERE srce = 'HUNT'

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -187,7 +187,8 @@ SET default_with_oids = false;
CREATE TABLE log ( CREATE TABLE log (
id integer NOT NULL, id integer NOT NULL,
rec jsonb rec jsonb,
post_stmp timestamp with time zone DEFAULT now()
); );