diff --git a/src/clj/auto_ap/graphql/clients.clj b/src/clj/auto_ap/graphql/clients.clj index 102c4883..0240c2e8 100644 --- a/src/clj/auto_ap/graphql/clients.clj +++ b/src/clj/auto_ap/graphql/clients.clj @@ -353,6 +353,34 @@ [(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4] ]") +(def tenders2-query + "[:find ?d4 ?type ?p2 (sum ?total) (sum ?tip) + :with ?charge + :in $ + :where + [?charge :charge/date ?date] + [(ground (clj-time.coerce/to-date (clj-time.core/minus (auto-ap.time/local-now) (clj-time.core/days 50)))) ?min-d] + [(>= ?date ?min-d)] + [?charge :charge/client ?c] + [?c :client/code \"%s\"] + [?charge :charge/type-name ?type] + [?charge :charge/total ?total] + [?charge :charge/tip ?tip] + (or + + (and [_ :expected-deposit/charges ?charge ] + [(ground :settlement) ?ccp] + [(ground :settlement) ?p]) + (and + (not [_ :expected-deposit/charges ?charge]) + [(get-else $ ?charge :charge/processor :na) ?ccp] + [(get-else $ ?ccp :db/ident :na) ?p] + )) + [(name ?p) ?p2] + [(clj-time.coerce/to-date-time ?date) ?d2] + [(auto-ap.time/localize ?d2) ?d3] + [(auto-ap.time/unparse-local ?d3 auto-ap.time/normal-date) ?d4]]" ) + (def refunds-query "[:find ?d4 ?t (sum ?total) (sum ?fee) :with ?r @@ -371,7 +399,8 @@ (defn setup-sales-queries [context args _] (assert-admin (:id context)) - (let [{client-code :client/code} (d/pull (d/db conn) '[:client/code] (:client_id args))] + (let [{client-code :client/code feature-flags :client/feature-flags} (d/pull (d/db conn) '[:client/code :client/feature-flags] (:client_id args)) + is-new-square? ((set feature-flags) "new-square")] (q/put-query (str (UUID/randomUUID)) (format sales-summary-query client-code) (str "sales query for " client-code) @@ -391,7 +420,7 @@ [:client/code client-code] ) (q/put-query (str (UUID/randomUUID)) - (format tenders-query client-code) + (format (if is-new-square? tenders2-query tenders-query) client-code) (str "tender query for " client-code) (str client-code "-tender") [:client/code client-code]