Viewing file:      regis.php (84.01 KB)      -rwxr-xr-x Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php include('rg_controller.php'); class Regis extends Rg_controller { //    function __construct() { //        parent::__construct(); //    }
      // ##### start ลงทะเบียนเรียนรายกลุ่ม/ชั้นปี     function showRegisCur() {         $this->load->model($this->config->item("rg_folder").'mo_rg_studyyear','sy');         $this->load->model($this->config->item("rg_folder").'mo_rg_term','tm');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculum','cur');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_realstudyplan','rsp');         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');
          /* หาชั้นปี */         $rs_sy = $this->sy->qrySy();         $this->contents['rs_sy'] = $rs_sy;
          /* หาภาคการศึกษา */         $rs_tm = $this->tm->qryTm();         $this->contents['rs_tm'] = $rs_tm;
          $i = 0;         $arr = array();         /* หาหลักสูตรที่สถานะการใช้เป็น Y โดยเรียงตามชื่อหลักสูตร จาก ก ไป ฮ */         $con_rs_cur = array('curStatus'    => 'Y');         $ord_rs_cur = array('curName'    => 'ASC');         $rs_cur = $this->cur->qryCur($con_rs_cur, $ord_rs_cur);         if ($rs_cur->num_rows()) {             foreach ($rs_cur->result() as $row_cur) {                 $arr[$i]['level'] = 0;                 $arr[$i]['name'] = $row_cur->curName;
                  $i++;
                  $rs_std = $this->std->qryStdByCurIdGroupAdY($row_cur->curId);                 if ($rs_std->num_rows()) {                     foreach ($rs_std->result() as $row_std) {                         foreach ($rs_sy->result() as $row_sy) {                             foreach ($rs_tm->result() as $row_tm) {                                 $acY = $row_std->stdAdY + $row_sy->syId - 1;
                                  $con_rs_rsp = array('rspCurId'    => $row_cur->curId,                                     'rspAdY'    => $row_std->stdAdY,                                     'rspSyId'    => $row_sy->syId,                                     'rspTmId'    => $row_tm->tmId                                 );                                 $rs_rsp = $this->rsp->qryRsp($con_rs_rsp);
                                  if ($rs_rsp->num_rows()) {                                     $con_rs_rg = array('rgAcY'    => $acY,                                         'rgTmId'    => $row_tm->tmId,                                         'rgSyId'    => $row_sy->syId,                                         'rgCurId'    => $row_cur->curId,                                         'stdAdY'    => $row_std->stdAdY                                     );                                     $rs_rg = $this->rg->qryRgJoinStd($con_rs_rg);
                                      /* กำหนดสถานะการแสดงรูปการลงทะเบียน                                        0 คือ ยังไม่มีการกำหนดโปรแกรมการเรียนจริง และลงทะเบียนเรียน                                        1 คือ กำหนดโปรแกรมการเรียนจริงแล้ว                                        2 คือ ลงทะเบียนเรียนจริงแล้ว */
                                      if ($rs_rg->num_rows()) {                                         $link = 2;                                     } else {                                         $link = 1;                                     }                                 } else {                                     $link = 0;                                 }
                                  $arr[$i]['level'] = 1;                                 $arr[$i]['name'] = $row_std->stdAdY;                                 $arr[$i]['url'][] = "{'curId':$row_cur->curId,'adY':$row_std->stdAdY,'acY':$acY,'syId':$row_sy->syId,'tmId':$row_tm->tmId}";                                 $arr[$i]['link'][] = $link;                             }    // end foreach tm                         }    // end foreach sy
                          $i++;                     }    // end foreach std                 }    // end if std             }    // end foreach cur         }    // end if cur
          $this->contents['rs'] = $arr;
          $this->output($this->config->item("rg_folder")."v_showRegisCurriculum");     }
      /* ตัวแปรที่ส่งมา        - $key                คือ รหัสหลักสูตร        - $rowAcY->stdAdY    คือ ปีที่เข้า        - $acY                คือ ปีการศึกษาที่ต้องการลงทะเบียน        - $sy                คือ ชั้นปี        - $tm                คือ เทอม */     function addRegisCur() {         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculum','cur');         $this->load->model($this->config->item("rg_folder").'mo_rg_realstudyplan','rsp');         $this->load->model($this->config->item("rg_folder").'mo_rg_studyyear','sy');         $this->load->model($this->config->item("rg_folder").'mo_rg_term','tm');
          $curId = $this->input->post('curId');         $adY = $this->input->post('adY');         $acY = $this->input->post('acY');         $syId = $this->input->post('syId');         $tmId = $this->input->post('tmId');
          $this->cur->curId = $curId;         $this->contents['qu_cur'] = $this->cur->get_by_key();
          $this->sy->syId = $syId;         $this->contents['qu_sy'] = $this->sy->get_by_key();
          $this->tm->tmId = $tmId;         $this->contents['qu_tm'] = $this->tm->get_by_key();
          $this->contents['adY'] = $adY;         $this->contents['acY']    = $acY;         $this->contents['syId'] = $syId;         $this->contents['tmId'] = $tmId;
          $con_rs_rsp = array('rspCurId'    => $curId,             'rspAdY'    => $adY,             'rspSyId'    => $syId,             'rspTmId'    => $tmId         );         $ord_rs_rsp = array('crsCode'     => 'ASC',             'crsName'     => 'ASC'         );         //$this->contents['rs_rsp'] = $this->rsp->qryRspJoinCoCrs($con_rs_rsp, $ord_rs_rsp);// หารายวิชา         $this->contents['rs_rsp'] = $this->rsp->qryRspJoinCoCrsGroupCrsId($con_rs_rsp);
          $this->output($this->config->item("rg_folder")."v_addRegisCurriculum");     }
      function processRegisCur() {         $this->load->model($this->config->item("rg_folder").'mo_rg_realstudyplan','rsp');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefeetp','crft');         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopen','co');         $this->load->model($this->config->item("rg_folder").'mo_rg_course','crs');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopenfor','cof');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');
          $curId = $this->input->post('curId');         $adY = $this->input->post('adY');         $acY = $this->input->post('acY');         $syId = $this->input->post('syId');         $tmId = $this->input->post('tmId');
          /* ปีการศึกษาที่เริ่มคิดค่าหน่วยกิตแบบเหมาจ่าย */         $reviseY = $this->config->item('reviseY'); //2552;
          // ************************************************** Start Check **************************************************         $con_rs_rsp = array('rspCurId'    => $curId,             'rspAdY'    => $adY,             'rspSyId'    => $syId,             'rspTmId'    => $tmId         );         $rs_rsp = $this->rsp->qryRspJoinCoCrs($con_rs_rsp);         foreach ($rs_rsp->result() as $row_rsp) {             if ($row_rsp->crsStatus == 'Y') {                 $msg = "ไม่สามารถลงทะเบียนเรียนรายกลุ่ม/ชั้นปีได้<br />ต้องกลับไปแก้ไขโปรแกรมการเรียนจริงก่อน ";                 //$msg .= "<span class=\"hand\" onClick=\"sendPost('hidform', {'curId':".$curId.",'syId':".$syId.",'tmId':".$tmId.",'adY':".$adY."}, '".site_url($this->config->item("rg_folder")."preregis/addRealStudyPlan")."')\">คลิกที่นี่</span>";
                  $this->session->set_flashdata('msg', $msg);                 redirect($this->config->item("rg_folder")."msg/err_msg");             }         }
          // Not found CourseFeeTP         // ทำเฉพาะ นศ. ปีเข้า < 2552         if ($adY < $reviseY) {             $this->crft->crftCurId = $curId;             $this->crft->crftAcY = $acY;             $this->crft->crftAdY = ($acY < $reviseY) ? 0 : $adY;             $this->crft->crftSyId = ($acY < $reviseY) ? 0 : $syId;             $this->crft->crftTmId = $tmId;             $qu_crft = $this->crft->get_by_key();
              if (!$qu_crft->num_rows()) {                 $msg = "ไม่สามารถลงทะเบียนเรียนรายกลุ่ม/ชั้นปีได้<br />ต้องกลับไปบันทึกข้อมูลค่าใช้จ่ายประเภทค่าหน่วยกิตก่อน";                 /*$msg = "ไม่สามารถลงทะเบียนเรียนรายกลุ่ม/ชั้นปีได้<br/>                 ต้องกลับไปบันทึกข้อมูลค่าใช้จ่ายประเภทค่าหน่วยกิตก่อน"; */                 //$msg .= "<span class=\"hand\" onClick=\"sendPost('hidform', {'curId':".$curId.",'acY':".$acY.",'tmId':".$tmId."}, '".site_url($this->config->item("rg_folder")."preregis/addCourseFeeTP")."')\">คลิกที่นี่</span>";
                  $this->session->set_flashdata('msg', $msg);                 redirect($this->config->item('rg_folder')."msg/err_msg");             }         }         // ************************************************** End Check **************************************************
          set_time_limit(0);         $flagCommit = true;         $this->db->trans_begin();
          $rs_std = $this->std->qryStdByCurIdAdYSyIdSstIdStr($curId, $adY, $syId, 1);         foreach ($rs_std->result() as $row_std) {             $con_qu_rg = array('rgStdId'    => $row_std->stdId,                 'rgAcY'    => $acY,                 'rgTmId'    => $tmId             );             $rgSeq = $this->rg->getNextSeq($con_qu_rg);
              // Insert Regist             $this->rg->rgStdId = $row_std->stdId;             $this->rg->rgTmId = $tmId;             $this->rg->rgAcY = $acY;             $this->rg->rgSeq = $rgSeq;             $this->rg->rgSubmitType = 'B';             $this->rg->rgStatus = 'N';             $this->rg->rgCurId = $curId;             $this->rg->rgSyId = $syId;             $this->rg->rgCreateDate = date('Y-m-d H:i:s');             $this->rg->rgCreateUserId = $this->session->userdata('UsLogin');             $this->rg->rgUpdateDate = date('Y-m-d H:i:s');             $this->rg->rgUpdateUserId = $this->session->userdata('UsLogin');             $this->rg->insert();
              // Insert RegistDetails             $con_rs_rsp = array('rspCurId'    => $curId,                 'rspAdY'    => $adY,                 'rspSyId'    => $syId,                 'rspTmId'    => $tmId             );             $rs_rsp = $this->rsp->qryRsp($con_rs_rsp);             foreach ($rs_rsp->result() as $row_rsp) {                 $this->co->coId = $row_rsp->rspCoId;                 $qu_co = $this->co->get_by_key();                 $row_co1 = $qu_co->row();
                  $flag = 0;                 $i = 0;                 while (($flag == 0) && ($i < $row_co1->coSectionClass)) {                     $tmpClId = $row_rsp->rspCoId + $i;
                      $qu_co = $this->co->qryCoByStdIdCoIdEmpty($row_std->stdId, $tmpClId);                     if ($qu_co->num_rows()) {                         $row_co2 = $qu_co->row();
                          $this->crs->crsId = $row_co2->coCrsId;                         $qu_crs = $this->crs->get_by_key();                         $row_crs = $qu_crs->row();
                          $this->rd->rdAcY = $acY;                         $this->rd->rdStdId = $row_std->stdId;                         $this->rd->rdTmId = $tmId;                         $this->rd->rdCoId = $row_rsp->rspCoId + $i;                         $this->rd->rdSeq = $rgSeq;                         $this->rd->rdCreditAttempt = $row_crs->crsCreditTotal;                         $this->rd->rdSection = $row_co2->coSection;                         $this->rd->rdGrade = '';                         $this->rd->rdDocNo = '';                         $this->rd->rdCredit1 = $row_crs->crsCredit1;                         $this->rd->rdCredit2 = $row_crs->crsCredit2;                         $this->rd->rdNoCalGPA = $row_rsp->rspNoCalGPA;                         $this->rd->rdAllowPr = 'N';                         $this->rd->rdCdId1 = $row_rsp->rspCdId1;                         $this->rd->rdCdId2 = $row_rsp->rspCdId2;                         $this->rd->rdUpdateDate = date('Y-m-d H:i:s');                         $this->rd->rdUpdateUserId = $this->session->userdata('UsLogin');                         $this->rd->insert();
                          // Update ClassOpenFor                         if (is_null($row_co2->coCurId)) {                             $this->cof->cofCoId = $tmpClId;                             $this->cof->cofCurId = $curId;                             $this->cof->get_by_key(TRUE);                             $this->cof->cofNumEnroll += 1;                             $this->cof->update();                         }
                          // Update Class                         $this->co->coId = $row_co2->coId;                         $this->co->get_by_key(TRUE);                         $this->co->coNumSeatReg += 1;                         $this->co->update();
                          $flag = 1;                     }    // end if co                     $i++;                 }    // end while             }    // end foreach rsp
              // Insert EnrollFee             $con_rs_rf = array('rfStdId'    => $row_std->stdId,                 'rfAcY'    => $acY,                 'rfTmId'    => $tmId             );             $rs_rf = $this->rf->qryRf($con_rs_rf);
              // Not found             if ($rs_rf->num_rows() == 0) {                 // Insert EnrollFee                 $this->rf->rfId = '';                 $this->rf->rfAcY = $acY;                 $this->rf->rfTotalAmt = 0;                 $this->rf->rfBalance = 0;                 $this->rf->rfRefNo = $acY.$tmId.$rgSeq.$row_std->stdCode;                 $this->rf->rfStdId = $row_std->stdId;                 $this->rf->rfSyId = $syId;                 $this->rf->rfTmId = $tmId;                 $this->rf->rfCurId = $curId;                 $this->rf->rfCreateDate = date('Y-m-d H:i:s');                 $this->rf->rfCreateUserId = $this->session->userdata('UsLogin');                 $this->rf->rfUpdateDate = date('Y-m-d H:i:s');                 $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');                 $this->rf->insert();
                  $rfId = $this->rf->last_insert_id();             } else {                 $rfId = $rs_rf->row()->rfId;             }
              $this->rf->rfId = $rfId;             $this->rf->get_by_key(TRUE);             if ($row_std->stdAdY >= $reviseY) {                 $this->rf->rfTotalAmt = $this->calFee2552($row_std->stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId, $row_std->stdAdY);             } else {                 $this->rf->rfTotalAmt = $this->calFee($row_std->stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId);             }
              $this->rf->rfBalance = $this->rf->rfTotalAmt;             $this->rf->rfUpdateDate = date('Y-m-d H:i:s');             $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');             $this->rf->update();         }    // end foreach std
          if ($this->db->trans_status() === false) {             $this->db->trans_rollback();             $flgmsg = "ลงทะเบียนไม่สำเร็จ";         } else {             $this->db->trans_commit();             $flgmsg = "ลงทะเบียนสำเร็จ";         }
          set_time_limit(30);
          $this->session->set_flashdata('success_msg', $flgmsg);         redirect($this->config->item("rg_folder")."regis/showRegisCur");     }
      function calFee($stdId, $acY, $syId, $tmId, $curId, $etId) {         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfee','cmf');         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfeetp','cmft');         $this->load->model($this->config->item("rg_folder").'mo_rg_fee','fee');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfee','cf');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfeetp','cft');         $this->load->model($this->config->item("rg_folder").'mo_rg_studentdomitory','sdm');         $this->load->model($this->config->item("rg_folder").'mo_rg_domitoryfeetp','dft');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefeetp','crft');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefee','crf');         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');
          // ---------- หาเด็ก -------------         $this->std->stdId = $stdId;         $this->std->get_by_key(TRUE);
          // ---------- CommonFee ----------         $con_rs_cmf = array('cmfStdId'     => $stdId,             'cmfAcY'     => $acY,             'cmfTmId'     => $tmId         );         $rs_cmf = $this->cmf->qryCmf($con_rs_cmf);         foreach ($rs_cmf->result() as $row_cmf) {             $this->cmf->cmfStdId = $stdId;             $this->cmf->cmfAcY = $acY;             $this->cmf->cmfTmId = $tmId;             $this->cmf->cmfFeeId = $row_cmf->cmfFeeId;             $this->cmf->delete();         }
          $sumCommonFee = 0;         $con_rs_cmft = array('cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'N'         );         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         foreach ($rs_cmft->result() as $row_cmft) {             $this->fee->feeId = $row_cmft->cmftFeeId;             $qu_fee = $this->fee->get_by_key();             $row_fee = $qu_fee->row();
              if ((($row_fee->feePytId == 1) && ($syId == 1)) || ($row_fee->feePytId != 1)) {                 $this->cmf->cmfStdId = $stdId;                 $this->cmf->cmfAcY = $acY;                 $this->cmf->cmfTmId = $tmId;                 $this->cmf->cmfFeeId = $row_cmft->cmftFeeId;                 $qu_cmf = $this->cmf->get_by_key();
                  // Not found                 if ($qu_cmf->num_rows() == 0) {                     // Insert CommonFee                     $this->cmf->cmfAmt = $row_cmft->cmftAmt;                     $this->cmf->insert();                 }             }         }
          $con_qu_cmf = array('cmfStdId'    => $stdId,             'cmfAcY'    => $acY,             'cmfTmId'    => $tmId         );         $sumCommonFee = $this->cmf->getSumAmt($con_qu_cmf);
          // ---------- ProgramFee ----------         $con_rs_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $rs_cf = $this->cf->qryCf($con_rs_cf);         foreach ($rs_cf->result() as $row_cf) {             $this->cf->cfStdId = $stdId;             $this->cf->cfAcY = $acY;             $this->cf->cfTmId = $tmId;             $this->cf->cfFeeId = $row_cf->cfFeeId;             $this->cf->delete();         }
          $sumProgramFee = 0;         $con_rs_cft = array('cftCurId'    => $curId,             'cftAcY'    => $acY,             'cftTmId'    => $tmId         );         $rs_cft = $this->cft->qryCft($con_rs_cft);         foreach ($rs_cft->result() as $row_cft) {             $this->fee->feeId = $row_cft->cftFeeId;             $qu_fee = $this->fee->get_by_key();             $row_fee = $qu_fee->row();
              if ((($row_fee->feePytId == 1) && ($syId == 1)) || ($row_fee->feePytId != 1)) {                 if ((($row_fee->feeOnTop == 'Y') && ($etId == 2)) || ($row_fee->feeOnTop == 'N')) {                     $this->cf->cfStdId = $stdId;                     $this->cf->cfAcY = $acY;                     $this->cf->cfTmId = $tmId;                     $this->cf->cfFeeId = $row_cft->cftFeeId;                     $qu_cf = $this->cf->get_by_key();
                      // Not found                     if ($qu_cf->num_rows() == 0) {                         // Insert ProgramFee                         $this->cf->cfAmt = $row_cft->cftAmt;                         $this->cf->insert();                     }                 }             }         }
          $con_qu_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $sumProgramFee = $this->cf->getSumAmt($con_qu_cf);
          // ---------- DomFee ----------         $domFee = 0;         $con_rs_cmft = array('cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'Y'         );         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         if ($rs_cmft->num_rows()) {             $this->sdm->sdmStdId = $stdId;             $this->sdm->sdmAcY = $acY;             $this->sdm->sdmTmId = $tmId;             $qu_sdm = $this->sdm->get_by_key();
              // Student stay dom             if ($qu_sdm->num_rows()) {                 $this->dft->dftAcY = $acY;                 $this->dft->dftTmId = $tmId;                 $this->dft->dftDmId = $qu_sdm->row()->sdmDmId;                 $qu_dft = $this->dft->get_by_key();
                  // Found dom fee                 if ($qu_dft->num_rows()) {                     $this->cmf->cmfStdId = $stdId;                     $this->cmf->cmfAcY = $acY;                     $this->cmf->cmfTmId = $tmId;                     $this->cmf->cmfFeeId = $rs_cmft->row()->cmftFeeId;                     $qu_cmf = $this->cmf->get_by_key();
                      // Not found                     if ($qu_cmf->num_rows() == 0) {                         // Insert CommonFee                         $this->cmf->cmfAmt = $qu_sdm->row()->sdmNumMonth * $qu_dft->row()->dftAmt;                         $this->cmf->insert();                         $domFee = $this->cmf->cmfAmt;                     }                 }             }         }
          // ---------- CourseFee ----------         $sumCourseFee = 0;         $reviseY = $this->config->item('reviseY');         $this->crft->crftCurId = $curId;         $this->crft->crftAdY = ($acY < $reviseY) ? 0 : $this->std->stdAdY;         $this->crft->crftSyId = ($acY < $reviseY) ? 0 : $syId;         $this->crft->crftAcY = $acY;         $this->crft->crftTmId = $tmId;         $qu_crft = $this->crft->get_by_key();         if ($qu_crft->num_rows()) {             $con_qu_rf = array('rfStdId'    => $stdId,                 'rfSyId'    => $syId,                 'rfAcY'    => $acY,                 'rfTmId'    => $tmId             );             $qu_rf = $this->rf->qryRf($con_qu_rf);
              if ($qu_rf->num_rows()) {                 $con_qu_rd = array('rdStdId'    => $stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $sumcr1 = $this->rd->getSumCr1($con_qu_rd);                 $sumcr2 = $this->rd->getSumCr2($con_qu_rd);
                  $this->crf->crfStdId = $stdId;                 $this->crf->crfAcY = $acY;                 $this->crf->crfTmId = $tmId;                 $this->crf->crfRfId = $qu_rf->row()->rfId;                 $qu_crf = $this->crf->get_by_key();                 if ($qu_crf->num_rows()) {    // Found                     // Update CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->update();                 } else {    // Not Found                     // Insert CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->crfLateFineAmt = 0;                     $this->crf->crfKssFeeAmt = 0;                     $this->crf->insert();                 }
                  $sumCourseFee = $this->crf->crfLecFeeAmt + $this->crf->crfLabFeeAmt;             }         }
          return $sumCommonFee + $sumProgramFee + $domFee + $sumCourseFee;     }
      function calFee2552($stdId, $acY, $syId, $tmId, $curId, $etId, $adY) {         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfee','cmf');         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfeetp','cmft');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfee','cf');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfeetp','cft');         $this->load->model($this->config->item("rg_folder").'mo_rg_fee','fee');         $this->load->model($this->config->item("rg_folder").'mo_rg_studentdomitory','sdm');         $this->load->model($this->config->item("rg_folder").'mo_rg_domitoryfeetp','dft');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefeetp','crft');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefee','crf');
          // ---------- CommonFee ----------         $con_rs_cmf = array('cmfStdId'     => $stdId,             'cmfAcY'     => $acY,             'cmfTmId'     => $tmId         );         $rs_cmf = $this->cmf->qryCmf($con_rs_cmf);         foreach ($rs_cmf->result() as $row_cmf) {             $this->cmf->cmfStdId = $stdId;             $this->cmf->cmfAcY = $acY;             $this->cmf->cmfTmId = $tmId;             $this->cmf->cmfFeeId = $row_cmf->cmfFeeId;             $this->cmf->delete();         }
          $sumCommonFee = 0;         $con_rs_cmft = array('cmftAdY'    => $adY,             'cmftSyId'    => $syId,             'cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'N'         );         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         foreach ($rs_cmft->result() as $row_cmft) {             $this->cmf->cmfStdId = $stdId;             $this->cmf->cmfAcY = $acY;             $this->cmf->cmfTmId = $tmId;             $this->cmf->cmfFeeId = $row_cmft->cmftFeeId;             $qu_cmf = $this->cmf->get_by_key();
              // Not found             if ($qu_cmf->num_rows() == 0) {                 // Insert CommonFee                 $this->cmf->cmfAmt = $row_cmft->cmftAmt;                 $this->cmf->insert();             }         }
          $con_qu_cmf = array('cmfStdId'    => $stdId,             'cmfAcY'    => $acY,             'cmfTmId'    => $tmId         );         $sumCommonFee = $this->cmf->getSumAmt($con_qu_cmf);
          // ---------- ProgramFee ----------         $con_rs_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $rs_cf = $this->cf->qryCf($con_rs_cf);         foreach ($rs_cf->result() as $row_cf) {             $this->cf->cfStdId = $stdId;             $this->cf->cfAcY = $acY;             $this->cf->cfTmId = $tmId;             $this->cf->cfFeeId = $row_cf->cfFeeId;             $this->cf->delete();         }
          $sumProgramFee = 0;         $con_rs_cft = array('cftCurId'    => $curId,             'cftAdY'    => $adY,             'cftSyId'    => $syId,             'cftAcY'    => $acY,             'cftTmId'    => $tmId         );         $rs_cft = $this->cft->qryCft($con_rs_cft);         foreach ($rs_cft->result() as $row_cft) {             $this->fee->feeId = $row_cft->cftFeeId;             $qu_fee = $this->fee->get_by_key();             $row_fee = $qu_fee->row();
              if ((($row_fee->feeOnTop == 'Y') && ($etId == 2)) || ($row_fee->feeOnTop == 'N')) {                 $this->cf->cfStdId = $stdId;                 $this->cf->cfAcY = $acY;                 $this->cf->cfTmId = $tmId;                 $this->cf->cfFeeId = $row_cft->cftFeeId;                 $qu_cf = $this->cf->get_by_key();
                  // Not found                 if ($qu_cf->num_rows() == 0) {                     // Insert ProgramFee                     $this->cf->cfAmt = $row_cft->cftAmt;                     $this->cf->insert();                 }             }         }
          $con_qu_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $sumProgramFee = $this->cf->getSumAmt($con_qu_cf);
          // ---------- DomFee ----------         $domFee = 0;         $con_rs_cmft = array('cmftAdY'    => $adY,             'cmftSyId'    => $syId,             'cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'Y'         );         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         if ($rs_cmft->num_rows()) {             $this->sdm->sdmStdId = $stdId;             $this->sdm->sdmAcY = $acY;             $this->sdm->sdmTmId = $tmId;             $qu_sdm = $this->sdm->get_by_key();
              // Student stay dom             if ($qu_sdm->num_rows()) {                 $this->dft->dftAcY = $acY;                 $this->dft->dftTmId = $tmId;                 $this->dft->dftDmId = $qu_sdm->row()->sdmDmId;                 $qu_dft = $this->dft->get_by_key();                                  // Found dom fee                 if ($qu_dft->num_rows()) {                     $this->cmf->cmfStdId = $stdId;                     $this->cmf->cmfAcY = $acY;                     $this->cmf->cmfTmId = $tmId;                     $this->cmf->cmfFeeId = $rs_cmft->row()->cmftFeeId;                     $qu_cmf = $this->cmf->get_by_key();
                      // Not found                     if ($qu_cmf->num_rows() == 0) {                         // Insert CommonFee                         $this->cmf->cmfAmt = $qu_sdm->row()->sdmNumMonth * $qu_dft->row()->dftAmt;                         $this->cmf->insert();                         $domFee = $this->cmf->cmfAmt;                     }                 }             }         }
          // ---------- CourseFee ----------         $sumCourseFee = 0;         $this->crft->crftCurId = $curId;         $this->crft->crftAdY = $adY;         $this->crft->crftSyId = $syId;         $this->crft->crftAcY = $acY;         $this->crft->crftTmId = $tmId;         $qu_crft = $this->crft->get_by_key();         if ($qu_crft->num_rows()) {             $con_qu_rf = array('rfStdId'    => $stdId,                 'rfSyId'    => $syId,                 'rfAcY'    => $acY,                 'rfTmId'    => $tmId             );             $qu_rf = $this->rf->qryRf($con_qu_rf);             if ($qu_rf->num_rows()) {                 $con_qu_rd = array('rdStdId'    => $stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $sumcr1 = $this->rd->getSumCr1($con_qu_rd);                 $sumcr2 = $this->rd->getSumCr2($con_qu_rd);
                  $this->crf->crfStdId = $stdId;                 $this->crf->crfAcY = $acY;                 $this->crf->crfTmId = $tmId;                 $this->crf->crfRfId = $qu_rf->row()->rfId;                 $qu_crf = $this->crf->get_by_key();                 if ($qu_crf->num_rows()) {    // Found                     // Update CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->update();                 } else {    // Not Found                     // Insert CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->crfLateFineAmt = 0;                     $this->crf->crfKssFeeAmt = 0;                     $this->crf->insert();                 }
                  $sumCourseFee = $this->crf->crfLecFeeAmt + $this->crf->crfLabFeeAmt;             }         }
          return $sumCommonFee + $sumProgramFee + $domFee + $sumCourseFee;     }     // ##### end ลงทะเบียนเรียนรายกลุ่ม/ชั้นปี
      // #### ยกเลิกการลงทะเบียนเรียนรายกลุ่ม/ชั้นปี     function delRegisCur() {         $this->load->model($this->config->item("rg_folder").'mo_rg_studyyear','sy');         $this->load->model($this->config->item("rg_folder").'mo_rg_term','tm');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculum','cur');         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');
          $rs_sy = $this->sy->qrySy();         $this->contents['rs_sy'] = $rs_sy;
          $rs_tm = $this->tm->qryTm();         $this->contents['rs_tm'] = $rs_tm;
          $i = 0;         $arr = array();         $con_rs_cur = array('curStatus'    => 'Y');         $ord_rs_cur = array('curName'    => 'ASC');         $rs_cur = $this->cur->qryCur($con_rs_cur, $ord_rs_cur);         foreach ($rs_cur->result() as $row_cur) {             $arr[$i]['level'] = 0;             $arr[$i]['name'] = $row_cur->curName;
              $i++;
              $rs_std = $this->std->qryStdByCurIdGroupAdY($row_cur->curId);             foreach ($rs_std->result() as $row_std1) {                 $stStatus = '3, 4';                 $rs_std = $this->std->qryStdByCurIdAdYSstIdStr($row_cur->curId, $row_std1->stdAdY, $stStatus);
                  foreach ($rs_sy->result() as $row_sy) {                     foreach ($rs_tm->result() as $row_tm) {                         $acY = $row_std1->stdAdY + $row_sy->syId - 1;
                          $con_qu_rf = array('rfAcY'    => $acY,                             'rfSyId'    => $row_sy->syId,                             'rfTmId'    => $row_tm->tmId,                             'rfCurId'    => $row_cur->curId                         );                         $sumTtAmt = $this->rf->getSumTotalAmt($con_qu_rf);                         $sumBl = $this->rf->getSumBalance($con_qu_rf);
                          $con_qu_rg = array('rgAcY'    => $acY,                             'rgSyId'    => $row_sy->syId,                             'rgCurId'    => $row_cur->curId                         );                         $maxTmId = $this->rg->getMaxTmId($con_qu_rg);
                          $con_rs_rd = array('rdAcY'    => $acY,                             'rdTmId'    => $row_tm->tmId,                             'coCurId'    => $row_cur->curId,                             'coSyId'    => $row_sy->syId                         );                         $rs_rd = $this->rd->qryRdJoinCoByGrade($con_rs_rd);
                          // ยกเลิกได้ ต่อเมื่อ เป็นภาค/ปีการศึกษาล่าสุด และ ยังไม่ชำระค่าลงทะเบียน และ ไม่มีสถานะรออนุมัติจบ/สำเร็จการศึกษา และ ยังไม่ส่งเกรด                         if (($row_std1->stdSyId == $row_sy->syId) && ($maxTmId == $row_tm->tmId) && ($sumTtAmt == $sumBl) && ($rs_std->num_rows() == 0) && ($rs_rd->num_rows() == 0)) {                             $con_rs_rg = array('rgAcY'    => $acY,                                 'rgTmId'    => $row_tm->tmId,                                 'rgSyId'    => $row_sy->syId,                                 'rgCurId'    => $row_cur->curId                             );                             $rs_rg = $this->rg->qryRg($con_rs_rg);                             if ($rs_rg->num_rows()) {                                 $link = 1;                             } else {                                 $link = 2;                             }                         } else {                             $link = 0;                         }
                          $arr[$i]['level'] = 1;                         $arr[$i]['name'] = $row_std1->stdAdY;                         $arr[$i]['url'][] = "{'curId':$row_cur->curId,'acY':$acY,'syId':$row_sy->syId,'tmId':$row_tm->tmId,'adY':$row_std1->stdAdY}";                         $arr[$i]['link'][] = $link;                     }    // end foreach tm                 }    // end foreach sy
                  $i++;             }    //end foreach std         }    // end foreach cur         $this->contents['rs'] = $arr;
          $this->output($this->config->item("rg_folder")."v_delRegisCurriculum");     }
      function processDelRegisCur() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopen','co');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopenfor','cof');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfee','cmf');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfee','cf');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefee','crf');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');
          $curId = $this->input->post('curId');         $adY = $this->input->post('adY');         $syId = $this->input->post('syId');         $acY = $this->input->post('acY');         $tmId = $this->input->post('tmId');
          $flagCommit = true;         $this->db->trans_begin();
          $con_rs_std = array('stdCurId'    => $curId,             'stdAdY'    => $adY,             'stdSyId'    => $syId         );         $ord_rs_std = array('stdCode'     => 'ASC');         $rs_std = $this->std->qryStd($con_rs_std, $ord_rs_std);         foreach ($rs_std->result() as $row_std) {             // EnrollItem             $con_rs_rd = array('rdStdId'    => $row_std->stdId,                 'rdAcY'    => $acY,                 'rdTmId'    => $tmId             );             $rs_rd = $this->rd->qryRd($con_rs_rd);             foreach ($rs_rd->result() as $row_rd) {                 // Delete EnrollItem                 $this->rd->rdStdId = $row_std->stdId;                 $this->rd->rdAcY = $row_rd->rdAcY;                 $this->rd->rdTmId = $row_rd->rdTmId;                 $this->rd->rdSeq = $row_rd->rdSeq;                 $this->rd->rdCoId = $row_rd->rdCoId;                 $flagCommit = $this->rd->delete();
                  $this->co->coId = $row_rd->rdCoId;                 $this->co->get_by_key(TRUE);
                  // Update ClassOpenFor                 if (is_null($this->co->coCurId)) {                     $this->cof->cofCoId = $row_rd->rdCoId;                     $this->cof->cofCurId = $curId;                     $this->cof->get_by_key(TRUE);
                      $this->cof->cofNumEnroll -= 1;                     $flagCommit = $this->cof->update();                 }
                  // Update Class                 $this->co->coNumSeatReg -= 1;                 $flagCommit = $this->co->update();             }    // end foreach rd
              // Enroll             $con_rs_rg = array('rgStdId'    => $row_std->stdId,                 'rgAcY'    => $acY,                 'rgTmId'    => $tmId             );             $rs_rg = $this->rg->qryRg($con_rs_rg);             foreach ($rs_rg->result() as $row_rg) {                 // Delete Enroll                 $this->rg->rgStdId = $row_rg->rgStdId;                 $this->rg->rgAcY = $row_rg->rgAcY;                 $this->rg->rgTmId = $row_rg->rgTmId;                 $this->rg->rgSeq = $row_rg->rgSeq;                 $flagCommit = $this->rg->delete();             }
              // CommonFee             $con_rs_cmf = array('cmfStdId'     => $row_std->stdId,                 'cmfAcY'    => $acY,                 'cmfTmId'    => $tmId             );             $rs_cmf = $this->cmf->qryCmf($con_rs_cmf);             foreach ($rs_cmf->result() as $row_cmf) {                 // Delete CommonFee                 $this->cmf->cmfStdId = $row_cmf->cmfStdId;                 $this->cmf->cmfAcY = $row_cmf->cmfAcY;                 $this->cmf->cmfTmId = $row_cmf->cmfTmId;                 $this->cmf->cmfFeeId = $row_cmf->cmfFeeId;                 $flagCommit = $this->cmf->delete();             }
              // ProgramFee             $con_rs_cf = array('cfStdId'    => $row_std->stdId,                 'cfAcY'    => $acY,                 'cfTmId'    => $tmId             );             $rs_cf = $this->cf->qryCf($con_rs_cf);             foreach ($rs_cf->result() as $row_cf) {                 // Delete ProgramFee                 $this->cf->cfStdId = $row_cf->cfStdId;                 $this->cf->cfAcY = $row_cf->cfAcY;                 $this->cf->cfTmId = $row_cf->cfTmId;                 $this->cf->cfFeeId = $row_cf->cfFeeId;                 $flagCommit = $this->cf->delete();             }
              // CourseFee             $con_rs_crf = array('crfStdId'    => $row_std->stdId,                 'crfAcY'    => $acY,                 'crfTmId'    => $tmId             );             $rs_crf = $this->crf->qryCrf($con_rs_crf);             foreach ($rs_crf->result() as $row_crf) {                 // Delete CourseFee                 $this->crf->crfStdId = $row_crf->crfStdId;                 $this->crf->crfAcY = $row_crf->crfAcY;                 $this->crf->crfTmId = $row_crf->crfTmId;                 $this->crf->crfRfId = $row_crf->crfRfId;                 $flagCommit = $this->crf->delete();             }
              // EnrollFee             $con_rs_rf = array('rfStdId'    => $row_std->stdId,                 'rfAcY'    => $acY,                 'rfTmId'    => $tmId             );             $rs_rf = $this->rf->qryRf($con_rs_rf);             foreach ($rs_rf->result() as $row_rf) {                 // Delete EnrollFee                 $this->rf->rfId = $row_rf->rfId;                 $flagCommit = $this->rf->delete();             }         }    // end foreach std
          if ($this->db->trans_status() === false) {             $this->db->trans_rollback();             $flgmsg = "ยกเลิกลงทะเบียนไม่สำเร็จ";         } else {             $this->db->trans_commit();             $flgmsg = "ยกเลิกลงทะเบียนสำเร็จ";         }
          $this->session->set_flashdata('success_msg', $flgmsg);         redirect($this->config->item("rg_folder")."regis/delRegisCur");     }
      // ##### ลงทะเบียนรายนักศึกษา     function showRegis() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_term','tm');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');
          $this->load->library('form_validation');         $this->form_validation->set_error_delimiters('<div class="error">','</div>');         $this->form_validation->set_rules('stdCode',' ','trim|required|xss_clean');
          if($this->form_validation->run() == true) {                  $stdCode = $this->input->post('stdCode');             $acY = $this->session->userdata('acY_R');             $tmId = $this->session->userdata('tmId_R');
              if ($stdCode) {                 $this->contents['stdCode'] = "";
                  $con_qu_std = array('stdCode'     => $stdCode,                     'stdSstId'    => 1,                     'stdGenStatus'    => 'Y'                 );                 $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);                 if ($qu_std->num_rows()) {                     $row_std = $qu_std->row();
                      $this->contents['stdCode'] = $stdCode;                     $this->contents['qu_std'] = $qu_std;                     $this->contents['acY_R'] = $acY;                     $this->contents['tmId_R'] = $tmId;
                      $this->tm->tmId = $tmId;                     $this->contents['qu_tm'] = $this->tm->get_by_key();
                      $con_rs_rd = array('rdStdId'    => $row_std->stdId,                         'rdAcY'    => $acY,                         'rdTmId'    => $tmId                     );                     $this->contents['rs_rd'] = $this->rd->qryRdJoinCoCrs($con_rs_rd);
                      $con_qu_rg = array('rgStdId'    => $row_std->stdId,                         'rgAcY'    => $acY,                         'rgTmId'    => $tmId,                         'rgStatus'    => 'K'                     );                     $qu_rg = $this->rg->qryRg($con_qu_rg);                     if ($qu_rg->num_rows()) {                         $this->contents['kssFlag'] = "** รักษาสถานภาพการเป็นนักศึกษา **";                     }
                      $con_qu_rd = array('rdStdId'    => $row_std->stdId,                         'rdAcY'    => $acY,                         'rdTmId'    => $tmId                     );                     $this->contents['sumCrAt'] = $this->rd->getSumCrAt($con_qu_rd);                 } else {                     $con_qu_std = array('stdCode'     => $stdCode,                         'stdGenStatus'    => 'Y'                     );                     $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);                     if ($qu_std->num_rows()) {                         $this->contents['qu_std'] = $qu_std;                     } else {                         $this->contents['err_msg'] = "** ไม่ปรากฏรหัสนักศึกษาดังกล่าวในฐานข้อมูล **";                     }                 }             }    // end if stdCode         } else {             $this->contents['err_msg'] = "** กรุณาป้อน **";         }
          $this->output($this->config->item("rg_folder")."v_showRegis");     }
      function rd_insert() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopen','co');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopenfor','cof');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');
          $rgStatus = $this->input->post('rgStatus');         $rgSubmitType = $this->input->post('rgSubmitType');         $stdId = $this->input->post('stdId');         $stdCode = $this->input->post('stdCode');         $curId = $this->input->post('curId');         $syId = $this->input->post('syId');         $acY = $this->input->post('acY');         $tmId = $this->input->post('tmId');         $rdCoId = $this->input->post('rdCoId');         $reviseY = 2552;
          $flagCommit = true;         $this->db->trans_begin();
          $this->std->stdId = $stdId;         $qu_std = $this->std->get_by_key();         $row_std = $qu_std->row();
          $this->rg->rgStdId = $stdId;         $this->rg->rgAcY = $acY;         $this->rg->rgTmId = $tmId;         $this->rg->rgSeq = 1;         $qu_rg = $this->rg->get_by_key();         if ($rgStatus == 'A') {             $con_rs_rg = array('rgStdId'    => $stdId,                 'rgAcY'    => $acY,                 'rgTmId'    => $tmId,                 'rgStatus'    => $rgStatus             );             $qu_rg = $this->rg->qryRg($con_rs_rg);             if ($qu_rg->num_rows() == 0) {                 $con_qu_rg = array('rgStdId'    => $stdId,                     'rgAcY'    => $acY,                     'rgTmId'    => $tmId                 );                 $tmpSequence = $this->rg->getNextSeq($con_qu_rg);                 $this->rg->rgSeq = $tmpSequence;             }         }
          if ($qu_rg->num_rows() == 0) {             // Insert Enroll             $this->rg->rgSyId = $syId;             $this->rg->rgCurId = $curId;             $this->rg->rgSubmitType = ($rgSubmitType) ? $rgSubmitType : 'B';             $this->rg->rgStatus = $rgStatus;             $this->rg->rgCreateUserId = $this->session->userdata('UsLogin');             $this->rg->rgCreateDate = date('Y-m-d H:i:s');             $this->rg->rgUpdateUserId = $this->session->userdata('UsLogin');             $this->rg->rgUpdateDate = date('Y-m-d H:i:s');             $flagCommit = $this->rg->insert();         }
          // Insert EnrollItem         $this->rd->rdStdId = $stdId;         $this->rd->rdAcY = $acY;         $this->rd->rdTmId = $tmId;         $this->rd->rdSeq = $this->rg->rgSeq;         $this->rd->rdCoId = $rdCoId;         $this->rd->rdCreditAttempt = $this->input->post('rdCreditAttempt');         $this->rd->rdSection = $this->input->post('rdSection');         $this->rd->rdGrade = '';         $this->rd->rdDocNo = '';         $this->rd->rdCredit1 = $this->input->post('rdCredit1');         $this->rd->rdCredit2 = $this->input->post('rdCredit2');         $this->rd->rdNoCalGPA = 'N';         $this->rd->rdCdId1 = $this->input->post('rdCdId1');         $this->rd->rdCdId2 = $this->input->post('rdCdId2');         $this->rd->rdUpdateUserId = $this->session->userdata('UsLogin');         $this->rd->rdUpdateDate = date('Y-m-d H:i:s');         $this->rd->rdAllowPr = 'N';         $flagCommit = $this->rd->insert();
          $this->co->coId = $rdCoId;         $this->co->get_by_key(TRUE);
          // Update ClassOpenFor         if (is_null($this->co->coCurId)) {             $this->cof->cofCoId = $rdCoId;             $this->cof->cofCurId = $curId;             $this->cof->get_by_key(TRUE);
              $this->cof->cofNumEnroll += 1;             $flagCommit = $this->cof->update();         }
          // Update Class         $this->co->coNumSeatReg += 1;         $flagCommit = $this->co->update();
          // Insert EnrollFee         $rfId = '';         $con_rs_rf = array('rfStdId'    => $stdId,             'rfAcY'    => $acY,             'rfTmId'    => $tmId         );         $rs_rf = $this->rf->qryRf($con_rs_rf);         // Not found         if ($rs_rf->num_rows() == 0) {             // Insert EnrollFee             $this->rf->rfStdId = $stdId;             $this->rf->rfAcY = $acY;             $this->rf->rfSyId = $syId;             $this->rf->rfTmId = $tmId;             $this->rf->rfCurId = $curId;             $this->rf->rfTotalAmt = 0;             $this->rf->rfBalance = 0;             $this->rf->rfRefNo = $acY.$tmId.$this->rg->rgSeq.$stdCode;             if ($rgStatus == 'A') {                 $this->rf->rfRefNo = $acY.$tmId.'1'.$stdCode;             }             $this->rf->rfCreateDate = date('Y-m-d H:i:s');             $this->rf->rfCreateUserId = $this->session->userdata('UsLogin');             $this->rf->rfUpdateDate = date('Y-m-d H:i:s');             $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');             $flagCommit = $this->rf->insert();
              $rfId = $this->rf->last_insert_id();         } else {             $rfId = $rs_rf->row()->rfId;         }
          $this->rf->rfId = $rfId;         $this->rf->get_by_key(TRUE);
          if ($row_std->stdAdY >= $reviseY) {             $this->rf->rfTotalAmt = $this->calFee2552($stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId, $row_std->stdAdY);         } else {             $this->rf->rfTotalAmt = $this->calFee($stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId);         }         $this->rf->rfBalance = $this->rf->rfTotalAmt;         $this->rf->rfUpdateDate = date('Y-m-d H:i:s');         $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');         $flagCommit = $this->rf->update();
          $msg = $this->config->item('rg_msg');
          if ($this->db->trans_status() === false || ($this->co->coNumSeatReg > $this->co->coNumSeatOpen)) { // ตัด rgStatus=='A' ออกเพราะไม่ได้ใช้ประโยชน์             $this->db->trans_rollback();             $this->load->vars($flg = array('flg'    => $msg[20]));         } else {             $this->db->trans_commit();             $this->load->vars($flg = array('flg'    => $msg[10]));         }
          if ($rgStatus == 'N') {             $this->showRegis();         } else if ($rgStatus == 'A') {             if ($rgSubmitType == 'W') {                 $this->std_showAddWithdraw();             } else {                 $this->showAddWithdraw();             }         }     }
      function rd_delete() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopen','co');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopenfor','cof');         $this->load->model($this->config->item("rg_folder").'mo_rg_registwithdraw','rw');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');
          $rgStatus = $this->input->post('rgStatus');         $rgSubmitType = $this->input->post('rgSubmitType');         $stdId = $this->input->post('stdId');         $acY = $this->input->post('acY');         $tmId = $this->input->post('tmId');         $seq = $this->input->post('seq');         $coId = $this->input->post('coId');         $stdCode = $this->input->post('stdCode');         $reviseY = 2552;
          $flagCommit = true;         $this->db->trans_begin();
          $this->std->stdId = $stdId;         $qu_std = $this->std->get_by_key();         $row_std = $qu_std->row();
          // Delete EnrollItem         $this->rd->rdStdId = $stdId;         $this->rd->rdAcY = $acY;         $this->rd->rdTmId = $tmId;         $this->rd->rdSeq = $seq;         $this->rd->rdCoId = $coId;         $this->rd->get_by_key(TRUE);         $flagCommit = $this->rd->delete();
          $this->co->coId = $coId;         $this->co->get_by_key(TRUE);
          // Update ClassOpenFor         if (is_null($this->co->coCurId)) {             $this->cof->cofCoId = $coId;             $this->cof->cofCurId = $row_std->stdCurId;             $this->cof->get_by_key(TRUE);
              $this->cof->cofNumEnroll -= 1;             $flagCommit = $this->cof->update();         }
          // Update Class         $this->co->coNumSeatReg -= 1;         $flagCommit = $this->co->update();
          if (($rgStatus == 'A') || ($rgStatus == 'W')) {             // เคลียร์การถอนครั้งก่อน             $this->rw->rwStdId = $this->rd->rdStdId;             $this->rw->rwAcY = $this->rd->rdAcY;             $this->rw->rwTmId = $this->rd->rdTmId;             $this->rw->rwSeq = $this->rd->rdSeq;             $this->rw->rwCoId = $this->rd->rdCoId;             $this->rw->delete();
              // Insert WithdrawCourse             $this->rw->rwStdId = $this->rd->rdStdId;             $this->rw->rwAcY = $this->rd->rdAcY;             $this->rw->rwTmId = $this->rd->rdTmId;             $this->rw->rwSeq = $this->rd->rdSeq;             $this->rw->rwCoId = $this->rd->rdCoId;             $this->rw->rwCreditAttempt = $this->rd->rdCreditAttempt;             $this->rw->rwSection = $this->rd->rdSection;             $this->rw->rwGrade = $this->rd->rdGrade;             $this->rw->rwDocNo = $this->rd->rdDocNo;             $this->rw->rwCredit1 = $this->rd->rdCredit1;             $this->rw->rwCredit2 = $this->rd->rdCredit2;             $this->rw->rwNoCalGPA = $this->rd->rdNoCalGPA;             $this->rw->rwCdId1 = $this->rd->rdCdId1;             $this->rw->rwCdId2 = $this->rd->rdCdId2;             $this->rw->rwUpdateDate = date('Y-m-d H:i:s');             $this->rw->rwUpdateUserId = $this->session->userdata('UsLogin');             $flagCommit = $this->rw->insert();         }
          if (($rgStatus == 'N') || ($rgStatus == 'A')) {             // Insert EnrollFee             $rfId = '';             $con_rs_rf = array('rfStdId'    => $stdId,                 'rfAcY'    => $acY,                 'rfTmId'    => $tmId             );             $rs_rf = $this->rf->qryRf($con_rs_rf);             // Not found             if ($rs_rf->num_rows() == 0) {                 // Insert EnrollFee                 $this->rf->rfStdId = $stdId;                 $this->rf->rfAcY = $acY;                 $this->rf->rfSyId = $row_std->stdSyId;                 $this->rf->rfTmId = $tmId;                 $this->rf->rfCurId = $row_std->stdCurId;                 $this->rf->rfTotalAmt = 0;                 $this->rf->rfBalance = 0;                 $this->rf->rfRefNo = $acY.$tmId.$this->rg->rgSeq.$row_std->stdCode;                 if ($rgStatus == 'A') {                     $this->rf->rfRefNo = $acY.$tmId.'1'.$row_std->stdCode;                 }                 $this->rf->rfCreateDate = date('Y-m-d H:i:s');                 $this->rf->rfCreateUserId = $this->session->userdata('UsLogin');                 $this->rf->rfUpdateDate = date('Y-m-d H:i:s');                 $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');                 $flagCommit = $this->rf->insert();
                  $rfId = $this->rf->last_insert_id();             } else {                 $rfId = $rs_rf->row()->rfId;             }
              $this->rf->rfId = $rfId;             $this->rf->get_by_key(TRUE);
              if ($row_std->stdAdY >= $reviseY) {                 $this->rf->rfTotalAmt = $this->calFee2552($stdId, $acY, $row_std->stdSyId, $tmId, $row_std->stdCurId, $row_std->stdEtId, $row_std->stdAdY);             } else {                 $this->rf->rfTotalAmt = $this->calFee($stdId, $acY, $row_std->stdSyId, $tmId, $row_std->stdCurId, $row_std->stdEtId);             }             $this->rf->rfBalance = $this->rf->rfTotalAmt;             $this->rf->rfUpdateDate = date('Y-m-d H:i:s');             $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');             $flagCommit = $this->rf->update();         }
          $msg = $this->config->item('rg_msg');
          if($this->db->trans_status() === false || ($this->co->coNumSeatReg < 0)) { // ตัด rgStatus=='A' ออกเพราะไม่ได้ใช้ประโยชน์             $this->db->trans_rollback();             $this->load->vars($flg = array('flg'    => $msg[40]));         } else {             $this->db->trans_commit();             $this->load->vars($flg = array('flg'    => $msg[30]));         }
          if($rgStatus=='N') {             $this->showRegis();         } else if($rgStatus=='A') {
              if($rgSubmitType=='W') {                 $this->std_showAddWithdraw();             } else {                 $this->showAddWithdraw();             }         } else {             $this->showWithdraw();         }     }
      // ####จัดกลุ่มเรียนนักศึกษา     function rg_searchSectionStudent() {         $this->output($this->config->item("rg_folder")."v_searchSectionStudent");     }
      // ####เพิ่มรายวิชาลงทะเบียนรายกลุ่ม/ชั้นปี      function rg_showAWaddCurriculum() {         $this->output($this->config->item("rg_folder")."v_showAWaddCurriculum");     }
      // #### ถอนรายวิชาลงทะเบียนรายกลุ่ม/ชั้นปี      function rg_showAWRegistWithdraw() {         $this->output($this->config->item("rg_folder")."v_showAWRegistWithdraw");     }
      // ###ลงทะเบียนรักษาสถานภาพการเป็นนักศึกษา     function showRegisKeepStStatus() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_term','tm');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');
          $this->load->library('form_validation');         $this->form_validation->set_error_delimiters('<div class="error">','</div>');         $this->form_validation->set_rules('stdCode',' ','trim|required|xss_clean');
          if($this->form_validation->run() == true) {
              $stdCode = $this->input->post('stdCode');             $acY = $this->session->userdata('acY');             $tmId = $this->session->userdata('tmId');
              if ($stdCode) {                 $this->contents['stdCode'] = "";                 $stStatus = '1, 2';                 $qu_std = $this->std->qryStdByCodeStStatus($stdCode, $stStatus);                 if ($qu_std->num_rows()) {                     $this->contents['stdCode'] = $stdCode;                     $this->contents['acY'] = $acY;                     $this->contents['tmId'] = $tmId;
                      $this->tm->tmId = $tmId;                     $this->contents['qu_tm'] = $this->tm->get_by_key();
                      $con_qu_std = array('stdCode'     => $stdCode,                         'stdGenStatus'    => 'Y'                     );                     $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);                     $this->contents['qu_std'] = $qu_std;                     $row_std = $qu_std->row();
                      $con_rs_rd = array('rdStdId'    => $row_std->stdId,                         'rdAcY'    => $acY,                         'rdTmId'    => $tmId                     );                     $this->contents['rs_rd'] = $this->rd->qryRdJoinCoCrs($con_rs_rd);
                      $con_qu_rg = array('rgStdId'    => $row_std->stdId,                         'rgAcY'    => $acY,                         'rgTmId'    => $tmId,                         'rgStatus'    => 'K'                     );                     $qu_rg = $this->rg->qryRg($con_qu_rg);                     if ($qu_rg->num_rows()) {                         $this->contents['kssFlag'] = "** รักษาสถานภาพการเป็นนักศึกษา **";                     }
                      $con_qu_rd = array('rdStdId'    => $row_std->stdId,                         'rdAcY'    => $acY,                         'rdTmId'    => $tmId                     );                     $this->contents['sumCrAt'] = $this->rd->getSumCrAt($con_qu_rd);                 } else {                     $con_qu_std = array('stdCode'     => $stdCode,                         'stdGenStatus'    => 'Y'                     );                     $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);                     if ($qu_std->num_rows()) {                         $this->contents['qu_std'] = $qu_std;                     } else {                         $this->contents['err_msg'] = "** ไม่ปรากฏรหัสนักศึกษาดังกล่าวในฐานข้อมูล **";                     }                 }             }         } else {             $this->contents['err_msg'] = "** กรุณาป้อน **";         }
          $this->output($this->config->item("rg_folder")."v_showRegisKeepStStatus");     }
      function processRegisKeepStStatus() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopen','co');         $this->load->model($this->config->item("rg_folder").'mo_rg_courseopenfor','cof');         $this->load->model($this->config->item("rg_folder").'mo_rg_registwithdraw','rw');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_studentsummary','ssm');
          $stdId = $this->input->post('stdId');         $curId = $this->input->post('curId');         $syId = $this->input->post('syId');         $acY = $this->input->post('acY');         $tmId = $this->input->post('tmId');
          $reviseY = 2552;
          $flagCommit = true;         $this->db->trans_begin();
          $this->std->stdId = $stdId;         $qu_std = $this->std->get_by_key();         $row_std = $qu_std->row();
          $con_qu_rg = array('rgStdId'    => $stdId,             'rgAcY'    => $acY,             'rgTmId'    => $tmId         );         $tmpSequence = $this->rg->getNextSeq($con_qu_rg);
          // Insert Enroll         $this->rg->rgStdId = $stdId;         $this->rg->rgAcY = $acY;         $this->rg->rgTmId = $tmId;         $this->rg->rgSeq = $tmpSequence;         $this->rg->rgSyId = $syId;         $this->rg->rgCurId = $curId;         $this->rg->rgSubmitType = 'B';         $this->rg->rgStatus = 'K';         $this->rg->rgCreateUserId = $this->session->userdata('UsLogin');         $this->rg->rgCreateDate = date('Y-m-d H:i:s');         $this->rg->rgUpdateUserId = $this->session->userdata('UsLogin');         $this->rg->rgUpdateDate = date('Y-m-d H:i:s');         $flagCommit = $this->rg->insert();
          $con_rs_rd = array('rdStdId'    => $stdId,             'rdAcY'    => $acY,             'rdTmId'    => $tmId         );         $rs_rd = $this->rd->qryRd($con_rs_rd);         foreach ($rs_rd->result() as $row_rd) {             // Delete EnrollItem             $this->rd->rdStdId = $row_rd->rdStdId;             $this->rd->rdAcY = $row_rd->rdAcY;             $this->rd->rdTmId = $row_rd->rdTmId;             $this->rd->rdSeq = $row_rd->rdSeq;             $this->rd->rdCoId = $row_rd->rdCoId;             $flagCommit = $this->rd->delete();
              $this->co->coId = $row_rd->rdCoId;             $this->co->get_by_key(TRUE);
              // Update ClassOpenFor             if (is_null($this->co->coCurId)) {                 $this->cof->cofCoId = $row_rd->rdCoId;                 $this->cof->cofCurId = $curId;                 $this->cof->get_by_key(TRUE);
                  $this->cof->cofNumEnroll -= 1;                 $flagCommit = $this->cof->update();             }
              // Update Class             $this->co->coNumSeatReg -= 1;             $flagCommit = $this->co->update();
              // Insert WithdrawCourse             $this->rw->rwStdId = $row_rd->rdStdId;             $this->rw->rwAcY = $row_rd->rdAcY;             $this->rw->rwTmId = $row_rd->rdTmId;             $this->rw->rwSeq = $row_rd->rdSeq;             $this->rw->rwCoId = $row_rd->rdCoId;             $this->rw->rwCreditAttempt = $row_rd->rdCreditAttempt;             $this->rw->rwSection = $row_rd->rdSection;             $this->rw->rwGrade = $row_rd->rdGrade;             $this->rw->rwDocNo = $row_rd->rdDocNo;             $this->rw->rwCredit1 = $row_rd->rdCredit1;             $this->rw->rwCredit2 = $row_rd->rdCredit2;             $this->rw->rwNoCalGPA = $row_rd->rdNoCalGPA;             $this->rw->rwCdId1 = $row_rd->rdCdId1;             $this->rw->rwCdId2 = $row_rd->rdCdId2;             $this->rw->rwUpdateDate = date('Y-m-d H:i:s');             $this->rw->rwUpdateUserId = $this->session->userdata('UsLogin');             $flagCommit = $this->rw->insert();
              // Update Enroll             $this->rg->rgStdId = $row_rd->rdStdId;             $this->rg->rgAcY = $row_rd->rdAcY;             $this->rg->rgTmId = $row_rd->rdTmId;             $this->rg->rgSeq = $row_rd->rdSeq;             $this->rg->get_by_key(TRUE);
              $this->rg->rgStatus = 'C';             $flagCommit = $this->rg->update();         }    // end foreach rd
          $con_rs_rf = array('rfStdId'    => $stdId,             'rfAcY'    => $acY,             'rfTmId'    => $tmId         );         $rs_rf = $this->rf->qryRf($con_rs_rf);         if ($rs_rf->num_rows()) {    // ลงทะเบียนมาก่อนแล้ว             $row_rf = $rs_rf->row();
              if ($row_rf->rfTotalAmt == $row_rf->rfBalance) {    // ยังไม่จ่ายเลย                 $this->rf->rfId = $row_rf->rfId;                 $this->rf->get_by_key(TRUE);
                  if ($row_std->stdAdY >= $reviseY) {                     $this->rf->rfTotalAmt = $this->calFeeAndKSSFee2552($stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId, $row_std->stdAdY);                 } else {                     $this->rf->rfTotalAmt = $this->calFeeAndKSSFee($stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId);                 }                 $this->rf->rfBalance = $this->rf->rfTotalAmt;                 $this->rf->rfUpdateDate = date('Y-m-d H:i:s');                 $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');                 $flagCommit = $this->rf->update();             } else {    // จ่ายแล้วทั้งหมด หรือ บางส่วน                 // Insert 2nd enrollFeeId for keep student status                 $this->rf->rfStdId = $stdId;                 $this->rf->rfAcY = $acY;                 $this->rf->rfSyId = $syId;                 $this->rf->rfTmId = $tmId;                 $this->rf->rfCurId = $curId;                 // ค่ารักษาสภาพ                 if ($row_std->stdAdY >= $reviseY) {                     $this->rf->rfTotalAmt = $this->calKSSFee2552($stdId, $acY, $tmId, $curId, $row_std->stdAdY, $syId);                 } else {                     $this->rf->rfTotalAmt = $this->calKSSFee($stdId, $acY, $tmId, $curId);                 }                 $this->rf->rfBalance = $this->rf->rfTotalAmt;                 $this->rf->rfRefNo = $acY.$tmId.$tmpSequence.$row_std->stdCode;                 $this->rf->rfCreateDate = date('Y-m-d H:i:s');                 $this->rf->rfCreateUserId = $this->session->userdata('UsLogin');                 $this->rf->rfUpdateDate = date('Y-m-d H:i:s');                 $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');                 $flagCommit = $this->rf->insert();             }         } else {    // ยังไม่เคยลงทะเบียนมาก่อน             // Insert EnrollFee             $this->rf->rfStdId = $stdId;             $this->rf->rfAcY = $acY;             $this->rf->rfSyId = $syId;             $this->rf->rfTmId = $tmId;             $this->rf->rfCurId = $curId;             // ค่ารักษาสภาพ+ค่าใช้จ่ายอื่นๆ(ไม่รวมค่าหน่วยกิต)             if ($row_std->stdAdY >= $reviseY) {                 $this->rf->rfTotalAmt = $this->calFeeAndKSSFee2552($stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId, $row_std->stdAdY);             } else {                 $this->rf->rfTotalAmt = $this->calFeeAndKSSFee($stdId, $acY, $syId, $tmId, $curId, $row_std->stdEtId);             }             $this->rf->rfBalance = $this->rf->rfTotalAmt;             $this->rf->rfRefNo = $acY.$tmId.$tmpSequence.$row_std->stdCode;             $this->rf->rfCreateDate = date('Y-m-d H:i:s');             $this->rf->rfCreateUserId = $this->session->userdata('UsLogin');             $this->rf->rfUpdateDate = date('Y-m-d H:i:s');             $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');             $flagCommit = $this->rf->insert();         }    // end if rf
          // Update StudentMaster         $this->std->get_by_key(TRUE);         $this->std->stdSstId = 2;         $this->std->stdUpdateUserId = $this->session->userdata('UsLogin');         $this->std->stdUpdateDate = date('Y-m-d H:i:s');         $flagCommit = $this->std->update();
          $this->ssm->ssmStdId = $stdId;         $this->ssm->ssmAcY = $acY;         $this->ssm->ssmTmId = $tmId;         $qu_ssm = $this->ssm->get_by_key();         if ($qu_ssm->num_rows()) {             // Update StudentStatus             $this->ssm->get_by_key(TRUE);
              $this->ssm->ssmSstId = 2;             $this->ssm->ssmUpdateUserId = $this->session->userdata('UsLogin');             $this->ssm->ssmUpdateDate = date('Y-m-d H:i:s');             $flagCommit = $this->ssm->update();         } else {             // Update StudentStatus             $this->ssm->ssmStdId = $stdId;             $this->ssm->ssmAcY = $acY;             $this->ssm->ssmTmId = $tmId;             $this->ssm->ssmSyId = $this->std->calSyByStdIdAndAcY($stdId, $acY);             $this->ssm->ssmSstId = 2;             $this->ssm->ssmGPA = 0;             $this->ssm->ssmCreditAttempt = 0;             $this->ssm->ssmCreditSatisfy = 0;             $this->ssm->ssmCreditPoint = 0;             $this->ssm->ssmGPAX = 0;             $this->ssm->ssmSumCreditAttempt = 0;             $this->ssm->ssmSumCreditSatisfy = 0;             $this->ssm->ssmSumCreditPoint = 0;             $this->ssm->ssmCreateDate = date('Y-m-d H:i:s');             $this->ssm->ssmCreateUserId = $this->session->userdata('UsLogin');             $this->ssm->ssmUpdateDate = date('Y-m-d H:i:s');             $this->ssm->ssmUpdateUserId = $this->session->userdata('UsLogin');             $this->ssm->ssmSstIdApproveSpe = NULL;             $this->ssm->ssmApprover = '';             $this->ssm->ssmRefNo = '';             $this->ssm->ssmApproveDate = '';             $this->ssm->ssmPassStatus = 0;             $flagCommit = $this->ssm->insert();         }    // end if ssm
          if ($this->db->trans_status() === false) {             $this->db->trans_rollback();         } else {             $this->db->trans_commit();         }
          $this->showRegisKeepStStatus();     }
      function calFeeAndKSSFee($stdId, $acY, $syId, $tmId, $curId, $etId) {         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfee','cmf');         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfeetp','cmft');         $this->load->model($this->config->item("rg_folder").'mo_rg_fee','fee');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfee','cf');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfeetp','cft');         $this->load->model($this->config->item("rg_folder").'mo_rg_studentdomitory','sdm');         $this->load->model($this->config->item("rg_folder").'mo_rg_domitoryfeetp','dft');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefeetp','crft');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefee','crf');
          // ---------- CommonFee ----------         $con_rs_cmf = array('cmfStdId'     => $stdId,             'cmfAcY'    => $acY,             'cmfTmId'    => $tmId         );         $rs_cmf = $this->cmf->qryCmf($con_rs_cmf);         foreach ($rs_cmf->result() as $row_cmf) {             $this->cmf->cmfStdId = $stdId;             $this->cmf->cmfAcY = $acY;             $this->cmf->cmfTmId = $tmId;             $this->cmf->cmfFeeId = $row_cmf->cmfFeeId;             $this->cmf->delete();         }
          $sumCommonFee = 0;         $con_rs_cmft = array('cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'N'         );         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         foreach ($rs_cmft->result() as $row_cmft) {             $this->fee->feeId = $row_cmft->cmftFeeId;             $qu_fee = $this->fee->get_by_key();             $row_fee = $qu_fee->row();
              if ((($row_fee->feePytId == 1) && ($syId == 1)) || ($row_fee->feePytId != 1)) {                 $this->cmf->cmfStdId = $stdId;                 $this->cmf->cmfAcY = $acY;                 $this->cmf->cmfTmId = $tmId;                 $this->cmf->cmfFeeId = $row_cmft->cmftFeeId;                 $qu_cmf = $this->cmf->get_by_key();
                  // Not found                 if ($qu_cmf->num_rows() == 0) {                     // Insert CommonFee                     $this->cmf->cmfAmt = $row_cmft->cmftAmt;                     $this->cmf->insert();                 }             }         }
          $con_qu_cmf = array('cmfStdId'    => $stdId,             'cmfAcY'    => $acY,             'cmfTmId'    => $tmId         );         $sumCommonFee = $this->cmf->getSumAmt($con_qu_cmf);
          // ---------- ProgramFee ----------         $con_rs_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $rs_cf = $this->cf->qryCf($con_rs_cf);         foreach ($rs_cf->result() as $row_cf) {             $this->cf->cfStdId = $stdId;             $this->cf->cfAcY = $acY;             $this->cf->cfTmId = $tmId;             $this->cf->cfFeeId = $row_cf->cfFeeId;             $this->cf->delete();         }
          $sumProgramFee = 0;         $con_rs_cft = array('cftCurId'    => $curId,             'cftAcY'    => $acY,             'cftTmId'    => $tmId         );         $rs_cft = $this->cft->qryCft($con_rs_cft);         foreach ($rs_cft->result() as $row_cft) {             $this->fee->feeId = $row_cft->cftFeeId;             $qu_fee = $this->fee->get_by_key();             $row_fee = $qu_fee->row();
              if ((($row_fee->feePytId == 1) && ($syId == 1)) || ($row_fee->feePytId != 1)) {                 if ((($row_fee->feeOnTop == 'Y') && ($etId == 2)) || ($row_fee->feeOnTop == 'N')) {                     $this->cf->cfStdId = $stdId;                     $this->cf->cfAcY = $acY;                     $this->cf->cfTmId = $tmId;                     $this->cf->cfFeeId = $row_cft->cftFeeId;                     $qu_cf = $this->cf->get_by_key();
                      // Not found                     if ($qu_cf->num_rows() == 0) {                         // Insert ProgramFee                         $this->cf->cfAmt = $row_cft->cftAmt;                         $this->cf->insert();                     }                 }             }         }
          $con_qu_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $sumProgramFee = $this->cf->getSumAmt($con_qu_cf);
          // ---------- DomFee ----------         $domFee = 0;         $con_rs_cmft = array('cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'Y');         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         if ($rs_cmft->num_rows()) {             $this->sdm->sdmStdId = $stdId;             $this->sdm->sdmAcY = $acY;             $this->sdm->sdmTmId = $tmId;             $qu_sdm = $this->sdm->get_by_key();
              // Student stay dom             if ($qu_sdm->num_rows()) {                 $this->dft->dftAcY = $acY;                 $this->dft->dftTmId = $tmId;                 $this->dft->dftDmId = $qu_sdm->row()->sdmDmId;                 $qu_dft = $this->dft->get_by_key();
                  // Found dom fee                 if ($qu_dft->num_rows()) {                     $this->cmf->cmfStdId = $stdId;                     $this->cmf->cmfAcY = $acY;                     $this->cmf->cmfTmId = $tmId;                     $this->cmf->cmfFeeId = $rs_cmft->row()->cmftFeeId;                     $qu_cmf = $this->cmf->get_by_key();
                      // Not found                     if ($qu_cmf->num_rows() == 0) {                         // Insert CommonFee                         $this->cmf->cmfAmt = $qu_sdm->row()->sdmNumMonth * $qu_dft->row()->dftAmt;                         $this->cmf->insert();                         $domFee = $this->cmf->cmfAmt;                     }                 }             }         }
          // ---------- CourseFee ----------         $sumCourseFee = 0;         $this->crft->crftCurId = $curId;         $this->crft->crftAdY = 0;         $this->crft->crftSyId = 0;         $this->crft->crftAcY = $acY;         $this->crft->crftTmId = $tmId;         $qu_crft = $this->crft->get_by_key();         if ($qu_crft->num_rows()) {             $con_qu_rf = array('rfStdId'    => $stdId,                 'rfSyId'    => $syId,                 'rfAcY'    => $acY,                 'rfTmId'    => $tmId             );             $qu_rf = $this->rf->qryRf($con_qu_rf);
              if ($qu_rf->num_rows()) {                 $con_qu_rd = array('rdStdId'    => $stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $sumcr1 = $this->rd->getSumCr1($con_qu_rd);                 $sumcr2 = $this->rd->getSumCr2($con_qu_rd);
                  $this->crf->crfStdId = $stdId;                 $this->crf->crfAcY = $acY;                 $this->crf->crfTmId = $tmId;                 $this->crf->crfRfId = $qu_rf->row()->rfId;                 $qu_crf = $this->crf->get_by_key();
                  if ($qu_crf->num_rows()) {     // Found                     // Update CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->crfKssFeeAmt = $qu_crft->row()->crftKssFee;                     $this->crf->update();                 } else {    // Not Found                     // Insert CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->crfLateFineAmt = 0;                     $this->crf->crfKssFeeAmt = $qu_crft->row()->crftKssFee;                     $this->crf->insert();                 }
                  $sumCourseFee = $this->crf->crfLecFeeAmt + $this->crf->crfLabFeeAmt + $this->crf->crfKssFeeAmt;             }         }
          return $sumCommonFee + $sumProgramFee + $domFee + $sumCourseFee;     }
      function calFeeAndKSSFee2552($stdId, $acY, $syId, $tmId, $curId, $etId, $adY) {         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfee','cmf');         $this->load->model($this->config->item("rg_folder").'mo_rg_commonfeetp','cmft');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfee','cf');         $this->load->model($this->config->item("rg_folder").'mo_rg_curriculumfeetp','cft');         $this->load->model($this->config->item("rg_folder").'mo_rg_fee','fee');         $this->load->model($this->config->item("rg_folder").'mo_rg_studentdomitory','sdm');         $this->load->model($this->config->item("rg_folder").'mo_rg_domitoryfeetp','dft');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefeetp','crft');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefee','crf');
          // ---------- CommonFee ----------         $con_rs_cmf = array('cmfStdId'     => $stdId,             'cmfAcY'    => $acY,             'cmfTmId'    => $tmId         );         $rs_cmf = $this->cmf->qryCmf($con_rs_cmf);         foreach ($rs_cmf->result() as $row_cmf) {             $this->cmf->cmfStdId = $stdId;             $this->cmf->cmfAcY = $acY;             $this->cmf->cmfTmId = $tmId;             $this->cmf->cmfFeeId = $row_cmf->cmfFeeId;             $this->cmf->delete();         }                  $sumCommonFee = 0;         $con_rs_cmft = array('cmftAdY'    => $adY,             'cmftSyId'    => $syId,             'cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'N'         );         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         foreach ($rs_cmft->result() as $row_cmft) {             $this->cmf->cmfStdId = $stdId;             $this->cmf->cmfAcY = $acY;             $this->cmf->cmfTmId = $tmId;             $this->cmf->cmfFeeId = $row_cmft->cmftFeeId;             $qu_cmf = $this->cmf->get_by_key();
              // Not found             if ($qu_cmf->num_rows() == 0) {                 // Insert CommonFee                 $this->cmf->cmfAmt = $row_cmft->cmftAmt;                 $this->cmf->insert();             }         }
          $con_qu_cmf = array('cmfStdId'    => $stdId,             'cmfAcY'    => $acY,             'cmfTmId'    => $tmId         );         $sumCommonFee = $this->cmf->getSumAmt($con_qu_cmf);
          // ---------- ProgramFee ----------         $con_rs_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $rs_cf = $this->cf->qryCf($con_rs_cf);         foreach ($rs_cf->result() as $row_cf) {             $this->cf->cfStdId = $stdId;             $this->cf->cfAcY = $acY;             $this->cf->cfTmId = $tmId;             $this->cf->cfFeeId = $row_cf->cfFeeId;             $this->cf->delete();         }
          $sumProgramFee = 0;         $con_rs_cft = array('cftCurId'    => $curId,             'cftAdY'    => $adY,             'cftSyId'    => $syId,             'cftAcY'    => $acY,             'cftTmId'    => $tmId         );         $rs_cft = $this->cft->qryCft($con_rs_cft);         foreach ($rs_cft->result() as $row_cft) {             $this->fee->feeId = $row_cft->cftFeeId;             $qu_fee = $this->fee->get_by_key();             $row_fee = $qu_fee->row();
              if ((($row_fee->feeOnTop == 'Y') && ($etId == 2)) || ($row_fee->feeOnTop == 'N')) {                 $this->cf->cfStdId = $stdId;                 $this->cf->cfAcY = $acY;                 $this->cf->cfTmId = $tmId;                 $this->cf->cfFeeId = $row_cft->cftFeeId;                 $qu_cf = $this->cf->get_by_key();
                  // Not found                 if ($qu_cf->num_rows() == 0) {                     // Insert ProgramFee                     $this->cf->cfAmt = $row_cft->cftAmt;                     $this->cf->insert();                 }             }         }
          $con_qu_cf = array('cfStdId'    => $stdId,             'cfAcY'    => $acY,             'cfTmId'    => $tmId         );         $sumProgramFee = $this->cf->getSumAmt($con_qu_cf);
          // ---------- DomFee ----------         $domFee = 0;         $con_rs_cmft = array('cmftAdY'    => $adY,             'cmftSyId'    => $syId,             'cmftAcY'    => $acY,             'cmftTmId'    => $tmId,             'cmftIsDom'    => 'Y'         );         $rs_cmft = $this->cmft->qryCmft($con_rs_cmft);         if ($rs_cmft->num_rows()) {             $this->sdm->sdmStdId = $stdId;             $this->sdm->sdmAcY = $acY;             $this->sdm->sdmTmId = $tmId;             $qu_sdm = $this->sdm->get_by_key();
              // Student stay dom             if ($qu_sdm->num_rows()) {                 $this->dft->dftAcY = $acY;                 $this->dft->dftTmId = $tmId;                 $this->dft->dftDmId = $qu_sdm->row()->sdmDmId;                 $qu_dft = $this->dft->get_by_key();
                  // Found dom fee                 if ($qu_dft->num_rows()) {                     $this->cf->cfStdId = $stdId;                     $this->cf->cfAcY = $acY;                     $this->cf->cfTmId = $tmId;                     $this->cf->cfFeeId = $rs_cmft->row()->cmftFeeId;                     $qu_cf = $this->cf->get_by_key();
                      // Not found                     if ($qu_cf->num_rows() == 0) {                         // Insert CommonFee                         $this->cf->cfAmt = $qu_sdm->row()->sdmNumMonth * $qu_dft->row()->dftAmt;                         $this->cf->insert();                         $domFee = $this->cf->cfAmt;                     }                 }             }         }
          // ---------- CourseFee ----------         $sumCourseFee = 0;         $this->crft->crftCurId = $curId;         $this->crft->crftAdY = $adY;         $this->crft->crftSyId = $syId;         $this->crft->crftAcY = $acY;         $this->crft->crftTmId = $tmId;         $qu_crft = $this->crft->get_by_key();         if ($qu_crft->num_rows()) {             $con_qu_rf = array('rfStdId'    => $stdId,                 'rfSyId'    => $syId,                 'rfAcY'    => $acY,                 'rfTmId'    => $tmId             );             $qu_rf = $this->rf->qryRf($con_qu_rf);
              if ($qu_rf->num_rows()) {                 $con_qu_rd = array('rdStdId'    => $stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $sumcr1 = $this->rd->getSumCr1($con_qu_rd);                 $sumcr2 = $this->rd->getSumCr2($con_qu_rd);
                  $this->crf->crfStdId = $stdId;                 $this->crf->crfAcY = $acY;                 $this->crf->crfTmId = $tmId;                 $this->crf->crfRfId = $qu_rf->row()->rfId;                 $qu_crf = $this->crf->get_by_key();                 if ($qu_crf->num_rows()) {     // Found                     // Update CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->crfKssFeeAmt = $qu_crft->row()->crftKssFee;                     $this->crf->update();                 } else {    // Not Found                     // Insert CourseFee                     $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;                     $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;                     $this->crf->crfLateFineAmt = 0;                     $this->crf->crfKssFeeAmt = $qu_crft->row()->crftKssFee;                     $this->crf->insert();                 }
                  $sumCourseFee = $this->crf->crfLecFeeAmt + $this->crf->crfLabFeeAmt + $this->crf->crfKssFeeAmt;             }         }                  return $sumCommonFee + $sumProgramFee + $domFee + $sumCourseFee;     }
      function calKSSFee($stdId, $acY, $tmId, $curId) {         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefeetp','crft');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefee','crf');
          // ---------- CourseFee ----------         $sumCourseFee = 0;         $this->crft->crftCurId = $curId;         $this->crft->crftAdY = 0;         $this->crft->crftSyId = 0;         $this->crft->crftAcY = $acY;         $this->crft->crftTmId = $tmId;         $qu_crft = $this->crft->get_by_key();
          // Insert CourseFee         $con_qu_rf = array('rfStdId'    => $stdId,             'rfSyId'    => 0,             'rfAcY'    => $acY,             'rfTmId'    => $tmId         );         $qu_rf = $this->rf->qryRf($con_qu_rf);         if ($qu_rf->num_rows()) {             $con_qu_rd = array('rdStdId'    => $stdId,                 'rdAcY'    => $acY,                 'rdTmId'    => $tmId             );             $sumcr1 = $this->rd->getSumCr1($con_qu_rd);             $sumcr2 = $this->rd->getSumCr2($con_qu_rd);
              $this->crf->crfStdId = $stdId;             $this->crf->crfAcY = $acY;             $this->crf->crfTmId = $tmId;             $this->crf->crfRfId = $qu_rf->row()->rfId;             $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;             $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;             $this->crf->crfLateFineAmt = 0;             $this->crf->crfKssFeeAmt = $qu_crft->row()->crftKssFee;             $this->crf->insert();
              $sumCourseFee = $this->crf->crfKssFeeAmt;         }
          return $sumCourseFee;     }
      function calKSSFee2552($stdId, $acY, $tmId, $curId, $adY, $syId) {         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefeetp','crft');         $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_coursefee','crf');
          // ---------- CourseFee ----------         $sumCourseFee = 0;         $this->crft->crftCurId = $curId;         $this->crft->crftAdY = $adY;         $this->crft->crftSyId = $syId;         $this->crft->crftAcY = $acY;         $this->crft->crftTmId = $tmId;         $qu_crft = $this->crft->get_by_key();
          // Insert CourseFee         $con_qu_rf = array('rfStdId'    => $stdId,             'rfSyId'    => $syId,             'rfAcY'    => $acY,             'rfTmId'    => $tmId         );         $qu_rf = $this->rf->qryRf($con_qu_rf);         if ($qu_rf->num_rows()) {             $con_qu_rd = array('rdStdId'    => $stdId,                 'rdAcY'    => $acY,                 'rdTmId'    => $tmId             );             $sumcr1 = $this->rd->getSumCr1($con_qu_rd);             $sumcr2 = $this->rd->getSumCr2($con_qu_rd);
              $this->crf->crfStdId = $stdId;             $this->crf->crfAcY = $acY;             $this->crf->crfTmId = $tmId;             $this->crf->crfRfId = $qu_rf->row()->rfId;             $this->crf->crfLecFeeAmt = $sumcr1 * $qu_crft->row()->crftLecCreditFee;             $this->crf->crfLabFeeAmt = $sumcr2 * $qu_crft->row()->crftLabCreditFee;             $this->crf->crfLateFineAmt = 0;             $this->crf->crfKssFeeAmt = $qu_crft->row()->crftKssFee;             $this->crf->insert();
              $sumCourseFee = $this->crf->crfKssFeeAmt;         }
          return $sumCourseFee;     }     // end รักษาสภาพ
      // ### เพิ่ม-ถอนรายวิชาลงทะเบียน     function showAddWithdraw() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');
          $stdCode = $this->input->post('stdCode');
          if ($stdCode) {             $this->contents['stdCode'] = "";
              $con_qu_std = array('stdCode'     => $stdCode,                 'stdSstId'    => 1,                 'stdGenStatus'    => 'Y'             );             $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);             if ($qu_std->num_rows()) {                 $row_std = $qu_std->row();
                  $this->contents['stdCode'] = $stdCode;                 $this->contents['qu_std'] = $qu_std;
                  $acY = $this->session->userdata('acY');                 $this->contents['acY'] = $acY;
                  $tmId = $this->session->userdata('tmId');                 $this->contents['tmId'] = $tmId;
                  $con_qu_rg = array('rgStdId'    => $row_std->stdId);                 $maxAcY = $this->rg->getMaxAcY($con_qu_rg);
                  $this->contents['maxAcY'] = $maxAcY;
                  $con_qu_rg = array('rgStdId'    => $row_std->stdId,                     'rgAcY'    => $maxAcY                 );                 $maxTmId = $this->rg->getMaxTmId($con_qu_rg);                 $this->contents['maxTmId'] = $maxTmId;
                  $con_rs_rd = array('rdStdId'    => $row_std->stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $this->contents['rs_rd'] = $this->rd->qryRdJoinCoCrs($con_rs_rd);
                  $con_rs_rg = array('rgStdId'    => $row_std->stdId,                     'rgAcY'    => $acY,                     'rgTmId'    => $tmId,                     'rgStatus'    => 'K'                 );                 $rs_rg = $this->rg->qryRg($con_rs_rg);                 if ($rs_rg->num_rows()) {                     $this->contents['kssFlag'] = "** รักษาสถานภาพการเป็นนักศึกษา **";                 }
                  $con_qu_rd = array('rdStdId'    => $row_std->stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $this->contents['sumCrAt'] = $this->rd->getSumCrAt($con_qu_rd);             } else {                 $con_qu_std = array('stdCode'     => $stdCode,                     'stdGenStatus'    => 'Y'                 );                 $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);                 if ($qu_std->num_rows()) {                     $this->contents['qu_std'] = $qu_std;                 } else {                     $this->contents['err_msg'] = "** ไม่ปรากฏรหัสนักศึกษาดังกล่าวในฐานข้อมูล **";                 }             }         }    // end if stdCode
          $this->output($this->config->item("rg_folder")."v_showAddWithdraw");     }
      // ### ถอนรายวิชาลงทะเบียน หลังช่วงเพิ่ม-ถอน      function showWithdraw() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');
          $stdCode = $this->input->post('stdCode');
          if ($stdCode) {             $this->contents['stdCode'] = "";
              $con_qu_std = array('stdCode'     => $stdCode,                 'stdSstId'    => 1,                 'stdGenStatus'    => 'Y'             );             $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);             if ($qu_std->num_rows()) {                 $row_std = $qu_std->row();
                  $this->contents['stdCode'] = $stdCode;                 $this->contents['qu_std'] = $qu_std;
                  $acY = $this->session->userdata('acY');                 $this->contents['acY'] = $acY;
                  $tmId = $this->session->userdata('tmId');                 $this->contents['tmId'] = $tmId;
                  $con_rs_rd = array('rdStdId'    => $row_std->stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $this->contents['rs_rd'] = $this->rd->qryRdJoinCoCrs($con_rs_rd);
                  $con_rs_rg = array('rgStdId'    => $row_std->stdId,                     'rgAcY'    => $acY,                     'rgTmId'    => $tmId,                     'rgStatus'    => 'K'                 );                 $rs_rg = $this->rg->qryRg($con_rs_rg);                 if ($rs_rg->num_rows()) {                     $this->contents['kssFlag'] = "** รักษาสถานภาพการเป็นนักศึกษา **";                 }
                  $con_qu_rd = array('rdStdId'    => $row_std->stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $this->contents['sumCrAt'] = $this->rd->getSumCrAt($con_qu_rd);             } else {                 $con_qu_std = array('stdCode'     => $stdCode,                     'stdGenStatus'    => 'Y'                 );                 $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);                 if ($qu_std->num_rows()) {                     $this->contents['qu_std'] = $qu_std;                 } else {                     $this->contents['err_msg'] = "** ไม่ปรากฏรหัสนักศึกษาดังกล่าวในฐานข้อมูล **";                 }             }         }
          $this->output($this->config->item("rg_folder")."v_showWithdraw");     }
      // ### คำนวณค่าลงทะเบียนเรียน      function showCalFeeCur() {         $this->load->model($this->config->item("rg_folder").'mo_rg_term','tm');
          $acY = $this->session->userdata('acY');         $tmId = $this->session->userdata('tmId');
          $this->contents['acY'] = $acY;         $this->contents['tmId'] = $tmId;         $this->contents['rs_tm'] = $this->tm->get_options('', '', '', 'y');
          $this->output($this->config->item("rg_folder")."v_showCalFeeCurriculum");     }
      function processCalFeeCur() {         $this->load->library('form_validation');         $this->form_validation->set_error_delimiters('<div class="error">','</div>');         $this->form_validation->set_rules('curId',' ','trim|required|xss_clean');         $this->form_validation->set_rules('curName',' ','trim|required|xss_clean');         $this->form_validation->set_rules('tmIdAdmit',' ','trim|required|xss_clean');         $this->form_validation->set_rules('adY',' ','trim|required|xss_clean');         $this->form_validation->set_rules('syId',' ','trim|required|xss_clean');         $this->form_validation->set_rules('acY',' ','trim|required|exact_length[4]|xss_clean');         $this->form_validation->set_rules('tmId',' ','trim|required|xss_clean');         $this->form_validation->set_rules('syId2',' ','trim|required|xss_clean');
          if($this->form_validation->run() == true) {             $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');             $this->load->model($this->config->item("rg_folder").'mo_rg_registfee','rf');
              $curId = $this->input->post('curId');             $adY = $this->input->post('adY');             $syId = $this->input->post('syId');             $acY =$this->input->post('acY');             $tmId = $this->input->post('tmId');             $syId2 = $this->input->post('syId2');             $reviseY = 2552;
              $con_rs_std = array('stdCurId'    => $curId,                 'stdSyId'    => $syId,                 'stdAdY'    => $adY             );             $ord_rs_std = array('stdCode'     => 'ASC');             $rs_std = $this->std->qryStd($con_rs_std, $ord_rs_std);             foreach ($rs_std->result() as $row_std) {                 $rs_rf = $this->rf->qryRfByStdIdAcYTmIdNoPay($row_std->stdId, $acY, $tmId);                 // Found สามารถคำนวณค่าใช้จ่ายใหม่ได้ก็ต่อเมื่อยังไม่ได้ชำระเงินเท่านั้น                 if ($rs_rf->num_rows()) {                     $this->rf->rfId = $rs_rf->row()->rfId;                     $this->rf->get_by_key(TRUE);
                      if ($row_std->stdAdY >= $reviseY) {                         $this->rf->rfTotalAmt = $this->calFee2552($row_std->stdId, $acY, $syId2, $tmId, $curId, $row_std->stdEtId, $row_std->stdAdY);                     } else {                         $this->rf->rfTotalAmt = $this->calFee($row_std->stdId, $acY, $syId2, $tmId, $curId, $row_std->stdEtId);                     }                     $this->rf->rfBalance = $this->rf->rfTotalAmt;                     $this->rf->rfUpdateDate = date('Y-m-d H:i:s');                     $this->rf->rfUpdateUserId = $this->session->userdata('UsLogin');                     $this->rf->update();                 }             }
              redirect($this->config->item('rg_folder').'regis/showCalFeeCur');         } else {             $this->showCalFeeCur();         }     }
      // ##### student start เพิ่ม-ถอนรายวิชาลงทะเบียน     function std_showAddWithdraw() {         $this->load->model($this->config->item("rg_folder").'mo_rg_student','std');         $this->load->model($this->config->item("rg_folder").'mo_rg_acadconfig','ac');         $this->load->model($this->config->item("rg_folder").'mo_rg_schedule','sd');         $this->load->model($this->config->item("rg_folder").'mo_rg_regist','rg');         $this->load->model($this->config->item("rg_folder").'mo_rg_registdetails','rd');
          $stdCode = $this->session->userdata('UsPsCode');         $acY_R = $this->session->userdata('acY_R');         $tmId_R = $this->session->userdata('tmId_R');
          $acY = $this->session->userdata('acY');         $this->contents['acY'] = $acY;
          $tmId = $this->session->userdata('tmId');         $this->contents['tmId'] = $tmId;
          $con_qu_std = array('stdCode'     => $stdCode,             'stdSstId'    => 1,             'stdGenStatus'    => 'Y'         );         $qu_std = $this->std->qryStdJoinPfCurSySstElv($con_qu_std);         if ($qu_std->num_rows()) {             $row_std = $qu_std->row();             $this->contents['qu_std'] = $qu_std;
              $forceAssess = $this->forceAssess();             if ($forceAssess) {                 $qu_sd = $this->sd->qrySdByAcYTmIdAWDate($acY_R, $tmId_R, getNowDate());                 //$qu_sd = $this->sd->qrySdByAcYTmIdAWDate($acY_R, $tmId_R, '2011-06-15');
                  if (!$qu_sd->num_rows()) {                     $msg = "ไม่สามารถดำเนินการเพิ่ม-ถอนรายวิชาลงทะเบียนได้<br />เนื่องจากไม่อยู่ในช่วงเพิ่ม-ถอนรายวิชา";
                      $this->session->set_flashdata('msg', $msg);                     redirect($this->config->item("rg_folder")."msg/err_msg");                 }
                  $con_qu_rg = array('rgStdId'    => $row_std->stdId);                 $maxAcY = $this->rg->getMaxAcY($con_qu_rg);                 $this->contents['maxAcY'] = $maxAcY;
                  $con_qu_rg = array('rgStdId'    => $row_std->stdId,                     'rgAcY'    => $maxAcY                 );                 $this->contents['maxTmId'] = $this->rg->getMaxTmId($con_qu_rg);
                  $con_rs_rd = array('rdStdId'    => $row_std->stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $this->contents['rs_rd'] = $this->rd->qryRdJoinCoCrs($con_rs_rd);
                  $con_rs_rg = array('rgStdId'    => $row_std->stdId,                     'rgAcY'    => $acY,                     'rgTmId'    => $tmId,                     'rgStatus'    => 'K'                 );                 $rs_rg = $this->rg->qryRg($con_rs_rg);                 if ($rs_rg->num_rows()) {                     $this->contents['kssFlag'] = "** รักษาสถานภาพการเป็นนักศึกษา **";                 }
                  $con_qu_rd = array('rdStdId'    => $row_std->stdId,                     'rdAcY'    => $acY,                     'rdTmId'    => $tmId                 );                 $this->contents['sumCrAt'] = $this->rd->getSumCrAt($con_qu_rd);             }    // end if forceAssess         } else {             $this->contents['err_msg'] = "** ไม่ปรากฏรหัสนักศึกษาดังกล่าวในฐานข้อมูล **";         }
          $this->output($this->config->item("rg_folder")."v_std_showAddWithdraw");     }     // ##### student end เพิ่ม-ถอนรายวิชาลงทะเบียน } ?>
  |