This commit is contained in:
Bryce
2024-09-23 09:50:31 -07:00
parent babb0302d2
commit 4fdc2e2558

View File

@@ -1,9 +1,10 @@
(ns auto-ap.graphql.clients
(:require [auto-ap.datomic :refer [conn]]
[auto-ap.logging :as alog]
[auto-ap.datomic.clients :as d-clients]
[auto-ap.graphql.utils
:refer [->graphql <-graphql assert-admin attach-tracing-resolvers
can-see-client? is-admin? result->page]]
:refer [->graphql <-graphql assert-admin attach-tracing-resolvers
can-see-client? is-admin? result->page]]
[clj-time.coerce :as c]
[clj-time.core :as time]
[clojure.set :as set]
@@ -18,24 +19,27 @@
db)]
(doseq [[{client :db/id code :client/code bank-accounts :client/bank-accounts}] clients
{bank-account :db/id bac :bank-account/code} bank-accounts]
@(dc/transact conn [{:db/id bank-account
:bank-account/current-balance-synced (c/to-date (time/now))
:bank-account/current-balance
(or
(->> (dc/index-pull db
{:index :avet
:selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}]
:start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]]
:reverse true})
(take 3)
(let [balance (or
(->> (dc/index-pull db
{:index :avet
:selector [:db/id :journal-entry-line/location :journal-entry-line/account :journal-entry-line/running-balance :journal-entry-line/client+account+location+date {:journal-entry/_line-items [:journal-entry/date :journal-entry/client]}]
:start [:journal-entry-line/client+account+location+date [client bank-account "A" #inst "2030-01-01"]]
:reverse true})
(take 3)
(filter (fn [{[c b] :journal-entry-line/client+account+location+date}]
(and (= c client)
(= b bank-account))))
(filter (fn [{[c b] :journal-entry-line/client+account+location+date}]
(and (= c client)
(= b bank-account))))
(map :journal-entry-line/running-balance)
(first))
0.0)}])))))
(map :journal-entry-line/running-balance)
(first))
0.0)]
(alog/info ::updating
:bank-account bac
:balance balance)
@(dc/transact conn [{:db/id bank-account
:bank-account/current-balance-synced (c/to-date (time/now))
:bank-account/current-balance balance}]))))))
(defn get-client [context _ _]
(->graphql