84 lines
2.4 KiB
Plaintext
84 lines
2.4 KiB
Plaintext
# Sales summary
|
|
[:find ?d4 (sum ?total) (sum ?tax) (sum ?tip) (sum ?service-charge) (sum ?discount) (sum ?returns)
|
|
:with ?s
|
|
:in $
|
|
:where
|
|
[?s :sales-order/client [:client/code "{{customer}}"]]
|
|
[?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]
|
|
[(clj-time.coerce/to-date-time ?d) ?d2]
|
|
[(auto-ap.time/localize ?d2) ?d3]
|
|
[(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4]
|
|
]
|
|
|
|
# Sales Categories
|
|
[:find ?d4 ?n ?n2 (sum ?total) (sum ?tax) (sum ?discount)
|
|
:with ?s ?li
|
|
:in $
|
|
:where
|
|
[?s :sales-order/client [:client/code "{{customer}}"]]
|
|
[?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]
|
|
[(clj-time.coerce/to-date-time ?d) ?d2]
|
|
[(auto-ap.time/localize ?d2) ?d3]
|
|
[(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4]
|
|
]
|
|
|
|
# Expected Deposits
|
|
[:find ?d4 ?t ?f
|
|
:in $
|
|
:where
|
|
[?c :client/code "{{customer}}"]
|
|
[?s :expected-deposit/client ?c]
|
|
[?s :expected-deposit/total ?t]
|
|
[?s :expected-deposit/fee ?f]
|
|
[?s :expected-deposit/sales-date ?date]
|
|
[(clj-time.coerce/to-date-time ?date) ?d2]
|
|
[(auto-ap.time/localize ?d2) ?d3]
|
|
[(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4]
|
|
]
|
|
|
|
# Tenders
|
|
[:find ?d4 ?type ?p2 (sum ?total) (sum ?tip)
|
|
:with ?charge
|
|
:in $
|
|
:where
|
|
[?c :client/code "{{customer}}"]
|
|
[?s :sales-order/client ?c]
|
|
[?s :sales-order/charges ?charge]
|
|
[?charge :charge/type-name ?type]
|
|
[?charge :charge/total ?total]
|
|
[?charge :charge/tip ?tip]
|
|
[(get-else $ ?charge :charge/processor :na) ?ccp]
|
|
[(get-else $ ?ccp :db/ident :na) ?p]
|
|
[(name ?p) ?p2]
|
|
[?s :sales-order/date ?date]
|
|
[(clj-time.coerce/to-date-time ?date) ?d2]
|
|
[(auto-ap.time/localize ?d2) ?d3]
|
|
[(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4]
|
|
]
|
|
|
|
# Refunds
|
|
[:find ?d4 ?t (sum ?total) (sum ?fee)
|
|
:with ?r
|
|
:in $
|
|
:where
|
|
[?r :sales-refund/client [:client/code "{{customer}}"]]
|
|
[?r :sales-refund/total ?total]
|
|
[?r :sales-refund/fee ?fee]
|
|
[?r :sales-refund/date ?date]
|
|
[?r :sales-refund/type ?t]
|
|
[(clj-time.coerce/to-date-time ?date) ?d2]
|
|
[(auto-ap.time/localize ?d2) ?d3]
|
|
[(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4]]
|