Skip to content

Commit 850a6e3

Browse files
committed
[MODLISTS-248] Fix is null or empty case for fund distribution in payment terms
1 parent a6bce06 commit 850a6e3

1 file changed

Lines changed: 22 additions & 28 deletions

File tree

src/main/resources/entity-types/orders/simple_purchase_order_line.json5

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1601,8 +1601,8 @@
16011601
columnName: 'code',
16021602
},
16031603
queryable: true,
1604-
valueGetter: "( SELECT array_agg(fund_dist.value->>'code') FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1605-
filterValueGetter: "( SELECT array_agg(lower(fund_dist.value->>'code')) FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1604+
valueGetter: "( SELECT array_agg(fund_dist.value->>'code') FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
1605+
filterValueGetter: "( SELECT array_agg(lower(fund_dist.value->>'code')) FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
16061606
valueFunction: 'lower(:value)',
16071607
},
16081608
{
@@ -1613,8 +1613,8 @@
16131613
},
16141614
queryable: true,
16151615
hidden: true,
1616-
valueGetter: "( SELECT array_agg(fund_dist.value->>'fundId') FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1617-
filterValueGetter: "( SELECT array_agg(lower(fund_dist.value->>'fundId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1616+
valueGetter: "( SELECT array_agg(fund_dist.value->>'fundId') FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
1617+
filterValueGetter: "( SELECT array_agg(lower(fund_dist.value->>'fundId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
16181618
valueFunction: 'lower(:value)',
16191619
},
16201620
{
@@ -1627,22 +1627,18 @@
16271627
valueGetter: "( \
16281628
SELECT \
16291629
array_agg(fund.jsonb ->> 'name') \
1630-
FILTER (WHERE (fund.jsonb ->> 'name') IS NOT NULL) \
1631-
AS array_agg \
16321630
FROM \
1633-
jsonb_array_elements(:sourceAlias.jsonb -> 'paymentTerms' -> 'fiscalYearDistributions') fy_dist(value), \
1634-
jsonb_array_elements(fy_dist.value -> 'fundDistributions') fund_dist(value) \
1631+
jsonb_array_elements(:sourceAlias.jsonb -> 'paymentTerms' -> 'fiscalYearDistributions') fy_dist(value) \
1632+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value -> 'fundDistributions') fund_dist(value) ON true \
16351633
LEFT JOIN ${tenant_id}_mod_fqm_manager.src_finance_fund AS fund \
16361634
ON (fund_dist.value ->> 'fundId')::uuid = fund.id \
16371635
)",
16381636
filterValueGetter: "( \
16391637
SELECT \
16401638
array_agg(lower(fund.jsonb ->> 'name')) \
1641-
FILTER (WHERE (fund.jsonb ->> 'name') IS NOT NULL) \
1642-
AS array_agg \
16431639
FROM \
1644-
jsonb_array_elements(:sourceAlias.jsonb -> 'paymentTerms' -> 'fiscalYearDistributions') fy_dist(value), \
1645-
jsonb_array_elements(fy_dist.value -> 'fundDistributions') fund_dist(value) \
1640+
jsonb_array_elements(:sourceAlias.jsonb -> 'paymentTerms' -> 'fiscalYearDistributions') fy_dist(value) \
1641+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value -> 'fundDistributions') fund_dist(value) ON true \
16461642
LEFT JOIN ${tenant_id}_mod_fqm_manager.src_finance_fund AS fund \
16471643
ON (fund_dist.value ->> 'fundId')::uuid = fund.id \
16481644
)",
@@ -1657,11 +1653,11 @@
16571653
queryable: true,
16581654
hidden: true,
16591655
valueGetter: "( SELECT array_agg(fund_dist.value->>'expenseClassId') \
1660-
FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, \
1661-
jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1656+
FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist \
1657+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
16621658
filterValueGetter: "( SELECT array_agg(lower(fund_dist.value->>'expenseClassId')) \
1663-
FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, \
1664-
jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1659+
FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist \
1660+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
16651661
valueFunction: 'lower(:value)',
16661662
},
16671663
{
@@ -1674,20 +1670,18 @@
16741670
valueGetter: "( \
16751671
SELECT \
16761672
array_agg(expense_class.jsonb->>'name') \
1677-
FILTER (WHERE (expense_class.jsonb->>'name') IS NOT NULL) \
16781673
FROM \
1679-
jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, \
1680-
jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist \
1674+
jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist \
1675+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true \
16811676
LEFT JOIN ${tenant_id}_mod_fqm_manager.src_finance_expense_class AS expense_class \
16821677
ON (fund_dist.value->>'expenseClassId')::uuid = expense_class.id \
16831678
)",
16841679
filterValueGetter: "( \
16851680
SELECT \
16861681
array_agg(lower(expense_class.jsonb->>'name')) \
1687-
FILTER (WHERE (expense_class.jsonb->>'name') IS NOT NULL) \
16881682
FROM \
1689-
jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, \
1690-
jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist \
1683+
jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist \
1684+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true \
16911685
LEFT JOIN ${tenant_id}_mod_fqm_manager.src_finance_expense_class AS expense_class \
16921686
ON (fund_dist.value->>'expenseClassId')::uuid = expense_class.id \
16931687
)",
@@ -1700,8 +1694,8 @@
17001694
dataType: 'stringType',
17011695
},
17021696
queryable: true,
1703-
valueGetter: "( SELECT array_agg(fund_dist.value->>'distributionType') FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1704-
filterValueGetter: "( SELECT array_agg(lower(fund_dist.value->>'distributionType')) FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1697+
valueGetter: "( SELECT array_agg(fund_dist.value->>'distributionType') FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
1698+
filterValueGetter: "( SELECT array_agg(lower(fund_dist.value->>'distributionType')) FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
17051699
valueFunction: 'lower(:value)',
17061700
values: [
17071701
{
@@ -1722,8 +1716,8 @@
17221716
},
17231717
queryable: false,
17241718
valueGetter: "( SELECT array_agg((fund_dist.value->>'value')::float) \
1725-
FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist, \
1726-
jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist)",
1719+
FROM jsonb_array_elements(:sourceAlias.jsonb->'paymentTerms'->'fiscalYearDistributions') AS fy_dist \
1720+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value->'fundDistributions') AS fund_dist ON true)",
17271721
valueFunction: '(:value)::float',
17281722
},
17291723
],
@@ -1739,7 +1733,7 @@
17391733
'fiscalYearId', fy_dist.value ->> 'fiscalYearId', \
17401734
'fiscal_year_name', fy.jsonb ->> 'name', \
17411735
'fundId', fund_dist.value ->> 'fundId', \
1742-
'code', fund.jsonb ->> 'code', \
1736+
'code', fund_dist.value ->> 'code', \
17431737
'fund_name', fund.jsonb ->> 'name', \
17441738
'value', (fund_dist.value ->> 'value')::float, \
17451739
'distributionType', fund_dist.value ->> 'distributionType', \
@@ -1752,7 +1746,7 @@
17521746
jsonb_array_elements(:sourceAlias.jsonb -> 'paymentTerms' -> 'fiscalYearDistributions') fy_dist(value) \
17531747
LEFT JOIN ${tenant_id}_mod_fqm_manager.src_finance_fiscal_year AS fy \
17541748
ON (fy_dist.value ->> 'fiscalYearId')::uuid = fy.id \
1755-
CROSS JOIN LATERAL jsonb_array_elements(fy_dist.value -> 'fundDistributions') fund_dist(value) \
1749+
LEFT JOIN LATERAL jsonb_array_elements(fy_dist.value -> 'fundDistributions') fund_dist(value) ON true \
17561750
LEFT JOIN ${tenant_id}_mod_fqm_manager.src_finance_fund AS fund \
17571751
ON (fund_dist.value ->> 'fundId')::uuid = fund.id \
17581752
LEFT JOIN ${tenant_id}_mod_fqm_manager.src_finance_expense_class AS expense_class \

0 commit comments

Comments
 (0)