everything is audited.

This commit is contained in:
Bryce Covert
2020-09-04 19:53:39 -07:00
parent 3d0f079de2
commit 11f61464f5
15 changed files with 297 additions and 131 deletions

View File

@@ -1,19 +1,19 @@
(ns auto-ap.graphql.ledger
(:require [auto-ap.datomic :refer [uri remove-nils]]
(:require [auto-ap.datomic :refer [audit-transact-batch remove-nils uri]]
[auto-ap.datomic.accounts :as a]
[auto-ap.datomic.clients :as d-clients]
[auto-ap.datomic.ledger :as l]
[auto-ap.datomic.vendors :as d-vendors]
[auto-ap.datomic.accounts :as a]
[auto-ap.utils :refer [by dollars=]]
[auto-ap.time :refer [parse iso-date]]
[auto-ap.graphql.utils :refer [->graphql <-graphql limited-clients assert-admin result->page assert-can-see-client]]
[clj-time.coerce :as coerce]
[clojure.string :as str]
[clj-time.core :as time]
[auto-ap.graphql.utils
:refer
[->graphql <-graphql assert-admin assert-can-see-client result->page]]
[auto-ap.parse.util :as parse]
[datomic.api :as d]
[auto-ap.parse.templates :as t]
[auto-ap.datomic.clients :as d-clients]
[auto-ap.utils :refer [by dollars=]]
[clj-time.coerce :as coerce]
[clj-time.core :as time]
[clojure.string :as str]
[clojure.tools.logging :as log]
[datomic.api :as d]
[unilog.context :as lc]))
(defn get-ledger-page [context args value]
@@ -217,7 +217,8 @@
:db/id vendor_name})))
{}
(:entries args))
all-vendors (into all-vendors new-hidden-vendors)
_ (audit-transact-batch (vec (vals new-hidden-vendors)) (:id context))
all-vendors (by :vendor/name (d-vendors/get-graphql {}))
all-accounts (transduce (map (comp str :account/numeric-code)) conj #{} (a/get-accounts))
transaction (doall (map
(assoc-error (fn [entry]
@@ -250,7 +251,8 @@
:journal-entry/client [:client/code (:client_code entry)]
:journal-entry/date (coerce/to-date (parse/parse-value :clj-time "MM/dd/yyyy" (:date entry)))
:journal-entry/external-id (:external_id entry)
:journal-entry/vendor (:db/id (all-vendors (:vendor_name entry)))
:journal-entry/vendor (:db/id (doto (all-vendors (:vendor_name entry))
println))
:journal-entry/amount (:amount entry)
:journal-entry/note (:note entry)
:journal-entry/cleared-against (:cleared_against entry)
@@ -286,12 +288,11 @@
retraction (mapv (fn [x] [:db/retractEntity [:journal-entry/external-id (:journal-entry/external-id x)]])
success)]
(log/info "manual ledger import has " (count success) " new rows")
(run! (fn [batch]
(log/info "transacting retraction batch" (first batch))
@(d/transact (d/connect uri) batch)) (partition-all 100 retraction))
(run! (fn [batch]
(log/info "transacting success batch" (first batch))
@(d/transact (d/connect uri) batch)) (partition-all 100 success))
(audit-transact-batch retraction (:id context))
(audit-transact-batch success (:id context))
{:successful (map (fn [x] {:external_id (:journal-entry/external-id x)}) success)
:existing []
:errors (map (fn [x] {:external_id (:external_id x)