improvements.
This commit is contained in:
@@ -351,6 +351,30 @@
|
|||||||
:keywords [#"Alt_invoice_number"]
|
:keywords [#"Alt_invoice_number"]
|
||||||
:extract (fn [wb vendor]
|
:extract (fn [wb vendor]
|
||||||
(let [[sheet] (d/sheet-seq wb)]
|
(let [[sheet] (d/sheet-seq wb)]
|
||||||
|
(println "COUNT" (count (transduce (comp
|
||||||
|
(drop-while (fn [c]
|
||||||
|
(not (re-find #"Customer_id" (str (d/read-cell c))))))
|
||||||
|
(drop 9)
|
||||||
|
(filter (fn [c]
|
||||||
|
(= 0 (.getColumnIndex c))))
|
||||||
|
(filter (fn [c]
|
||||||
|
(not (str/blank? (str/trim (or (d/read-cell (d/select-cell (offset c 1 0) sheet)) ""))))))
|
||||||
|
(map (fn [c]
|
||||||
|
{:customer-identifier (str/trim (d/read-cell (d/select-cell (offset c 1 0) sheet)))
|
||||||
|
:text (d/read-cell (d/select-cell (offset c 1 0) sheet))
|
||||||
|
:full-text (d/read-cell (d/select-cell (offset c 1 0) sheet))
|
||||||
|
:date (u/parse-value :clj-time "MM/dd/yyyy" (str/trim (d/read-cell (d/select-cell (offset c 5 0) sheet))))
|
||||||
|
:invoice-number (->>
|
||||||
|
(re-find #"^(?:0+([A-Z0-9]+))|([A-Z]+[A-Z0-9]+)" (str/trim (d/read-cell (d/select-cell (offset c 2 0) sheet))))
|
||||||
|
(drop 1 )
|
||||||
|
(filter identity)
|
||||||
|
first)
|
||||||
|
:total (str (d/read-cell (d/select-cell (offset c 7 0) sheet)))
|
||||||
|
:vendor-code vendor}))
|
||||||
|
(filter :customer-identifier))
|
||||||
|
conj
|
||||||
|
[]
|
||||||
|
(d/cell-seq sheet))))
|
||||||
(transduce (comp
|
(transduce (comp
|
||||||
(drop-while (fn [c]
|
(drop-while (fn [c]
|
||||||
(not (re-find #"Customer_id" (str (d/read-cell c))))))
|
(not (re-find #"Customer_id" (str (d/read-cell c))))))
|
||||||
@@ -365,7 +389,7 @@
|
|||||||
:full-text (d/read-cell (d/select-cell (offset c 1 0) sheet))
|
:full-text (d/read-cell (d/select-cell (offset c 1 0) sheet))
|
||||||
:date (u/parse-value :clj-time "MM/dd/yyyy" (str/trim (d/read-cell (d/select-cell (offset c 5 0) sheet))))
|
:date (u/parse-value :clj-time "MM/dd/yyyy" (str/trim (d/read-cell (d/select-cell (offset c 5 0) sheet))))
|
||||||
:invoice-number (->>
|
:invoice-number (->>
|
||||||
(re-find #"^(?:0+([A-Z0-9]+))|([A-Z]+[A-Z0-9]+)" (str/trim (d/read-cell (d/select-cell (offset c 3 0) sheet))))
|
(re-find #"^(?:0+([A-Z0-9]+))|([A-Z]+[A-Z0-9]+)" (str/trim (d/read-cell (d/select-cell (offset c 2 0) sheet))))
|
||||||
(drop 1 )
|
(drop 1 )
|
||||||
(filter identity)
|
(filter identity)
|
||||||
first)
|
first)
|
||||||
|
|||||||
@@ -178,7 +178,7 @@
|
|||||||
:vendor-code vendor-code})))
|
:vendor-code vendor-code})))
|
||||||
_ (println "matching" customer-identifier "-" matching-vendor)
|
_ (println "matching" customer-identifier "-" matching-vendor)
|
||||||
matching-client (parse/best-match clients customer-identifier)
|
matching-client (parse/best-match clients customer-identifier)
|
||||||
_ (println "New invoice matches client" matching-client)
|
_ (println "invoice \"" invoice-number "\"matches client" (:client/name matching-client))
|
||||||
matching-location (parse/best-location-match matching-client text full-text)
|
matching-location (parse/best-location-match matching-client text full-text)
|
||||||
[existing-id existing-outstanding-balance existing-status import-status] (when (and matching-client matching-location)
|
[existing-id existing-outstanding-balance existing-status import-status] (when (and matching-client matching-location)
|
||||||
(try
|
(try
|
||||||
|
|||||||
Reference in New Issue
Block a user