supports bulk loading data.

This commit is contained in:
Bryce Covert
2019-04-13 12:26:51 -07:00
parent 2e694a5c75
commit 53063f47f3
3 changed files with 73 additions and 21 deletions

View File

@@ -45,9 +45,9 @@
:journal-entry/line-items (into [{:journal-entry-line/account (a/get-account-by-numeric-code-and-sets 2110 ["default"])
:journal-entry-line/credit (:invoice/total entity)}]
(map (fn [ea]
{:journal-entry-line/account (:db/id (:invoice-expense-account/account ea))
:journal-entry-line/location (:invoice-expense-account/location ea)
:journal-entry-line/debit (:invoice-expense-account/amount ea)})
(remove-nils {:journal-entry-line/account (:db/id (:invoice-expense-account/account ea))
:journal-entry-line/location (or (:invoice-expense-account/location ea) "HQ") ;; TODO?
:journal-entry-line/debit (:invoice-expense-account/amount ea)}))
(:invoice/expense-accounts entity)))
:journal-entry/cleared (and (< (:invoice/outstanding-balance entity) 0.01)
@@ -57,24 +57,25 @@
(defmethod entity-change->ledger :transaction
[db [type id]]
(let [entity (d/pull db ['* {:transaction/vendor '[*] :transaction/client '[*] :transaction/account '[*]}] id)]
(remove-nils
{:journal-entry/source "transaction"
:journal-entry/client (:db/id (:transaction/client entity))
:journal-entry/date (doto (:transaction/date entity) println)
:journal-entry/original-entity (:db/id entity)
:journal-entry/vendor (:db/id (:transaction/vendor entity))
:journal-entry/amount (Math/abs (:transaction/amount entity))
(when (:transaction/vendor entity)
(remove-nils
{:journal-entry/source "transaction"
:journal-entry/client (:db/id (:transaction/client entity))
:journal-entry/date (:transaction/date entity)
:journal-entry/original-entity (:db/id entity)
:journal-entry/vendor (:db/id (:transaction/vendor entity))
:journal-entry/amount (Math/abs (:transaction/amount entity))
:journal-entry/line-items [{:journal-entry-line/account (:db/id (:transaction/account entity))
:journal-entry-line/location "HQ"
:journal-entry-line/debit (Math/abs (:transaction/amount entity))}
:journal-entry/line-items [(remove-nils{:journal-entry-line/account (:db/id (:transaction/account entity))
:journal-entry-line/location "HQ"
:journal-entry-line/debit (Math/abs (:transaction/amount entity))})
{:journal-entry-line/account (:db/id (:transaction/bank-account entity))
:journal-entry-line/location "HQ"
:journal-entry-line/credit (Math/abs (:transaction/amount entity))}
]
:journal-entry/cleared true})))
(remove-nils {:journal-entry-line/account (:db/id (:transaction/bank-account entity))
:journal-entry-line/location "HQ"
:journal-entry-line/credit (Math/abs (:transaction/amount entity))})
]
:journal-entry/cleared true}))))
(defmethod entity-change->ledger :invoice-expense-account
[db [entity changes]]