Files
integreat/scratch-sessions/investigate.repl
2023-08-19 13:52:44 -07:00

94 lines
3.2 KiB
Plaintext

;; This buffer is for Clojure experiments and evaluation.
;; Press C-j to evaluate the last expression.
;; You can also press C-u C-j to evaluate the expression and pretty-print its result.
(def is-set (set (map first (dc/q '[:find ?ext
:where
[?so :sales-order/client [:client/code "N-30001"]]
[?so :sales-order/date ?d]
[(>= ?d #inst "2023-06-03T00:00:00-08:00")]
[(<= ?d #inst "2023-06-06T00:00:00-08:00")]
[(iol-ion.query/excel-date ?d) ?d4]
[(= ?d4 "06/04/2023")]
[?so :sales-order/external-id ?ext]
]
(dc/db conn)))))
(def sales
(first (for [n (get-square-clients "N-30001")
l (:client/square-locations n)
:when (:square-location/client-location l)]
(->> @(daily-results n l (coerce/to-date-time #inst "2023-06-03T00:00:00-08:00") (coerce/to-date-time #inst "2023-06-06T00:00:00-08:00"))
(filter #(= "06/04/2023" (some->> %
:sales-order/date
iol-ion.query/excel-date)))
))))
(->> sales
(filter (fn [o]
(seq (filter (comp #{"Desserts"} :order-line-item/category )
(:sales-order/line-items o)))))
)
(->> sales
(mapcat :sales-order/line-items)
(filter (comp #{"Loukoumades"} :order-line-item/item-name ))
count
)
(->> sales
(filter (fn [o]
(seq (filter (comp #{"Loukoumades"} :order-line-item/item-name )
(:sales-order/line-items o)))))
(map :sales-order/date)
)
(->> sales
(map :sales-order/date))
(def should-be-set *1)
(count should-be-set)
(def should-not-be (set/difference is-set should-be-set))
(first should-not-be)
(first (for [n (get-square-clients "N-30001")
l (:client/square-locations n)
:when (:square-location/client-location l)]
(get-order n l "qfAWtK0NJJ8679nx6dVuy0UzbNHZY")
#_(get-payment n "5EIEhiyv8c7ivU7sDQckAcREmURZY")))
(count should-be-set)
(get-payment )
(seq (dc/q '[:find ?d4 (sum ?total) (sum ?tax) (sum ?tip) (sum ?service-charge) (sum ?discount) (sum ?returns)
:with ?s
:in $
:where
[(ground (iol-ion.query/recent-date)) ?min-d]
[(ground #inst "2040-01-01") ?max-d]
[?c :client/code "N-30001"]
[(iol-ion.query/sales-orders-in-range $ ?c ?min-d ?max-d) [?s ...]]
[?s :sales-order/date ?d]
[?s :sales-order/total ?total]
[?s :sales-order/tax ?tax]
[?s :sales-order/tip ?tip]
[?s :sales-order/service-charge ?service-charge]
[?s :sales-order/returns ?returns]
[?s :sales-order/discount ?discount]
[(iol-ion.query/excel-date ?d) ?d4]
]
(dc/db conn)))