tons of bug fixes.
This commit is contained in:
@@ -16,6 +16,11 @@
|
||||
(str/includes? (str header) "Closed Date")
|
||||
:sysco-style-1
|
||||
|
||||
(str/includes? (str header) "Business Unit")
|
||||
:mission
|
||||
|
||||
(str/includes? (str header) "Document Number")
|
||||
:philz
|
||||
|
||||
:else
|
||||
nil)
|
||||
@@ -100,6 +105,45 @@
|
||||
[]
|
||||
rows))
|
||||
|
||||
(defmethod parse-csv :mission
|
||||
[rows]
|
||||
(transduce
|
||||
(comp (drop 1)
|
||||
(map (fn [[ po-number despatch-number invoice-number invoice-date customer value :as row]]
|
||||
{:vendor-code "Mama Lu's Foods"
|
||||
:customer-identifier customer
|
||||
:invoice-number (str po-number "-" invoice-number )
|
||||
:date (parse-date-fallover invoice-date ["M/d/yyyy HH:ss" "M/d/yyyy HH:mm:ss aa" "M/d/yyyy"])
|
||||
:total (str/replace value #"," "")
|
||||
:text (str/join " " row)
|
||||
:full-text (str/join " " row)})))
|
||||
conj
|
||||
[]
|
||||
rows))
|
||||
|
||||
(defmethod parse-csv :philz
|
||||
[rows]
|
||||
(transduce
|
||||
(comp
|
||||
(filter (fn [[dt _ doc-number name _ status _ _ amount :as row]]
|
||||
(= status "Billed")))
|
||||
|
||||
(map (fn [[dt _ doc-number name _ _ _ _ amount :as row]]
|
||||
(print name)
|
||||
{:vendor-code "PHILZ COFFEE, INC"
|
||||
:customer-identifier name
|
||||
:invoice-number doc-number
|
||||
:date (some-> dt not-empty (parse-date-fallover ["MM/dd/yyyy"]))
|
||||
:total (str/replace amount #"," "")
|
||||
:text (str/join " " row)
|
||||
:full-text (str/join " " row)}))
|
||||
|
||||
|
||||
)
|
||||
conj
|
||||
[]
|
||||
(drop 1 rows)))
|
||||
|
||||
(defmethod parse-csv nil
|
||||
[rows]
|
||||
nil)
|
||||
|
||||
@@ -427,6 +427,46 @@
|
||||
:invoice-number #"(\S+)\s+(?=[0-9]+/[0-9]+/[0-9]+)"
|
||||
:total #"(?:INVOICE|TOTAL|CREDIT)\s+([\d\.,\-]+\.[\d\-]+( CR)?)"}
|
||||
:parser {:date [:clj-time "MM/dd/yyyy"]
|
||||
:total [:trim-commas-and-negate nil]}}
|
||||
|
||||
;; ROMA BAKERY
|
||||
{:vendor "Roma Bakery Inc."
|
||||
:keywords [#"Roma Bakery Inc"]
|
||||
:extract {:date #"([0-9]+/[0-9]+/[0-9]+)"
|
||||
:customer-identifier #"Bill To.*\n\s+(.*?)\s{2,}"
|
||||
:invoice-number #"Invoice (\d+)"
|
||||
:total #"Total\s+([\d\-\.]+)"}
|
||||
:parser {:date [:clj-time "MM/dd/yy"]
|
||||
:total [:trim-commas-and-negate nil]}}
|
||||
|
||||
;; KAEL FOODS
|
||||
{:vendor "Kael Foods"
|
||||
:keywords [#"kaelfoods.com"]
|
||||
:extract {:date #"([0-9]+/[0-9]+/[0-9]+)"
|
||||
:customer-identifier #"Bill To.*\n\s+(.*?)\s{2,}"
|
||||
:invoice-number #"INVOICE 0*(\d+)"
|
||||
:total #"TOTAL:\s+\$([\d\-\.,]+)"}
|
||||
:parser {:date [:clj-time "MM/dd/yyyy"]
|
||||
:total [:trim-commas-and-negate nil]}}
|
||||
|
||||
;; Starter Bakery
|
||||
{:vendor "Starter Bakery"
|
||||
:keywords [#"starterbakery.com"]
|
||||
:extract {:date #"INVOICE DATE:\s+(.*?)\s{2,}"
|
||||
:customer-identifier #"BILL TO:.*\n\s+(.*?)\s{2,}"
|
||||
:invoice-number #"Invoice.*?(\d+)"
|
||||
:total #"Total:.*?([\d\-,]+\.\d{2,2}+)"}
|
||||
:parser {:date [:clj-time "MMMM dd, yyyy"]
|
||||
:total [:trim-commas-and-negate nil]}}
|
||||
|
||||
;; Trimark
|
||||
{:vendor "TriMark R.W. Smith"
|
||||
:keywords [#"TriMark"]
|
||||
:extract {:date #"([0-9]+/[0-9]+/[0-9]+)"
|
||||
:customer-identifier #"Bill To\s+(.*?)\s{2,}"
|
||||
:invoice-number #"Invoice #\n.*?([\d\-]+)\n"
|
||||
:total #"Invoice Total\s+([\d\-,]+\.\d{2,2}+)"}
|
||||
:parser {:date [:clj-time "MM/dd/yy"]
|
||||
:total [:trim-commas-and-negate nil]}}])
|
||||
|
||||
(defn offset [c x y]
|
||||
|
||||
Reference in New Issue
Block a user