Ejemplo n.º 1
0
 public function indexAction()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'Chấm công - ' . $translate->_('TEXT_DEFAULT_TITLE');
     $this->view->headTitle($this->view->title);
     $layoutPath = APPLICATION_PATH . '/templates/' . TEMPLATE_USED;
     $option = array('layout' => '1_column/layout', 'layoutPath' => $layoutPath);
     Zend_Layout::startMvc($option);
     $date = new Zend_Date();
     $date->subMonth(1);
     $thang = $this->_getParam('thang', $date->toString("M"));
     $nam = $this->_getParam('nam', $date->toString("Y"));
     $auth = Zend_Auth::getInstance();
     $identity = $auth->getIdentity();
     $em_id = $identity->em_id;
     $holidaysModel = new Front_Model_Holidays();
     $list_holidays = $holidaysModel->fetchData(array(), 'hld_order ASC');
     $xinnghiphepModel = new Front_Model_XinNghiPhep();
     $list_nghi_phep = $xinnghiphepModel->fetchByDate($em_id, "{$nam}-{$thang}-01 00:00:00", "{$nam}-{$thang}-31 23:59:59");
     $chamcongModel = new Front_Model_ChamCong();
     $cham_cong = $chamcongModel->fetchOneData(array('c_em_id' => $em_id, 'c_thang' => $thang, 'c_nam' => $nam));
     $error_message = array();
     $success_message = '';
     if ($this->_request->isPost()) {
         $data_cham_cong = $this->_arrParam['cham_cong'];
         $current_time = new Zend_Db_Expr('NOW()');
         if ($cham_cong && ($cham_cong->c_don_vi_status != '-1' || $cham_cong->c_ptccb_status != '-1')) {
             $error_message[] = 'Chấm công đã được duyệt nên không thể thay đổi.';
         }
         if (!sizeof($error_message)) {
             if ($cham_cong) {
                 $chamcongModel->update(array('c_ngay_1' => isset($data_cham_cong[1]) ? $data_cham_cong[1] : '', 'c_ngay_2' => isset($data_cham_cong[2]) ? $data_cham_cong[2] : '', 'c_ngay_3' => isset($data_cham_cong[3]) ? $data_cham_cong[3] : '', 'c_ngay_4' => isset($data_cham_cong[4]) ? $data_cham_cong[4] : '', 'c_ngay_5' => isset($data_cham_cong[5]) ? $data_cham_cong[5] : '', 'c_ngay_6' => isset($data_cham_cong[6]) ? $data_cham_cong[6] : '', 'c_ngay_7' => isset($data_cham_cong[7]) ? $data_cham_cong[7] : '', 'c_ngay_8' => isset($data_cham_cong[8]) ? $data_cham_cong[8] : '', 'c_ngay_9' => isset($data_cham_cong[9]) ? $data_cham_cong[9] : '', 'c_ngay_10' => isset($data_cham_cong[10]) ? $data_cham_cong[10] : '', 'c_ngay_11' => isset($data_cham_cong[11]) ? $data_cham_cong[11] : '', 'c_ngay_12' => isset($data_cham_cong[12]) ? $data_cham_cong[12] : '', 'c_ngay_13' => isset($data_cham_cong[13]) ? $data_cham_cong[13] : '', 'c_ngay_14' => isset($data_cham_cong[14]) ? $data_cham_cong[14] : '', 'c_ngay_15' => isset($data_cham_cong[15]) ? $data_cham_cong[15] : '', 'c_ngay_16' => isset($data_cham_cong[16]) ? $data_cham_cong[16] : '', 'c_ngay_17' => isset($data_cham_cong[17]) ? $data_cham_cong[17] : '', 'c_ngay_18' => isset($data_cham_cong[18]) ? $data_cham_cong[18] : '', 'c_ngay_19' => isset($data_cham_cong[19]) ? $data_cham_cong[19] : '', 'c_ngay_20' => isset($data_cham_cong[20]) ? $data_cham_cong[20] : '', 'c_ngay_21' => isset($data_cham_cong[21]) ? $data_cham_cong[21] : '', 'c_ngay_22' => isset($data_cham_cong[22]) ? $data_cham_cong[22] : '', 'c_ngay_23' => isset($data_cham_cong[23]) ? $data_cham_cong[23] : '', 'c_ngay_24' => isset($data_cham_cong[24]) ? $data_cham_cong[24] : '', 'c_ngay_25' => isset($data_cham_cong[25]) ? $data_cham_cong[25] : '', 'c_ngay_26' => isset($data_cham_cong[26]) ? $data_cham_cong[26] : '', 'c_ngay_27' => isset($data_cham_cong[27]) ? $data_cham_cong[27] : '', 'c_ngay_28' => isset($data_cham_cong[28]) ? $data_cham_cong[28] : '', 'c_ngay_29' => isset($data_cham_cong[29]) ? $data_cham_cong[29] : '', 'c_ngay_30' => isset($data_cham_cong[30]) ? $data_cham_cong[30] : '', 'c_ngay_31' => isset($data_cham_cong[31]) ? $data_cham_cong[31] : '', 'c_date_modifyed' => $current_time), 'c_id=' . $cham_cong->c_id);
             } else {
                 $chamcongModel->insert(array('c_em_id' => $em_id, 'c_thang' => $thang, 'c_nam' => $nam, 'c_ngay_1' => isset($data_cham_cong[1]) ? $data_cham_cong[1] : '', 'c_ngay_2' => isset($data_cham_cong[2]) ? $data_cham_cong[2] : '', 'c_ngay_3' => isset($data_cham_cong[3]) ? $data_cham_cong[3] : '', 'c_ngay_4' => isset($data_cham_cong[4]) ? $data_cham_cong[4] : '', 'c_ngay_5' => isset($data_cham_cong[5]) ? $data_cham_cong[5] : '', 'c_ngay_6' => isset($data_cham_cong[6]) ? $data_cham_cong[6] : '', 'c_ngay_7' => isset($data_cham_cong[7]) ? $data_cham_cong[7] : '', 'c_ngay_8' => isset($data_cham_cong[8]) ? $data_cham_cong[8] : '', 'c_ngay_9' => isset($data_cham_cong[9]) ? $data_cham_cong[9] : '', 'c_ngay_10' => isset($data_cham_cong[10]) ? $data_cham_cong[10] : '', 'c_ngay_11' => isset($data_cham_cong[11]) ? $data_cham_cong[11] : '', 'c_ngay_12' => isset($data_cham_cong[12]) ? $data_cham_cong[12] : '', 'c_ngay_13' => isset($data_cham_cong[13]) ? $data_cham_cong[13] : '', 'c_ngay_14' => isset($data_cham_cong[14]) ? $data_cham_cong[14] : '', 'c_ngay_15' => isset($data_cham_cong[15]) ? $data_cham_cong[15] : '', 'c_ngay_16' => isset($data_cham_cong[16]) ? $data_cham_cong[16] : '', 'c_ngay_17' => isset($data_cham_cong[17]) ? $data_cham_cong[17] : '', 'c_ngay_18' => isset($data_cham_cong[18]) ? $data_cham_cong[18] : '', 'c_ngay_19' => isset($data_cham_cong[19]) ? $data_cham_cong[19] : '', 'c_ngay_20' => isset($data_cham_cong[20]) ? $data_cham_cong[20] : '', 'c_ngay_21' => isset($data_cham_cong[21]) ? $data_cham_cong[21] : '', 'c_ngay_22' => isset($data_cham_cong[22]) ? $data_cham_cong[22] : '', 'c_ngay_23' => isset($data_cham_cong[23]) ? $data_cham_cong[23] : '', 'c_ngay_24' => isset($data_cham_cong[24]) ? $data_cham_cong[24] : '', 'c_ngay_25' => isset($data_cham_cong[25]) ? $data_cham_cong[25] : '', 'c_ngay_26' => isset($data_cham_cong[26]) ? $data_cham_cong[26] : '', 'c_ngay_27' => isset($data_cham_cong[27]) ? $data_cham_cong[27] : '', 'c_ngay_28' => isset($data_cham_cong[28]) ? $data_cham_cong[28] : '', 'c_ngay_29' => isset($data_cham_cong[29]) ? $data_cham_cong[29] : '', 'c_ngay_30' => isset($data_cham_cong[30]) ? $data_cham_cong[30] : '', 'c_ngay_31' => isset($data_cham_cong[31]) ? $data_cham_cong[31] : '', 'c_date_created' => $current_time, 'c_date_modifyed' => $current_time));
             }
             $success_message = 'Đã cập nhật thành công.';
             $cham_cong = $chamcongModel->fetchOneData(array('c_em_id' => $em_id, 'c_thang' => $thang, 'c_nam' => $nam));
         }
     }
     $this->view->success_message = $success_message;
     $this->view->error_message = $error_message;
     $this->view->thang = $thang;
     $this->view->nam = $nam;
     $this->view->cham_cong = $cham_cong;
     $this->view->list_holidays = $list_holidays;
     $this->view->list_nghi_phep = $list_nghi_phep;
 }
 public function updatestatusAction()
 {
     $this->_helper->layout()->disableLayout();
     $c_status = $this->_request->getParam('status', 0);
     $thang = $this->_request->getParam('thang', 0);
     $nam = $this->_request->getParam('nam', 0);
     $phongban = $this->_request->getParam('phongban', 0);
     $current_time = new Zend_Db_Expr('NOW()');
     if ($c_status > 1) {
         $c_status = 1;
     }
     if ($c_status <= 0) {
         $c_status = -1;
     }
     $chamcongModel = new Front_Model_ChamCong();
     if ($this->_request->isPost()) {
         $item = $this->getRequest()->getPost('cid');
         foreach ($item as $k => $v) {
             $cham_cong = $chamcongModel->fetchOneData(array('c_em_id' => $v, 'c_thang' => $thang, 'c_nam' => $nam));
             //Don vi phai duyet thi moi dc quyen cap nhat status
             if ($cham_cong && $cham_cong->c_don_vi_status > 0) {
                 $chamcongModel->update(array('c_ptccb_status' => $c_status, 'c_don_vi_status' => $c_status), "c_em_id={$v} and c_thang={$thang} and c_nam={$nam}");
                 if ($c_status < 1) {
                     $thongbao_model = new Front_Model_ThongBao();
                     $data = array();
                     $data['tb_from'] = 0;
                     $data['tb_to'] = $v;
                     $data['tb_tieu_de'] = "[Chấm công tháng {$thang}-{$nam}] Chấm công không được duyệt.";
                     $data['tb_noi_dung'] = "Chào bạn!<br/>Chấm công {$thang}-{$nam} đã không được duyệt.<br/>Yêu cầu bạn chỉnh sửa lại bảng chấm công tháng {$thang}-{$nam}";
                     $data['tb_status'] = 0;
                     $data['tb_date_added'] = $current_time;
                     $data['tb_date_modified'] = $current_time;
                     $thongbao_model->insert($data);
                     $em_info = $this->view->viewGetEmployeeInfo($v);
                     $data['tb_noi_dung'] = 'Chấm công của <strong>' . $em_info->em_ho . ' ' . $em_info->em_ten . '</strong> tháng ' . $thang . '-' . $nam . ' phòng tổ chức không duyệt.<br/> Bạn hãy <strong><a href="' . $this->view->baseUrl('donvi/duyetchamcong') . '">click vào đây</a></strong> để xét duyệt lại.';
                     $don_vi_user = $this->_helper->GlobalHelpers->checkDonViUsers($v, 3004);
                     foreach ($don_vi_user as $user) {
                         $data['tb_to'] = $user->em_id;
                         $thongbao_model->insert($data);
                     }
                 }
             }
         }
     }
     $this->_redirect('taivu/duyetchamcong/index/thang/' . $thang . '/nam/' . $nam . '/phongban/' . $phongban);
 }
 public function jqupdatestatusAction()
 {
     $this->_helper->layout()->disableLayout();
     $process_status = 0;
     if ($this->_request->isPost()) {
         $c_id = $this->_arrParam['c_id'];
         $c_status = $this->_arrParam['c_status'];
         if ($c_status > 1) {
             $c_status = 1;
         }
         if ($c_status <= 0) {
             $c_status = -1;
         }
         $chaqmcongModel = new Front_Model_ChamCong();
         $thongbao_model = new Front_Model_ThongBao();
         $process_status = $chaqmcongModel->update(array('c_don_vi_status' => $c_status), "c_id={$c_id} and c_ptccb_status<0");
         $current_time = new Zend_Db_Expr('NOW()');
         if ($process_status && $c_status) {
             $users = $this->_helper->GlobalHelpers->checkToChucUsers(4006);
             $data = array();
             $data['tb_from'] = 0;
             $data['tb_tieu_de'] = '[Thông báo] Duyệt chấm công tháng.';
             $data['tb_noi_dung'] = 'Có đơn xin duyệt chấm công mới<br/> Bạn hãy <strong><a href="' . $this->view->baseUrl('tochuccanbo/duyetchamcong') . '">click vào đây</a></strong> để xét duyệt.';
             $data['tb_status'] = 0;
             $data['tb_date_added'] = $current_time;
             $data['tb_date_modified'] = $current_time;
             foreach ($users as $user) {
                 $data['tb_to'] = $user->em_id;
                 $thongbao_model->insert($data);
             }
         }
         if ($c_status < 1) {
             $cham_cong = $chaqmcongModel->fetchRow("c_id={$c_id}");
             if ($cham_cong) {
                 $thang = $cham_cong->c_thang;
                 $nam = $cham_cong->c_nam;
                 $data = array();
                 $data['tb_from'] = 0;
                 $data['tb_to'] = $cham_cong->c_em_id;
                 $data['tb_tieu_de'] = "[Chấm công tháng {$thang}-{$nam}] Chấm công không được duyệt.";
                 $data['tb_noi_dung'] = "Chào bạn!<br/>Chấm công {$thang}-{$nam} đã không được duyệt.<br/>Yêu cầu bạn chỉnh sửa lại bảng chấm công tháng {$thang}-{$nam}";
                 $data['tb_status'] = 0;
                 $data['tb_date_added'] = $current_time;
                 $data['tb_date_modified'] = $current_time;
                 $thongbao_model->insert($data);
             }
         }
     }
     $this->view->process_status = $process_status;
 }