lots of fixes to sorting and adding dates on checks.

This commit is contained in:
Bryce Covert
2018-07-27 11:59:33 -07:00
parent 9894bc72b3
commit 90ded7394e
7 changed files with 229 additions and 27 deletions

View File

@@ -50,20 +50,33 @@
(map db->clj)
(map data->fields)))
#_(defn add-sort-by [q sort-by asc]
(def all-keys #{:company-id :vendor-id :id :status :date :s3-uuid :s3-key :s3-url :check-number :memo :amount :paid-to :bank-account-id})
(defn add-sort-by [q sort-by asc]
(println sort-by)
(let [sort-by-key (keyword sort-by)]
(cond (all-keys sort-by-key)
(helpers/merge-order-by q [sort-by-key (when-not asc :desc)])
(cond (nil? sort-by)
(helpers/merge-order-by q [:date])
(= :date sort-by-key)
(helpers/merge-order-by q [:date (when-not asc :desc)])
(all-keys sort-by-key)
(helpers/merge-order-by q
[sort-by-key (when-not asc :desc)]
[:date])
(= :vendor sort-by-key)
(-> q
(helpers/merge-left-join [:vendors :v] [:= :v.id :invoices.vendor-id] )
(helpers/merge-order-by [:v.name (when-not asc :desc)]))
(helpers/merge-left-join [:vendors :v] [:= :v.id :checks.vendor-id] )
(helpers/merge-order-by [:v.name (when-not asc :desc)]
[:date]))
(= :company sort-by-key)
(-> q
(helpers/merge-left-join [:companies :c] [:= :c.id :invoices.company-id] )
(helpers/merge-order-by [:c.name (when-not asc :desc)]))
(helpers/merge-left-join [:companies :c] [:= :c.id :checks.company-id] )
(helpers/merge-order-by [:c.name (when-not asc :desc)]
[:date]))
:else
q)))
@@ -82,7 +95,7 @@
(defn get-graphql [{:keys [start sort-by asc id limit] :as args :or {limit 20}}]
(query
(cond-> (base-graphql args)
#_#_(not (nil? sort-by) ) (add-sort-by sort-by asc)
true (add-sort-by sort-by asc)
true (assoc :limit limit)
start (assoc :offset start))))

View File

@@ -95,18 +95,28 @@
(defn add-sort-by [q sort-by asc]
(let [sort-by-key (keyword sort-by)]
(cond (all-keys sort-by-key)
(helpers/merge-order-by q [sort-by-key (when-not asc :desc)])
(cond (nil? sort-by)
(helpers/merge-order-by q [:date])
(= :date sort-by-key)
(helpers/merge-order-by q [:date (when-not asc :desc)])
(all-keys sort-by-key)
(helpers/merge-order-by q
[sort-by-key (when-not asc :desc)]
[:date])
(= :vendor sort-by-key)
(-> q
(helpers/merge-left-join [:vendors :v] [:= :v.id :invoices.vendor-id] )
(helpers/merge-order-by [:v.name (when-not asc :desc)]))
(helpers/merge-order-by [:v.name (when-not asc :desc)]
[:date]))
(= :company sort-by-key)
(-> q
(helpers/merge-left-join [:companies :c] [:= :c.id :invoices.company-id] )
(helpers/merge-order-by [:c.name (when-not asc :desc)]))
(helpers/merge-order-by [:c.name (when-not asc :desc)]
[:date]))
:else
q)))
@@ -123,7 +133,7 @@
(defn get-graphql [{:keys [start sort-by asc limit] :as args :or {limit 20}}]
(query
(cond-> (base-graphql args)
(not (nil? sort-by) ) (add-sort-by sort-by asc)
true (add-sort-by sort-by asc)
true (assoc :limit limit)
start (assoc :offset start))))

View File

@@ -10,7 +10,7 @@
[auto-ap.db.invoices :as invoices]
[auto-ap.utils :refer [by]]
[auto-ap.db.companies :as companies]
[auto-ap.time :refer [parse normal-date]]))
[auto-ap.time :refer [parse normal-date iso-date]]))
(defn get-vendor-for-check [context args value]
(->graphql
@@ -49,6 +49,7 @@
:s3-key nil
:s3-url nil
:check-number (:check_number args)
:date (parse (:date args) iso-date)
:amount (:amount args)
:bank-account-id (:bank_account_id args)
:vendor-id (:vendor-id invoice)

View File

@@ -74,10 +74,11 @@
[[:cell {:colspan 6 :leading 50} [:spacer]]
[:cell {:colspan 6 :rowspan 2} (when (:signature-file company)
[:cell {:colspan 6 :rowspan 2} (if (:signature-file company)
[:image { :top-margin 90 :xscale 0.30 :yscale 0.30 :align :center}
(:signature-file company)])]]
(:signature-file company)]
[:spacer])]]
[[:cell {:size 9 } "MEMO"]
[:cell {:colspan 5} memo [:line {:line-width 0.15 :color [50 50 50]}]]
@@ -193,6 +194,7 @@
:memo memo
:vendor-id (:id vendor)
:company-id (:id company)
:date (time/now)
:pdf-data {:vendor vendor
:paid-to (:name vendor)
:amount (reduce + 0 (map (comp invoice-amounts :id) invoices))