public function viewCheckLeTet($day = 0, $month = 0, $year = 0)
 {
     $letetModel = new Front_Model_NghiLe();
     $check_le_tet = $letetModel->fetchRowByDate("{$year}-{$month}-{$day} 00:00:00");
     if ($check_le_tet) {
         return true;
     }
     return false;
 }
 public function exelthongkeAction()
 {
     $inputFileName = APPLICATION_PATH . "/../tmp/Mau_Thong_Ke_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);
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'Thống kê - ' . $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"));
     $pb_selected = $this->_getParam('phongban', 0);
     $days_in_month = cal_days_in_month(0, (int) $thang, (int) $nam);
     $emModel = new Front_Model_Employees();
     $phongbanModel = new Front_Model_Phongban();
     $chamcongModel = new Front_Model_ChamCong();
     $letetModel = new Front_Model_NghiLe();
     $lamthemgioModel = new Front_Model_LamThemGio();
     $list_lam_them = $lamthemgioModel->fetchByMonth($nam, $thang);
     $check_le_tet = $letetModel->fetchByMonth($nam, $thang);
     $le_tet_array = array();
     foreach ($check_le_tet as $le_tet) {
         $ngay_ket_thuc = new Zend_Date($le_tet->nn_den_ngay);
         $ngay_bat_dau = new Zend_Date($le_tet->nn_tu_ngay);
         for ($n = 1; $n <= $days_in_month; $n++) {
             $date_check = new Zend_Date("{$nam}-{$thang}-{$n}");
             if ($date_check >= $ngay_bat_dau && $date_check <= $ngay_ket_thuc) {
                 $le_tet_array[$n] = 1;
             }
         }
     }
     $list_cham_cong = $chamcongModel->fetchByMonth($nam, $thang);
     $cham_cong_array = array();
     foreach ($list_cham_cong as $cham_cong_info) {
         $cham_cong_array[$cham_cong_info->c_em_id] = $cham_cong_info;
     }
     $phong_ban_id = $list_phongban = $phong_ban = array();
     $phong_ban_id[] = $pb_selected;
     $pb_selected_info = $phongbanModel->fetchRow('pb_id=' . $pb_selected);
     if ($pb_selected_info) {
         $phong_ban[] = $pb_selected_info;
     }
     $list_phongban = $phongbanModel->fetchDataStatus($pb_selected, $phong_ban);
     if (sizeof($list_phongban)) {
         foreach ($list_phongban 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");
     $holidaysModel = new Front_Model_Holidays();
     $holidays = $holidaysModel->fetchData();
     $listHoliday = array();
     foreach ($holidays as $holiday) {
         $listHoliday[$holiday['hld_id']] = array('code' => $holiday['hld_code'], 'ngay_cong' => $holiday['hld_ngay_cong']);
     }
     $objPHPExcel->getActiveSheet()->SetCellValue('A4', 'BẢNG CHẤM CÔNG LÀM THÊM GIỜ THÁNG ' . $thang . ' NĂM ' . $nam);
     $day_key[1] = 'C';
     $day_key[2] = 'D';
     $day_key[3] = 'E';
     $day_key[4] = 'F';
     $day_key[5] = 'G';
     $day_key[6] = 'H';
     $day_key[7] = 'I';
     $day_key[8] = 'J';
     $day_key[9] = 'K';
     $day_key[10] = 'L';
     $day_key[11] = 'M';
     $day_key[12] = 'N';
     $day_key[13] = 'O';
     $day_key[14] = 'P';
     $day_key[15] = 'Q';
     $day_key[16] = 'R';
     $day_key[17] = 'S';
     $day_key[18] = 'T';
     $day_key[19] = 'U';
     $day_key[20] = 'V';
     $day_key[21] = 'W';
     $day_key[22] = 'X';
     $day_key[23] = 'Y';
     $day_key[24] = 'Z';
     $day_key[25] = 'AA';
     $day_key[26] = 'AB';
     $day_key[27] = 'AC';
     $day_key[28] = 'AD';
     $day_key[29] = 'AE';
     $day_key[30] = 'AF';
     $day_key[31] = 'AG';
     if ($list_nhan_vien) {
         $k = 1;
         foreach ($list_phongban as $phong_ban_info) {
             $k++;
             $objPHPExcel->setActiveSheetIndex(0)->mergeCells("A" . ($k + 6) . ":AL" . ($k + 6));
             $objPHPExcel->getActiveSheet()->getStyle("A" . ($k + 6))->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => 'F28A8C')));
             $objPHPExcel->getActiveSheet()->SetCellValue('A' . ($k + 6), $phong_ban_info->pb_name);
             $objPHPExcel->getActiveSheet()->getStyle('A' . ($k + 6))->applyFromArray($styleArray);
             foreach ($list_nhan_vien as $nhan_vien) {
                 if ($phong_ban_info->pb_id == $nhan_vien->em_phong_ban) {
                     $so_gio_lam_le_tet = $so_phut_lam_le_tet = 0;
                     $so_gio_lam_thu_7_cn = $so_phut_lam_thu_7_cn = 0;
                     $k++;
                     $cham_cong = null;
                     if ($cham_cong_array[$nhan_vien->em_id]) {
                         $cham_cong = $cham_cong_array[$nhan_vien->em_id];
                         for ($d = 1; $d <= $days_in_month; $d++) {
                             $check_gio_lam_them = $this->view->viewGetGioLamThem($nhan_vien->em_id, $d, $thang, $nam);
                             if ($check_gio_lam_them) {
                                 if ($le_tet_array[$d]) {
                                     $so_gio_lam_le_tet += $check_gio_lam_them['gio'];
                                     $so_phut_lam_le_tet += $check_gio_lam_them['phut'];
                                 } elseif ($this->view->viewCheckChuNhatThuBay($d, (int) $thang, (int) $nam)) {
                                     $so_gio_lam_thu_7_cn += $check_gio_lam_them['gio'];
                                     $so_phut_lam_thu_7_cn += $check_gio_lam_them['phut'];
                                 }
                             }
                         }
                     }
                     $doi_gio_thu_7 = floor($so_phut_lam_thu_7_cn / 60);
                     $so_phut_lam_thu_7_cn = $so_phut_lam_thu_7_cn % 60;
                     $so_gio_lam_thu_7_cn += $doi_gio_thu_7;
                     $doi_gio_le_tet = floor($so_phut_lam_le_tet / 60);
                     $so_phut_lam_le_tet = $so_phut_lam_le_tet % 60;
                     $so_gio_lam_le_tet += $doi_gio_le_tet;
                     $objPHPExcel->getActiveSheet()->SetCellValue('A' . ($k + 6), $k);
                     $objPHPExcel->getActiveSheet()->SetCellValue('B' . ($k + 6), $nhan_vien->em_ho . ' ' . $nhan_vien->em_ten);
                     if ($cham_cong) {
                         $objPHPExcel->getActiveSheet()->SetCellValue('C' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_1]) ? $listHoliday[$cham_cong->c_ngay_1]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('D' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_2]) ? $listHoliday[$cham_cong->c_ngay_2]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('E' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_3]) ? $listHoliday[$cham_cong->c_ngay_3]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('F' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_4]) ? $listHoliday[$cham_cong->c_ngay_4]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('G' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_5]) ? $listHoliday[$cham_cong->c_ngay_5]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('H' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_6]) ? $listHoliday[$cham_cong->c_ngay_6]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('I' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_7]) ? $listHoliday[$cham_cong->c_ngay_7]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('J' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_8]) ? $listHoliday[$cham_cong->c_ngay_8]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('K' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_9]) ? $listHoliday[$cham_cong->c_ngay_9]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('L' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_10]) ? $listHoliday[$cham_cong->c_ngay_10]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('M' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_11]) ? $listHoliday[$cham_cong->c_ngay_11]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('N' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_12]) ? $listHoliday[$cham_cong->c_ngay_12]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('O' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_13]) ? $listHoliday[$cham_cong->c_ngay_13]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('P' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_14]) ? $listHoliday[$cham_cong->c_ngay_14]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('Q' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_15]) ? $listHoliday[$cham_cong->c_ngay_15]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('R' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_16]) ? $listHoliday[$cham_cong->c_ngay_16]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('S' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_17]) ? $listHoliday[$cham_cong->c_ngay_17]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('T' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_18]) ? $listHoliday[$cham_cong->c_ngay_18]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('U' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_19]) ? $listHoliday[$cham_cong->c_ngay_19]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('V' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_20]) ? $listHoliday[$cham_cong->c_ngay_20]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('W' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_21]) ? $listHoliday[$cham_cong->c_ngay_21]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('X' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_22]) ? $listHoliday[$cham_cong->c_ngay_22]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('Y' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_23]) ? $listHoliday[$cham_cong->c_ngay_23]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('Z' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_24]) ? $listHoliday[$cham_cong->c_ngay_24]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('AA' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_25]) ? $listHoliday[$cham_cong->c_ngay_25]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('AB' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_26]) ? $listHoliday[$cham_cong->c_ngay_26]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('AC' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_27]) ? $listHoliday[$cham_cong->c_ngay_27]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('AD' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_28]) ? $listHoliday[$cham_cong->c_ngay_28]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('AE' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_29]) ? $listHoliday[$cham_cong->c_ngay_29]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('AF' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_30]) ? $listHoliday[$cham_cong->c_ngay_30]['code'] : '');
                         $objPHPExcel->getActiveSheet()->SetCellValue('AG' . ($k + 6), !empty($listHoliday[$cham_cong->c_ngay_31]) ? $listHoliday[$cham_cong->c_ngay_31]['code'] : '');
                     }
                     $objPHPExcel->getActiveSheet()->SetCellValue('AI' . ($k + 6), $so_gio_lam_thu_7_cn . ':' . $so_phut_lam_thu_7_cn);
                     $objPHPExcel->getActiveSheet()->SetCellValue('AJ' . ($k + 6), $so_gio_lam_le_tet . ':' . $so_phut_lam_le_tet);
                     for ($l = 1; $l <= 31; $l++) {
                         if ($this->view->viewCheckChuNhatThuBay($l, $thang, $nam)) {
                             $objPHPExcel->getActiveSheet()->getStyle($day_key[$l] . ($k + 6))->getFill()->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID, 'startcolor' => array('rgb' => 'DDDDDD')));
                         }
                     }
                     $objPHPExcel->getActiveSheet()->getStyle('A' . ($k + 6) . ':AL' . ($k + 6))->applyFromArray($styleArray);
                 }
             }
         }
         $loop_day = 31 - $days_in_month;
         for ($a = 1; $a <= $loop_day; $a++) {
             $col_num = 33 - $a;
             $objPHPExcel->getActiveSheet()->removeColumnByIndex($col_num);
         }
         $k += 5;
         foreach ($holidays as $holiday) {
             $k++;
             $objPHPExcel->getActiveSheet()->SetCellValue('B' . ($k + 7), $holiday['hld_name']);
             $objPHPExcel->getActiveSheet()->SetCellValue('C' . ($k + 7), $holiday['hld_code']);
             $objPHPExcel->getActiveSheet()->getStyle('B' . ($k + 7) . ':C' . ($k + 7))->applyFromArray($styleArray);
         }
         if ($k) {
             $objPHPExcel->getActiveSheet()->setTitle('Thống kê chấm công');
             $file_name = 'Thong_ke_thang_' . $thang . '-' . $nam . '.xls';
             header('Content-Type: application/vnd.ms-excel');
             header('Content-Disposition: attachment;filename="' . $file_name . '"');
             header('Cache-Control: max-age=0');
             $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
             $objWriter->save('php://output');
             die;
         } else {
             $this->_helper->viewRenderer->setRender('loi');
         }
     } else {
         $this->_helper->viewRenderer->setRender('loi');
     }
 }
 function deleteitemsAction()
 {
     $this->_helper->layout()->disableLayout();
     $nghileModel = new Front_Model_NghiLe();
     if ($this->_request->isPost()) {
         $item = $this->getRequest()->getPost('cid');
         foreach ($item as $k => $v) {
             $nghileModel->delete('nn_id=' . $v);
         }
     }
     $this->_redirect('hethong/nghile/index/page/' . $this->_page);
 }