public function indexAction()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'Thống kê phân loại thá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();
     $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;
     $emModel = new Front_Model_Employees();
     $phongbanModel = new Front_Model_Phongban();
     $chucvuModel = new Front_Model_Chucvu();
     $chuc_vu = $chucvuModel->fetchAll();
     $list_phong_ban = $phongbanModel->fetchAll();
     $pb_selected = $this->_getParam('phongban', 0);
     $phong_ban = array();
     $list_phong_ban_option = $phongbanModel->fetchData(0, $phong_ban);
     $phong_ban_choosed_info = $phongbanModel->fetchRow("pb_id={$pb_selected} and pb_status=1");
     $phong_ban_choosed = array();
     $phongbanModel->fetchData($pb_selected, $phong_ban_choosed);
     $pb_ids = array($pb_selected);
     foreach ($phong_ban_choosed as $pb) {
         $pb_ids[] = $pb->pb_id;
     }
     if (!$pb_selected) {
         //$list_employees = $emModel->fetchData(array('em_delete' => 0));
         $list_employees = $emModel->callGetListNhanVien();
     } else {
         //$select = $emModel->select()->where('em_phong_ban in (?)', $pb_ids);
         $list_employees = $emModel->callGetListNhanVien($pb_ids);
     }
     $tieuchiModel = new Front_Model_TieuChiDanhGiaCB();
     $list_tieuchi = $tieuchiModel->fetchData(array('tcdgcb_status' => 1), 'tcdgcb_order ASC');
     $ketquaModel = new Front_Model_DanhGiaKetQuaCV();
     $list_ketqua = $ketquaModel->fetchData(array('dgkqcv_status' => 1), 'dgkqcv_order ASC');
     if ($this->_request->isPost()) {
         $inputFileName = APPLICATION_PATH . "/../tmp/BANG_TONG_HOP_PHAN_LOAI_THANG.xlsx";
         $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
         $styleArray = array('borders' => array('allborders' => array('style' => PHPExcel_Style_Border::BORDER_THIN)), 'font' => array('bold' => false, 'color' => array('rgb' => '000000'), 'size' => 11, 'name' => 'Times New Roman'));
         $objPHPExcel->getProperties()->setCreator("Cục Hải Quan Hà Tĩnh");
         $objPHPExcel->getProperties()->setLastModifiedBy("Cục Hải Quan Hà Tĩnh");
         $objPHPExcel->getProperties()->setTitle("Thống kê tháng");
         $objPHPExcel->getProperties()->setSubject("Bảng chấm công");
         $objPHPExcel->getProperties()->setDescription("Bảng chấm công Cục Hải Quan Hà Tĩnh");
         $objPHPExcel->setActiveSheetIndex(0);
         $objPHPExcel->getActiveSheet()->SetCellValue('A5', "(Tháng {$thang} Năm {$nam})");
         $phong_ban_st = array($phong_ban_choosed_info);
         $list_phongban_selected = $phongbanModel->fetchDataStatus($pb_selected, $phong_ban_st);
         if ($list_employees) {
             $k = 0;
             $stt = 0;
             $stt_1 = 0;
             foreach ($list_phongban_selected as $phong_ban_info) {
                 $stt_1 = 0;
                 $k++;
                 $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A" . ($k + 8) . ":J" . ($k + 8));
                 $objPHPExcel->getActiveSheet()->getStyle("A" . ($k + 8))->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => 'F28A8C')));
                 $objPHPExcel->getActiveSheet()->SetCellValue('A' . ($k + 8), $phong_ban_info->pb_name);
                 foreach ($list_employees as $nhan_vien) {
                     if ($phong_ban_info->pb_id == $nhan_vien['em_phong_ban']) {
                         $phan_loai = $this->view->viewGetPhanLoai($nhan_vien['em_id'], (int) $thang, (int) $nam);
                         $pl_ptccb = '';
                         if ($phan_loai) {
                             if ($phan_loai->dg_ptccb_status != 'O') {
                                 $pl_ptccb = $phan_loai->dg_ptccb_status;
                             } else {
                                 $pl_ptccb = '-';
                             }
                         }
                         $stt_1++;
                         $k++;
                         $stt++;
                         $objPHPExcel->getActiveSheet()->SetCellValue('A' . ($k + 8), $stt);
                         $objPHPExcel->getActiveSheet()->SetCellValue('B' . ($k + 8), $stt_1);
                         $objPHPExcel->getActiveSheet()->SetCellValue('C' . ($k + 8), $nhan_vien['em_ho'] . ' ' . $nhan_vien['em_ten']);
                         $objPHPExcel->getActiveSheet()->SetCellValue('D' . ($k + 8), $nhan_vien['cv_name']);
                         switch ($pl_ptccb) {
                             case 'A':
                                 $objPHPExcel->getActiveSheet()->SetCellValue('E' . ($k + 8), 'X');
                                 break;
                             case 'B':
                                 $objPHPExcel->getActiveSheet()->SetCellValue('F' . ($k + 8), 'X');
                                 break;
                             case 'C':
                                 $objPHPExcel->getActiveSheet()->SetCellValue('G' . ($k + 8), 'X');
                                 break;
                             case 'D':
                                 $objPHPExcel->getActiveSheet()->SetCellValue('H' . ($k + 8), 'X');
                                 break;
                             case '-':
                                 $objPHPExcel->getActiveSheet()->SetCellValue('I' . ($k + 8), 'X');
                                 break;
                         }
                     }
                     $objPHPExcel->getActiveSheet()->getStyle('A' . ($k + 8) . ':J' . ($k + 8))->applyFromArray($styleArray);
                 }
             }
             $objPHPExcel->getActiveSheet()->SetCellValue('A' . ($k + 13), 'Ghi chú: Để trống là chưa phân loại hoặc chưa xét duyệt');
             $objPHPExcel->getActiveSheet()->setTitle('Thống kê phân loại tháng' . $thang . '-' . $nam);
             $file_name = 'Thong_Ke_Phan_Loai_Thang_' . $thang . '-' . $nam . '.xls';
             header('Content-type: application/vnd.ms-excel; charset=UTF-8');
             header('Content-Disposition: attachment;filename="' . $file_name . '"');
             header('Cache-Control: max-age=0');
             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
             $objWriter->save('php://output');
             die;
         }
     }
     $this->view->tieu_chi = $list_tieuchi;
     $this->view->ket_qua = $list_ketqua;
     $this->view->thang = $thang;
     $this->view->nam = $nam;
     $this->view->list_nhan_vien = $list_employees;
     $this->view->list_phong_ban = $list_phong_ban;
     $this->view->list_phong_ban_option = $list_phong_ban_option;
     $this->view->pb_id = $pb_selected;
 }
 public function auto02Action()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'Tính lương hệ số 0.2 - ' . $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);
     $auth = Zend_Auth::getInstance();
     $identity = $auth->getIdentity();
     $my_id = $identity->em_id;
     $date = new Zend_Date();
     $date->subMonth(1);
     $thang = $this->_getParam('thang', $date->toString('M'));
     $nam = $this->_getParam('nam', $date->toString('Y'));
     $emModel = new Front_Model_Employees();
     $phongbanModel = new Front_Model_Phongban();
     $chucvuModel = new Front_Model_Chucvu();
     $hesocbModel = new Front_Model_HeSo();
     $hesoModel = new Front_Model_EmployeesHeso();
     $bangluongModel = new Front_Model_BangLuong();
     $danhgiaModel = new Front_Model_DanhGia();
     $lastHeSoLuong = $hesocbModel->fetchOneData(array('hs_ngay_bat_dau' => date("{$nam}-{$thang}-1")), 'hs_ngay_bat_dau DESC');
     $he_so_tang_them = 0.5;
     $he_so_phan_loai = array('O' => 0, 'A' => 1.2, 'B' => 1, 'C' => 0.8, 'D' => 0);
     $pb_selected = $this->_getParam('phongban', 0);
     $phong_ban_id = $list_phongban_selected = $phong_ban = array();
     $phong_ban_id[] = $pb_selected;
     $list_phongban_selected = $phongbanModel->fetchDataStatus($pb_selected, $phong_ban);
     $list_chuc_vu = $chucvuModel->fetchAll();
     $list_nhan_vien = $phong_ban_options = array();
     $list_phong_ban_option = $phongbanModel->fetchData(0, $phong_ban_options);
     if (sizeof($list_phongban_selected)) {
         foreach ($list_phongban_selected as $phong_ban_info) {
             $phong_ban_id[] = $phong_ban_info->pb_id;
         }
     }
     $phong_ban_id = implode(',', $phong_ban_id);
     if ($pb_selected) {
         $list_nhan_vien = $emModel->fetchAll("em_phong_ban in ({$phong_ban_id}) and em_status=1");
     }
     if ($this->_request->isPost()) {
         $item = $this->getRequest()->getPost('cid');
         foreach ($item as $k => $v) {
             $bang_luong = $bangluongModel->fetchByDate($v, "{$nam}-{$thang}-01 00:00:00", "{$nam}-{$thang}-31 23:59:59");
             if ($bang_luong && $bang_luong->bl_tong_he_so > 0) {
                 $luong_toi_thieu = $bang_luong->bl_luong_toi_thieu;
                 //luong co ban
                 $tong_hs_luong_pc = $bang_luong->bl_tong_he_so;
                 $tam_chi_dau_vao = $tong_hs_luong_pc * $luong_toi_thieu * 0.5;
                 $data = array('bl_ptccb_id' => $my_id, 'bl_tam_chi_dau_vao_02' => $tam_chi_dau_vao, 'bl_02' => 1);
                 $bl_id = $bang_luong->bl_id;
                 $bangluongModel->update($data, "bl_id={$bl_id}");
             }
         }
     }
     $this->view->list_nhan_vien = $list_nhan_vien;
     $this->view->thang = $thang;
     $this->view->nam = $nam;
     $this->view->pb_id = $pb_selected;
     $this->view->list_phong_ban_option = $list_phong_ban_option;
     $this->view->list_chuc_vu = $list_chuc_vu;
 }
 public function intheophongAction()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'In lươ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 = time();
     $thang = $this->_getParam('thang', date('m', $date));
     $nam = $this->_getParam('nam', date('Y', $date));
     $emModel = new Front_Model_Employees();
     $phongbanModel = new Front_Model_Phongban();
     $chucvuModel = new Front_Model_Chucvu();
     $pb_selected = $this->_getParam('phongban', 0);
     $phong_ban_id = $list_phongban_selected = $phong_ban = array();
     $phong_ban_id[] = $pb_selected;
     $list_phongban_selected = $phongbanModel->fetchDataStatus($pb_selected, $phong_ban);
     $list_chuc_vu = $chucvuModel->fetchAll();
     $phong_ban_options = array();
     $list_phong_ban_option = $phongbanModel->fetchData(0, $phong_ban_options);
     if (sizeof($list_phongban_selected)) {
         foreach ($list_phongban_selected as $phong_ban_info) {
             $phong_ban_id[] = $phong_ban_info->pb_id;
         }
     }
     $phong_ban_id = implode(',', $phong_ban_id);
     $list_nhan_vien = $emModel->fetchAll("em_phong_ban in ({$phong_ban_id}) and em_status=1");
     $this->view->list_nhan_vien = $list_nhan_vien;
     $this->view->thang = $thang;
     $this->view->nam = $nam;
     $this->view->pb_id = $pb_selected;
     $this->view->list_phong_ban_option = $list_phong_ban_option;
     $this->view->list_chuc_vu = $list_chuc_vu;
 }
 public function heso02Action()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'In lương hệ số 0.2 - ' . $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"));
     $emModel = new Front_Model_Employees();
     $phongbanModel = new Front_Model_Phongban();
     $chucvuModel = new Front_Model_Chucvu();
     $heso02Model = new Front_Model_HeSo02();
     $check_he_so_02 = $heso02Model->fetchRow("nam={$nam}");
     $pb_selected = $this->_getParam('phongban', 0);
     $phong_ban_id = $list_phongban_selected = $phong_ban = array();
     $phong_ban_id[] = $pb_selected;
     $list_phongban_selected = $phongbanModel->fetchDataStatus($pb_selected, $phong_ban);
     $list_chuc_vu = $chucvuModel->fetchAll();
     $phong_ban_options = array();
     $list_phong_ban_option = $phongbanModel->fetchData(0, $phong_ban_options);
     if (sizeof($list_phongban_selected)) {
         foreach ($list_phongban_selected as $phong_ban_info) {
             $phong_ban_id[] = $phong_ban_info->pb_id;
         }
     }
     $phong_ban_id = implode(',', $phong_ban_id);
     $list_nhan_vien = $emModel->fetchAll("em_phong_ban in ({$phong_ban_id}) and em_status=1");
     $this->view->list_nhan_vien = $list_nhan_vien;
     $this->view->thang = $thang;
     $this->view->nam = $nam;
     $this->view->pb_id = $pb_selected;
     $this->view->list_phong_ban_option = $list_phong_ban_option;
     $this->view->list_chuc_vu = $list_chuc_vu;
     if (!$check_he_so_02) {
         $this->_helper->viewRenderer->setRender('loi02');
     }
 }