/var/www/(Del)pathways.org.hk/MIS20140127/old20140407/LeaveApplication/unused/checkfunction2.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
<?php

include_once 'CheckFollowUpAction.php';
include_once 
'../include/DBConnect.php';

//checkLeaveLesson::checkAll(1,1);

if (isset(checkLeaveLesson::$checkAll) && isset(checkLeaveLesson::$check_event_id) && isset(checkLeaveLesson::$leave_record_id)) {
    if (
checkLeaveLesson::$checkAll == true && checkLeaveLesson::$check_event_id && checkLeaveLesson::$leave_record_id 0) {
        
//echo 'now checking all Leave Record, the event_id is ' . checkLeaveLesson::$check_event_id;
        
$get_Leave_ID checkLeaveLesson::$leave_record_id;
        
$get_Event_ID checkLeaveLesson::$check_event_id;
        
//var_dump($get_Event_ID);
        
echo 'Event_ID: '.$get_Event_ID.' ,<br>';
        
#############################################
        ######## Substitute Teacher Checking ########
        
        
$query "SELECT la.`attend_id`,la.`lesson_id`,la.`staff_id` FROM `lesson_attendance`la,`lesson`l WHERE la.`lesson_id` 
            in (SELECT `lesson_id` FROM `event_lesson` WHERE `event_id` = '
$get_Event_ID' and deleted= 0 and actived = 1) and 
                la.`actived` = 1 and la.`deleted`=0 and l.`actived` = 1 and l.`deleted` = 0 and l.`lesson_leave_status` = 1 and 
                `staff_id`>0 and (`is_substitute` = 1 OR `attendance`=1) and la.`lesson_id` = l.`lesson_id`"
;
        
$result $dbh->prepare($query);
        
$result->execute();
        
$Substitude_Teacher_Records $result->fetchAll();
        
//while ($ResultSet = $result->fetch(PDO::FETCH_ASSOC)) {
        
foreach ($Substitude_Teacher_Records as $ResultSet) {
            
$get_staff_attend_id $ResultSet['attend_id'];
            
$get_substitute_lesson_id $ResultSet['lesson_id'];
            echo 
'Staff attend_id: '.$get_staff_attend_id.', subtitute_lesson_id: '.$get_substitute_lesson_id;
            
#### Update related student attendance record ####
            
$query "UPDATE `lesson_attendance` SET `state`=1 WHERE `stu_linking_id`>0 and `lesson_id` = '$get_substitute_lesson_id
                and `actived`=1 and `deleted` = 0"
;
            
$result $dbh->prepare($query);
            
$result->execute();
            
#### Update Lesson , lesson_leave_status = 0 ####
            
$query "UPDATE `lesson` SET `lesson_leave_status`=0 WHERE `lesson_id` = '$get_substitute_lesson_id' and `actived` = 1 
                and `deleted` = 0"
;
            
$result $dbh->prepare($query);
            
$result->execute();
        }
        
########################################
        ######## Make Up Class Checking ########
        #### find Make Up Class Stu attendance Record ####
        
$query "SELECT la.`attend_id`,la.`stu_linking_id`,la.`make_up_lesson_id`,l.`date`,l.`start_time`,l.`end_time` 
            FROM `lesson_attendance` la,`lesson` l WHERE l.`actived`=1 and l.deleted =0 and la.`actived`=1 and la.`deleted`=0 and
            la.`make_up_lesson_id` > 0 and la.`make_up_lesson_remark` = '' and la.`stu_linking_id`>0 and la.`state`=2 and la.`lesson_id` in 
            (SELECT `lesson_id` FROM `event_lesson` WHERE `event_id` = '
$get_Event_ID' and deleted= 0 and actived = 1) 
                and l.lesson_id = la.lesson_id "
;
        
$result $dbh->prepare($query);
        
$result->execute();
        
$MakeUp_Lesson_Records $result->fetchAll();
        
//while ($ResultSet = $result->fetch(PDO::FETCH_ASSOC)) {
        
foreach ($MakeUp_Lesson_Records as $ResultSet){
            
$get_makeuplesson_attend_id $ResultSet['attend_id'];
            
//$get_makeuplesson_staff_id = $ResultSet['staff_id'];
            
$get_makeuplesson_stu_id $ResultSet['stu_linking_id'];
            
$get_makeuptarger_lesson_id $ResultSet['make_up_lesson_id'];
            
$Content 'To: ' $ResultSet['date'] . ' ' $ResultSet['start_time'] . '-' $ResultSet['end_time'];
            
#### Update Target Information ####
            
$query "UPDATE `lesson_attendance` SET `state`=5,`make_up_lesson_remark`='$Content' WHERE
                `lesson_id` = '
$get_makeuptarger_lesson_id' and `stu_linking_id` = '$get_makeuplesson_stu_id' and `state` = '3'
                    and `actived` = 1 and `deleted` = 0"
;
            
$result $dbh->prepare($query);
            
$result->execute();
            
#### Update current Information ####
            
$query "SELECT l.`date`,l.`start_time`,l.`end_time` FROM `lesson_attendance`la,`lesson`l WHERE    
                la.`lesson_id` = '
$get_makeuptarger_lesson_id' and la.`actived`=1 and la.`deleted` =0 and la.`state`=5 
                    and la.`make_up_lesson_remark` != '' and l.`actived` = 1 and l.`deleted` =0 and 
                    la.`stu_linking_id` = '
$get_makeuplesson_stu_id' and l.`lesson_id` = la.`lesson_id`";
            
$result $dbh->prepare($query);
            
$result->execute();
            if (
$ResultSet $result->fetch(PDO::FETCH_ASSOC)) {
                
$Content 'For: ' $ResultSet['date'] . ' ' $ResultSet['start_time'] . '-' $ResultSet['end_time'];
                
$query "UPDATE `lesson_attendance` SET `make_up_lesson_remark`='$Content' WHERE `attend_id`='$get_makeuplesson_attend_id'";
                
$result $dbh->prepare($query);
                
$result->execute();
            }
//            $get_makeuplesson_Sdate = date_create($ResultSet['start_time']);
//            $get_makeuplesson_Edate = date_create($ResultSet['end_time']);
//            var_dump(date_format($get_makeuplesson_Edate, 'Y-m-d H:i'));
//            var_dump(date_format($get_makeuplesson_Sdate, 'Y-m-d H:i'));
        
}

        
######## Final Checking ########
        
$query "SELECT `lesson_id` FROM `lesson` WHERE `lesson_leave_status` = 1 and `actived`=1 and `deleted`=0";
        
$result $dbh->prepare($query);
        
$result->execute();
        
$Checking_Lesson_Records $result->fetchAll();
        
//while ($ResultSet = $result->fetch(PDO::FETCH_ASSOC)) {
        
foreach ($Checking_Lesson_Records as $ResultSet) {
            
$get_checking_lesson_id $ResultSet['lesson_id'];
            
$query "SELECT `attend_id` FROM `lesson_attendance` WHERE `lesson_id` ='$get_checking_lesson_id' and `actived`=1 and 
                `deleted`=0 and `state` = 3 and `make_up_lesson_remark` = '' and `stu_linking_id`>0"
;
            
$result $dbh->prepare($query);
            
$result->execute();
            
#### No Need Make Up record find ####
            
if (!($ResultSet $result->fetch(PDO::FETCH_ASSOC))) {
                
$query "UPDATE `lesson` SET `lesson_leave_status`=0 WHERE `lesson_id`='$get_checking_lesson_id'";
                
$result $dbh->prepare($query);
                
$result->execute();
            }
        }
        
    }
}