Viewing file: 2554-05-27-2.0.02-processUpdateDBReg.php (16.95 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?
//echo "<br> method == ".$method;
//echo "<br> formUpdate == ".$formUpdate;
//echo "<br> inputAcadyear == ".$inputAcadyear;
//echo "<br> selectSemester == ".$selectSemester;
if($inputAcadyear == "" && $selectSemester == ""){
//----------->กำหนดภาคการศึกษา/ปีการศึกษา โดยดึงเอาปีการศึกษา และภาคการศึกษาปัจจุบันมาใช้
$inputAcadyear = $GLOBALS["ACADYEAR_R"];
$selectSemester = $GLOBALS["SEMESTER_R"];
}
if($method == "FormStart"){
set_time_limit(0);
$flag = 0;
$msgFlag = 0;
/*----------------------------------------update ข้อมูลนักศึกษา ทั้งหมด -------------------------------------------------*/
if($formUpdate == "FormStdMaster") {
//----->orSM สร้างขึ้นเพื่อดึงข้อมูลจากฐานข้อมูล regis ในตาราง StuderntMaster
$upTid = 1;
$nameTable = ข้อมูลนักศึกษา;
$oaStd = new StudentAssess($oCA);
//ลบข้อมูลทั้งตารางเพื่ออัพเดทใหม่
$oaStd->DeleteStudentAssess();
$orSM = new StudentMaster($oCR);
$orSM->RSStudentByGenStatusY();
while($orSM->GetRecord()){
$orLV = new Level($oCR);
$orLV->SearchByKey($orSM->levelId);
$orLV->GetRecord();
$orProg = new Program($oCR);
$orProg->SearchByKey($orSM->programId);
$orProg->GetRecord();
$orPrefix = new Prefix($oCR);
$orPrefix->SearchByKey($orSM->prefixId);
$orPrefix->GetRecord();
$oaStd->SearchByKey($orSM->studentId);
if($oaStd->GetRecord()){
$oaStd->Edit();
}else{
$oaStd->AddNew();
}
$oaStd->studentId=$orSM->studentId;
$oaStd->studentCode=$orSM->studentCode;
$oaStd->levelName=$orLV->levelName;
$oaStd->programName=$orProg->programName;
$oaStd->prefixName=$orPrefix->prefixName;
$oaStd->studentName=$orSM->studentName;
$oaStd->studentSurname=$orSM->studentSurname;
$oaStd->studentPassword=$orSM->studentPassword;
$oaStd->studentYear=$orSM->studentYear;
$oaStd->Save();
$flag = 1;
}// end while $orSM
} else if ($formUpdate == "FormOfficer") {
/*--------------------------------------------------update ข้อมูลอาจารย์ ทั้งหมด -----------------------------------------------------*/
$upTid = 2;
$nameTable = ข้อมูลอาจารย์;
$oaOF = new OfficerAssess($oCA);
//ลบข้อมูลทั้งตารางเพื่ออัพเดทใหม่
$oaOF->DeleteOfficerAssess();
$orOF = new Officer($oCR);
$orOF->RSOfficer();
while($orOF->GetRecord()){
//echo "<br> officerId = ".$orOF->officerId;
//echo "<br>officerCode = ".$orOF->officerCode;
$orPrefix = new Prefix($oCR);
$orPrefix->SearchByKey($orOF->prefixId);
$orPrefix->GetRecord();
$oaOF->SearchByKey($orOF->officerId);
if($oaOF->GetRecord()){
$oaOF->Edit();
}else{
$oaOF->AddNew();
}
$oaOF->officerId=$orOF->officerId;
$oaOF->officerCode=$orOF->officerCode;
$oaOF->officerPassword=$orOF->officerPassword;
$oaOF->officerType=$orOF->officerType;
$oaOF->prefixName=$orPrefix->prefixName;
$oaOF->officerName=$orOF->officerName;
$oaOF->officerSurname=$orOF->officerSurname;
$oaOF->officerNameEng=$orOF->officerNameEng;
$oaOF->officerSurnameEng=$orOF->officerSurnameEng;
$oaOF->ofSitId=$orOF->ofSitId;
$oaOF->ofPicturePath=$orOF->ofPicturePath;
$oaOF->Save();
$flag = 1;
}
$oaOFInDP = new ea_OFInDP($oCA);
$oaSIT = new ea_SysInstructorType($oCA);
$orSIT = new rg_SysInstructorType($oCR);
$oaDp = new ea_Department($oCA);
$orDp = new rg_Department($oCR);
$oaOFInDP->Deleteea_OFInDP();
$orOFInDP = new rg_OFInDP($oCR);
$orOFInDP->RSrg_OFInDP();
while($orOFInDP->GetRecord()){
$oaOFInDP->AddNew();
$oaOFInDP->oidOfId = $orOFInDP->oidOfId;
$oaOFInDP->oidSeq = $orOFInDP->oidSeq;
$oaOFInDP->oidDpId = $orOFInDP->oidDpId;
$oaOFInDP->oidIsBoss = $orOFInDP->oidIsBoss;
$oaOFInDP->oidFrDate = $orOFInDP->oidFrDate;
$oaOFInDP->oidToDate = $orOFInDP->oidToDate;
$oaOFInDP->Save();
}
$oaSIT->Deleteea_SysInstructorType();
$orSIT->RSrg_SysInstructorType();
while($orSIT->GetRecord()){
$oaSIT->AddNew();
$oaSIT->sitId = $orSIT->sitId;
$oaSIT->sitName = $orSIT->sitName;
$oaSIT->Save();
}
$oaDp->Deleteea_Department();
$orDp->RSrg_Department();
while($orDp->GetRecord()){
$oaDp->AddNew();
$oaDp->dpId = $orDp->dpId;
$oaDp->dpName = $orDp->dpName;
$oaDp->Save();
}
}else if($formUpdate == "FormCourse") {
/*-------------------------------------update ข้อมูลรายวิชาทั้งหมด---------------------------------------------*/
$upTid = 3;
$nameTable = ข้อมูลรายวิชา;
$orCourse = new Course($oCR);
$orCourse->RSCourse();
while($orCourse->GetRecord()){
$OaCourse = new CourseAssess($oCA);
$OaCourse->SearchByKey($orCourse->courseId);
if($OaCourse->GetRecord()){
$OaCourse->Edit();
}else{
$OaCourse->AddNew();
}
$OaCourse->courseId=$orCourse->courseId;
$OaCourse->courseCode=$orCourse->courseCode;
$OaCourse->courseCodeEng=$orCourse->courseCodeEng;
$OaCourse->courseName=$orCourse->courseName;
$OaCourse->courseNameEng=$orCourse->courseNameEng;
$OaCourse->creditTotal=$orCourse->creditTotal;
$OaCourse->credit1=$orCourse->credit1;
$OaCourse->credit2=$orCourse->credit2;
$OaCourse->period1=$orCourse->period1;
$OaCourse->period2=$orCourse->period2;
$OaCourse->period3=$orCourse->period3;
$OaCourse->courseUnit=$orCourse->courseUnit;
$OaCourse->Save();
$flag = 1;
} // end while orCourse
$oSST->DeleteAll();
$orSST = new rg_SysStudyType($oCR);
$orSST->RSrg_SysStudyType();
while($orSST->GetRecord()){
$oSST->AddNew();
$oSST->sstId = $orSST->sstId;
$oSST->sstName = $orSST->sstName;
$oSST->sstNameEng = $orSST->sstNameEng;
$oSST->sstAbbr = $orSST->sstAbbr;
$oSST->sstAbbrEng = $orSST->sstAbbrEng;
$oSST->Save();
}
}else if($formUpdate == "FormReg") {
$msgFlag = -1;
$upTid = 4;
$flag_1 = 0;
$flag_2 = 0;
$flag_3 = 0;
$flag4 = 0;
$nameTable = ข้อมูลการลงทะเบียนนักศึกษา;
/*-- 4.1 update ข้อมูล class ที่เกี่ยวกับรายวิชา โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา ----------------------------------*/
//------> ค้นหาข้อมูลจากตาราง ClassAssess จาก DB ประเมิน เพื่อลบข้อมูลในปี/เทอมนั้นๆ ออก
$oaCA = new ClassAssessTmp($oCA);
$oaCA->DeleteAll();
//ลบข้อมูลจากปีการศึกษา ภาคการศึกษา เพื่ออัพเดทใหม่
// $oaCA->DeleteClassAssessByAcadSem($inputAcadyear ,$selectSemester);
//-----> ค้นหาข้อมูลจากตาราง Class จาก DB ทะเบียนนักศึกษา เพื่อเพิ่มข้อมูลใหม่ในตาราง ClassAssess
$orClass = new Class1($oCR);
$orClass->RSClassByAcYSeM($inputAcadyear ,$selectSemester);
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->officerId=$orClass->officerId;
$i = 1;
$arrayClassTime[$i] = "";
$orCt = new ClassTimeTable($oCR);
$orCt->RSClassTimeTableByClId($orClass->classId);
while($orCt->GetRecord()) {
$orDy = new Day($oCR);
$orDy->SearchByKey($orCt->weekDay);
$orDy->GetRecord();
//echo $orDy->dayAbbrEng.' ';
$orPr = new Period($oCR);
$orPr->SearchByKey($orCt->timeSlotStart);
$orPr->GetRecord();
//echo $orPr->startTime.'-';
$orPr->SearchByKey($orCt->timeSlotEnd);
$orPr->GetRecord();
//echo $orPr->endTime.'<br>';
$arrayClassTime[$i] = $orDy->dayAbbrEng.' '.$orPr->startTime.'-'.$orPr->endTime;
$i++;
}
$classTime=$arrayClassTime[1]." ".$arrayClassTime[2]." ".$arrayClassTime[3]." ".$arrayClassTime[4]." ".$arrayClassTime[5];
//echo "classTime = ".$classTime;
$oaCA->classTime=$classTime;
$oaCA->Save();
//กรณีที่เปิดให้มีการเีรียนการสอนให้มีหลายหลักสูตรเรียนด้วยกัน classId == null
if($orClass->programId == "" || $orClass->programId == 0){
$orOpenFor = new ClassOpenFor($oCR);
$oaClsOpenFor = new ClassOpenForAssessTmp($oCA);
// $oaClsOpenFor->DeleteAll();
//ลบข้อมูลรายวิชาที่เปิดสอนหลายหลักสูตร เพื่ออัพเดทใหม่
$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
/*--- 4.2 update ข้อมูลอาจารย์ผู้สอนประจำวิชานั้นๆ โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา ----------------------*/
//-----> ค้นหาข้อมูลจากตาราง ClassAssess->ClassInStructorAssessจาก DB ประเมิน เพื่อลบข้อมูลในปี/เทอมนั้นๆ ออก
$oaCIn = new ClassInStructorAssessTmp($oCA);
$oaCIn->DeleteAll();
//--- โค้ดปรับปรุงข้อมูลใน ClassInStructorAssess อยู่ในส่วนของการปรับปรุง TimeTableAssess
//-----> ค้นหาข้อมูลจากตาราง Class->ClassInStructor จาก DB ทะเบียนนักศึกษา เพื่ิอเพิ่มข้อมูลใหม่ในตาราง ClassInstructor
$orClass = new Class1($oCR);
$orClass->RSClassByAcYSeM($inputAcadyear ,$selectSemester);
while($orClass->GetRecord()){
$orCIn = new ClassInStructor($oCR);
$orCIn->SearchByClassId($orClass->classId);
while($orCIn->GetRecord()){
$oaCIn->AddNew();
$oaCIn->sequenceId=$orCIn->sequenceId;
$oaCIn->classId=$orCIn->classId;
$oaCIn->officerId=$orCIn->officerId;
$oaCIn->Save();
}
}// end while orEnItem*
/*--- 4.3 update ข้อมูลลงทะเบียนเรียนของนักศึกษา โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา ------------------------*/
//------> ค้นหาข้อมูลจากตาราง Registration จาก DB ประเมิน เพื่อลบข้อมูลในปี/เทอมนั้นๆ ออก
$oaReg = new RegistrationTmp($oCA);
//ลบข้อมูล เพื่ออัพเดทใหม่
$oaReg->DeleteAll();
//-----> ค้นหาข้อมูลจากตาราง EnrollItem จาก DB ทะเบียนนักศึกษา เพื่อมาอัพเดทในตาราง Registration
$orEnItem = new EnrollItem($oCR);
$orEnItem->RSEnrollItemByAcySem2($inputAcadyear ,$selectSemester);
while($orEnItem->GetRecord()){
$orClass = new Class1($oCR);
$orClass->SearchByKey($orEnItem->classId);
$orClass->GetRecord();
$orCourse = new Course($oCR);
$orCourse->SearchByKey($orClass->courseId);
$orCourse->GetRecord();
$oaReg->AddNew();
$oaReg->studentId=$orEnItem->studentId;
$oaReg->acadYear=$orEnItem->acadYear;
$oaReg->semester=$orEnItem->semester;
$oaReg->classId=$orEnItem->classId;
$oaReg->courseId=$orClass->courseId;
$oaReg->creditAttempt=$orEnItem->creditAttempt;
$oaReg->Save();
$flag_2 = 1;
} // end while orEnItem
//--- 4.4 update ข้อมูลตารางเรียนรายสัปดาห์ของนักศึกษา โดยอัพเดทเป็นปีการศึกษา ภาคการศึกษา
$oaTT = new TimeTableAssessTmp($oCA);
//ลบข้อมูลจากปีการศึกษา ภาคการศึกษา เพื่ออัพเดทใหม
$oaTT->DeleteAll();
$orTT = new rg_TimeTable($oCR);
$orTT->RSTimeTableByAcYSeM($inputAcadyear ,$selectSemester);
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 = $orTT->ttTitle;
$oaTT->ttRmId = $orTT->ttRmId;
$oaTT->ttEpMepId = $orTT->ttEpMepId;
$oaTT->ttEpSepId = $orTT->ttEpSepId;
//echo "$orTT->ttEpMepId - $orTT->ttEpSepId<br>":
$oaTT->Save();
/* $oaCIn->SearchByClassIdOfficerId($orTT->ttClId,$orTT->ttOfId);
if(!$oaCIn->GetRecord()){
$oaCIn->AddNew();
$oaCIn->sequenceId=$oaCIn->GetNextCode();
$oaCIn->classId=$orTT->ttClId;
$oaCIn->officerId=$orTT->ttOfId;
$oaCIn->Save();
}
*/
$flag_3 = 1;
} // end while orTimeTable
//----------------4.5 update ข้อมูลสัปดาห์ โดยอัพเดทเป็นปีการศึกษา
$oaWD = new WeekDateAssess($oCA);
$oaWD->DeleteByAcY($inputAcadyear);
$orWD = new rg_WeekDate($oCR);
$orWD->RSByAcY($inputAcadyear);
while($orWD->GetRecord()){
$oaWD->AddNew();
$oaWD->wdAcY = $orWD->wdAcY;
$oaWD->wdAcYWeekNo = $orWD->wdAcYWeekNo;
$oaWD->wdTmId = $orWD->wdTmId;
$oaWD->wdTmWeekNo = $orWD->wdTmWeekNo;
$oaWD->wdFrDate = $orWD->wdFrDate;
$oaWD->wdToDate = $orWD->wdToDate;
$oaWD->save();
// $flag_4 = 1;
}//end while orWD
//--- 4.6 update ข้อมูลห้องและอาคารเรียน
$oaBuilding = new Building($oCA);
$oaRoom = new Room($oCA);
$oaEp = new ExternalPlace($oCA);
$oaMep = new MainExternalPlace($oCA);
$oaSep = new SubExternalPlace($oCA);
$oaRoom->DeleteAll();
$oaBuilding->DeleteAll();
$oaEp->DeleteAll();
$oaSep->DeleteAll();
$oaMep->DeleteAll();
$orBuilding = new rg_Building($oCR);
$orBuilding->RSBuilding();
while($orBuilding->GetRecord()){
$oaBuilding->AddNew();
$oaBuilding->buildingId=$orBuilding->buildingId;
$oaBuilding->buildingName=$orBuilding->buildingName;
$oaBuilding->Save();
}
$orRoom = new rg_Room($oCR);
$orRoom->RSRoom();
while($orRoom->GetRecord()){
$oaRoom->AddNew();
$oaRoom->roomId =$orRoom->roomId;
$oaRoom->roomNo =$orRoom->roomNo;
$oaRoom->buildingId =$orRoom->buildingId;
$oaRoom->capacity =$orRoom->capacity;
$oaRoom->Save();
}
$orMep = new rg_MainExternalPlace($oCR);
$orMep->RSrg_MainExternalPlace();
while($orMep->GetRecord()){
$oaMep->AddNew();
$oaMep->mepId=$orMep->mepId;
$oaMep->mepName=$orMep->mepName;
$oaMep->mepPvId=$orMep->mepPvId;
$oaMep->Save();
}
$orSep = new rg_SubExternalPlace($oCR);
$orSep->RSrg_SubExternalPlace();
while($orSep->GetRecord()){
$oaSep->AddNew();
$oaSep->sepId=$orSep->sepId;
$oaSep->sepName=$orSep->sepName;
$oaSep->Save();
}
$orEp = new rg_ExternalPlace($oCR);
$orEp->RSrg_ExternalPlace();
while($orEp->GetRecord()){
$oaEp->AddNew();
$oaEp->epMepId=$orEp->epMepId;
$oaEp->epSepId=$orEp->epSepId;
$oaEp->Save();
}
}// end else if Form Reg
/*-------------------------------------เก็บวันที่/เวลาปัจจุบันของแต่ละตารางที่ update ----------------------------------------------*/
if(($flag_1 == 1)||($flag_2 == 1)||($flag_3 == 1)){
$flag4 = 1;
}
if($flag == 1 && $upTid!=4){
$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();
//echo "พบข้อมูล";
//$GLOBALS["ACADYEAR_R"] = $oAy->acadYear;
//$GLOBALS["SEMESTER_R"] = $oAy->semester;
$msgFlag = 1;
}else if($flag == 0 && $upTid!=4){
$msgFlag = 0;
//echo "ไม่พบข้อมูล";
}
set_time_limit(120);
}//end if method FormStart
?>
|