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-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-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-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/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]}
|
#_#_: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
|
(ns auto-ap.datomic.migrate.add-general-ledger
|
||||||
(:require [datomic.api :as d]
|
(:require [datomic.api :as d]
|
||||||
[auto-ap.datomic :refer [remove-nils]]
|
[auto-ap.datomic :refer [remove-nils]]
|
||||||
|
[auto-ap.datomic.accounts :as accounts]
|
||||||
[auto-ap.expense-accounts :as expense-accounts]
|
[auto-ap.expense-accounts :as expense-accounts]
|
||||||
[auto-ap.ledger :as ledger]))
|
[auto-ap.ledger :as ledger]))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(def add-general-ledger
|
(def add-general-ledger
|
||||||
[[{:db/ident :journal-entry/source
|
[[{:db/ident :journal-entry/source
|
||||||
:db/valueType :db.type/string
|
:db/valueType :db.type/string
|
||||||
@@ -158,3 +161,27 @@
|
|||||||
:db/valueType :db.type/ref
|
:db/valueType :db.type/ref
|
||||||
:db/cardinality :db.cardinality/one
|
:db/cardinality :db.cardinality/one
|
||||||
:db/doc "The account will be used when a bill is created."}]])
|
: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