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