Script for deleting vendors
This commit is contained in:
@@ -209,4 +209,6 @@
|
||||
:args [(dc/db conn)]})]
|
||||
{"id" (:db/id result)
|
||||
"name" (:vendor/name result)
|
||||
"hidden" (boolean (:vendor/hidden result))}))))
|
||||
"hidden" (boolean (:vendor/hidden result))}))))
|
||||
|
||||
#_(rebuild-search-index)
|
||||
|
||||
@@ -74,10 +74,10 @@
|
||||
|
||||
(def name->number
|
||||
{"gyros and pitas" 40111
|
||||
"returns" 41100
|
||||
"returns" 41300
|
||||
"card payments" 75460
|
||||
"cash payments" 75452
|
||||
"cash refunds" 75452
|
||||
"cash refunds" 41400
|
||||
"food app payments" 72350
|
||||
"unknown" 40000
|
||||
"discounts" 41000
|
||||
@@ -95,8 +95,8 @@
|
||||
"uncategorized" 40000
|
||||
"tax" 25700
|
||||
"tip" 25500
|
||||
"card refunds" 75460
|
||||
"food app refunds" 72350})
|
||||
"card refunds" 41400
|
||||
"food app refunds" 41400})
|
||||
|
||||
(defn get-payment-items [c date]
|
||||
(->>
|
||||
|
||||
@@ -389,5 +389,62 @@
|
||||
taptelis-clients)
|
||||
:separator \tab)
|
||||
|
||||
(dc/pull (dc/db conn)
|
||||
17592316415740)
|
||||
|
||||
|
||||
(comment
|
||||
|
||||
(defn cleanup-duplicate-vendors-get-merge []
|
||||
(with-open [i (io/reader (io/resource "duplicate_vendors.csv"))]
|
||||
(let [[header & rest] (clojure.data.csv/read-csv i)]
|
||||
|
||||
(->> rest
|
||||
(map (fn [h r]
|
||||
(into {} (map vector h r))) (repeat header))
|
||||
|
||||
(filter (fn [row]
|
||||
(not= (get row "Ben says don't merge?")
|
||||
"TRUE")))
|
||||
(map (fn [row]
|
||||
{:from (Long/parseLong (get row "vendor_id"))
|
||||
:to (Long/parseLong (get row "master_vendor_id"))}))
|
||||
(filter (fn [row]
|
||||
(not= (:from row) (:to row))))
|
||||
|
||||
(into []))))
|
||||
|
||||
)
|
||||
|
||||
(cleanup-duplicate-vendors-get-merge)
|
||||
|
||||
(defn merge-vendor [{:keys [from to]}]
|
||||
(let [valid-keys #{:transaction/recommended-vendor :cash-drawer-shift/vendor :payment/vendor :journal-entry/vendor :sales-refund/vendor :transaction/vendor :sales-order/vendor :vendor-usage/vendor :transaction-rule/vendor :invoice/vendor :expected-deposit/vendor}
|
||||
transaction (->> (dc/q {:find '[?x ?a2]
|
||||
:in '[$ [ ?a2 ...] ?vendor-from]
|
||||
:where ['[?x ?a2 ?vendor-from] ]}
|
||||
(dc/db conn)
|
||||
valid-keys
|
||||
from)
|
||||
(mapcat (fn [[src attr]]
|
||||
|
||||
[[:db/retract src attr from]
|
||||
[:db/add src attr to]]))
|
||||
(into []))]
|
||||
|
||||
(auto-ap.datomic/audit-transact-batch transaction {:user/role "VENDOR-DEDUPE-CLEANUP"})
|
||||
(auto-ap.datomic/audit-transact [[:db/retractEntity from]] {:user/role "VENDOR-DEDUPE-CLEANUP"})))
|
||||
|
||||
|
||||
|
||||
(doseq [v (cleanup-duplicate-vendors-get-merge)]
|
||||
(println v)
|
||||
(merge-vendor v))
|
||||
|
||||
(dc/q {:find '[?a2]
|
||||
:in '[$]
|
||||
:where ['[?v :vendor/name]
|
||||
'[_ ?a ?v]
|
||||
'[?a :db/ident ?a2]]}
|
||||
(dc/db conn))
|
||||
|
||||
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user