Ejemplo n.º 1
0
 public function getGiangVienByHoTen($ho_ten)
 {
     $ho_ten = Default_Model_Functions::tach_ho_ten($ho_ten);
     $ho = $ho_ten['ho'];
     $ten = $ho_ten['ten'];
     var_dump($ho_ten);
     $select = $this->select()->where('ho = ?', $ho)->where('ten = ?', $ten);
     echo $select;
     die;
     return $this->fetchRow($select);
 }
Ejemplo n.º 2
0
 public function save_dt($id_don_vi, $nam, $deTais, $thanhViens)
 {
     $tableDT = Khcn_Api::_()->getDbTable('de_tai', 'default');
     $tableGV = Khcn_Api::_()->getDbTable('giang_vien', 'default');
     $don_vi = $this->don_vi->getDonVi($id_don_vi);
     $ma_don_vi = $don_vi['ma'];
     $str = '';
     $dts = array();
     $tong_so_gv = 0;
     $gv_sai_ma_don_vi = array();
     $gv_sai_ma_hoc_vi = array();
     $session = new Zend_Session_Namespace('imported_dt');
     $session->ma_don_vi = $id_don_vi;
     $session->nam = $nam;
     $db = $tableDT->getAdapter();
     $db->beginTransaction();
     try {
         for ($i = 0; $i < count($deTais); $i++) {
             //tao ma cho de tai
             //linh vuc
             $ma_loai_lv = 'CS';
             $linh_vuc = $this->linh_vuc->getLVByMa($deTais[$i]['linh_vuc']);
             $loai_lv = $this->loai_lv->getLoaiLV($linh_vuc['ma_loai']);
             if ($loai_lv) {
                 $ma_loai_lv = $loai_lv['ma'];
             }
             $id_linh_vuc = $linh_vuc['id'];
             $cap_quan_ly = $deTais[$i]['cap_quan_ly'];
             $ma = '';
             if ($cap_quan_ly != 'cap-khoa') {
                 $count_m_t = 1;
                 while ($ma == '') {
                     if ($count_m_t < 10) {
                         $temp_m = $ma_loai_lv . $nam . '-0' . $count_m_t++;
                     } else {
                         $temp_m = $ma_loai_lv . $nam . '-' . $count_m_t++;
                     }
                     if (!$this->de_tai->kiem_tra_ma($temp_m)) {
                         $ma = $temp_m;
                     }
                 }
             }
             //dinh dang ngay thang
             $sperator = array('/', ' ');
             $tgbd = '01-' . str_replace($sperator, '-', $deTais[$i]['thoi_gian_bat_dau']);
             $tght = '01-' . str_replace($sperator, '-', $deTais[$i]['thoi_gian_hoan_thanh']);
             $thoi_gian_bat_dau = date('Y-m-d', strtotime($tgbd));
             $thoi_gian_hoan_thanh = date('Y-m-d', strtotime($tght));
             //cap quan ly
             if ($cap_quan_ly == 'cap-khoa') {
                 $cap_quan_ly = 1;
             } else {
                 $cap_quan_ly = 2;
             }
             $kinh_phi = 0;
             if (!empty($deTais[$i]['kinh_phi']) && is_numeric($deTais[$i]['kinh_phi'])) {
                 $kinh_phi = $deTais[$i]['kinh_phi'];
             }
             try {
                 //them de tai
                 $de_tai = $tableDT->createRow();
                 $de_tai->ma = $ma;
                 $de_tai->ten = $deTais[$i]['ten'];
                 $de_tai->thoi_gian_bat_dau = $thoi_gian_bat_dau;
                 $de_tai->thoi_gian_hoan_thanh = $thoi_gian_hoan_thanh;
                 $de_tai->tinh_trang = 1;
                 $de_tai->kinh_phi = $kinh_phi;
                 $de_tai->cap_quan_ly = $cap_quan_ly;
                 $de_tai->ma_linh_vuc = $id_linh_vuc;
                 $de_tai->ma_don_vi = $id_don_vi;
                 $de_tai->nam = $nam;
                 $kq = $de_tai->save();
             } catch (Zend_Db_Exception $e) {
                 $str .= $deTais[$i]['ten'] . ', ';
                 continue;
             }
             $dt_id = $de_tai->id;
             $dts[$dt_id] = $dt_id;
             //them thanh vien
             $tvs = $thanhViens[$i];
             foreach ($tvs as $thanh_vien) {
                 $tong_so_gv++;
                 $tv_id = null;
                 $sai_ma_hv = false;
                 $sai_ma_dv = false;
                 //kiem tra neu co nhap ma giang vien
                 $ho_ten = Default_Model_Functions::tach_ho_ten($thanh_vien['ho_ten']);
                 // Get ID Hoc Vi
                 $id_hv = $this->hoc_vi->getIdByMa($thanh_vien['hoc_vi']);
                 if ($id_hv == null) {
                     $sai_ma_hv = true;
                     //set hoc vi la chua xac dinh
                     $id_hv = 9;
                 }
                 // Get ID Don Vi
                 if (!empty($thanh_vien['ghi_chu'])) {
                     //kiem tra neu nhap sai ma don vi,thi dua vao danh sach gv chua xac dinh don vi
                     $id_dv = $this->don_vi->getIdByMa($thanh_vien['ghi_chu']);
                     if ($id_dv == null) {
                         $sai_ma_dv = true;
                         $id_dv = $id_don_vi;
                     }
                 } else {
                     $id_dv = $id_don_vi;
                 }
                 if (!empty($thanh_vien['ma_giang_vien'])) {
                     //kiem tra ton tai ma giang vien
                     $giang_vien = $tableGV->getGVByMa($thanh_vien['ma_giang_vien']);
                     if ($giang_vien) {
                         $tv_id = $giang_vien->id;
                     }
                 }
                 // Get GV By ho_ten, dv, hv
                 if ($tv_id == null) {
                     $giang_vien = $tableGV->checkExistImport($thanh_vien['ho_ten'], $id_dv, $id_hv);
                     if ($giang_vien == null) {
                         $giang_vien = $tableGV->createRow();
                         $giang_vien->ho = $ho_ten['ho'];
                         $giang_vien->ten = $ho_ten['ten'];
                         $giang_vien->ma_hoc_vi = $id_hv;
                         $giang_vien->ma_don_vi = $id_dv;
                         $giang_vien->trang_thai = 1;
                         $giang_vien->save();
                     }
                     $tv_id = $giang_vien->id;
                 }
                 //neu co nhap email - so dien thoai thi cap nhat lai
                 if (!empty($thanh_vien['email'])) {
                     $giang_vien->email = $thanh_vien['email'];
                 }
                 if (!empty($thanh_vien['so_dien_thoai'])) {
                     $giang_vien->so_dien_thoai = $thanh_vien['so_dien_thoai'];
                 }
                 $giang_vien->save();
                 // Them dang ky
                 $dang_ky = new Default_Model_DangKy();
                 $dang_ky->setMaDeTai($dt_id)->setMaGiangVien($tv_id)->setNhiemVu($thanh_vien['nhiem_vu']);
                 $dang_ky->them();
                 if ($sai_ma_dv) {
                     $gv_sai_ma_don_vi[$tv_id] = $thanh_vien['ho_ten'];
                 }
                 if ($sai_ma_hv) {
                     $gv_sai_ma_hoc_vi[$tv_id] = $thanh_vien['ho_ten'];
                 }
             }
         }
         $db->commit();
         if ($str != '') {
             $_SESSION['msg'] = "Lỗi. Các đề tài sau đây không import được : " . $str;
             $_SESSION['type_msg'] = "error";
         } else {
             $_SESSION['msg'] = "Thành công! Dữ liệu đã được lưu trữ.";
             $_SESSION['type_msg'] = "success";
         }
         $session->deTais = $dts;
         $session->tong_so_gv = $tong_so_gv;
         $session->gv_sai_ma_hoc_vi = $gv_sai_ma_hoc_vi;
         $session->gv_sai_ma_don_vi = $gv_sai_ma_don_vi;
     } catch (Exception $e) {
         $db->rollBack();
         throw $e;
     }
 }
