function Init_Teacher_KaoQin_Data($节假日调课_调整后时间, $默认教师名称, $教师用户名) { global $db, $CurXueQi, $ShowData; if ($默认教师名称 != "") { $AddSQL = " and 教师姓名='{$默认教师名称}'"; } else { $AddSQL = ""; } //对校历表进行过滤 $sql = "select 节假日 from edu_schoolcalendar where 开始时间<='{$节假日调课_调整后时间}' and 结束时间>='{$节假日调课_调整后时间}'"; $rs = $db->Execute($sql); $节假日 = $rs->fields['节假日']; if ($节假日 != "") { //当前时间为放假时间,系统不增加考勤信息 return ''; } //判断学期是否在今日结束 $sql = "select * from edu_xueqiexec where 学期名称 ='{$CurXueQi}'"; $rs = $db->Execute($sql); $学期开始时间 = $rs->fields['开始时间']; $学期结束时间 = $rs->fields['结束时间']; if ($节假日调课_调整后时间 > $学期结束时间 && $CurXueQi != "") { //表示此学期已经结束,不在有效学期时间之内,不进行初始化操作 //print "$节假日调课_调整后时间 表示此学期已经结束,不在有效学期时间之内,不进行初始化操作"; //清除多余的数据 $sql = "delete from edu_teacherkaoqinmingxi where 学期='{$CurXueQi}' and 考勤日期>'{$学期结束时间}'"; $db->Execute($sql); return ''; } if ($节假日调课_调整后时间 < $学期开始时间 && $CurXueQi != "") { //表示此学期还没有开始,不在有效学期时间之内,不进行初始化操作 //print "$节假日调课_调整后时间 表示此学期还没有开始,不在有效学期时间之内,不进行初始化操作"; $sql = "delete from edu_teacherkaoqinmingxi where 学期='{$CurXueQi}' and 考勤日期<'{$学期开始时间}'"; $db->Execute($sql); return ''; } //print $CurXueQi;exit; global $TiaoKeJieJiaRiExec; //2010-4-28增加全局变量 $节假日调课_原上课时间 = $TiaoKeJieJiaRiExec['正向'][$节假日调课_调整后时间]; //print_R($TiaoKeJieJiaRiExec);exit; //今天为调整后的上课时间 节假日调课_原上课时间的值为原上课时间 //所显示周次信息应该为原上课时间的周次,即节假日调课_原上课时间的周次 if ($节假日调课_原上课时间 == '') { $节假日调课_原上课时间 = $节假日调课_调整后时间; //没有值时沿用目标值 $Element['备注'] = ''; } else { //$节假日调课_原上课时间 = $节假日调课_调整后时间;//2010-4-28日改成节假日调课,按实际上课日期显示 $Element['备注'] = '节假日调课,原上课时间为:$节假日调课_原上课时间'; } if ($节假日调课_原上课时间 != '') { //该天有对换值,对执行状态进行更新 $sql = "update edu_schedulejiejiari set 执行状态='1' where 调整后上课时间='{$节假日调课_调整后时间}'"; $db->Execute($sql); global $SHOWTEXT; if ($SHOWTEXT) { print "<font color=green>" . $sql . "</font><BR>"; } } $YearMonth = explode('-', $节假日调课_原上课时间); $Year = $YearMonth[0]; $Month = $YearMonth[1]; $Day = $YearMonth[2]; //$DayIndexMonth = date('t',mktime(1,1,1,$Month,$Day,$Year)); global $KaoqinTime; global $KaoqinTimeBegin1, $KaoqinTimeBegin2, $KaoqinTimeEnd1, $KaoqinTimeEnd2, $KuangGongShiJian; if ($默认教师名称 != "") { $AddSQL = " where USER_NAME='{$默认教师名称}'"; } else { $AddSQL = ""; } //$sql = "select USER_NAME AS 真实姓名 from user $AddSQL order by USER_NAME"; //$rs = $db->Execute($sql); //$rs_a = $rs->GetArray(); //global $SHOWTEXT; if($SHOWTEXT)print $sql."<BR>"; $rs_a[0]['真实姓名'] = '真实姓名'; $周次 = returnCurWeekIndex($节假日调课_调整后时间); $单双周 = $周次 % 2; if ($单双周 == 0) { $单双周 = 2; } for ($i = 0; $i < sizeof($rs_a); $i++) { $真实姓名 = $默认教师名称; //print $真实姓名; //清理当月原有数据 //$sql = "delete from edu_teacherkaoqinmingxi where 考勤日期 = '$节假日调课_调整后时间' and 教师姓名='$真实姓名'"; //$db->Execute($sql); $ReturnTeacherSchedule = ReturnTeacherSchedule($CurXueQi, $教师用户名, $真实姓名, $周次); //print_R($ReturnTeacherSchedule);exit; //print "<BR>当前教师课表数组信息<BR>"; //for($ii=1;$ii<=$DayIndexMonth;$ii++) { //得以目标上课时间是周几? $TargetWeekDay = date('w', mktime(1, 1, 1, $Month, $Day, $Year)); //得到当前天是单周还是双周 参数为:原上课时间 单双周结果也为原上课时间的单双周值 $单双周 = returnCurWeekIndex($节假日调课_原上课时间); $单双周 = $单双周 % 2; if ($单双周 == 0) { $单双周 = 2; } //得到星期中某一天的课程列表 //$TargetWeekDay = 1; $WeekDaySchedule = array(); $WeekDaySchedule = $ReturnTeacherSchedule[$TargetWeekDay]; //print_R($TargetWeekDay);print_R($WeekDaySchedule);exit; global $SHOWTEXT; if ($SHOWTEXT) { print "<BR>星期:{$TargetWeekDay} [节假日]当天课表数组信息 {$节假日调课_调整后时间} {$节假日调课_原上课时间} 已省不显示<BR>"; } //global $SHOWTEXT; if($SHOWTEXT)print_R($WeekDaySchedule); global $SHOWTEXT; if ($SHOWTEXT) { print "<BR>当天时间:{$节假日调课_调整后时间} 上课日期:{$节假日调课_原上课时间} "; } //昨到这一天的节次信息 $JieCiArray = array(); $JieCiArray = @array_keys($WeekDaySchedule); //sort($JieCiArray); //if($WeekDaySchedule!="") {print_R($JieCiArray);print "<BR>";} for ($iii = 0; $iii < sizeof($JieCiArray); $iii++) { $节次 = TRIM($JieCiArray[$iii]); $教室 = TRIM($WeekDaySchedule[$节次][$单双周]['教室']); $课程 = TRIM($WeekDaySchedule[$节次][$单双周]['课程']); $班级 = TRIM($WeekDaySchedule[$节次][$单双周]['班级']); $Element = array(); //$Element['编号'] = ''; $Element['教师姓名'] = TRIM($真实姓名); $Element['教师用户名'] = TRIM($教师用户名); $Element['考勤日期'] = TRIM($节假日调课_调整后时间); $Element['教室'] = TRIM($教室); $Element['课程'] = TRIM($课程); $Element['班级'] = TRIM($班级); $Element['星期'] = TRIM($TargetWeekDay); $Element['节次'] = TRIM($节次); $Element['周次'] = returnCurWeekIndex($节假日调课_原上课时间); $Element['学期'] = TRIM($CurXueQi); $Element['应该填写时间'] = TRIM($节假日调课_调整后时间); $考勤日期Array = explode('-', $节假日调课_调整后时间); $当前星期数 = date("w", mktime(1, 1, 1, $考勤日期Array[1], $考勤日期Array[2], $考勤日期Array[0])); $X = 7 - $当前星期数; $Element['最迟填写时间'] = date("Y-m-d", mktime(1, 1, 1, $考勤日期Array[1], $考勤日期Array[2] + $X, $考勤日期Array[0])); $安排内容 = returnJieCiName($节次); $有效时间 = returnJieCiTime($安排内容); $有效时间Array = explode('-', $有效时间); $有效时间0Array = explode(':', $有效时间Array[0]); $有效时间1Array = explode(':', $有效时间Array[1]); global $SYSTEM_MERGE_CLASSTABLE; if ($节次Array[1] != "" && ($SYSTEM_MERGE_CLASSTABLE = "1")) { $安排内容1 = returnJieCiName($节次Array[1]); $有效时间1 = returnJieCiTime($安排内容1); $有效时间1Array = explode('-', $有效时间1); $有效时间1Array = explode(':', $有效时间1Array[1]); } //判断该课是否为两节连上 $第二节次 = $节次 + 1; $节余数 = $第二节次 % 2; global $SYSTEM_MERGE_CLASSTABLE; if ($WeekDaySchedule[$第二节次][$单双周]['课程'] == $WeekDaySchedule[$节次][$单双周]['课程'] && $WeekDaySchedule[$第二节次][$单双周]['教师'] == $WeekDaySchedule[$节次][$单双周]['教师'] && $WeekDaySchedule[$第二节次][$单双周]['班级'] == $WeekDaySchedule[$节次][$单双周]['班级'] && $节余数 == 0 && $SYSTEM_MERGE_CLASSTABLE == "1") { //SYSTEM_MERGE_CLASSTABLE为1时表示系统采用的是强制合并的策略,但支持不同的课程进行拆分 $安排内容 = returnJieCiName($第二节次); $有效时间22 = returnJieCiTime($安排内容); $有效时间22Array = explode('-', $有效时间22); //重新定义有效时间1Array数组 $有效时间1Array = explode(':', $有效时间22Array[1]); //跳过第二节次记录 $Element['节次'] = $节次 . "-" . $第二节次; $iii++; //print_R($有效时间22Array);print "<BR>";//exit; } //print_R($WeekDaySchedule);exit; $上课刷卡BGN = date("H:i", @mktime($有效时间0Array[0], $有效时间0Array[1] - $KaoqinTimeBegin1, 30, 12, 12, 2008)); $上课刷卡END = date("H:i", @mktime($有效时间0Array[0], $有效时间0Array[1] + $KaoqinTimeBegin2, 30, 12, 12, 2008)); $下课刷卡BGN = date("H:i", @mktime($有效时间1Array[0], $有效时间1Array[1] - $KaoqinTimeEnd1, 30, 12, 12, 2008)); $下课刷卡END = date("H:i", @mktime($有效时间1Array[0], $有效时间1Array[1] + $KaoqinTimeEnd2, 30, 12, 12, 2008)); $Element['上课实际刷卡'] = ''; $Element['上课考勤状态'] = ''; $Element['下课实际刷卡'] = ''; $Element['下课考勤状态'] = ''; $Element['上课刷卡BGN'] = $上课刷卡BGN; $Element['上课刷卡END'] = $上课刷卡END; $Element['下课刷卡BGN'] = $下课刷卡BGN; $Element['下课刷卡END'] = $下课刷卡END; //print_R($Element);exit; //班级实习周部分调整,如果该班级在当前周是实习或考试周次,那么教师考勤则不进行初始化 $Banji_ShiXi_JiaoXueJinCheng = Banji_ShiXi_JiaoXueJinCheng($班级, $Element['周次'], $CurXueQi, $节假日调课_调整后时间); //教师代课过滤 结果有数据时表示,教师代课信息要进行重置 $Teacher_DaiKe_Infor = Teacher_DaiKe_Infor($真实姓名, $教师用户名, $节假日调课_调整后时间, $Element['节次'], $课程, $CurXueQi); //教师停课过滤 结果有数据时表示,教师停课,不能进行新建操作 $Teacher_TingKe_Infor = Teacher_TingKe_Infor($真实姓名, $教师用户名, $节假日调课_调整后时间, $Element['节次'], $课程, $CurXueQi); //教师复课过滤 结果有数据时表示,教师复课,但此表从课程表所来,一般情况下来,理论上课时间不会出现复课时间重复现象 //$Teacher_FuKe_Infor = Teacher_FuKe_Infor($真实姓名,$节假日调课_调整后时间,$Element['节次'],$课程,$CurXueQi); if ($Teacher_DaiKe_Infor != "") { $Element['教师用户名'] = $Teacher_DaiKe_Infor; $Element['教师姓名'] = returntablefield('user', "USER_ID", $Teacher_DaiKe_Infor, "USER_NAME"); } //教师调课过滤 结果为空时表示可以插入对应数据 $Teacher_TiaoKe_Infor = Teacher_TiaoKe_Infor($真实姓名, $教师用户名, $节假日调课_调整后时间, $Element['节次'], $课程, $CurXueQi); //教师相互调课过滤 结果为空时表示可以插入对应数据 $Teacher_TiaoKeXiangHu_Infor = Teacher_TiaoKeXiangHu_Infor($真实姓名, $教师用户名, $节假日调课_调整后时间, $Element['节次'], $课程, $CurXueQi); global $SHOWTEXT; if ($SHOWTEXT && sizeof($rs_a) > 0) { print_R($ShowData); } global $SHOWTEXT; if ($SHOWTEXT && sizeof($rs_a) > 0) { print "<BR>课程:{$课程} 班级:{$班级} " . $ShowData[$节假日调课_调整后时间] . "-" . $ShowData[$节假日调课_调整后时间] . "-" . $TiaoKeJieJiaRiExec['反向'][$节假日调课_调整后时间] . "-" . $Banji_ShiXi_JiaoXueJinCheng . "-" . $Teacher_TiaoKe_Infor . "-" . $Teacher_TiaoKeXiangHu_Infor . "<BR>"; } //显示备注信息 if ($Teacher_TiaoKe_Infor != '' && $SHOWTEXT == 1) { print "<BR><font color=green>::::::备注调课不能空: {$Teacher_TiaoKe_Infor} </font><BR>"; } if ($Teacher_TingKe_Infor != '' && $SHOWTEXT == 1) { print "<BR><font color=green>::::::备注停课不能空: {$Teacher_TingKe_Infor} </font><BR>"; } if ($Teacher_TiaoKeXiangHu_Infor != '' && $SHOWTEXT == 1) { print "<BR><font color=green>::::::备注相互调课不能空: {$Teacher_TiaoKeXiangHu_Infor} </font><BR>"; } if ($TiaoKeJieJiaRiExec['反向'][$节假日调课_调整后时间] != '' && $SHOWTEXT == 1) { print "<BR><font color=green>::::::反向 {$节假日调课_调整后时间}: {$TiaoKeJieJiaRiExec['反向'][$节假日调课_调整后时间]} </font><BR>"; } if ($ShowData[$节假日调课_调整后时间] != '' && $SHOWTEXT == 1) { print "<BR><font color=green>::::::节假日调课_调整后时间: {$ShowData[$节假日调课_调整后时间]} </font><BR>"; } if ($课程 == '' && $SHOWTEXT == 1) { print "<BR><font color=green>::::::课程为空: {$Teacher_TiaoKeXiangHu_Infor} </font><BR>"; } if ($班级 == '' && $SHOWTEXT == 1) { print "<BR><font color=green>::::::班级为空: {$Teacher_TiaoKeXiangHu_Infor} </font><BR>"; } if ($课程 != "" && $班级 != "" && $ShowData[$节假日调课_调整后时间] == "" && $TiaoKeJieJiaRiExec['反向'][$节假日调课_调整后时间] == "" && $Banji_ShiXi_JiaoXueJinCheng == "" && $Teacher_TiaoKe_Infor == '' && $Teacher_TingKe_Infor == '' && $Teacher_TiaoKeXiangHu_Infor == '') { $ElementValue = array_values($Element); $sqlValueText = "'" . join("','", $ElementValue) . "'"; $ElementName = array_keys($Element); $sqlNameText = "`" . join("`,`", $ElementName) . "`"; //判断记录是否存在,如果存在则不进行插入操作 $sql = "select COUNT(*) AS NUM from edu_teacherkaoqinmingxi where 教师姓名 ='{$真实姓名}' and 教师用户名 ='{$教师用户名}' and 考勤日期='{$节假日调课_调整后时间}' and 节次='" . $Element['节次'] . "' and 课程='{$课程}' and 班级='{$班级}' "; $rs = $db->Execute($sql); global $SHOWTEXT; if ($SHOWTEXT) { print "<BR><font color=green>{$sql} </font><BR>"; } $NUM = $rs->fields['NUM']; if ($NUM == 0) { $sql = "insert into edu_teacherkaoqinmingxi({$sqlNameText}) values({$sqlValueText})"; $db->Execute($sql); } else { $sql = "数据已经存在 " . $sql; } global $SHOWTEXT; if ($SHOWTEXT) { print "<BR><font color=red>-----------{$sql} </font><BR>"; } //print_R($Element['节次']);print "教师:".$真实姓名.",班级:".$班级.",课程:".$课程.",星期:".$TargetWeekDay.",节次:$节次<BR>"; } //if($WeekDaySchedule!=""&&$SHOWTEXT=="1") {print_R($WeekDaySchedule);} } //if($WeekDaySchedule!="") {exit;} //print $TargetWeekDay."<BR>"; //}//exit; } //end for //print_infor(); //EDU_Indextopage('?',$nums='0'); //初始化时把没有填写的教学日记,标记为可以填写 $最迟填写时间 = date("Y-m-d", mktime(1, 1, 1, date('m'), date('d') + 5, date('Y'))); $当前日期 = date("Y-m-d", mktime(1, 1, 1, date('m'), date('d'), date('Y'))); //$sql = "update edu_teacherkaoqinmingxi set 最迟填写时间 ='$最迟填写时间' where 教师姓名='$默认教师名称' and 教师用户名='$教师用户名' and 授课内容='' and 学期='$CurXueQi' and 最迟填写时间<='$当前日期'"; //$db->Execute($sql); //if($SHOWTEXT) print $sql; }
function 返回班级教学进程列表($班级列表) { global $db,$CurXueQi; //班级教学进程 print "</table><BR> <table cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' width='700' style='border-collapse:collapse'> <tr align='center'> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 班级教学进程(学期)</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 班级</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 周次</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 内容</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 开始星期</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 结束星期</td> </tr>"; $班级Array = @Array_keys($班级列表); $datetime = date("Y-m-d"); $周次 = returnCurWeekIndex($datetime); for($i=0;$i<sizeof($班级Array);$i++) { $班级 = $班级Array[$i]; $sql = "select * from edu_schooljingcheng where 学期='$CurXueQi' and 周次='$周次' and 班级='$班级'"; $rs = $db->Execute($sql); $rs_a = $rs->GetArray(); //print_R($班级Array); //print $sql; if($rs_a[0]['内容']!="") print "<tr > <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$CurXueQi}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> <a href=\"?action=showClassTableInfor&ClassCode={$班级}&CurXueQi=$CurXueQi\" target=_blank>{$班级}</a></td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$周次}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['内容']}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['开始星期']}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['结束星期']}</td> </tr>"; } print "</table><div>"; }
require_once "systemprivateinc.php"; CheckSystemPrivate("人力资源-行政考勤-流程明细"); $当前学期 = returntablefield("edu_xueqiexec", "当前学期", '1', "学期名称"); if ($_GET['学期'] == "") { $_GET['学期'] = $当前学期; } require_once 'lib.xingzheng.inc.php'; if ($_GET['action'] == "add_default_data") { $_POST['人员用户名'] = $_POST['人员_ID']; $DEPT_ID = returntablefield("user", "USER_ID", $_POST['人员_ID'], "DEPT_ID"); $_POST['部门'] = returntablefield("department", "DEPT_ID", $DEPT_ID, "DEPT_NAME"); $时间 = $_POST['时间']; $时间Array = explode('-', $时间); $_POST['星期'] = date("w", mktime(1, 1, 1, $时间Array[1], $时间Array[2], $时间Array[0])); $_POST['时间'] = date("Y-m-d", mktime(1, 1, 1, $时间Array[1], $时间Array[2], $时间Array[0])); $_POST['周次'] = returnCurWeekIndex($_POST['时间']); //print_R($_POST);exit; } //批量通过审核操作 if ($_GET['action'] == "operation_piliangtongguo" && $_GET['selectid'] != "") { //print_R($_GET);exit; //print_R($_SESSION); $审核人 = $_SESSION['LOGIN_USER_NAME']; $审核时间 = date('Y-m-d H:i:s'); $Array = explode(',', $_GET['selectid']); //PRINT_r($Array);EXIT; for ($i = 0; $i < sizeof($Array); $i++) { $Element = $Array[$i]; if ($Element != "") { $审核状态 = returntablefield("edu_xingzheng_qingjia", "编号", ${$Element}, "审核状态"); if ($审核状态 != 1) {
//$结束时间 = date("Y-m-d",mktime(1,1,1,$日期Array[1],$日期Array[2]+14,$日期Array[0])); $开始时间 = date("Y-m-d", mktime(1, 1, 1, date('m'), date('d') - 1, date('Y'))); $结束时间 = date("Y-m-d", mktime(1, 1, 1, date('m'), date('d') + 14, date('Y'))); $sql = "select 班次名称 from edu_xingzheng_banci"; //$cursor = exequery($connection,$sql); //while($ROW = mysql_fetch_array($cursor)) { $rs = $db->CacheExecute(30, $sql); $ROW = $rs->GetArray(); for ($i = 0; $i < sizeof($ROW); $i++) { $班次数组[] = $ROW[$i]["班次名称"]; } //对未来十四天之内可以使用的时间段进行统计和分析 for ($i = -1; $i < 14; $i++) { $星期X = date("w", mktime(1, 1, 1, date('m'), date('d') + $i, date('Y'))); $当天X = date("Y-m-d", mktime(1, 1, 1, date('m'), date('d') + $i, date('Y'))); $returnCurWeekIndex = returnCurWeekIndex($当天X); $query = "select 班次名称 AS 班次,排班人员 AS 人员 from edu_xingzheng_paiban where (排班人员 like '%,{$人员用户名},%' or 排班人员 like '{$人员用户名},%') and 学期名称='{$学期名称}' and 考勤日期='{$当天X}'"; //$cursor = exequery($connection,$query); $rs = $db->Execute($query); $ROW = $rs->GetArray(); $班次Array = array(); for ($n = 0; $n < sizeof($ROW); $n++) { $班次X = $ROW[$n]["班次"]; $人员 = $ROW[$n]["人员"]; $班次Array[$班次X] = $ROW[$n]["班次"]; } //print_R($班次Array); for ($X = 0; $X < sizeof($班次数组); $X = $X + 1) { $班次TEMP = $班次数组[$X]; if ($班次Array[$班次TEMP] == "") { $可用时间列表[] = $当天X . " 周" . $星期XNAME[$星期X] . " " . $班次TEMP . "";
function 返回班级教学进程列表($班级列表) { global $db,$CurXueQi; //班级教学进程 print "<BR> <table cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' width='100%' style='border-collapse:collapse'> <tr align='center'> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 班级教学进程(学期)</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 班级</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 周次</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 内容</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 开始星期</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> 结束星期</td> </tr>"; $班级Array = explode(',',$班级列表); $datetime = date("Y-m-d"); $周次 = returnCurWeekIndex($datetime); $周次2 = $周次+1; for($i=0;$i<sizeof($班级Array);$i++) { $班级 = $班级Array[$i]; $sql = "select * from edu_schooljingcheng where 学期='$CurXueQi' and (周次='$周次' or 周次='$周次2') and 班级='$班级'"; $rs = $db->Execute($sql); $rs_a = $rs->GetArray(); //print_R($班级Array); //print $sql; if($rs_a[0]['内容']!="") print "<tr > <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$CurXueQi}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['班级']}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['周次']}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['内容']}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['开始星期']}</td> <td cellspacing='0' class='TableBlock' bordercolor='#000000' cellpadding='3' align='center' style='border-collapse:collapse' align=center nowrap colspan='2' rowspan='1'> {$rs_a[0]['结束星期']}</td> </tr>"; } print "</table>"; }
function 执行插入某人某天考勤信息($学期, $人员, $人员用户名, $考勤日期, $班次 = '') { global $db, $返回班次上班及下班打卡时间; $sql = "select distinct 班次名称 from edu_xingzheng_paiban\n\t\t\twhere (排班人员 like '%,{$人员用户名},%' or 排班人员 like '{$人员用户名},%') and 考勤日期='{$考勤日期}' and 学期名称='{$学期}'"; $rs = $db->Execute($sql); $rs_a = $rs->GetArray(); global $SHOWTEXT; if ($SHOWTEXT) { print $sql . "<BR>"; } //print_R($rs_a); if ($班次 != "") { //表示是一种指定班次的情况下,也有可能是调班情况,所以不能在排班信息中过滤,而是强制指定信息 //方法:重新给RS_A变量赋值 $rs_a = array(); $rs_a[0]['班次名称'] = $班次; } //print_R($执行节假日调班函数); $执行节假日调班函数 = 执行节假日调班函数(); $NewDatetime = $执行节假日调班函数['正向'][$Datetime]; //NewDatetime的值为原上班时间,今天为调整后的上班时间 //原上班时间的周次和星期被沿用,具体上班的时间用调整后的 if ($NewDatetime == '') { $NewDatetime = $考勤日期; } else { //该天有对换值,对执行状态进行更新 $sql = "update edu_schedulejiejiari set 执行状态='1' where 调整后上班时间='{$考勤日期}'"; $db->Execute($sql); global $SHOWTEXT; if ($SHOWTEXT) { print $sql . "<BR>"; } } //if($ShowData[$考勤日期]==""&&$执行节假日调班函数['反向'][$考勤日期]==""&&$执行行政人员调班函数==''&&$行政人员相互调班状态=='') { //} //过滤所得到的班次列表,进行过滤处理,在此已经插入到考勤数据表中 for ($i = 0; $i < sizeof($rs_a); $i++) { $班次名称 = $rs_a[$i]['班次名称']; //print_R($Element);exit; //人员代课过滤 结果为空时表示可以插入对应数据 //$过滤行政人员代班 = 过滤行政人员代班($人员,$考勤日期,$班次名称,$学期); //人员调班过滤 结果为空时表示可以插入对应数据 $执行行政人员调班函数 = 执行行政人员调班函数($人员, $人员用户名, $考勤日期, $班次名称, $学期); //人员相互调班过滤 结果为空时表示可以插入对应数据 $行政人员相互调班状态 = 行政人员相互调班状态($人员, $人员用户名, $考勤日期, $班次名称, $学期); $行政人员补休状态 = 行政人员补休状态($人员, $人员用户名, $考勤日期, $班次名称, $学期); global $SHOWTEXT; if ($SHOWTEXT && sizeof($rs_a) > 0) { print "<BR>插入考勤数据部分:" . $ShowData[$考勤日期] . "-" . $执行节假日调班函数['反向'][$考勤日期] . "-" . $执行行政人员调班函数 . "-" . $行政人员相互调班状态 . "<BR>"; } //较验新的记录是否存在 $sql = "select COUNT(*) AS NUM from edu_xingzheng_kaoqinmingxi where 学期='{$学期}' and 人员用户名='{$人员用户名}' and 日期='{$考勤日期}' and 班次='{$班次名称}'"; $rs = $db->Execute($sql); $NUM = $rs->fields['NUM']; //不存在记录,执行插入操作 if ($NUM == 0 && $ShowData[$考勤日期] == "" && $执行节假日调班函数['反向'][$考勤日期] == "" && $行政人员相互调班状态 == '' && $行政人员补休状态 == '') { //$执行行政人员调班函数==''&& //编号 学期 部门 人员 日期 周次 星期 班次 上班实际刷卡 上班考勤状态 下班实际刷卡 下班考勤状态 上班刷卡BGN 上班刷卡END 下班刷卡BGN 下班刷卡END 创建时间 $考勤日期Array = explode('-', $考勤日期); $星期 = date('w', mktime(1, 1, 1, $考勤日期Array[1], $考勤日期Array[2], $考勤日期Array[0])); $DEPT_ID = returntablefield("user", "USER_ID", $人员用户名, "DEPT_ID"); $部门 = returntablefield("department", "DEPT_ID", $DEPT_ID, "DEPT_NAME"); $Element['学期'] = $学期; $Element['部门'] = $部门; $Element['人员'] = $人员; $Element['人员用户名'] = $人员用户名; //有调班信息,则以新的时间为准进行计算 if ($执行行政人员调班函数['新上班时间'] != "") { $考勤日期 = $执行行政人员调班函数['新上班时间']; $考勤日期Array = explode('-', $考勤日期); $星期 = date('w', mktime(1, 1, 1, $考勤日期Array[1], $考勤日期Array[2], $考勤日期Array[0])); $Element['日期'] = $考勤日期; $Element['周次'] = returnCurWeekIndex($考勤日期); $班次名称 = $执行行政人员调班函数['新班次']; } else { $Element['日期'] = $考勤日期; $Element['周次'] = returnCurWeekIndex($考勤日期); } if ($星期 == 0) { $星期 = 7; } $Element['星期'] = $星期; $Element['班次'] = $班次名称; $返回考勤补登信息 = 返回考勤补登信息($学期, $人员, $人员用户名, $考勤日期, $班次名称); $返回请假外出信息 = 返回请假外出信息($学期, $人员, $人员用户名, $考勤日期, $班次名称); if ($返回班次上班及下班打卡时间[$班次名称]['上班时间是否启用'] == "否") { $Element['上班实际刷卡'] = '不用考勤'; $Element['上班考勤状态'] = '不用考勤'; } else { if ($返回考勤补登信息 == "上班考勤补登") { $Element['上班实际刷卡'] = '考勤补登'; $Element['上班考勤状态'] = '考勤补登'; } else { if ($返回请假外出信息 == "请假外出") { $Element['上班实际刷卡'] = '请假外出'; $Element['上班考勤状态'] = '请假外出'; } else { $Element['上班实际刷卡'] = ''; $Element['上班考勤状态'] = ''; } } } if ($返回班次上班及下班打卡时间[$班次名称]['下班时间是否启用'] == "否") { $Element['下班实际刷卡'] = '不用考勤'; $Element['下班考勤状态'] = '不用考勤'; } else { if ($返回考勤补登信息 == "下班考勤补登") { $Element['下班实际刷卡'] = '考勤补登'; $Element['下班考勤状态'] = '考勤补登'; } else { if ($返回请假外出信息 == "请假外出") { $Element['下班实际刷卡'] = '请假外出'; $Element['下班考勤状态'] = '请假外出'; } else { $Element['下班实际刷卡'] = ''; $Element['下班考勤状态'] = ''; } } } $Element['上班刷卡BGN'] = $返回班次上班及下班打卡时间[$班次名称]['上班刷卡BGN']; $Element['上班刷卡END'] = $返回班次上班及下班打卡时间[$班次名称]['上班刷卡END']; $Element['下班刷卡BGN'] = $返回班次上班及下班打卡时间[$班次名称]['下班刷卡BGN']; $Element['下班刷卡END'] = $返回班次上班及下班打卡时间[$班次名称]['下班刷卡END']; $Element['上班迟到时间'] = $返回班次上班及下班打卡时间[$班次名称]['迟到时间']; $Element['下班早退时间'] = $返回班次上班及下班打卡时间[$班次名称]['早退时间']; $Element['迟到分钟数'] = ''; $Element['早退分钟数'] = ''; //$Element['旷工结束时间'] = $返回班次上班及下班打卡时间[$班次名称]['旷工结束时间']; $Element['创建时间'] = date('Y-m-d H:i:s'); $ElementValue = array_values($Element); $sqlValueText = "'" . join("','", $ElementValue) . "'"; $ElementName = array_keys($Element); $sqlNameText = "`" . join("`,`", $ElementName) . "`"; $sql = "insert into edu_xingzheng_kaoqinmingxi({$sqlNameText}) values({$sqlValueText})"; if ($人员用户名 != "") { $db->Execute($sql); global $SHOWTEXT; if ($SHOWTEXT) { print "<BR><font color=red>{$sql} </font><BR>"; } } } } //end for return $NewArray; //print_R($rs_a); }
</td> </tr> </table> <?php exit; } } ?> <table width="100%" class="TableBlock" align="center"> <tr class="TableHeader"> <td>选择排班周次</td> </tr> <tr class="TableData"> <td nowrap>第 <?php $_GET['当前周次'] != "" ? '' : ($_GET['当前周次'] = returnCurWeekIndex($datetime = date("Y-m-d"))); $当前周次 = $_GET['当前周次']; for ($i = 0; $i < $Week_Count; $i++) { if ($i + 1 == $当前周次) { print "<a href='?当前周次=" . ($i + 1) . "' target='_self'><font color=red>" . ($i + 1) . "</font></a> "; } else { print "<a href='?当前周次=" . ($i + 1) . "' target='_self'>" . ($i + 1) . "</a> "; } } ?> 周</td> </tr> </table> <br /> <?php $当前周次 = $_GET['当前周次'];
function 同步宿舍房间信息到每天评比页面($评比日期 = '') { global $db; if ($评比日期 == '') { $评比日期 = date("Y-m-d"); } $星期 = 返回给定时间的星期信息($评比日期); if ($星期 >= 1 && $星期 <= 5) { $创建时间 = date("Y-m-d H:i:s"); $周次 = returnCurWeekIndex($评比日期); $当前学期 = returntablefield("edu_xueqiexec", "当前学期", '1', "学期名称"); $sql = "select 房间名称,宿舍楼 from dorm_room order by 房间名称"; $rs = $db->CacheExecute(150, $sql); $rs_a = $rs->GetArray(); for ($i = 0; $i < sizeof($rs_a); $i++) { $房间名称 = $rs_a[$i]['房间名称']; $宿舍楼 = $rs_a[$i]['宿舍楼']; $sql = "select COUNT(*) AS NUM from edu_susheweishengday where 房间名称='{$房间名称}' and 评比日期='{$评比日期}'"; $rs = $db->Execute($sql); $NUM = $rs->fields['NUM']; if ($NUM == 0) { $sql = "INSERT INTO `edu_susheweishengday` VALUES ('','{$当前学期}','{$宿舍楼}', '{$房间名称}', '{$评比日期}','{$周次}','{$星期}','{$评价人}','{$卫生分数}','{$卫生扣分原因}','{$纪律分数}','{$纪律扣分原因}','{$创建时间}','" . $_SESSION['LOGIN_USER_ID'] . "','','','')"; $rs = $db->Execute($sql); //print $sql."<BR>"; } } } //星期==5 }
//先进行课表调节 XiaoLiArray(); //调课时间按时间进行批量执行 教务科调课(); $开始时间 = $_REQUEST['开始时间']; $开始时间Array = explode('-',$开始时间); $Datetime = date("Y-m-d",mktime(1,1,1,$开始时间Array[1],$开始时间Array[2],$开始时间Array[0])); //节假日调课 $TiaoKeJieJiaRiExec = 节假日调课(); //正向 节假日调课_调整后时间 =>节假日调课_原上课时间 $当前周次 = returnCurWeekIndex($Datetime); $sql = "select distinct 教师,教师用户名 from edu_schedule where 学期='$CurXueQi' and 教师用户名!='' and ( (开始周<='".$当前周次."' and 结束周>='".$当前周次."') or (开始周='0' and 结束周='0') ) "; //print $sql;exit; $rs = $db ->CacheExecute(150,$sql); $rs_a = $rs -> GetArray(); for($i=0;$i<sizeof($rs_a);$i++) {