diff --git a/src/clj/auto_ap/ssr/company/company_1099.clj b/src/clj/auto_ap/ssr/company/company_1099.clj index b1d21fae..a587253e 100644 --- a/src/clj/auto_ap/ssr/company/company_1099.clj +++ b/src/clj/auto_ap/ssr/company/company_1099.clj @@ -1,7 +1,7 @@ (ns auto-ap.ssr.company.company-1099 (:require [auto-ap.datomic :refer [conn remove-nils]] - [auto-ap.graphql.utils :refer [can-see-client?]] + [auto-ap.graphql.utils :refer [can-see-client? is-admin?]] [auto-ap.shared-views.company.sidebar :refer [company-side-bar]] [auto-ap.ssr-routes :as ssr-routes] [auto-ap.ssr.ui :refer [base-page html-response]] @@ -23,37 +23,64 @@ (d/db conn) user) (map first) set)] - (->> (d/q '[:find - (pull ?c [:client/code :db/id]) - (pull ?v [:db/id - :vendor/name - {:vendor/legal-entity-1099-type [:db/ident]} - {:vendor/legal-entity-tin-type [:db/ident]} - {:vendor/address [:address/street1 - :address/city - :address/state - :address/zip]} - :vendor/legal-entity-first-ein - :vendor/legal-entity-first-name - :vendor/legal-entity-middle-name - :vendor/legal-entity-last-name]) - (sum ?a) - :with ?d - :in $ - :where - [?p :payment/date ?d ] - [(>= ?d #inst "2022-01-01T08:00")] - [(< ?d #inst "2023-01-01T08:00")] - [?p :payment/client ?c] - [?p :payment/amount ?a] - [?p :payment/vendor ?v]] - (d/db conn) - ) + (->> (if (is-admin? user) + (d/q '[:find + (pull ?c [:client/code :db/id]) + (pull ?v [:db/id + :vendor/name + {:vendor/legal-entity-1099-type [:db/ident]} + {:vendor/legal-entity-tin-type [:db/ident]} + {:vendor/address [:address/street1 + :address/city + :address/state + :address/zip]} + :vendor/legal-entity-first-ein + :vendor/legal-entity-first-name + :vendor/legal-entity-middle-name + :vendor/legal-entity-last-name]) + (sum ?a) + :with ?d + :in $ + :where + [?p :payment/date ?d ] + [(>= ?d #inst "2022-01-01T08:00")] + [(< ?d #inst "2023-01-01T08:00")] + [?p :payment/type :payment-type/check] + [?p :payment/client ?c] + [?p :payment/amount ?a] + [?p :payment/vendor ?v]] + (d/db conn)) + (d/q '[:find + (pull ?c [:client/code :db/id]) + (pull ?v [:db/id + :vendor/name + {:vendor/legal-entity-1099-type [:db/ident]} + {:vendor/legal-entity-tin-type [:db/ident]} + {:vendor/address [:address/street1 + :address/city + :address/state + :address/zip]} + :vendor/legal-entity-first-ein + :vendor/legal-entity-first-name + :vendor/legal-entity-middle-name + :vendor/legal-entity-last-name]) + (sum ?a) + :with ?d + :in $ [?c ...] + :where + [?p :payment/client ?c] + [?p :payment/date ?d ] + [(>= ?d #inst "2022-01-01T08:00")] + [(< ?d #inst "2023-01-01T08:00")] + [?p :payment/type :payment-type/check] + + [?p :payment/amount ?a] + [?p :payment/vendor ?v]] + (d/db conn) + clients)) (filter (fn [[_ _ a]] (>= (or a 0.0) 600.0))) - (filter (comp clients :db/id first)) (take 200) - (sort-by (fn [[client _ amount]] [(:client/code client ) amount]) ))))