pretty sure the checks will be very close.
This commit is contained in:
@@ -28,75 +28,74 @@
|
|||||||
(defn date->str [t]
|
(defn date->str [t]
|
||||||
(f/unparse parser t))
|
(f/unparse parser t))
|
||||||
|
|
||||||
|
(defn distribute [nums]
|
||||||
|
(let [sum (reduce + 0 nums)]
|
||||||
|
(map #(* 100 (/ % sum)) nums)))
|
||||||
|
|
||||||
(defn make-check-pdf [check]
|
(defn make-check-pdf [check]
|
||||||
(let [output-stream (ByteArrayOutputStream.)]
|
(let [output-stream (ByteArrayOutputStream.)]
|
||||||
(pdf/pdf
|
(pdf/pdf
|
||||||
[{:left-margin 10 :right-margin 0 :top-margin 0 :bottom-margin 0 :size :letter}
|
[{:left-margin 7 :right-margin 0 :top-margin 0 :bottom-margin 0 :size :letter}
|
||||||
(let [{:keys [paid-to company check date amount memo] {print-as :print-as vendor-name :name :as vendor} :vendor} check
|
(let [{:keys [paid-to company check date amount memo] {print-as :print-as vendor-name :name :as vendor} :vendor} check
|
||||||
df (DecimalFormat. "#,###.00")
|
df (DecimalFormat. "#,###.00")
|
||||||
word-amount (num->words amount)
|
word-amount (num->words amount)
|
||||||
|
|
||||||
amount (str "--" (.format df amount) "--")]
|
amount (str "--" (.format df amount) "--")]
|
||||||
|
|
||||||
[:table {:num-cols 12 :border false :leading 11}
|
[:table {:num-cols 12 :border false :leading 11 :widths (distribute [2 3 3 3 3 3 3 3 3 2 2 2])}
|
||||||
[(let [{:keys [name bank] {:keys [street1 street2 city state zip ]} :address} company]
|
[(let [{:keys [name bank] {:keys [street1 street2 city state zip ]} :address} company]
|
||||||
[:cell {:colspan 4 } [:paragraph {:leading 14} name "\n" street1 "\n" (str city ", " state " " zip)] ])
|
[:cell {:colspan 3 } [:paragraph {:leading 14} name "\n" street1 "\n" (str city ", " state " " zip)] ])
|
||||||
(let [{{:keys [name acct]} :bank} company]
|
(let [{{:keys [name acct]} :bank} company]
|
||||||
[:cell {:colspan 6 :align :center} [:paragraph {:style :bold} name] [:paragraph acct]])
|
[:cell {:colspan 7 :align :center} [:paragraph {:style :bold} name] [:paragraph acct]])
|
||||||
[:cell {:colspan 2 :size 13}
|
[:cell {:colspan 2 :size 13}
|
||||||
check]]
|
check]]
|
||||||
|
|
||||||
[[:cell {:colspan 9}]
|
[[:cell {:colspan 9}]
|
||||||
[:cell {:colspan 3} date]]
|
[:cell {:colspan 3} date]]
|
||||||
|
|
||||||
[[:cell {:size 16 :leading 16} "PAY"]
|
[[:cell {:size 13 :leading 13} "PAY"]
|
||||||
[:cell {:size 6 :leading 6 } "TO THE ORDER OF"]
|
[:cell {:size 8 :leading 8 } "TO THE ORDER OF"]
|
||||||
[:cell {:colspan 7} (if (seq print-as)
|
[:cell {:colspan 7} (if (seq print-as)
|
||||||
print-as
|
print-as
|
||||||
vendor-name)]
|
vendor-name)]
|
||||||
[:cell {:colspan 3} amount]]
|
[:cell {:colspan 3} amount]]
|
||||||
|
|
||||||
[[:cell {}]
|
[[:cell {}]
|
||||||
[:cell {:colspan 8} word-amount [:line]]
|
[:cell {:colspan 8} word-amount [:line {:line-width 0.15 :color [50 50 50]}]]
|
||||||
[:cell {:colspan 3}]]
|
[:cell {:colspan 3}]]
|
||||||
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
[[:cell {:colspan 12 :leading 50} [:spacer]]]
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
|
|
||||||
[[:cell "MEMO"]
|
[[:cell "MEMO"]
|
||||||
[:cell {:colspan 7} memo [:line]]
|
[:cell {:colspan 5} memo [:line {:line-width 0.15 :color [50 50 50]}]]
|
||||||
[:cell {:colspan 4}]]
|
[:cell {:colspan 6}]]
|
||||||
|
|
||||||
[[:cell {:colspan 2}]
|
[[:cell {:colspan 2}]
|
||||||
[:cell {:colspan 10 :leading 30}
|
[:cell {:colspan 10 :leading 30}
|
||||||
[:phrase {:size 18 :ttf-name "public/micrenc.ttf"} (str "c" check "c a" (:acct-number (:bank company)) "a 10302c")]]]
|
[:phrase {:size 18 :ttf-name "public/micrenc.ttf"} (str "c" check "c a" (:acct-number (:bank company)) "a 10302c")]]]
|
||||||
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
[[:cell {:colspan 12 :leading 42} [:spacer]]]
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
[[:cell]
|
[[:cell]
|
||||||
(into
|
(into
|
||||||
[:cell {:colspan 9}]
|
[:cell {:colspan 9}]
|
||||||
(let [{:keys [name]
|
(let [{:keys [name]
|
||||||
{:keys [street1 city state zip bank]} :address} company]
|
{:keys [street1 city state zip bank]} :address} company]
|
||||||
(list
|
(list
|
||||||
[:paragraph name]
|
[:paragraph " " name]
|
||||||
[:paragraph street1]
|
[:paragraph " " street1]
|
||||||
[:paragraph city ", " state " " zip]
|
[:paragraph " " city ", " state " " zip]
|
||||||
)))
|
)))
|
||||||
[:cell {:colspan 2 :size 13}
|
[:cell {:colspan 2 :size 13}
|
||||||
check]]
|
check]]
|
||||||
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
[[:cell {:colspan 12 :leading 62} [:spacer]]]
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
|
|
||||||
[[:cell]
|
[[:cell]
|
||||||
[:cell {:colspan 5} [:paragraph
|
[:cell {:colspan 5} [:paragraph
|
||||||
vendor-name "\n"
|
" " vendor-name "\n"
|
||||||
(:street1 (:address vendor)) "\n"
|
" " (:street1 (:address vendor)) "\n"
|
||||||
(:city (:address vendor)) ", " (:state (:address vendor)) " " (:zip (:address vendor))]]
|
" " (:city (:address vendor)) ", " (:state (:address vendor)) " " (:zip (:address vendor))]]
|
||||||
[:cell {:align :right}
|
[:cell {:align :right}
|
||||||
"Paid to:\n"
|
"Paid to:\n"
|
||||||
"Amount:\n"
|
"Amount:\n"
|
||||||
@@ -113,9 +112,6 @@
|
|||||||
[[:cell {:colspan 12} [:spacer]]]
|
[[:cell {:colspan 12} [:spacer]]]
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
[[:cell {:colspan 12} [:spacer]]]
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
[[:cell {:colspan 12} [:spacer]]]
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
[[:cell {:colspan 12} [:spacer]]]
|
|
||||||
|
|
||||||
[[:cell {:colspan 5}]
|
[[:cell {:colspan 5}]
|
||||||
[:cell {:align :right :colspan 2}
|
[:cell {:align :right :colspan 2}
|
||||||
|
|||||||
Reference in New Issue
Block a user