diff --git a/src/clj/auto_ap/datomic/invoices.clj b/src/clj/auto_ap/datomic/invoices.clj index dd3faab2..4ea9ca86 100644 --- a/src/clj/auto_ap/datomic/invoices.clj +++ b/src/clj/auto_ap/datomic/invoices.clj @@ -2,7 +2,9 @@ (:require [datomic.api :as d] [auto-ap.datomic :refer [uri]] [clj-time.coerce :as c] - [clojure.set :refer [rename-keys]])) + [clojure.set :refer [rename-keys]] + [clojure.string :as str])) + (defn add-arg [query name value where & rest] (let [query (-> query @@ -97,17 +99,20 @@ ) (<-datomic))) + + (defn find-conflicting [{:keys [:invoice/invoice-number :invoice/vendor :invoice/client :db/id]}] - (println invoice-number vendor client id) - (->> (doto (d/query - (cond-> {:query {:find [default-read] - :in ['$ '?invoice-number '?vendor '?client '?invoice-id] - :where '[[?e :invoice/invoice-number ?invoice-number] - [?e :invoice/vendor ?vendor] - [?e :invoice/client ?client] - [(not= ?e ?invoice-id)]]} - :args [(d/db (d/connect uri)) invoice-number vendor client id]})) - println) + + (->> (d/query + (cond-> {:query {:find [default-read] + :in ['$ '?invoice-number '?vendor '?client '?invoice-id] + :where '[[?e :invoice/invoice-number ?invoice-number] + [?e :invoice/vendor ?vendor] + [?e :invoice/client ?client] + [(not= ?e ?invoice-id)] + ]} + + :args [(d/db (d/connect uri)) invoice-number vendor client (or id 0)]})) (map first) (<-datomic)))