refactor: remove dead calc-aggregate-totals and unused schema attributes
The 13 sales-summary/total-* attributes were computed and stored but never read — the only consumer (get-debits) was commented out. Active display code computes totals on-the-fly from the items list instead.
This commit is contained in:
@@ -1954,63 +1954,6 @@
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/index true}
|
||||
|
||||
{:db/ident :sales-summary/total-card-payments
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-cash-payments
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-food-app-payments
|
||||
: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
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-cash-refunds
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-food-app-refunds
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-fees
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-discounts
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-tax
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-tip
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-returns
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-unknown-payments
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
{:db/ident :sales-summary/total-net
|
||||
:db/noHistory true
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
{:db/ident :sales-summary-item/category
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}
|
||||
|
||||
@@ -276,34 +276,6 @@
|
||||
:ledger-mapped/amount amount
|
||||
:ledger-mapped/ledger-side :ledger-side/debit}))
|
||||
|
||||
(defn- calc-aggregate-totals [items]
|
||||
(reduce
|
||||
(fn [acc item]
|
||||
(let [cat (:sales-summary-item/category item)
|
||||
amt (:ledger-mapped/amount item 0.0)
|
||||
side (:ledger-mapped/ledger-side item)]
|
||||
(cond-> acc
|
||||
;; Payments (debits)
|
||||
(= cat "Card Payments") (update :sales-summary/total-card-payments (fnil + 0.0) amt)
|
||||
(= cat "Cash Payments") (update :sales-summary/total-cash-payments (fnil + 0.0) amt)
|
||||
(= cat "Food App Payments") (update :sales-summary/total-food-app-payments (fnil + 0.0) amt)
|
||||
(= cat "Gift Card Payments") (update :sales-summary/total-gift-card-payments (fnil + 0.0) amt)
|
||||
(= cat "Unknown") (update :sales-summary/total-unknown-payments (fnil + 0.0) amt)
|
||||
;; Refunds (credits)
|
||||
(= cat "Card Refunds") (update :sales-summary/total-card-refunds (fnil + 0.0) amt)
|
||||
(= cat "Cash Refunds") (update :sales-summary/total-cash-refunds (fnil + 0.0) amt)
|
||||
(= cat "Food App Refunds") (update :sales-summary/total-food-app-refunds (fnil + 0.0) amt)
|
||||
;; Other
|
||||
(= cat "Fees") (update :sales-summary/total-fees (fnil + 0.0) amt)
|
||||
(= cat "Discounts") (update :sales-summary/total-discounts (fnil + 0.0) amt)
|
||||
(= cat "Tax") (update :sales-summary/total-tax (fnil + 0.0) amt)
|
||||
(= cat "Tip") (update :sales-summary/total-tip (fnil + 0.0) amt)
|
||||
(= cat "Returns") (update :sales-summary/total-returns (fnil + 0.0) amt)
|
||||
;; Net from sales line items
|
||||
:else (update :sales-summary/total-net (fnil + 0.0) amt))))
|
||||
{}
|
||||
items))
|
||||
|
||||
(defn sales-summaries-v2 []
|
||||
(doseq [[c client-code] (dc/q '[:find ?c ?client-code
|
||||
:in $
|
||||
@@ -329,15 +301,13 @@
|
||||
(map (fn [z]
|
||||
(assoc z :ledger-mapped/account (some-> z :sales-summary-item/category str/lower-case name->number lookup-account)
|
||||
:sales-summary-item/manual? false))))
|
||||
all-items (concat calculated-items manual-items)
|
||||
aggregates (calc-aggregate-totals all-items)
|
||||
result (into {:db/id id
|
||||
:sales-summary/client c
|
||||
:sales-summary/date date
|
||||
:sales-summary/dirty false
|
||||
:sales-summary/client+date [c date]
|
||||
:sales-summary/items all-items}
|
||||
aggregates)]
|
||||
all-items (concat calculated-items manual-items)
|
||||
result {:db/id id
|
||||
:sales-summary/client c
|
||||
:sales-summary/date date
|
||||
:sales-summary/dirty false
|
||||
:sales-summary/client+date [c date]
|
||||
:sales-summary/items all-items}]
|
||||
(if (seq (:sales-summary/items result))
|
||||
(do
|
||||
(alog/info ::upserting-summaries
|
||||
@@ -360,11 +330,6 @@
|
||||
(comment
|
||||
(auto-ap.datomic/transact-schema conn)
|
||||
|
||||
@(dc/transact conn [{:db/ident :sales-summary/total-unknown-processor-payments
|
||||
:db/noHistory true,
|
||||
:db/valueType :db.type/double
|
||||
:db/cardinality :db.cardinality/one}])
|
||||
|
||||
(apply mark-dirty [:client/code "NGCL"] (last-n-days 30))
|
||||
|
||||
(apply mark-dirty [:client/code "NGDG"] (last-n-days 30))
|
||||
|
||||
@@ -129,26 +129,6 @@
|
||||
[(->> (hydrate-results ids-to-retrieve db request))
|
||||
matching-count]))
|
||||
|
||||
#_(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)))
|
||||
:total-unknown-processor-payments (:sales-summary/total-unknown-processor-payments ss 0.0)
|
||||
:discounts (+ (:sales-summary/discount ss 0.0))
|
||||
:returns (+ (:sales-summary/total-returns ss 0.0))})
|
||||
(defn sort-items [ss]
|
||||
(sort-by (juxt :ledger-mapped/ledger-side :sales-summary-item/sort-order :sales-summary-item/category) ss))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user