tons of small fixes.

This commit is contained in:
Bryce Covert
2020-09-01 17:07:03 -07:00
parent 183c74f128
commit 9f46f85330
24 changed files with 520 additions and 221 deletions

View File

@@ -5,6 +5,7 @@
[auto-ap.datomic.migrate.add-bank-account-codes :refer [add-bank-account-codes]]
[auto-ap.datomic.migrate.invoice-converter :refer [add-import-status-existing-invoices]]
[auto-ap.datomic.migrate.add-general-ledger :as add-general-ledger]
[auto-ap.datomic.migrate.ledger :as ledger]
[auto-ap.datomic.migrate.sales :as sales]
[auto-ap.datomic.migrate.clients :as clients]
[auto-ap.datomic.migrate.audit :as audit]
@@ -316,11 +317,12 @@
:auto-ap/fix-reset-rels {:txes-fn `reset-function}}
sales/norms-map
clients/norms-map
ledger/norms-map
audit/norms-map)
]
(println "Conforming database...")
(c/ensure-conforms conn norms-map)
(when (not (seq args))
#_(when (not (seq args))
(d/release conn))
(println "Done")))
#_(-main false)

View File

@@ -0,0 +1,6 @@
(ns auto-ap.datomic.migrate.ledger)
(def norms-map {::add-alternat-description {:txes [[{:db/ident :journal-entry/alternate-description
:db/doc "The description if there is no vendor"
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one}]]}})

View File

@@ -116,7 +116,6 @@
args)
true
(merge-query {:query {:find ['?e] :where ['[?e :transaction/id]]}}))]
(println query)
(cond->> query
true (d/query)
true (apply-sort-3 args)
@@ -179,18 +178,3 @@
(update :transaction/post-date c/from-date)
(dissoc :transaction/id)))
(defn unapprove [ids]
(doseq [x (partition-all 100 ids)]
@(d/transact (d/connect uri)
(mapv (fn [i]
{:db/id i
:transaction/approval-status :transaction-approval-status/unapproved})
x))))
(defn delete [ids]
(doseq [x (partition-all 100 ids)]
@(d/transact (d/connect uri)
(mapcat (fn [i]
[[:db/retractEntity i]
[:db/retractEntity [:journal-entry/original-entity i]]])
x))))

View File

@@ -1,7 +1,8 @@
(ns auto-ap.datomic.vendors
(:require [datomic.api :as d]
[auto-ap.graphql.utils :refer [limited-clients]]
[auto-ap.datomic :refer [uri]]))
[auto-ap.graphql.utils :refer [limited-clients ]]
[auto-ap.datomic :refer [uri conn merge-query]]))
(defn cleanse [id vendor]
(let [clients (if-let [clients (limited-clients id)]
(set (map :db/id clients))
@@ -18,14 +19,42 @@
:vendor/terms-overrides [* {:vendor-terms-override/client [:client/name :client/code :db/id]}]
:vendor/automatically-paid-when-due [:db/id :client/name]}])
(defn get-graphql [args]
(->> (cond-> {:query {:find [(list 'pull '?e default-read)]
(defn get-usages [args]
(->> (cond-> {:query {:find ['?v '?c '(count ?e)]
:in ['$]
:where ['[?e :vendor/name]]}
:args [(d/db (d/connect uri))]})
:where ['[?v :vendor/name]
'(or-join [?v ?c ?e]
(and
[?e :invoice/vendor ?v]
[?e :invoice/client ?c])
(and
[?e :transaction/vendor ?v]
[?e :transaction/client ?c])
(and
[?e :journal-entry/vendor ?v]
[?e :journal-entry/client ?c]))]}
:args [(d/db conn)]}
(limited-clients (:id args))
(merge-query {:query {:in ['?xx]
:where [['(get ?xx ?c)]]}
:args [(set (map :db/id (limited-clients (:id args))))]}))
(d/query)
(map first)
(map #(cleanse (:id args) %))))
(reduce
(fn [usages [v c cnt]]
(update usages v (fnil conj []) {:client-id c :count cnt}))
{})))
(defn get-graphql [args]
(let [usages (time (get-usages args))]
(->> (cond-> {:query {:find [(list 'pull '?e default-read)]
:in ['$]
:where ['[?e :vendor/name]]}
:args [(d/db (d/connect uri))]})
(d/query)
(map first)
(map #(cleanse (:id args) %))
(map #(assoc % :usage (get usages (:db/id %)))))))
(defn get-by-id [id]