コード例 #1
0
 public function viewGetGioLamThem($em_id, $ngay, $thang, $nam)
 {
     if ($em_id) {
         $lamthemgioModel = new Front_Model_LamThemGio();
         $lam_them_gio = $lamthemgioModel->fetchRowByDate($em_id, "{$nam}-{$thang}-{$ngay} 00:00:00", "{$nam}-{$thang}-{$ngay} 23:59:59", 1, 1);
         if ($lam_them_gio) {
             $tong_gio = 0;
             $tong_phut = 0;
             if ($lam_them_gio->ltg_gio_bat_dau) {
                 $tong_gio += $lam_them_gio->ltg_gio_ket_thuc - $lam_them_gio->ltg_gio_bat_dau;
                 if ($lam_them_gio->ltg_phut_ket_thuc < $lam_them_gio->ltg_phut_bat_dau) {
                     $tong_gio--;
                     $tong_phut += $lam_them_gio->ltg_phut_bat_dau - $lam_them_gio->ltg_phut_ket_thuc;
                 } else {
                     $tong_phut += $lam_them_gio->ltg_phut_ket_thuc - $lam_them_gio->ltg_phut_bat_dau;
                 }
             }
             if ($lam_them_gio->ltg_gio_bat_dau_chieu) {
                 $tong_gio += $lam_them_gio->ltg_gio_ket_thuc_chieu - $lam_them_gio->ltg_gio_bat_dau_chieu;
                 if ($lam_them_gio->ltg_phut_ket_thuc_chieu < $lam_them_gio->ltg_phut_bat_dau_chieu) {
                     $tong_gio--;
                     $tong_phut += $lam_them_gio->ltg_phut_bat_dau_chieu - $lam_them_gio->ltg_phut_ket_thuc_chieu;
                 } else {
                     $tong_phut += $lam_them_gio->ltg_phut_ket_thuc_chieu - $lam_them_gio->ltg_phut_bat_dau_chieu;
                 }
             }
             if ($tong_phut >= 60) {
                 $tong_gio++;
                 $tong_phut = $tong_phut - 60;
             }
             return array('gio' => $tong_gio, 'phut' => $tong_phut);
         }
         return false;
     }
     return false;
 }
