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); }