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 > 0 && 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(); } } } }
|