hopefully faster 1099 load.

This commit is contained in:
2023-01-15 05:06:38 -08:00
parent 6e23394373
commit 14b1847a90

View File

@@ -16,38 +16,45 @@
(:vendor/legal-entity-tin-type vendor)))) (:vendor/legal-entity-tin-type vendor))))
(defn get-1099-companies [user] (defn get-1099-companies [user]
(->> (d/q '[:find (let [clients (->> (d/q '[:find ?c
(pull ?c [:client/code]) :in $ ?user
(pull ?v [:db/id :where [?c :client/code]
:vendor/name [(auto-ap.graphql.utils/can-see-client? ?user ?c)]]
{:vendor/legal-entity-1099-type [:db/ident]} (d/db conn) user)
{:vendor/legal-entity-tin-type [:db/ident]} (map first)
{:vendor/address [:address/street1 set)]
:address/city (->> (d/q '[:find
:address/state (pull ?c [:client/code])
:address/zip]} (pull ?v [:db/id
:vendor/legal-entity-first-ein :vendor/name
:vendor/legal-entity-first-name {:vendor/legal-entity-1099-type [:db/ident]}
:vendor/legal-entity-middle-name {:vendor/legal-entity-tin-type [:db/ident]}
:vendor/legal-entity-last-name]) {:vendor/address [:address/street1
(sum ?a) :address/city
:with ?p :address/state
:in $ ?user :address/zip]}
:where [?p :payment/date ?d ] :vendor/legal-entity-first-ein
[(>= ?d #inst "2018-01-01T08:00")] :vendor/legal-entity-first-name
[(< ?d #inst "2023-01-01T08:00")] :vendor/legal-entity-middle-name
[?p :payment/client ?c] :vendor/legal-entity-last-name])
[(auto-ap.graphql.utils/can-see-client? ?user ?c)] (sum ?a)
[?p :payment/amount ?a] :with ?p
[?p :payment/type :payment-type/check] :in $ [?c ...]
[?p :payment/vendor ?v]] :where
(d/db conn) [?p :payment/client ?c]
user) [?p :payment/date ?d ]
(filter (fn [[_ _ a]] [(>= ?d #inst "2018-01-01T08:00")]
(>= a 600.0))) [(< ?d #inst "2023-01-01T08:00")]
[?p :payment/amount ?a]
[?p :payment/type :payment-type/check]
[?p :payment/vendor ?v]]
(d/db conn)
clients)
(filter (fn [[_ _ a]]
(>= a 600.0)))
(sort-by (fn [[client _ amount]] (sort-by (fn [[client _ amount]]
[(:client/code client) amount]) ))) [(:client/code client) amount]) ))))
(defn dialog [header content footer] (defn dialog [header content footer]
[:div.modal.is-active [:div.modal.is-active