New import approach to capture the batch.

This commit is contained in:
2021-12-15 20:35:37 -08:00
parent b7324af538
commit 26a949e63f
12 changed files with 335 additions and 218 deletions

View File

@@ -22,12 +22,16 @@
db)))
(defn upsert-transactions []
(let [db (d/db conn)]
(let [db (d/db conn)
import-id (y/start-import :import-source/intuit "Automated Intuit User")
stats (atom {:import-batch/imported 0
:import-batch/extant 0
:import-batch/suppressed 0})]
(doseq [[bank-account external-id] (get-intuit-bank-accounts db)
:let [bank-account (d/entity db bank-account)
end (auto-ap.time/local-now)
start (time/plus end (time/days -30))]
]
start (time/plus end (time/days -30))]]
(log/infof "importing from %s to %s for %s" start end external-id)
(let [transactions (->> (i/get-transactions (auto-ap.time/unparse start auto-ap.time/iso-date)
(auto-ap.time/unparse end auto-ap.time/iso-date)
@@ -40,8 +44,13 @@
:date (auto-ap.time/parse (:Date r) auto-ap.time/iso-date)
:status "posted"})))]
(log/infof "%d transactions found" (count transactions))
#_(y/grouped-import transactions)
transactions))))
(let [result (y/grouped-import transactions import-id)]
(swap! stats
(fn [s]
(merge-with + s {:import-batch/imported (count (:import result))
:import-batch/extant (count (:extant result))
:import-batch/suppressed (count (:suppressed result))}))))))
(y/finish-import (assoc @stats :db/id import-id))))
(defn dry-run-upsert-transactions []
@@ -55,9 +64,7 @@
start (time/plus end (time/days -30))]
r (i/get-transactions (auto-ap.time/unparse start auto-ap.time/iso-date)
(auto-ap.time/unparse end auto-ap.time/iso-date)
external-id)
]
external-id)]
{:client-id (:db/id (:client/_bank-accounts bank-account))
:client-code (:client/code (:client/_bank-accounts bank-account))
:bank-account-id (:db/id bank-account)