[lms] lms-notify.php wysyła do wszystkich powiadomienia...

Jarosław Kłopotek - INTERDUO jkl w interduo.pl
Pią, 15 Cze 2018, 20:17:03 CEST


W dniu 15.06.2018 o 16:36, VIRTUAL FUTURE SP. Z O.O. pisze:
> Witam wszystkich, potrzebuje malej pomocy z lms-notify.php mianowicie, 
> po ustawieniu wszystkiego w LMS UI (debtors_limit, debtros_days, itd..)
> wysyła mi wiadomości do wszystkich moich klientów (oczywiście dałem 
> sobie inny email na testy) info o zaleglosci... po grzebaniu w kodzie 
> wyciagnalem sobie kawalek kodu ktory daje zapytanie do sql:
>
> "    SELECT c.id, c.pin, c.lastname, c.name,
>                 SUM(value) AS balance, b.balance AS totalbalance, 
> m.email, x.phone, divisions.account
>                 FROM customers c
>                 LEFT JOIN divisions ON divisions.id = c.divisionid
>                 LEFT JOIN (
>                         SELECT customerid, SUM(value) AS balance FROM 
> cash GROUP BY customerid
>                 ) b ON b.customerid = c.id
>                 JOIN cash ON (c.id = cash.customerid)
>                 LEFT JOIN (SELECT GROUP_CONCAT(contact SEPARATOR ',') 
> AS email, customerid
>                         FROM customercontacts
>                         WHERE (type & 16424) = 40
>                         GROUP BY customerid
>                 ) m ON (m.customerid = c.id)
>                 LEFT JOIN (SELECT GROUP_CONCAT(contact SEPARATOR ',') 
> AS phone, customerid
>                         FROM customercontacts
>                         WHERE (type & 16417) = 33
>                         GROUP BY customerid
>                 ) x ON (x.customerid = c.id)
>                 LEFT JOIN documents d ON d.id = cash.docid
>                 LEFT JOIN (
>                         SELECT SUM(value) AS totalvalue, docid FROM cash
>                         JOIN documents d2 ON d2.id = cash.docid
>                         WHERE d2.type = 3
>                         GROUP BY docid
>                 ) tv ON tv.docid = d.id
>                 WHERE c.cutoffstop < 1529072370 AND ((cash.docid IS 
> NULL AND ((cash.type <> 0 AND cash.time < 1529072370)
>                         OR (cash.type = 0 AND cash.time + ((CASE 
> c.paytime WHEN -1 THEN
>                                 (CASE WHEN divisions.inv_paytime IS 
> NULL THEN 7 ELSE divisions.inv_paytime END) ELSE c.paytime END) + 31) 
> * 86400 < 1529072370)))
>                         OR (cash.docid IS NOT NULL AND ((d.type = 2 
> AND cash.time < 1529072370)
>                                 OR (d.type = 3 AND cash.time < 
> 1529072370 AND tv.totalvalue >= 0)
>                                 OR (((d.type = 3 AND tv.totalvalue < 0)
>                                     OR d.type IN (1, 5)) AND d.cdate + 
> (d.paytime + 31) * 86400 < 1529072370))))
>                 GROUP BY c.id, c.pin, c.lastname, c.name, b.balance, 
> m.email, x.phone, divisions.account
>                 HAVING SUM(value) < -100"
>
> i wysypuje mi listę wszystkich moich "zadłużonych klientów", tyle ze 
> większość klientów ma saldo "zerowe".
> czyli totalbalance zgadza się i jest właściwa kwota klienta a w 
> "balance" są jakieś kosmiczne kwoty na - nie uwzględniając "wpłat", 
> czy to jest problem z moja baza czy po prostu coś jest nie tak z tym 
> skryptem?
>
> +-----------+--------------+------
> | balance   | totalbalance | email
> +-----------+--------------+------
> |  -5781.00 |         0.00 | ksieg
> |   -100.46 |       -49.00 | m.ole
> |   -801.00 |         0.00 | NULL
> |   -276.00 |       -69.00 | zbign
> |  -3120.00 |         0.00 | NULL
> |   -198.00 |         0.00 | kamil
>
> Czy to jest poprawnce ze balance wychodzi na takich "-" saldach ? a 
> dopiero totalbalance podaje prawidlowe kwoty ?
>
> Tak samo mam problem z notify "invoice"
> php lms-notify.php -c mail -t invoices --fakedate=2018/06/01 -d
>
> (C) 2001-2017 LMS Developers
> Using file /etc/lms/lms.ini as config.
> [mail/invoices] FRANKO Marek (0153) 04/06/2018/VFS: vf.kielce w gmail.com
> [mail/invoices] MAKUCH Rafał (0566) 26/06/2018/VFS: vf.kielce w gmail.com
> [mail/invoices] SZYMAŃSKI Sebastian (0572) 27/06/2018/VFS: 
> vf.kielce w gmail.com
> [mail/invoices] MARCINKOWSKI Paweł (0622) 33/06/2018/VFS: 
> vf.kielce w gmail.com
> [mail/invoices] WSPÓLNOTA MIESZKANIOWA NIERUCHOMOŚĆ PRZY UL. 
> SEMINARYJSKA 6/8  (0625) 35/06/2018/VFS: vf.kielce w gmail.com
> [mail/invoices] PIĘTA Krzysztof (0630) 39/06/2018/VFS: 
> vf.kielce w gmail.com
> [mail/invoices] P.H.U KAMIL KONDRACKI  (0637) 41/06/2018/VFS: 
> vf.kielce w gmail.com
>
> Wyrzuca mi klientow ktorzy teoretycznie powinni dostac wiadomosc o 
> wystawionym dokuemencie...
> ale wysyla tylko tym ktorzy ! maja ustawione na "nie" zamiast "tak" to 
> normalne?
>
> Zgoda na dostarczanie faktur pocztą elektroniczną:    nie

Masz najnowsze stable?

-- 
Jarosław Kłopotek
kom. 607 893 111
Interduo Ł. Bujek, J. Kłopotek, J. Sowa s.c.
ul. Lubelska 36B/40, 21-100 Lubartów
tel. 81 475 30 00




Więcej informacji o liście lms