make normal users fast.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
(ns auto-ap.ssr.company.company-1099
|
(ns auto-ap.ssr.company.company-1099
|
||||||
(:require
|
(:require
|
||||||
[auto-ap.datomic :refer [conn remove-nils]]
|
[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.shared-views.company.sidebar :refer [company-side-bar]]
|
||||||
[auto-ap.ssr-routes :as ssr-routes]
|
[auto-ap.ssr-routes :as ssr-routes]
|
||||||
[auto-ap.ssr.ui :refer [base-page html-response]]
|
[auto-ap.ssr.ui :refer [base-page html-response]]
|
||||||
@@ -23,37 +23,64 @@
|
|||||||
(d/db conn) user)
|
(d/db conn) user)
|
||||||
(map first)
|
(map first)
|
||||||
set)]
|
set)]
|
||||||
(->> (d/q '[:find
|
(->> (if (is-admin? user)
|
||||||
(pull ?c [:client/code :db/id])
|
(d/q '[:find
|
||||||
(pull ?v [:db/id
|
(pull ?c [:client/code :db/id])
|
||||||
:vendor/name
|
(pull ?v [:db/id
|
||||||
{:vendor/legal-entity-1099-type [:db/ident]}
|
:vendor/name
|
||||||
{:vendor/legal-entity-tin-type [:db/ident]}
|
{:vendor/legal-entity-1099-type [:db/ident]}
|
||||||
{:vendor/address [:address/street1
|
{:vendor/legal-entity-tin-type [:db/ident]}
|
||||||
:address/city
|
{:vendor/address [:address/street1
|
||||||
:address/state
|
:address/city
|
||||||
:address/zip]}
|
:address/state
|
||||||
:vendor/legal-entity-first-ein
|
:address/zip]}
|
||||||
:vendor/legal-entity-first-name
|
:vendor/legal-entity-first-ein
|
||||||
:vendor/legal-entity-middle-name
|
:vendor/legal-entity-first-name
|
||||||
:vendor/legal-entity-last-name])
|
:vendor/legal-entity-middle-name
|
||||||
(sum ?a)
|
:vendor/legal-entity-last-name])
|
||||||
:with ?d
|
(sum ?a)
|
||||||
:in $
|
:with ?d
|
||||||
:where
|
:in $
|
||||||
[?p :payment/date ?d ]
|
:where
|
||||||
[(>= ?d #inst "2022-01-01T08:00")]
|
[?p :payment/date ?d ]
|
||||||
[(< ?d #inst "2023-01-01T08:00")]
|
[(>= ?d #inst "2022-01-01T08:00")]
|
||||||
[?p :payment/client ?c]
|
[(< ?d #inst "2023-01-01T08:00")]
|
||||||
[?p :payment/amount ?a]
|
[?p :payment/type :payment-type/check]
|
||||||
[?p :payment/vendor ?v]]
|
[?p :payment/client ?c]
|
||||||
(d/db conn)
|
[?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]]
|
(filter (fn [[_ _ a]]
|
||||||
(>= (or a 0.0) 600.0)))
|
(>= (or a 0.0) 600.0)))
|
||||||
(filter (comp clients :db/id first))
|
|
||||||
(take 200)
|
(take 200)
|
||||||
|
|
||||||
(sort-by (fn [[client _ amount]]
|
(sort-by (fn [[client _ amount]]
|
||||||
[(:client/code client ) amount]) ))))
|
[(:client/code client ) amount]) ))))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user