コード例 #2
0
 public function indexAction()
 {
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'In khai báo làm thêm giờ - ' . $translate->_('TEXT_DEFAULT_TITLE');
     $this->view->headTitle($this->view->title);
     $layoutPath = APPLICATION_PATH . '/templates/' . TEMPLATE_USED;
     $option = array('layout' => 'donvi/layout', 'layoutPath' => $layoutPath);
     Zend_Layout::startMvc($option);
     $auth = Zend_Auth::getInstance();
     $identity = $auth->getIdentity();
     $em_id = $identity->em_id;
     $date = new Zend_Date();
     $ngay = $this->_getParam('ngay', $date->toString('d'));
     $thang = $this->_getParam('thang', $date->toString('M'));
     $nam = $this->_getParam('nam', $date->toString('Y'));
     $ltg_date = $ngay . '/' . $thang . '/' . $nam;
     $emModel = new Front_Model_Employees();
     $phongbanModel = new Front_Model_Phongban();
     $ltgModel = new Front_Model_LamThemGio();
     if ($this->_request->isPost()) {
         $inputFileName = APPLICATION_PATH . "/../tmp/MAU_LAM_THEM_GIO.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('A6', "(Ngày {$ltg_date})");
         $item = $this->getRequest()->getPost('cid');
         $k = 8;
         foreach ($item as $v) {
             $ltg = $ltgModel->fetchRow('ltg_id=' . $v);
             if ($ltg) {
                 $k++;
                 $em_info = $this->view->viewGetEmployeeInfo($ltg->ltg_em_id);
                 $objPHPExcel->getActiveSheet()->SetCellValue('A' . $k, $k - 8);
                 $objPHPExcel->getActiveSheet()->SetCellValue('B' . $k, $em_info->em_ho . ' ' . $em_info->em_ten);
                 $objPHPExcel->getActiveSheet()->SetCellValue('C' . $k, strip_tags($ltg->ltg_chi_tiet));
                 $objPHPExcel->getActiveSheet()->getStyle('C' . $k)->getAlignment()->setWrapText(true);
                 $tong_gio = 0;
                 $tong_phut = 0;
                 if ($ltg->ltg_gio_bat_dau) {
                     $tong_gio += $ltg->ltg_gio_ket_thuc - $ltg->ltg_gio_bat_dau;
                     if ($ltg->ltg_phut_ket_thuc < $ltg->ltg_phut_bat_dau) {
                         $tong_gio--;
                         $tong_phut += $ltg->ltg_phut_bat_dau - $ltg->ltg_phut_ket_thuc;
                     } else {
                         $tong_phut += $ltg->ltg_phut_ket_thuc - $ltg->ltg_phut_bat_dau;
                     }
                 }
                 if ($ltg->ltg_gio_bat_dau_chieu) {
                     $tong_gio += $ltg->ltg_gio_ket_thuc_chieu - $ltg->ltg_gio_bat_dau_chieu;
                     if ($ltg->ltg_phut_ket_thuc_chieu < $ltg->ltg_phut_bat_dau_chieu) {
                         $tong_gio--;
                         $tong_phut += $ltg->ltg_phut_bat_dau_chieu - $ltg->ltg_phut_ket_thuc_chieu;
                     } else {
                         $tong_phut += $ltg->ltg_phut_ket_thuc_chieu - $ltg->ltg_phut_bat_dau_chieu;
                     }
                 }
                 if ($tong_phut >= 60) {
                     $tong_gio++;
                     $tong_phut = $tong_phut - 60;
                 }
                 $str_gio_bat_dau = '';
                 if ($ltg->ltg_gio_bat_dau && $ltg->ltg_gio_bat_dau_chieu) {
                     $str_gio_bat_dau = $ltg->ltg_gio_bat_dau . ":" . $ltg->ltg_phut_bat_dau . "\n" . $ltg->ltg_gio_bat_dau_chieu . ":" . $ltg->ltg_phut_bat_dau_chieu;
                 } elseif ($ltg->ltg_gio_bat_dau) {
                     $str_gio_bat_dau = $ltg->ltg_gio_bat_dau . ':' . $ltg->ltg_phut_bat_dau;
                 } elseif ($ltg->ltg_gio_bat_dau_chieu) {
                     $str_gio_bat_dau = $ltg->ltg_gio_bat_dau_chieu . ':' . $ltg->ltg_phut_bat_dau_chieu;
                 }
                 $str_gio_key_thuc = '';
                 if ($ltg->ltg_gio_ket_thuc && $ltg->ltg_gio_ket_thuc_chieu) {
                     $str_gio_key_thuc = $ltg->ltg_gio_ket_thuc . ":" . $ltg->ltg_phut_ket_thuc . "\n" . $ltg->ltg_gio_ket_thuc_chieu . ":" . $ltg->ltg_phut_ket_thuc_chieu;
                 } elseif ($ltg->ltg_gio_ket_thuc) {
                     $str_gio_key_thuc = $ltg->ltg_gio_ket_thuc . ':' . $ltg->ltg_phut_ket_thuc;
                 } elseif ($ltg->ltg_gio_ket_thuc_chieu) {
                     $str_gio_key_thuc = $ltg->ltg_gio_ket_thuc_chieu . ':' . $ltg->ltg_phut_ket_thuc_chieu;
                 }
                 $objPHPExcel->getActiveSheet()->getCell('D' . $k)->setValue($str_gio_bat_dau);
                 $objPHPExcel->getActiveSheet()->getStyle('D' . $k)->getAlignment()->setWrapText(true);
                 $objPHPExcel->getActiveSheet()->getCell('E' . $k)->setValue($str_gio_key_thuc);
                 $objPHPExcel->getActiveSheet()->getStyle('E' . $k)->getAlignment()->setWrapText(true);
                 $objPHPExcel->getActiveSheet()->getCell('F' . $k)->setValue($tong_gio . ':' . $tong_phut);
                 $objPHPExcel->getActiveSheet()->getStyle('A' . $k . ':G' . $k)->applyFromArray($styleArray);
             }
         }
         $objPHPExcel->getActiveSheet()->setTitle('Làm thêm giờ');
         $file_name = 'Lam_Them_Gio_' . $ngay . '-' . $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;
     }
     $my_info = $emModel->fetchRow('em_id=' . $em_id . ' and em_status=1');
     $phong_ban_id = $list_phongban = $phong_ban = array();
     if ($my_info) {
         $phong_ban_id[] = $my_info->em_phong_ban;
         $list_phongban = $phongbanModel->fetchDataStatus($my_info->em_phong_ban, $phong_ban);
     }
     if (sizeof($list_phongban)) {
         foreach ($list_phongban as $phong_ban_info) {
             $phong_ban_id[] = $phong_ban_info->pb_parent;
         }
     }
     $phong_ban_id = implode(',', $phong_ban_id);
     $list_nhan_vien = $emModel->fetchAll("em_phong_ban in ({$phong_ban_id}) and em_status=1");
     $list_nhan_vien_id = array();
     foreach ($list_nhan_vien as $nhan_vien) {
         $list_nhan_vien_id[] = $nhan_vien->em_id;
     }
     $list_lam_them_gio = $ltgModel->fetchByDate($list_nhan_vien_id, "{$nam}-{$thang}-{$ngay} 00:00:00", "{$nam}-{$thang}-{$ngay} 23:59:59");
     $this->view->lam_them_gio = $list_lam_them_gio;
     $this->view->ltg_date = $ltg_date;
     $this->view->ngay = $ngay;
     $this->view->thang = $thang;
     $this->view->nam = $nam;
 }
