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

VIRTUAL FUTURE SP. Z O.O. admin w vf.pl
Pią, 15 Cze 2018, 16:36:29 CEST


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

-- 
Adam Machnik


Więcej informacji o liście lms