(cloud) makes sales export queries super stinkin' fast

This commit is contained in:
2023-04-05 17:19:40 -07:00
parent 78a476f4b1
commit 9c1376950b
4 changed files with 65 additions and 35 deletions

View File

@@ -218,44 +218,42 @@
(assoc ba :bank-account/yodlee-balance-old nil))
bank-accounts))))))))
(def sales-summary-query
"[:find ?d4 (sum ?total) (sum ?tax) (sum ?tip) (sum ?service-charge) (sum ?discount) (sum ?returns)
:with ?s
:in $
:where
[(ground (iol-ion.query/recent-date)) ?min-d]
[?s :sales-order/client [:client/code \"%s\"]]
[?s :sales-order/date ?d]
[(>= ?d ?min-d)]
[?s :sales-order/total ?total]
[?s :sales-order/tax ?tax]
[?s :sales-order/tip ?tip]
[?s :sales-order/service-charge ?service-charge]
[?s :sales-order/returns ?returns]
[?s :sales-order/discount ?discount]
[(iol-ion.query/excel-date ?d) ?d4]
]")
:in $
:where
[(ground (iol-ion.query/recent-date)) ?min-d]
[(ground #inst \"2040-01-01\") ?max-d]
[?c :client/code \"%s\"]
[(iol-ion.query/sales-orders-in-range $ ?c ?min-d ?max-d) [?s ...]]
[?s :sales-order/date ?d]
[?s :sales-order/total ?total]
[?s :sales-order/tax ?tax]
[?s :sales-order/tip ?tip]
[?s :sales-order/service-charge ?service-charge]
[?s :sales-order/returns ?returns]
[?s :sales-order/discount ?discount]
[(iol-ion.query/excel-date ?d) ?d4]
]")
(def sales-category-query
"[:find ?d4 ?n ?n2 (sum ?total) (sum ?tax) (sum ?discount)
:with ?s ?li
:in $
:where
[(ground (iol-ion.query/recent-date)) ?min-d]
[?s :sales-order/client [:client/code \"%s\"]]
[?s :sales-order/date ?d]
[(>= ?d ?min-d)]
[?s :sales-order/line-items ?li]
[?li :order-line-item/category ?n]
[(get-else $ ?li :order-line-item/item-name \"\") ?n2]
[?li :order-line-item/total ?total]
[?li :order-line-item/tax ?tax]
[?li :order-line-item/discount ?discount]
[(iol-ion.query/excel-date ?d) ?d4]
]")
:with ?s ?li
:in $
:where
[(ground (iol-ion.query/recent-date)) ?min-d]
[(ground #inst \"2040-01-01\") ?max-d]
[?c :client/code \"%s\"]
[(iol-ion.query/sales-orders-in-range $ ?c ?min-d ?max-d) [?s ...]]
[?s :sales-order/date ?d]
[?s :sales-order/line-items ?li]
[?li :order-line-item/category ?n]
[(get-else $ ?li :order-line-item/item-name \"\") ?n2]
[?li :order-line-item/total ?total]
[?li :order-line-item/tax ?tax]
[?li :order-line-item/discount ?discount]
[(iol-ion.query/excel-date ?d) ?d4]]")
(def expected-deposits-query
"[:find ?d4 ?t ?f
@@ -315,7 +313,7 @@
[(get-else $ ?ccp :db/ident :na) ?p]
))
[(name ?p) ?p2]
[(iol-ion.query/excel-date ?date) ?d4]
[(iol-ion.query/excel-date ?date) ?d4]]
" )
(def refunds-query