no need for ledger automation.

This commit is contained in:
2022-09-27 17:04:47 -07:00
parent 90743ab3a3
commit 63254ba401
9 changed files with 163 additions and 201 deletions

View File

@@ -2,8 +2,8 @@
(:require
[amazonica.aws.s3 :as s3]
[auto-ap.datomic :refer [uri]]
[auto-ap.ledger :as l]
[auto-ap.server ]
[auto-ap.ledger :as l :refer [transact-with-ledger]]
[auto-ap.server]
[auto-ap.square.core :as square]
[auto-ap.time :as atime]
[auto-ap.utils :refer [by]]
@@ -13,15 +13,15 @@
[clojure.core.async :as async]
[clojure.data.csv :as csv]
[clojure.java.io :as io]
clojure.pprint
[clojure.pprint]
[clojure.string :as str]
[config.core :refer [env]]
[datomic.api :as d]
[mount.core :as mount]
nrepl.middleware.print
[nrepl.middleware.print]
[unilog.context :as lc])
(:import
[org.apache.commons.io.input BOMInputStream]))
(org.apache.commons.io.input BOMInputStream)))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn mark-until-date [client end]
@@ -43,7 +43,7 @@
:invoice/exclude-from-ledger true}))
(partition-all 100))]
@(d/transact conn p)
(transact-with-ledger p {:user/name "mark-until-date" :user/role "admin"})
(println "process 100"))
(doseq [p (->>
@@ -63,24 +63,7 @@
:transaction/approval-status :transaction-approval-status/excluded}))
(partition-all 100))]
@(d/transact conn p) (println "process 100"))))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn unapprove-all []
(let [conn (d/connect uri)]
(doseq [p (->>
(d/query {:query {:find '[?e]
:in '[$ ]
:where ['[?e :transaction/date ?d ]]}
:args [(d/db conn)]})
(mapv first)
(mapv (fn [i]
{:db/id i
:transaction/approval-status :transaction-approval-status/unapproved}))
(partition-all 100))]
@(d/transact conn p)
(println "process 100"))))
(transact-with-ledger p {:user/name "mark-until-date" :user/role "admin"}) (println "process 100"))))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn load-accounts [conn]
@@ -414,42 +397,6 @@
(defn start-db []
(mount.core/start (mount.core/only #{#'auto-ap.datomic/conn})))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn touch-transaction-ledger [e]
@(d/transact auto-ap.datomic/conn [[:db/retractEntity [:journal-entry/original-entity e]]])
@(d/transact auto-ap.datomic/conn [(l/entity-change->ledger (d/db auto-ap.datomic/conn)
[:transaction e])]))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}
(defn mismatched-transactions []
(let [jel-accounts (reduce
(fn [acc [e lia]]
(update acc e (fnil conj #{} ) lia))
{}
(d/query {:query {:find ['?e '?lia]
:in ['$]
:where ['[?je :journal-entry/line-items ?li]
'[?je :journal-entry/original-entity ?e]
'[?li :journal-entry-line/account ?lia]
'[?lia :account/name]]}
:args [(d/db auto-ap.datomic/conn)]}))
transaction-accounts (reduce
(fn [acc [e lia]]
(update acc e (fnil conj #{} ) lia))
{}
(d/query {:query {:find ['?e '?lia]
:in ['$]
:where ['[?e :transaction/accounts ?li]
'(not [?e :transaction/approval-status :transaction-approval-status/excluded])
'[?li :transaction-account/account ?lia]
'[?lia :account/name]]}
:args [(d/db auto-ap.datomic/conn)]}))
]
(filter
(fn [[e accounts]] (not= accounts (get jel-accounts e)))
transaction-accounts)))
#_{:clj-kondo/ignore [:clojure-lsp/unused-public-var]}