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