no need for transact-with-ledger.
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
(ns auto-ap.import.transactions
|
||||
|
||||
(:require
|
||||
[auto-ap.datomic :refer [audit-transact conn random-tempid remove-nils]]
|
||||
[auto-ap.datomic.accounts :as a]
|
||||
[iol-ion.tx :refer [upsert-entity]]
|
||||
[iol-ion.tx :refer [upsert-transaction upsert-invoice]]
|
||||
[auto-ap.datomic.checks :as d-checks]
|
||||
[auto-ap.datomic.transaction-rules :as tr]
|
||||
[auto-ap.datomic.transactions :as d-transactions]
|
||||
[auto-ap.ledger :refer [transact-with-ledger]]
|
||||
[auto-ap.rule-matching :as rm]
|
||||
[auto-ap.time :as atime]
|
||||
[auto-ap.utils :refer [dollars=]]
|
||||
@@ -113,17 +113,17 @@
|
||||
(defn add-new-payment [transaction [[vendor] :as invoice-payments] bank-account-id client-id]
|
||||
(log/info "Adding a new payment for transaction " (:transaction/id transaction) " and invoices " invoice-payments)
|
||||
(let [payment-id (random-tempid)]
|
||||
(-> [`(upsert-entity ~(assoc transaction
|
||||
:transaction/payment payment-id
|
||||
:transaction/approval-status :transaction-approval-status/approved
|
||||
:transaction/vendor vendor
|
||||
:transaction/location "A"
|
||||
:transaction/accounts
|
||||
[#:transaction-account
|
||||
{:db/id (random-tempid)
|
||||
:account (:db/id (a/get-account-by-numeric-code-and-sets 21000 ["default"]))
|
||||
:location "A"
|
||||
:amount (Math/abs (:transaction/amount transaction))}]))]
|
||||
(-> [`(upsert-transaction ~(assoc transaction
|
||||
:transaction/payment payment-id
|
||||
:transaction/approval-status :transaction-approval-status/approved
|
||||
:transaction/vendor vendor
|
||||
:transaction/location "A"
|
||||
:transaction/accounts
|
||||
[#:transaction-account
|
||||
{:db/id (random-tempid)
|
||||
:account (:db/id (a/get-account-by-numeric-code-and-sets 21000 ["default"]))
|
||||
:location "A"
|
||||
:amount (Math/abs (:transaction/amount transaction))}]))]
|
||||
|
||||
(conj {:payment/bank-account bank-account-id
|
||||
:payment/client client-id
|
||||
@@ -137,9 +137,9 @@
|
||||
[{:invoice-payment/invoice invoice-id
|
||||
:invoice-payment/payment payment-id
|
||||
:invoice-payment/amount invoice-amount}
|
||||
{:db/id invoice-id
|
||||
:invoice/outstanding-balance 0.0
|
||||
:invoice/status :invoice-status/paid}])
|
||||
`(upsert-invoice ~{:db/id invoice-id
|
||||
:invoice/outstanding-balance 0.0
|
||||
:invoice/status :invoice-status/paid})])
|
||||
invoice-payments)))))
|
||||
|
||||
(defn extract-check-number [{:transaction/keys [description-original]}]
|
||||
@@ -255,25 +255,25 @@
|
||||
#_maybe-autopay-invoices
|
||||
#(maybe-code % apply-rules valid-locations)
|
||||
identity)]
|
||||
[(-> transaction
|
||||
(assoc :transaction/client client-id)
|
||||
(assoc :transaction/bank-account bank-account-id)
|
||||
(assoc :transaction/approval-status :transaction-approval-status/unapproved)
|
||||
maybe-assoc-check-number
|
||||
code-fn
|
||||
remove-nils)]))
|
||||
(-> transaction
|
||||
(assoc :transaction/client client-id)
|
||||
(assoc :transaction/bank-account bank-account-id)
|
||||
(assoc :transaction/approval-status :transaction-approval-status/unapproved)
|
||||
maybe-assoc-check-number
|
||||
code-fn
|
||||
remove-nils)))
|
||||
|
||||
|
||||
(defn get-existing [bank-account]
|
||||
(log/info "looking up bank account data for" bank-account)
|
||||
(into {}
|
||||
(dc/q {:query {:find ['?tid '?as2]
|
||||
:in ['$ '?ba]
|
||||
:where ['[?e :transaction/bank-account ?ba]
|
||||
'[?e :transaction/id ?tid]
|
||||
'[?e :transaction/approval-status ?as]
|
||||
'[?as :db/ident ?as2]]}
|
||||
:args [(dc/db conn) bank-account]})))
|
||||
:in ['$ '?ba]
|
||||
:where ['[?e :transaction/bank-account ?ba]
|
||||
'[?e :transaction/id ?tid]
|
||||
'[?e :transaction/approval-status ?as]
|
||||
'[?as :db/ident ?as2]]}
|
||||
:args [(dc/db conn) bank-account]})))
|
||||
|
||||
(defprotocol ImportBatch
|
||||
(import-transaction! [this transaction])
|
||||
@@ -319,7 +319,7 @@
|
||||
:error :import-batch/error
|
||||
:not-ready :import-batch/not-ready) inc))
|
||||
(when (= :import action)
|
||||
(transact-with-ledger (transaction->txs transaction bank-account rule-applying-function)
|
||||
(audit-transact [`(upsert-transaction ~(transaction->txs transaction bank-account rule-applying-function))]
|
||||
{:user/name user
|
||||
:user/role ":admin"}))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user