Adds gift cards to sales summaries
This commit is contained in:
@@ -1898,7 +1898,7 @@
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/index true}
|
||||
|
||||
{:db/ident :sales-summary/discount
|
||||
{:db/ident :sales-summary/discount
|
||||
:db/noHistory true,
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
@@ -1922,6 +1922,11 @@
|
||||
:db/noHistory true,
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-gift-card-payments
|
||||
:db/noHistory true,
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :sales-summary/total-card-refunds
|
||||
:db/noHistory true,
|
||||
:db/valueType :db.type/double
|
||||
|
||||
@@ -82,12 +82,12 @@
|
||||
:in $ [?clients ?start-date ?end-date]
|
||||
:where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]]
|
||||
[?e :sales-order/returns ?r]
|
||||
|
||||
|
||||
#_[?e :sales-order/charges ?c]
|
||||
#_[?c :charge/tax ?tax]]
|
||||
(dc/db conn)
|
||||
[[c] date date]))
|
||||
0.0)
|
||||
(dc/db conn)
|
||||
[[c] date date]))
|
||||
0.0)
|
||||
|
||||
:sales-summary/sales-items
|
||||
|
||||
@@ -168,6 +168,20 @@
|
||||
[[c] date date]))
|
||||
0.0)
|
||||
|
||||
:sales-summary/total-gift-card-payments
|
||||
(or (ffirst (dc/q '[:find (sum ?total)
|
||||
:with ?c
|
||||
:in $ [?clients ?start-date ?end-date]
|
||||
:where [(iol-ion.query/scan-sales-orders $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]]
|
||||
[?e :sales-order/charges ?c]
|
||||
[?c :charge/total ?total]
|
||||
(or [?c :charge/type-name "SQUARE_GIFT_CARD"]
|
||||
[?c :charge/type-name "WALLET"]
|
||||
[?c :charge/type-name "GIFT_CARD"])]
|
||||
(dc/db conn)
|
||||
[[c] date date]))
|
||||
0.0)
|
||||
|
||||
:sales-summary/total-cash-refunds
|
||||
(or (ffirst (dc/q '[:find (sum ?t)
|
||||
:in $ [?clients ?start-date ?end-date]
|
||||
@@ -200,10 +214,8 @@
|
||||
:sales-summary/total-food-app-refunds
|
||||
(or (ffirst (dc/q '[:find (sum ?t)
|
||||
:in $ [?clients ?start-date ?end-date]
|
||||
:where
|
||||
:where [(iol-ion.query/scan-sales-refunds $ ?clients ?start-date ?end-date) [[?e _ ?sort-default] ...]]
|
||||
(not [?e :sales-refund/type "CASH"])
|
||||
(not [?e :sales-refund/type "CARD"])
|
||||
[?e :sales-refund/type "EXTERNAL"]
|
||||
[?e :sales-refund/total ?t]]
|
||||
(dc/db conn)
|
||||
[[c] date date]))
|
||||
|
||||
@@ -95,13 +95,20 @@
|
||||
[(->> (hydrate-results ids-to-retrieve db request))
|
||||
matching-count]))
|
||||
|
||||
(defn get-credits [ss]
|
||||
(defn get-debits [ss]
|
||||
{:card-payments (+ (:sales-summary/total-card-payments ss 0.0)
|
||||
(:sales-summary/total-card-fees ss 0.0)
|
||||
(- (:sales-summary/total-card-refunds ss 0.0)))
|
||||
:food-app-payments (+ (:sales-summary/total-food-app-payments ss 0.0)
|
||||
(:sales-summary/total-food-app-fees ss 0.0)
|
||||
(- (:sales-summary/total-food-app-refunds ss 0.0)))
|
||||
:gift-card-payments (+ (:sales-summary/total-gift-card-payments ss 0.0)
|
||||
(:sales-summary/total-gift-card-fees ss 0.0)
|
||||
(- (:sales-summary/total-gift-card-refunds ss 0.0)))
|
||||
#_#_:refunds (+ (:sales-summary/total-food-app-refunds ss 0.0)
|
||||
(:sales-summary/total-card-refunds ss 0.0)
|
||||
(:sales-summary/total-cash-refunds ss 0.0))
|
||||
|
||||
:fees (- (:sales-summary/total-card-fees ss 0.0))
|
||||
:cash-payments (+ (:sales-summary/total-cash-payments ss 0.0)
|
||||
(- (:sales-summary/total-cash-refunds ss 0.0)))
|
||||
@@ -138,11 +145,11 @@
|
||||
:sort-key "date"
|
||||
:render #(some-> % :sales-summary/date (atime/unparse-local atime/normal-date))}
|
||||
{:key "credits"
|
||||
:name "Credits"
|
||||
:name "credits"
|
||||
:sort-key "credits"
|
||||
:render (fn [ss]
|
||||
(let [total-credits (reduce + 0.0 (vals (get-credits ss)))
|
||||
total-debits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss)))
|
||||
(let [total-debits (reduce + 0.0 (vals (get-debits ss)))
|
||||
total-credits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss)))
|
||||
|
||||
(reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss))))
|
||||
(reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss))))
|
||||
@@ -160,9 +167,9 @@
|
||||
(reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss)))))]
|
||||
[:li "Tax: " (format "$%,.2f" (:sales-summary/total-tax ss))]
|
||||
[:li "Tips: " (format "$%,.2f" (:sales-summary/total-tip ss))]
|
||||
[:li (com/pill {:color (if (dollars= total-credits total-debits)
|
||||
[:li (com/pill {:color (if (dollars= total-debits total-credits)
|
||||
:primary
|
||||
:red)} "Total: " (format "$%,.2f" total-debits))]])
|
||||
:red)} "Total: " (format "$%,.2f" total-credits))]])
|
||||
|
||||
#_(count))}
|
||||
|
||||
@@ -172,21 +179,25 @@
|
||||
:render (fn [ss]
|
||||
(let [{:keys [card-payments food-app-payments
|
||||
cash-payments discounts fees
|
||||
returns] :as credits} (get-credits ss)
|
||||
total-credits (reduce + 0.0 (vals credits))
|
||||
total-debits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss)))
|
||||
gift-card-payments
|
||||
returns refunds] :as debits} (get-debits ss)
|
||||
|
||||
total-debits (reduce + 0.0 (vals debits))
|
||||
total-credits (+ (- (+ (reduce + 0.0 (map :sales-summary-item/total (:sales-summary/sales-items ss)))
|
||||
|
||||
(reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss))))
|
||||
(reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss))))
|
||||
(reduce + 0.0 (map :sales-summary-item/discount (:sales-summary/sales-items ss))))
|
||||
(reduce + 0.0 (map :sales-summary-item/tax (:sales-summary/sales-items ss))))
|
||||
|
||||
(:sales-summary/total-tax ss 0.0)
|
||||
(:sales-summary/total-tip ss 0.0))]
|
||||
(:sales-summary/total-tax ss 0.0)
|
||||
(:sales-summary/total-tip ss 0.0))]
|
||||
[:ul
|
||||
[:li "Card Payments: "
|
||||
(format "$%,.2f" card-payments)]
|
||||
|
||||
[:li "Food App Payments: "
|
||||
(format "$%,.2f" food-app-payments)]
|
||||
[:li "Gift Card Payments"
|
||||
(format "$%,.2f" gift-card-payments)]
|
||||
[:li "Cash Payments: "
|
||||
|
||||
(format "$%,.2f" cash-payments)]
|
||||
@@ -198,11 +209,15 @@
|
||||
(format "$%,.2f" fees)]
|
||||
[:li "Returns: "
|
||||
(format "$%,.2f" returns)]
|
||||
#_[:li "Refunds: "
|
||||
(format "$%,.2f" refunds)]
|
||||
|
||||
|
||||
[:li (com/pill {:color (if (dollars= total-credits total-debits)
|
||||
|
||||
|
||||
[:li (com/pill {:color (if (dollars= total-debits total-credits)
|
||||
:primary
|
||||
:red)} "Total: " (format "$%,.2f" total-credits))]])
|
||||
:red)} "Total: " (format "$%,.2f" total-debits))]])
|
||||
|
||||
#_(count))}]}))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user