public function hesoAction() { $this->_helper->layout()->disableLayout(); $date = time(); $thang = $this->_getParam('thang', date('m', $date)); $nam = $this->_getParam('nam', date('Y', $date)); $em_id = $this->_getParam('id', 0); $emModel = new Front_Model_Employees(); $em_info = $emModel->fetchRow("em_id={$em_id}"); $hesoModel = new Front_Model_EmployeesHeso(); $bacluongModel = new Front_Model_BacLuong(); $he_so = $hesoModel->getCurrentHeSo($thang, $nam, $em_id); $bac_luong = $bacluongModel->fetchAll('bl_status=1', 'bl_order ASC'); $error_message = array(); $success_message = ''; if ($this->_request->isPost()) { $update_em_id = $this->_request->getParam('pc_cap_nhat_em_id', 0); $eh_loai_luong = $this->_request->getParam('eh_loai_luong', 0); $eh_giai_doan = $this->_request->getParam('eh_giai_doan', 0); $eh_he_so = $this->_request->getParam('eh_he_so', 0); $eh_thang_dieu_chinh = $this->_request->getParam('eh_thang_dieu_chinh', 0); $eh_nam_dieu_chinh = $this->_request->getParam('eh_nam_dieu_chinh', 0); $eh_bac_luong = $this->_request->getParam('eh_bac_luong', 0); $eh_thang_ap_dung = $this->_request->getParam('eh_thang_ap_dung', 0); $eh_nam_ap_dung = $this->_request->getParam('eh_nam_ap_dung', 0); if (!$eh_bac_luong) { $error_message = array('Bạn phải chọn bậc lương.'); } if (!is_numeric($eh_he_so)) { $error_message = array('Hệ số phải có dạng số.'); } if (!sizeof($error_message)) { if ($em_id != $update_em_id) { $error_message = array('Có lỗi xảy ra, xin hãy tắt form này và mở lại.'); } else { $current_time = new Zend_Db_Expr('NOW()'); $date_dieu_chinh = date_create($eh_nam_dieu_chinh . '-' . $eh_thang_dieu_chinh . '-1'); $date_ap_dung = date_create($eh_nam_ap_dung . '-' . $eh_thang_ap_dung . '-1'); $data = array('eh_loai_luong' => $eh_loai_luong, 'eh_giai_doan' => $eh_giai_doan, 'eh_bac_luong' => $eh_bac_luong, 'eh_he_so' => $eh_he_so, 'eh_date_modified' => $current_time, 'eh_han_dieu_chinh' => date_format($date_dieu_chinh, "Y-m-d H:iP")); $he_so = $hesoModel->checkHeSo($eh_thang_ap_dung, $eh_nam_ap_dung, $em_id); if (!$he_so) { $data['eh_em_id'] = $update_em_id; $data['eh_date_added'] = $current_time; $data['eh_han_ap_dung'] = date_format($date_ap_dung, "Y-m-d H:iP"); $hesoModel->insert($data); $he_so_id = $hesoModel->getAdapter()->lastInsertId(); } else { $he_so_id = $he_so->eh_id; $hesoModel->update($data, "eh_id={$he_so_id}"); } $he_so = $hesoModel->fetchRow("eh_id={$he_so_id}"); $success_message = 'Đã cập nhật thông tin thành công.'; } } } $this->view->error_message = $error_message; $this->view->success_message = $success_message; $this->view->he_so = $he_so; $this->view->bac_luong = $bac_luong; $this->view->em_id = $em_id; $this->view->em_info = $em_info; }
public function xuatAction() { $inputFileName = APPLICATION_PATH . "/../tmp/xuat_du_lieu.xlsx"; $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); $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("Bảng thông tin"); $objPHPExcel->getProperties()->setSubject("Bảng thông tin"); $objPHPExcel->getProperties()->setDescription("Bảng thông tin nhân viên - Cục Hải Quan Hà Tĩnh"); $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Lọc danh sách theo nghạch công chức - ' . $translate->_('TEXT_DEFAULT_TITLE'); $this->view->headTitle($this->view->title); $layoutPath = APPLICATION_PATH . '/templates/' . TEMPLATE_USED; $option = array('layout' => 'danhsach/layout', 'layoutPath' => $layoutPath); Zend_Layout::startMvc($option); $filter_selected = $this->_getParam('id', 0); $hesoModel = new Front_Model_EmployeesHeso(); $emModel = new Front_Model_Employees(); $filterModel = new Front_Model_NgachCongChuc(); $phucapModel = new Front_Model_EmployeesPhuCap(); $list_filters = $filterModel->fetchData(array('ncc_status' => 1)); $filters = array(); if ($filter_selected) { $filters['em_ngach_cong_chuc'] = $filter_selected; } $list_items = $emModel->getListNhanVienDanhSachTheoChucVu($filters); $date = time(); $thang = date('m', $date); $nam = date('Y', $date); $i = 4; if (sizeof($list_items)) { $stt = 1; foreach ($list_items as $item) { $time_tang_bac = 0; $em_he_so = $hesoModel->getCurrentHeSo($thang, $nam, $item->em_id); $em_phu_cap = $phucapModel->getCurrentHeSo($thang, $nam, $item->em_id); $objPHPExcel->setActiveSheetIndex(0); $ngach_cong_chuc = $this->view->viewGetNgachCongChuc($item->em_ngach_cong_chuc); $objPHPExcel->getActiveSheet()->SetCellValue('A' . $i, $stt); $objPHPExcel->getActiveSheet()->SetCellValue('B' . $i, $item->em_ho . ' ' . $item->em_ten); $objPHPExcel->getActiveSheet()->SetCellValue('C' . $i, $item->em_ho); $objPHPExcel->getActiveSheet()->SetCellValue('D' . $i, $item->em_ten); if ($item->em_gioi_tinh) { if ($item->em_ngay_sinh && $item->em_ngay_sinh != '' && $item->em_ngay_sinh != '0000-00-00 00:00:00') { $objPHPExcel->getActiveSheet()->SetCellValue('E' . $i, date('m/Y', strtotime($item->em_ngay_sinh))); } } else { if ($item->em_ngay_sinh && $item->em_ngay_sinh != '' && $item->em_ngay_sinh != '0000-00-00 00:00:00') { $objPHPExcel->getActiveSheet()->SetCellValue('F' . $i, date('m/Y', strtotime($item->em_ngay_sinh))); } } $objPHPExcel->getActiveSheet()->SetCellValue('G' . $i, $this->view->viewGetChucVuName($item->em_chuc_vu)); $objPHPExcel->getActiveSheet()->SetCellValue('H' . $i, $this->view->viewGetPhongBanName($item->em_phong_ban)); if ($ngach_cong_chuc) { $objPHPExcel->getActiveSheet()->SetCellValue('I' . $i, $ngach_cong_chuc->ncc_ma_ngach); $objPHPExcel->getActiveSheet()->SetCellValue('J' . $i, $ngach_cong_chuc->ncc_name); $time_tang_bac = $ngach_cong_chuc->ncc_nam_nang_bac; } if ($item->em_time_cong_tac && $item->em_time_cong_tac != '' && $item->em_time_cong_tac != '0000-00-00 00:00:00') { $objPHPExcel->getActiveSheet()->SetCellValue('L' . $i, date('m/Y', strtotime($item->em_time_cong_tac))); } foreach (unserialize($item->em_lich_su_dao_tao) as $item_daotao) { $objPHPExcel->getActiveSheet()->SetCellValue('M' . $i, $item_daotao['chuyen_nghanh']); $objPHPExcel->getActiveSheet()->SetCellValue('N' . $i, $item_daotao['ten_truong']); $objPHPExcel->getActiveSheet()->SetCellValue('O' . $i, $item_daotao['van_bang']); $objPHPExcel->getActiveSheet()->SetCellValue('P' . $i, $item_daotao['hinh_thuc']); } $objPHPExcel->getActiveSheet()->SetCellValue('Q' . $i, $this->view->viewGetQuanLyNhaNuocName($item->em_quan_ly_nha_nuoc)); $objPHPExcel->getActiveSheet()->SetCellValue('R' . $i, $this->view->viewGetLyLuanChinhTriName($item->em_ly_luan_chinh_tri)); if ($item->em_chuc_vu_dang) { $objPHPExcel->getActiveSheet()->SetCellValue('S' . $i, 'X'); } if ($em_he_so) { $bac_luong = $this->view->viewGetBacLuong($em_he_so->eh_bac_luong); if ($bac_luong) { $objPHPExcel->getActiveSheet()->SetCellValue('T' . $i, $bac_luong->bl_name); $objPHPExcel->getActiveSheet()->SetCellValue('W' . $i, date('1/m', strtotime($em_he_so->eh_han_dieu_chinh)) . (date('Y', strtotime($em_he_so->eh_han_dieu_chinh)) + $time_tang_bac)); } $objPHPExcel->getActiveSheet()->SetCellValue('U' . $i, $em_he_so->eh_he_so); if ($em_phu_cap) { $hs_pc_chuc_vu = $em_phu_cap->eh_pc_cong_viec; $hs_pc_tnvk_phan_tram = $em_phu_cap->eh_pc_tnvk_phan_tram; $he_so_luong = $em_he_so->eh_he_so; $hs_pc_tnvk = ($he_so_luong + $hs_pc_chuc_vu) * $hs_pc_tnvk_phan_tram / 100; if ($em_phu_cap->eh_tham_niem && $em_phu_cap->eh_tham_niem != '' && $em_phu_cap->eh_tham_niem != '0000-00-00 00:00:00') { $objPHPExcel->getActiveSheet()->SetCellValue('K' . $i, date('1/m/Y', strtotime($em_phu_cap->eh_tham_niem))); } if ($em_he_so->eh_han_dieu_chinh && $em_he_so->eh_han_dieu_chinh != '' && $em_he_so->eh_han_dieu_chinh != '0000-00-00 00:00:00') { $objPHPExcel->getActiveSheet()->SetCellValue('V' . $i, date('1/m/Y', strtotime($em_he_so->eh_han_dieu_chinh))); } $objPHPExcel->getActiveSheet()->SetCellValue('X' . $i, number_format($hs_pc_tnvk, 0, '.', ',')); } } $objPHPExcel->getActiveSheet()->SetCellValue('Y' . $i, $item->em_so_cong_chuc); $objPHPExcel->getActiveSheet()->SetCellValue('Z' . $i, $item->em_phone); $i++; $stt++; } header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="Bang_Thong_Tin_Nhan_Vien_Theo_Nghach_Cong_Chuc.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); die; } else { die('Không có dữ liệu nào'); } }
public function auto05Action() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Tinh lương hệ số 0.5 - ' . $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(); $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(); $phucapModel = new Front_Model_EmployeesPhuCap(); $bangluongModel = new Front_Model_BangLuong(); $lastHeSoLuong = $hesocbModel->fetchOneData(array('hs_ngay_bat_dau' => date("{$nam}-{$thang}-1")), 'hs_ngay_bat_dau DESC'); $he_so_tang_them = 0.5; $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) { $em_he_so = $hesoModel->getCurrentHeSo($thang, $nam, $v); $em_phu_cap = $phucapModel->getCurrentHeSo($thang, $nam, $v); $luong_toi_thieu = $lastHeSoLuong->hs_luong_co_ban; //luong co ban $giai_doan = $em_he_so->eh_giai_doan; //0: chinh thuc, 1: thu viec $loai_luong = $em_he_so->eh_loai_luong; //0: bien che, 1: hop dong $he_so_luong = $em_he_so->eh_he_so; $luong_thu_viec = 0; if ($giai_doan) { $luong_thu_viec = $lastHeSoLuong->hs_he_so_luong_thuc_tap; //so phan tram so voi luong chinh $he_so_luong = number_format($em_he_so->eh_he_so * (100 - $luong_thu_viec) / 100, 2); } $bhxh = $lastHeSoLuong->hs_bhxh > 0 ? $lastHeSoLuong->hs_bhxh : 0; //bao hiem xa hoi $bhyt = $lastHeSoLuong->hs_bhyt > 0 ? $lastHeSoLuong->hs_bhyt : 0; //bao hiem y te $hs_pc_chuc_vu = $em_phu_cap->eh_pc_cong_viec; //he so pc chuc vu $hs_pc_trach_nhiem = $em_phu_cap->eh_pc_trach_nhiem; //he so pc trach nhiem $hs_pc_khu_vuc = $em_phu_cap->eh_pc_kv; //he so pc khu vuc $hs_pc_tnvk_phan_tram = $em_phu_cap->eh_pc_tnvk_phan_tram; //he so pc tnvk $time_tham_niem = strtotime($em_phu_cap->eh_tham_niem); //tinh tham nien tu ngay $hs_pc_tham_nien_phan_tram = $em_phu_cap->eh_pc_tham_nien; $uu_dai_nghe = $em_phu_cap->eh_pc_udn_phan_tram; //he so pc uu dai nghe $cong_vu = $em_phu_cap->eh_pc_cong_vu_phan_tram; //he so pc cong vu $thu_hut = $em_phu_cap->eh_pc_thu_hut; //he so pc thu hut $kiem_nhiem = $em_phu_cap->eh_pc_kiem_nhiem; //he so pc kiem nhiem $hs_pc_khac = $em_phu_cap->eh_pc_khac; //he so pc khac $hs_pc_khac_type = $em_phu_cap->eh_pc_khac_type; //0: he so, 1: phan tram if (!$giai_doan && !$loai_luong) { $hs_pc_tnvk = ($he_so_luong + $hs_pc_chuc_vu) * $hs_pc_tnvk_phan_tram / 100; } else { $hs_pc_tnvk = $hs_pc_chuc_vu * $hs_pc_tnvk_phan_tram / 100; } if (!$giai_doan) { $hs_pc_tham_nien = ($he_so_luong + $hs_pc_chuc_vu + $hs_pc_tnvk) * $hs_pc_tham_nien_phan_tram / 100; } else { $hs_pc_tham_nien = ($hs_pc_chuc_vu + $hs_pc_tnvk) * $hs_pc_tham_nien_phan_tram / 100; } $hs_pc_uu_dai_nghe = ($he_so_luong + $hs_pc_chuc_vu + $hs_pc_tnvk) * $uu_dai_nghe / 100; $hs_pc_cong_vu = ($he_so_luong + $hs_pc_chuc_vu + $hs_pc_tnvk) * $cong_vu / 100; $hs_pc_thu_hut = ($he_so_luong + $hs_pc_chuc_vu + $hs_pc_tnvk) * $thu_hut / 100; if (!$giai_doan && !$loai_luong) { $hs_pc_kiem_nhiem = ($he_so_luong + $hs_pc_chuc_vu + $hs_pc_tnvk) * $kiem_nhiem / 100; } else { $hs_pc_kiem_nhiem = ($hs_pc_chuc_vu + $hs_pc_tnvk) * $kiem_nhiem / 100; } $hs_pc_khac_he_so = $hs_pc_khac; if ($hs_pc_khac_type) { $hs_pc_khac_he_so = $hs_pc_khac / 100; } $current_time = new Zend_Db_Expr('NOW()'); $data = array('bl_em_id' => $v, 'bl_ptccb_id' => $my_id, 'bl_luong_toi_thieu' => $luong_toi_thieu, 'bl_luong_thu_viec' => $luong_thu_viec, 'bl_giai_doan' => $giai_doan, 'bl_loai_luong' => $loai_luong, 'bl_bhxh' => $bhxh, 'bl_bhyt' => $bhyt, 'bl_tham_nien' => $hs_pc_tham_nien_phan_tram, 'bl_time_tham_nien' => date('Y-m-d', $time_tham_niem), 'bl_pc_kiem_nhiem' => $kiem_nhiem, 'bl_pc_tang_them' => $he_so_tang_them, 'bl_hs_luong' => $he_so_luong, 'bl_hs_pc_cong_viec' => $hs_pc_chuc_vu, 'bl_hs_pc_trach_nhiem' => $hs_pc_trach_nhiem, 'bl_hs_pc_khu_vuc' => $hs_pc_khu_vuc, 'bl_hs_pc_tnvk' => $hs_pc_tnvk_phan_tram, 'bl_hs_pc_udn' => $uu_dai_nghe, 'bl_hs_pc_cong_vu' => $cong_vu, 'bl_pc_thu_hut' => $thu_hut, 'bl_hs_pc_khac' => $hs_pc_khac, 'bl_pc_khac_type' => $hs_pc_khac_type, 'bl_date_modified' => $current_time, 'bl_date_added' => $current_time, 'bl_date' => "{$nam}-{$thang}-1"); $bangluongModel->insert($data); } } } $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; }