supports general ledger migration.
This commit is contained in:
@@ -82,9 +82,11 @@
|
||||
:auto-ap/add-general-ledger6 {:txes add-general-ledger/add-general-ledger :requires [:auto-ap/make-every-account-visible]}
|
||||
:auto-ap/add-general-ledger-fns2 {:txes-fn 'auto-ap.datomic.migrate.add-general-ledger/add-general-ledger-fns :requires [:auto-ap/add-general-ledger6]}
|
||||
:auto-ap/add-accounts {:txes auto-ap.datomic.migrate.add-general-ledger/add-accounts :requires [:auto-ap/add-general-ledger-fns2]}
|
||||
:auto-ap/add-transaction-account {:txes auto-ap.datomic.migrate.add-general-ledger/add-transaction-account :requires [:auto-ap/add-general-ledger-fns2]}
|
||||
:auto-ap/add-transaction-account {:txes auto-ap.datomic.migrate.add-general-ledger/add-transaction-account :requires [:auto-ap/add-accounts]}
|
||||
:auto-ap/change-expense-account-to-entity {:txes auto-ap.datomic.migrate.add-general-ledger/change-expense-account-to-entity :requires [:auto-ap/add-transaction-account]}
|
||||
:auto-ap/add-account-to-vendor {:txes auto-ap.datomic.migrate.add-general-ledger/add-account-to-vendor :requires [:auto-ap/add-transaction-account]}
|
||||
:auto-ap/add-account-to-vendor {:txes auto-ap.datomic.migrate.add-general-ledger/add-account-to-vendor :requires [:auto-ap/change-expense-account-to-entity]}
|
||||
:auto-ap/convert-vendors {:txes-fn `add-general-ledger/convert-vendors :requires [:auto-ap/add-account-to-vendor]}
|
||||
:auto-ap/convert-invoices {:txes-fn `add-general-ledger/convert-invoices :requires [:auto-ap/add-account-to-vendor]}
|
||||
#_#_:auto-ap/bulk-load-invoice-ledger2 {:txes-fn 'auto-ap.datomic.migrate.add-general-ledger/bulk-load-invoice-ledger :requires [:auto-ap/make-entity-not-unique]}
|
||||
|
||||
}]
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
(ns auto-ap.datomic.migrate.add-general-ledger
|
||||
(:require [datomic.api :as d]
|
||||
[auto-ap.datomic :refer [remove-nils]]
|
||||
[auto-ap.datomic.accounts :as accounts]
|
||||
[auto-ap.expense-accounts :as expense-accounts]
|
||||
[auto-ap.ledger :as ledger]))
|
||||
|
||||
|
||||
|
||||
(def add-general-ledger
|
||||
[[{:db/ident :journal-entry/source
|
||||
:db/valueType :db.type/string
|
||||
@@ -158,3 +161,27 @@
|
||||
:db/valueType :db.type/ref
|
||||
:db/cardinality :db.cardinality/one
|
||||
:db/doc "The account will be used when a bill is created."}]])
|
||||
|
||||
(defn convert-vendors [conn]
|
||||
(let [vendors (d/query {:query {:find '[?v ?expense-account-id]
|
||||
:in '[$]
|
||||
:where ['[?v :vendor/default-expense-account ?expense-account-id]]}
|
||||
:args [(d/db conn)]})]
|
||||
[(mapv
|
||||
(fn [[v expense-account-id]]
|
||||
(remove-nils {:db/id v
|
||||
:vendor/default-account (accounts/get-account-by-numeric-code-and-sets expense-account-id ["default"])}))
|
||||
vendors)]))
|
||||
|
||||
(defn convert-invoices [conn]
|
||||
(let [invoice-expense-accounts (d/query {:query {:find '[?iea ?expense-account-id]
|
||||
:in '[$]
|
||||
:where ['[?iea :invoice-expense-account/expense-account-id ?expense-account-id]]}
|
||||
:args [(d/db conn)]})]
|
||||
[(mapv
|
||||
(fn [[iea expense-account-id]]
|
||||
(remove-nils {:db/id iea
|
||||
:invoice-expense-account/account (accounts/get-account-by-numeric-code-and-sets expense-account-id ["default"])}))
|
||||
invoice-expense-accounts)]))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user