Adds the ability to suppress transactions

This commit is contained in:
2021-12-16 07:26:02 -08:00
parent a76b84fd8d
commit 1d312dd55d
7 changed files with 27 additions and 13 deletions

View File

@@ -422,7 +422,11 @@
:db/doc "Who triggred this import"
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one}]]
:depends-on [:auto-ap/base-schema]}}
:depends-on [:auto-ap/base-schema]}
:auto-ap/add-suppression {:txes [[{:db/ident :transaction-approval-status/suppressed}
{:db/ident :transaction/approval-status
:db/index true}]]
:depends-on [:auto-ap/base-schema]}}

View File

@@ -148,7 +148,8 @@
true
(merge-query {:query {:find ['?sort-default '?e]
:where ['[?e :transaction/id]
'[?e :transaction/date ?sort-default]]}}))]
'[?e :transaction/date ?sort-default]
'(not [?e :transaction/approval-status :transaction-approval-status/suppressed])]}}))]
(log/info "query is" query)
(cond->> query
true (d/query)

View File

@@ -995,6 +995,7 @@
{:enum-value :revenue}]}
:transaction_approval_status {:values [{:enum-value :approved}
{:enum-value :unapproved}
{:enum-value :suppressed}
{:enum-value :requires_feedback}
{:enum-value :excluded}]}}
:mutations

View File

@@ -78,7 +78,8 @@
(log/info "Deleting " (count all-ids) args)
(audit-transact-batch
(mapcat (fn [i]
[[:db/retractEntity i]
[{:db/id i
:transaction/approval-status :transaction-approval-status/suppressed}
[:db/retractEntity [:journal-entry/original-entity i]]])
all-ids)
(:id context))

View File

@@ -87,6 +87,7 @@
credit-from-bank? decreasing?
debit-from-bank? (not decreasing?)]
(when-not (or (= :transaction-approval-status/excluded (:db/ident (:transaction/approval-status entity)))
(= :transaction-approval-status/suppressed (:db/ident (:transaction/approval-status entity)))
(dollars-0? (:transaction/amount entity)))
(remove-nils
{:journal-entry/source "transaction"

View File

@@ -185,9 +185,13 @@
client-id (:db/id client)
valid-locations (or (:bank-account/locations bank-account) (:client/locations client))
date (time/parse date "YYYY-MM-dd")]
date (time/parse date "YYYY-MM-dd")
id (sha-256 (str id))]
(cond (existing (sha-256 (str id)))
(cond (= :transaction-approval-status/suppressed (existing id))
:suppressed
(existing id)
:extant
(not client-id)
@@ -293,11 +297,13 @@
(defn get-existing []
(transduce (map first) conj #{}
(d/query {:query {:find ['?tid]
:in ['$]
:where ['[_ :transaction/id ?tid]]}
:args [(d/db (d/connect uri))]})))
(into {}
(d/query {:query {:find ['?tid '?as2]
:in ['$]
:where ['[?e :transaction/id ?tid]
'[?e :transaction/approval-status ?as]
'[?as :db/ident ?as2]]}
:args [(d/db (d/connect uri))]})))
(defn get-all-bank-accounts []
(->> (d-clients/get-all)