Viewing file: 2554-06-06-2.0.06-processUpdateDBRegTmp.php (7 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?
if($method == "FormStart" && $copy == '1'){
set_time_limit(0);
$upTid = 4;
$nameTable = "ข้อมูลการลงทะเบียนนักศึกษา";
if($warnDo){
for($i=0;$i<=$Do;$i++){
$oDo->SearchByKey($warnDo[$i]);
$oDo->GetRecord();
$oDA->SearchByDefineid($oDo->defineid);
$oDA->GetRecord();
$oDo->Delete();
$oRrq->SearchByDoid($warnDo[$i]);
while($oRrq->GetRecord()){
$oRrq->Delete();
}
$oRtq->SearchByDoid($warnDo[$i]);
while($oRtq->GetRecord()){
$oRtq->Delete();
}
}
}
/*-- 4.1 update ข้อมูล class ที่เกี่ยวกับรายวิชา โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา ----------------------------------*/
$oaCA = new ClassAssess($oCA);
//ลบข้อมูลจากปีการศึกษา ภาคการศึกษา เพื่ออัพเดทใหม่
$oaCA->DeleteClassAssessByAcadSem($inputAcadyear ,$selectSemester);
$orClass = new ClassAssessTmp($oCA);
$orClass->RSClassAssess();
while($orClass->GetRecord()){
$oaCA->AddNew();
$oaCA->classId=$orClass->classId;
$oaCA->programId=$orClass->programId;
$oaCA->acadYear=$orClass->acadYear;
$oaCA->semester=$orClass->semester;
$oaCA->studentYear=$orClass->studentYear;
$oaCA->courseId=$orClass->courseId;
$oaCA->sectionClass=$orClass->sectionClass;
$oaCA->section=$orClass->section;
$oaCA->totalSeat=$orClass->totalSeat;
$oaCA->enrollSeat=$orClass->enrollSeat;
$oaCA->classTime=$orClass->classTime;
$oaCA->officerId=$orClass->officerId;
$oaCA->Save();
//กรณีที่เปิดให้มีการเีรียนการสอนให้มีหลายหลักสูตรเรียนด้วยกัน classId == null
if($orClass->programId == "" || $orClass->programId == 0){
$orOpenFor = new ClassOpenForAssessTmp($oCA);
$oaClsOpenFor = new ClassOpenForAssess($oCA);
//ลบข้อมูลรายวิชาที่เปิดสอนหลายหลักสูตร เพื่ออัพเดทใหม่
$oaClsOpenFor->SearchByClassId($orClass->classId);
while($oaClsOpenFor->GetRecord()){
$oaClsOpenFor->DeleteByClassId($oaClsOpenFor->classId);
}
$orOpenFor->SearchByClassId($orClass->classId);
while($orOpenFor->GetRecord()){
$oaClsOpenFor->AddNew();
$oaClsOpenFor->classId=$orOpenFor->classId;
$oaClsOpenFor->programId=$orOpenFor->programId;
$oaClsOpenFor->bookSeat=$orOpenFor->bookSeat;
$oaClsOpenFor->erSeat=$orOpenFor->erSeat;
$oaClsOpenFor->Save();
} // end while
} // end if
$flag_1 = 1;
} // end while orClass
$orClass->DeleteAll();
// $orOpenFor->DeleteAll();
/*--- 4.2 update ข้อมูลอาจารย์ผู้สอนประจำวิชานั้นๆ โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา ----------------------*/
//-----> ค้นหาข้อมูลจากตาราง ClassAssess->ClassInStructorAssessจาก DB ประเมิน เพื่อลบข้อมูลในปี/เทอมนั้นๆ ออก
$oaCIn = new ClassInStructorAssess($oCA);
$oaCA->SearchClassIdByAcadSem($inputAcadyear ,$selectSemester);
while($oaCA->GetRecord()){
$oaCIn->DeleteClassInStructorAssessByClassId($oaCA->classId);
}
//-----> ค้นหาข้อมูลจากตาราง Class->ClassInStructor จาก DB ทะเบียนนักศึกษา เพื่ิอเพิ่มข้อมูลใหม่ในตาราง ClassInstructor
$orCIn = new ClassInStructorAssessTmp($oCA);
// $orCIn->RSClassInStructorAssess();//($orClass->classId);
$oaCA->RSClassOfficerByUnionCisTT($inputAcadyear ,$selectSemester);
while($oaCA->GetRecord()){
$oaCIn->AddNew();
$oaCIn->sequenceId=$oaCIn->GetNextCode();//$orCIn->sequenceId;
$oaCIn->classId=$oaCA->classId;
$oaCIn->officerId=$oaCA->officerId;
$oaCIn->Save();
}
$flag = 1;
$orCIn->DeleteAll();
/*------------------------4.3 update ข้อมูลลงทะเบียนเรียนของนักศึกษา โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา ------------------------*/
//------> ค้นหาข้อมูลจากตาราง Registration จาก DB ประเมิน เพื่อลบข้อมูลในปี/เทอมนั้นๆ ออก
$oaReg = new Registration($oCA);
//ลบข้อมูลจากปีการศึกษา ภาคการศึกษา เพื่ออัพเดทใหม่
$oaReg->DeleteRegistrationByAcadSem($inputAcadyear ,$selectSemester);
//-----> ค้นหาข้อมูลจากตาราง EnrollItem จาก DB ทะเบียนนักศึกษา เพื่อมาอัพเดทในตาราง Registration
$orEnItem = new RegistrationTmp($oCA);
$orEnItem->RSRegistration();
while($orEnItem->GetRecord()){
$oaReg->AddNew();
$oaReg->studentId=$orEnItem->studentId;
$oaReg->acadYear=$orEnItem->acadYear;
$oaReg->semester=$orEnItem->semester;
$oaReg->classId=$orEnItem->classId;
$oaReg->courseId=$orEnItem->courseId;
$oaReg->creditAttempt=$orEnItem->creditAttempt;
$oaReg->Save();
$flag_2 = 1;
} // end while orEnItem
$orEnItem->DeleteAll();
//----------------4.4 update ข้อมูลตารางเรียนรายสัปดาห์ของนักศึกษา โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา
$oaTT = new TimeTableAssess($oCA);
//ลบข้อมูลจากปีการศึกษา ภาคการศึกษา เพื่ออัพเดทใหม
$oaTT->DeleteTimeTableByAcadSem($inputAcadyear ,$selectSemester);
$orTT = new TimeTableAssessTmp($oCA);
$orTT->RSTimeTableAssessTmp();
while($orTT->GetRecord()){
$oaTT->AddNew();
$oaTT->ttId = $orTT->ttId;
$oaTT->ttClId = $orTT->ttClId;
$oaTT->ttWdAcYWeekNo = $orTT->ttWdAcYWeekNo;
$oaTT->ttDyId = $orTT->ttDyId;
$oaTT->ttFrPr = $orTT->ttFrPr;
$oaTT->ttToPr = $orTT->ttToPr;
$oaTT->ttOfId = $orTT->ttOfId;
$oaTT->ttSstId = $orTT->ttSstId;
$oaTT->ttTitle = mysql_real_escape_string($orTT->ttTitle);
$oaTT->ttRmId = $orTT->ttRmId;
$oaTT->ttEpMepId = $orTT->ttEpMepId;
$oaTT->ttEpSepId = $orTT->ttEpSepId;
//echo "$orTT->ttEpMepId - $orTT->ttEpSepId<br>":
$oaTT->Save();
$flag_3 = 1;
} // end while orTimeTable
$orTT->DeleteAll();
/*-------------------------------------เก็บวันที่/เวลาปัจจุบันของแต่ละตารางที่ update ----------------------------------------------*/
$y = date('Y');
$md = date('m-d');
$dateNow = ($y+543)."-".$md;
//echo $upTid;
$oUPT = new UpdateTable($oCA);
$oUPT->SearchByKey($upTid);
$oUPT->GetRecord();
$oUPT->Edit();
$oUPT->upTid=$upTid;
$oUPT->nameTable=$nameTable;
$oUPT->acadYear=$inputAcadyear;
$oUPT->semester=$selectSemester;
$oUPT->dateUp=$dateNow;
$oUPT->timeUp=date('H:i:s');
$oUPT->Save();
$msgFlag = 1;
$upTid = 0;
$orClass = new ClassAssessTmp($oCA);
$orClass->DeleteAll();
$orOpenFor = new ClassOpenForAssessTmp($oCA);
$orOpenFor->DeleteAll();
$orCIn = new ClassInStructorAssessTmp($oCA);
$orCIn->DeleteAll();
$orEnItem = new RegistrationTmp($oCA);
$orEnItem->DeleteAll();
$orTT = new TimeTableAssessTmp($oCA);
$orTT->DeleteAll();
set_time_limit(120);
}//end if method FormStart
?>
|