コード例 #3
0
 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');
     }
 }
コード例 #4
0
 public function updatestatusAction()
 {
     $this->_helper->layout()->disableLayout();
     $xnp_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 ($xnp_status > 1) {
         $xnp_status = 1;
     }
     if ($xnp_status <= 0) {
         $xnp_status = 0;
     }
     $ltgModel = new Front_Model_LamThemGio();
     if ($this->_request->isPost()) {
         $item = $this->getRequest()->getPost('cid');
         foreach ($item as $k => $v) {
             $row_content = $ltgModel->fetchRow("ltg_id ={$v}");
             if ($row_content && $row_content->ltg_don_vi_status > 0) {
                 $process_status = $ltgModel->update(array('ltg_tccb_status' => $xnp_status), "ltg_id={$v}");
                 if ($process_status) {
                     $thongbao_model = new Front_Model_ThongBao();
                     $row_content = $ltgModel->fetchRow(array('ltg_id' => $v));
                     $data = array();
                     $data['tb_from'] = 0;
                     $data['tb_to'] = $row_content->ltg_em_id;
                     $data['tb_tieu_de'] = '[Làm thêm giờ] Khai báo làm thêm giờ đã được duyệt.';
                     $data['tb_noi_dung'] = 'Khai báo làm thêm giờ của bạn đã được duyệt.<br> Ngày: ' . date('d-m-Y', strtotime($row_content->ltg_ngay)) . '<br> Giờ bắt đầu: ' . $row_content->ltg_gio_bat_dau . ':' . $row_content->ltg_phut_bat_dau . ' <br> Giờ kết thúc: ' . $row_content->ltg_gio_ket_thuc . ':' . $row_content->ltg_phut_ket_thuc;
                     $data['tb_status'] = 0;
                     $data['tb_date_added'] = $current_time;
                     $data['tb_date_modified'] = $current_time;
                     if (!$xnp_status) {
                         $data['tb_tieu_de'] = '[Làm thêm giờ] Khai báo làm thêm giờ đã không được chấp nhận.';
                         $data['tb_noi_dung'] = 'Khai báo làm thêm giờ của bạn đã không được duyệt.<br> Ngày: ' . date('d-m-Y', strtotime($row_content->ltg_ngay)) . '<br> Giờ bắt đầu: ' . $row_content->ltg_gio_bat_dau . ':' . $row_content->ltg_phut_bat_dau . ' <br> Giờ kết thúc: ' . $row_content->ltg_gio_ket_thuc . ':' . $row_content->ltg_phut_ket_thuc;
                     }
                     $thongbao_model->insert($data);
                 }
             }
         }
     }
     $this->_redirect('taivu/duyetthemgio/index/thang/' . $thang . '/nam/' . $nam . '/phongban/' . $phongban);
 }
