/var/www/onesupportdemo.onesolution.hk/report/staff_man_hour.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
require_once(__DIR__ '/../checkuser.php');
function 
index() {
    global 
$dbh;
    
    
// Check permission
    
if (!Util::isAdmin()) {
        
redirectAndExit(Util::link(__DIR__ '/../main.php'));
    }
    
    
$sql "
SELECT staff.*, SEC_TO_TIME(SUM(TIME_TO_SEC(SUBTIME(job.actual_end_time, job.actual_start_time)))) AS staff_man_hour
FROM sys_login staff
LEFT JOIN sup_job job ON job.staff_id = staff.id AND job.actived = 1 AND job.deleted = 0 AND job.status <> 3
GROUP BY staff.id
ORDER BY role, username
"
;
    
$parameters = array();
    
$pagination = new MySqlPagination($sql$parameters);
    
$sql .= $pagination->getSqlLimitAndOffset();
    if (!(
$sth $dbh->prepare($sql))) {
        throw new 
Exception("sql prepare statement failure: $sql");
    }
    
$sth->setFetchMode(PDO::FETCH_ASSOC);
    if (!
$sth->execute($parameters)) {
        throw new 
Exception("sql execute statement failure: $sql");
    }
    
$staffs $sth->fetchAll();
    
    return array(
        
'staffs' => $staffs,
        
'roleOptions' => Staff::roleOptions(),
        
'pagination' => $pagination->toString(),
    );
}
extract(index());
?><!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    
    <?php require(__DIR__ '/../inc/_head_meta.php'); ?>
    
    <?php require(__DIR__ '/../inc/_head_css.php'); ?>
    
    <style type="text/css">
        body {
            padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */
            padding-bottom: 40px;
        }
    </style>
    
    <?php require(__DIR__ '/../inc/_head_script.php'); ?>
    
</head>
<body>
    
    <?php require(__DIR__ '/../inc/_navbar.php'); ?>
    
    <div class="container">
        
        <?php if (isset($message) && !empty($message)): ?>
        <div class="alert alert-info">
            <button type="button" class="close" data-dismiss="alert">&times;</button>
            <h5 class="alert-heading">Note:</h5>
            <p><?=$message?></p>
        </div>
        <?php endif; ?>

        <h2>Staff Man Hours</h2>
        
        <?=$pagination?>

        <table class="table table-striped">
            <caption class="text-left hide"><h2>Staff Man Hours</h2></caption>
            <thead>
                <tr>
                    <th>&nbsp;</th>
                    <th>User Name</th>
                    <th>Role</th>
                    <th>Status</th>
                    <th>Man Hours</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach ($staffs as $staff): ?>
                <tr>
                    <td><a href="modifyform.php?id=<?=$staff['id']?>" class="btn"><i class="icon-pencil"></i></a></td>
                    <td><?=h($staff['username'])?></td>
                    <td><?=h($roleOptions[$staff['role']])?></td>
                    <td>
                        <a href="javascript:void(0)">
                            <i class="<?=$staff['actived'] == 'icon-ok' 'icon-remove'?>"></i>
                            <?=$staff['actived'] == 'Enable' 'Disable'?>
                        </a>
                    </td>
                    <td><?=h($staff['staff_man_hour'])?></td>
                </tr>
                <?php endforeach; ?>
            </tbody>
        </table>
        
        <?=$pagination?>
        
        <div class="scroll_to_top">
            <a href="#" class="btn btn-link btn-mini scroll-to-top">Scroll to Top</a>
        </div>
        
        <script type="text/javascript">
        $(function() {
            $('.scroll-to-top').click(function(event) {
                event.preventDefault();
                scrollToTop();
            });
        });
        </script>
    
        <?php require(__DIR__ '/../inc/_footer.php'); ?>

    </div> <!-- /container -->
</body>
</html>