Ejemplo n.º 3
0
 public function suaGvNgoaiSguAction()
 {
     $form = new Admin_Form_GiangVien();
     $don_vi = new Default_Model_DonVi();
     $form->removeElement('submitCon');
     $form->removeElement('ma');
     $form->submitExit->setLabel('Lưu');
     $form->cancel->setLabel('Không lưu');
     $form->ma_don_vi->setMultiOptions($don_vi->getDSDVNgoaiSGU());
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($form->isValid($formData)) {
             $giang_vien = new Default_Model_GiangVien();
             $ho_ten = Default_Model_Functions::tach_ho_ten($form->getValue('ho_ten'));
             $giang_vien->setId($form->getValue('id'))->setMa(null)->setHo($ho_ten['ho'])->setTen($ho_ten['ten'])->setChucVu($form->getValue('chuc_vu'))->setMaDonVi($form->getValue('ma_don_vi'))->setMaHocVi($form->getValue('ma_hoc_vi'))->setEmail($form->getValue('email'))->setSoDienThoai($form->getValue('so_dien_thoai'));
             $kq = $giang_vien->sua();
             if (!kq) {
                 $_SESSION['msg'] = 'Lỗi !. Đã có lỗi trong quá trình xử lý, vui lòng thử lại .';
                 $_SESSION['type_msg'] = 'error';
                 $this->_redirect('/admin/ds-ngoai-sgu?' . $_SESSION['filterGV']);
             }
             $_SESSION['msg'] = 'Thành công !. Dữ liệu đã được cập nhật .';
             $_SESSION['type_msg'] = 'success';
             $this->_redirect('/admin/ds-ngoai-sgu?' . $_SESSION['filterGV']);
         } else {
             $form->populate($formData);
         }
     } else {
         $id = $this->_getParam('id');
         if (!empty($id)) {
             $data = $this->giang_vien->getGiangVien($id);
             if ($data != null) {
                 $data = $this->giang_vien->GiangVienToArray($data);
                 $data['ho_ten'] = $data['ho'] . ' ' . $data['ten'];
                 $form->populate($data);
             } else {
                 $_SESSION['msg'] = 'Lỗi !. Mã giảng viên không tồn tại .';
                 $_SESSION['type_msg'] = 'error';
                 $this->_redirect('/admin/ds-ngoai-sgu?' . $_SESSION['filterGV']);
             }
         } else {
             $this->_redirect('/admin/ds-ngoai-sgu?' . $_SESSION['filterGV']);
         }
     }
 }