Changeset 1062
- Timestamp:
- 09/19/08 07:20:52 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Cronjobs/a2billing_batch_process.php
r709 r1062 27 27 28 28 include_once (dirname(__FILE__)."/lib/Class.Table.php"); 29 include (dirname(__FILE__)."/lib/interface/constants.php"); 29 30 include (dirname(__FILE__)."/lib/Class.A2Billing.php"); 30 31 include (dirname(__FILE__)."/lib/Misc.php"); 31 32 32 $verbose_level= 0;33 $verbose_level=1; 33 34 $groupcard=5000; 34 35 … … 52 53 $instance_table = new Table(); 53 54 55 $QUERY_GROUP = 'SELECT DISTINCT id_card_group FROM cc_cardgroup_service '; 56 $result_group = $instance_table -> SQLExec ($A2B -> DBHandle, $QUERY_GROUP); 57 if (sizeof($result_group)==0){ 58 if ($verbose_level>=1) echo "[No card to run the Recurring service]\n"; 59 write_log(LOGFILE_CRONT_BATCH_PROCESS, basename(__FILE__).' line:'.__LINE__."[No card to run the Recurring service]"); 60 exit(); 61 } 62 63 64 $groupe_clause = "IN ("; 65 $idx =1; 66 foreach ($result_group as $row) 67 { 68 $groupe_clause .= " '".$row['id_card_group']."' "; 69 if($idx != sizeof($result_group)) $groupe_clause .= ","; 70 $idx++; 71 72 } 73 $groupe_clause .= " )"; 54 74 55 75 // CHECK AMOUNT OF CARD ON WHICH APPLY THE SERVICE 56 $QUERY = 'SELECT count(*) FROM cc_card WHERE runservice=1';57 76 $QUERY = 'SELECT count(*) FROM cc_card WHERE firstusedate IS NOT NULL AND firstusedate>0 AND runservice=1 AND id_group '.$groupe_clause; 77 if ($verbose_level>=1) echo $QUERY; 58 78 $result = $instance_table -> SQLExec ($A2B -> DBHandle, $QUERY); 59 79 $nb_card = $result[0][0]; … … 70 90 71 91 // CHECK THE SERVICES 72 $QUERY = "SELECT id, name, amount, period, rule, daynumber, stopmode, maxnumbercycle, status, numberofrun, datecreate, $UNIX_TIMESTAMP datelastrun), emailreport, totalcredit,totalcardperform FROM cc_service WHERE status=1";92 $QUERY = "SELECT DISTINCT id, name, amount, period, rule, daynumber, stopmode, maxnumbercycle, status, numberofrun, datecreate, $UNIX_TIMESTAMP datelastrun), emailreport, totalcredit,totalcardperform FROM cc_service , cc_cardgroup_service WHERE status=1 AND id = id_service"; 73 93 74 94 $result = $instance_table -> SQLExec ($A2B -> DBHandle, $QUERY); 75 76 95 if ($verbose_level>=1) print_r ($result); 77 96 … … 114 133 for ($page = 0; $page <= $nbpagemax; $page++) { 115 134 116 $sql = "SELECT id, credit, nbservice, $UNIX_TIMESTAMP lastuse), username, $UNIX_TIMESTAMP servicelastrun), email FROM cc_card WHERE firstusedate IS NOT NULL AND firstusedate>0 AND runservice=1ORDER BY id ";135 $sql = "SELECT id, credit, nbservice, $UNIX_TIMESTAMP lastuse), username, $UNIX_TIMESTAMP servicelastrun), email FROM cc_card , cc_cardgroup_service WHERE id_group = id_card_group AND id_service = $myservice[0] AND firstusedate IS NOT NULL AND firstusedate>0 AND runservice=1 ORDER BY id "; 117 136 if ($A2B->config["database"]['dbtype'] == "postgres"){ 118 137 $sql .= " LIMIT $groupcard OFFSET ".$page*$groupcard; trunk/DataBase/mysql-5.x/UPDATE-a2billing-v1.3.0-to-v1.4.0-mysql.sql
r1060 r1062 1139 1139 CREATE TABLE cc_cardgroup_service ( 1140 1140 id_card_group INT NOT NULL , 1141 id_service INT NOT NULL 1141 id_service INT NOT NULL, 1142 PRIMARY KEY ( id_card_group , id_service ) 1142 1143 ) ENGINE = MYISAM ;
