|
|
@@ -263,12 +263,13 @@
|
|
|
for idx from (1+ (length expenses))
|
|
|
for info = (saver/get-income-info payment payments moment)
|
|
|
when info
|
|
|
- collect (format nil "~D) ~A по [[~A]]: *~A*, отложить _~$_"
|
|
|
+ collect (format nil "~D) ~A по [[~A]]: *~A*, отложить _~$_ из _~$_"
|
|
|
idx
|
|
|
(saver/payment-name payment)
|
|
|
(saver/payment-schedule payment)
|
|
|
(%saver/format-time (saver/payment-next-time payment moment))
|
|
|
- (/ (getf info :next-save) 100))))
|
|
|
+ (/ (getf info :next-save) 100)
|
|
|
+ (/ (saver/payment-amount payment) 100))))
|
|
|
(closest-income (saver/find-next-payment incomes moment))
|
|
|
(closest-income-info (and closest-income (saver/get-income-info closest-income payments moment))))
|
|
|
(if (or expenses-info incomes-info)
|
|
|
@@ -286,9 +287,9 @@
|
|
|
|
|
|
(defun saver/send-info (chat-id)
|
|
|
(let ((payments (db/saver/get-payments chat-id)))
|
|
|
- (if payments
|
|
|
+ (if (find t payments :key #'saver/payment-income-p)
|
|
|
(bot-send-message chat-id (%saver/format-info payments) :parse-mode "markdown")
|
|
|
- (bot-send-message chat-id (format nil "Платежей нет, /saver add ...")))))
|
|
|
+ (bot-send-message chat-id (format nil "Нет поступлений, ничего не посчитать :( /saver add ...")))))
|
|
|
|
|
|
(defparameter +saver/add-scanner+ (cl-ppcre:create-scanner "^(.+?) (-?\\d+(?:\\.\\d*)?) ((?:\\d+(?:,\\d+)*(?:-\\d+)?|\\*)(?:\\/\\d+)?(?: (?:\\d+(?:,\\d+)*(?:-\\d+)?|\\*)(?:\\/\\d+)?){0,2})(?: (\\d{4}-\\d{2}-\\d{2}))?$"))
|
|
|
|