[Thursday, 08 March 2012], Łukasz Łuczak napisał(a):
witam
Poszukuje skryptu lub kawałka kodu aby lms informował mnie o kończących się umowach klientów lub zobowiązaniach.
Chce zrobić aby lms wrzucał mi do terminarza na 1-go każdego miesiąca klientów którym pozostało mniej niż 6 miesięcy do końca umowa, co by zadzwonić do nich z nową ofertą.
Swego czasu tutaj było, ja wprowadziłem pare poprawek:
------------ #!/bin/bash #generalnie jak sie komus konczy umowa to przypomina wystawiajac sprawe do helpdeska
#maile do osob ktore maja byc informowane ze zostaly dodane jakies zgloszenia do helpdesku, maila odzielone spacja mailto="cos@gdzies.w.pl"
user=`grep "^user" /etc/lms/lms.ini | grep -v ';' | grep '=' | awk {'print $3'} | head -1`; pass=`grep "^password" /etc/lms/lms.ini | grep -v ';' | grep '=' | awk {'print $3'}`; database=`grep "^database" /etc/lms/lms.ini | grep -v ';' | grep '='| awk {'print $3'}`; host=`grep "^host" /etc/lms/lms.ini | grep -v ';' | grep '='| awk {'print $3'}`; TMP="`mktemp`" TMP2="`mktemp`" query_skip="mysql --skip-column-names -h $host -u $user --password=$pass -D $database -e" echo "SET NAMES utf8;" >> $TMP2 # Zmiana grupy dla klientów (u mnie WYGASAJACE -> BEZTERMINOWE) echo "UPDATE customerassignments SET customergroupid=37 WHERE customergroupid=36;" >> $TMP2
NOW=`date +"%s"` # Data zakończenia zobowiązania - koniec bieżącego miesiąca FUTURE=`date --date="1 month" +"%s"` for i in `$query_skip "SELECT DISTINCT customerid FROM assignments where (dateto < $FUTURE and dateto > $NOW AND datefrom < $NOW) " ` do unix_date_of_cutoff=`$query_skip "SELECT dateto from assignments where customerid=$i and dateto > $NOW ORDER BY dateto ASC LIMIT 1"` fromunix_date_of_cutoff=`date --date="1970-01-01 $unix_date_of_cutoff sec GMT" +"%Y/%m/%d"` echo "$i" >> $TMP # Dodanie zgłoszenia do odpowiedniej kolejki echo 'INSERT INTO rttickets (id,queueid,requestor,subject,state,cause,owner,customerid,creatorid,createtime,resolvetime)' >> $TMP2 echo "VALUES (NULL,6,'','Dnia $fromunix_date_of_cutoff konczy sie taryfa klientowi:',0,1,0,$i,2,$NOW,0);" >> $TMP2 # Dodanie zgłoszenia do odpowiedniej kategorii echo "INSERT INTO rtticketcategories (id,ticketid,categoryid) VALUES (NULL, last_insert_id(),3);" >> $TMP2 # Dodanie klienta do odpowiedniej grupy (WYGASAJACE) echo "INSERT INTO customerassignments VALUES (NULL,36,$i);">> $TMP2 done mysql --skip-column-names -h $host -u $user --password=$pass -D $database < $TMP2
ILE_KLIENTOW="`wc -l < $TMP`" if [ "$ILE_KLIENTOW" -ge 1 ]; then #wiecej niz jednemu klientowi konczy sie umowa mail echo "Czesc, w tym miesiacu liczba osob, ktorym koncza sie umowy to: $ILE_KLIENTOW Dokladna lista osob dostepna pod adresem: https://lms.gosk.pl/?m=rtqueueview&id=6" | mail -s "[LMS] Sa klienci, ktorym koncza sie umowy..." "$mailto" fi
rm -f "$TMP" ------------
pozdrawiam Jarek Dziubek