Subversion Repositories computer_asset_manager_v1

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
49 rodolico 1
<?php
2
 
3
  /*
4
   * This is the callable library for the license module.
5
   * routines are assumed to be called from other modules, returning 
6
   * HTML data.
7
   * All routines will receive one array containing the parameters to
8
   * be used. Parameters may be
9
   * client_id - A client_id to be used for queries
10
   * device_id - A device_id to be used for queries
11
   * site_id   - A site_id to be used for queries
12
   * htmlDirectory - the HTML path to the module
13
   */
14
 
15
   function maintenanceView ( $parameters ) {
16
      // this is an array containing the columns we will display in the
17
      // query. The query will be generated as
18
      // select $key '$value', $key '$value
19
 
20
      if ( isset( $parameters['device_id'] ) ) {
21
         $query = 
22
           "select
23
                  maintenance_task.description 'Task',
24
                  DATEDIFF(DATE_ADD(maintenance_performed.maintenance_date, INTERVAL schedule DAY), now()) 'Due',
25
                  DATE(DATE_ADD(maintenance_performed.maintenance_date, INTERVAL schedule DAY)) 'Date Due',
26
                  login.email 'Technician'
27
            from maintenance_schedule join maintenance_performed on 
28
                        maintenance_performed.maintenance_task_id = maintenance_schedule.maintenance_task_id
29
                        and maintenance_performed.device_id = maintenance_schedule.device_id
30
               join login on login.login_id = maintenance_schedule.login_id
31
               join maintenance_task on maintenance_task.maintenance_task_id = maintenance_schedule.maintenance_task_id
32
               join device on maintenance_schedule.device_id = device.device_id
33
               join site on device.site_id = site.site_id
34
               join client on site.client_id = client.client_id
35
               join (select max(maintenance_performed_id) last_maintenance 
36
                     from maintenance_performed group by device_id,maintenance_task_id) last_performed on maintenance_performed.maintenance_performed_id = last_performed.last_maintenance
37
            where device.removed_date is null
38
                  and site.removed_date is null
39
                  and client.removed_date is null
40
                  and maintenance_schedule.removed_date is null
41
                  and maintenance_schedule.device_id = $parameters[device_id]
42
           order by DATEDIFF(DATE_ADD(maintenance_performed.maintenance_date, INTERVAL schedule DAY), now()),
43
                 client.name,site.name,device.name, maintenance_task.description";
44
         return queryToTable( $query );
45
      }
46
   }
47
 
48
?>
49