making sysco and mama lus work.

This commit is contained in:
Bryce Covert
2020-04-11 09:26:59 -07:00
parent 6d10e4abb2
commit 19caf80bd8
6 changed files with 85 additions and 43 deletions

View File

@@ -7,11 +7,15 @@
(defn determine
[[header :as z]]
(prn header)
(cond (str/includes? (second header) "Customer's PO No.")
:mama-lus
(doto (cond (str/includes? (second header) "Customer's PO No.")
:mama-lus
:else
nil))
(str/includes? (str header) "Closed Date")
:sysco
:else
nil)
println))
(defmulti parse-csv
determine
@@ -29,6 +33,23 @@
(first))]
(u/parse-value :clj-time valid-fmt d)))
(defmethod parse-csv :sysco
[rows]
(println "Importing Sysco")
(transduce
(comp (drop 1)
(map (fn [[invoice-number invoice-date _ amount :as row]]
{:vendor-code "Sysco"
:customer-identifier nil
:invoice-number invoice-number
:date (parse-date-fallover invoice-date ["M/d/yyyy"])
:total (str/replace amount #"[,\$]" "")
:text (str/join " " row)
:full-text (str/join " " row)})))
conj
[]
rows))
(defmethod parse-csv :mama-lus
[rows]
(println "MAMA LU4")
@@ -51,7 +72,6 @@
nil)
(defn parse-file [file filename]
(println "HEREERE")
(with-open [reader (io/reader file)]
(let [rows (csv/read-csv reader :separator \,)]
(parse-csv rows))))