コード例 #5
0
 function deleteAction()
 {
     $this->_helper->layout()->disableLayout();
     $ltgmodel = new Front_Model_LamThemGio();
     if ($this->_request->isPost()) {
         $auth = Zend_Auth::getInstance();
         $identity = $auth->getIdentity();
         $em_id = $identity->em_id;
         $ltg_id = $this->_arrParam['ltg_id'];
         $ltg_info = $ltgmodel->fetchRow($ltgmodel->select()->where('ltg_id = ?', $ltg_id)->where('ltg_em_id=?', $em_id)->where('ltg_don_vi_status=?', '-1')->where('ltg_tccb_status=?', '-1'));
         if ($ltg_info) {
             $success_message = $ltgmodel->delete(array('ltg_id' => $ltg_id));
             $this->view->success_message = $success_message;
         }
     }
 }
コード例 #6
0
 public function updatestatusAction()
 {
     $this->_helper->layout()->disableLayout();
     $xnp_status = $this->_request->getParam('status', 0);
     $thang = $this->_request->getParam('thang', 0);
     $nam = $this->_request->getParam('nam', 0);
     if ($xnp_status > 1) {
         $xnp_status = 1;
     }
     if ($xnp_status < 0) {
         $xnp_status = -1;
     }
     $ltgModel = new Front_Model_LamThemGio();
     if ($this->_request->isPost()) {
         $item = $this->getRequest()->getPost('cid');
         foreach ($item as $k => $v) {
             $ltgModel->update(array('ltg_don_vi_status' => $xnp_status), "ltg_id={$v} and ltg_tccb_status<0");
         }
     }
     $this->_redirect('donvi/duyetthemgio/index/thang/' . $thang . '/nam/' . $nam);
 }
コード例 #7
0
 public function thongkeAction()
 {
     $layoutPath = APPLICATION_PATH . '/templates/' . TEMPLATE_USED;
     $option = array('layout' => '1_column/layout', 'layoutPath' => $layoutPath);
     Zend_Layout::startMvc($option);
     $translate = Zend_Registry::get('Zend_Translate');
     $this->view->title = 'Quản lý cán bộ - ' . $translate->_('TEXT_DEFAULT_TITLE');
     $this->view->headTitle($this->view->title);
     $date = time();
     $thang = $this->_getParam('thang', date('m', $date));
     $nam = $this->_getParam('nam', date('Y', $date));
     $em_id = $this->_getParam('id', 0);
     $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));
     $khenthuongModel = new Front_Model_KhenThuong();
     $khen_thuong = $khenthuongModel->fetchByDate($em_id, "{$nam}-{$thang}-01 00:00:00", "{$nam}-{$thang}-31 23:59:59");
     $kyluatModel = new Front_Model_KyLuat();
     $ky_luat = $kyluatModel->fetchByDate($em_id, "{$nam}-{$thang}-01 00:00:00", "{$nam}-{$thang}-31 23:59:59");
     $ltgModel = new Front_Model_LamThemGio();
     $list_lam_them_gio = $ltgModel->fetchData(array('ltg_em_id' => $em_id), 'ltg_date_added ASC');
     $this->view->cham_cong = $cham_cong;
     $this->view->thang = $thang;
     $this->view->nam = $nam;
     $this->view->list_holidays = $list_holidays;
     $this->view->list_nghi_phep = $list_nghi_phep;
     $this->view->khen_thuong = $khen_thuong;
     $this->view->ky_luat = $ky_luat;
     $this->view->em_id = $em_id;
     $this->view->list_lam_them_gio = $list_lam_them_gio;
     $this->view->page = $this->_page;
 }