public function pdfthongkeAction() { $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')); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $emModel = new Front_Model_Employees(); $phongbanModel = new Front_Model_Phongban(); $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"); $holidaysModel = new Front_Model_Holidays(); $holidays = $holidaysModel->fetchData(); $listHoliday = array(); foreach ($holidays as $holiday) { $listHoliday[$holiday['hld_id']] = $holiday['hld_code']; } $k = 0; if ($list_nhan_vien) { $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor(PDF_AUTHOR); $pdf->SetTitle(PDF_HEADER_TITLE); $pdf->SetSubject(PDF_HEADER_TITLE); $pdf->SetKeywords('bang luong'); $pdf->setPrintHeader(false); $pdf->setFooterData(array(0, 64, 0), array(0, 64, 128)); $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); $pdf->SetMargins(5, PDF_MARGIN_TOP, 5); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); $pdf->setFontSubsetting(true); $pdf->SetFont('dejavusans', '', 14, '', true); $pdf->AddPage('L', 'A4'); $pdf->setTextShadow(array('enabled' => true, 'depth_w' => 0.2, 'depth_h' => 0.2, 'color' => array(196, 196, 196), 'opacity' => 1, 'blend_mode' => 'Normal')); $text_outout = ' <style> .ten-co-quan { color: #000; font-size: 10pt; height: 50px; text-align:center; } .ten-bang-luong{ height: 30px; text-align:center; font-size: 10pt; } table.first { color: #003300; font-family: helvetica; font-size: 8pt; border-left: 3px solid red; border-right: 3px solid #FF00FF; border-top: 3px solid green; border-bottom: 3px solid blue; background-color: #ccffcc; } .borders { border: 1px solid #000; font-size: 10px; } .tieu-de{ height: 20px; font-size: 11px; } .noi-dung{ font-size: 10px; } td.second { border: 2px dashed green; } .lowercase { text-transform: lowercase; } .uppercase { text-transform: uppercase; } .capitalize { text-transform: capitalize; } .error{ background-color: #dddddd; } </style> <table width="100%"> <tr> <td width="200" class="ten-co-quan uppercase"> TỔNG CỤC HẢI QUAN <div><strong>CỤC HẢI QUAN HÀ TĨNH</strong></div> </td> <td colspan="2"> </td> </tr> <tr> <td colspan="3" class="ten-bang-luong uppercase">BẢNG CHẤM CÔNG VÀ XẾP LOẠI A,B,C THÁNG ' . $thang . '-' . $nam . '</td> </tr>'; $text_outout .= '<tr> <td colspan="3"> <br/> <table border="1" class="noi-dung" cellpadding="5" nobr="true"> <tr> <td style="width: 25pt;" rowspan="2"><strong>STT</strong></td> <td style="width: 70pt;" rowspan="2"><strong>HỌ TÊN</strong></td> <td colspan="31" style="text-align:center;"><strong>Ngày Công Trong Tháng</strong></td> <td style="width: 50pt;" rowspan="2"><strong>Phân loại A,B,C</strong></td> <td style="width: 50pt;" rowspan="2"><strong>Ghi chú</strong></td> </tr> <tr>'; for ($i = 1; $i <= 31; $i++) { $text_outout .= '<td >' . $i . '</td>'; } $text_outout .= '</tr>'; $k = 0; $chamcongModel = new Front_Model_ChamCong(); foreach ($list_nhan_vien as $nhan_vien) { $phan_loai_label = 'A'; $phan_loai = $this->view->viewGetPhanLoai($nhan_vien->em_id, $thang, $nam); if ($phan_loai) { $phan_loai_label = $phan_loai->dg_ptccb_status; if (!$phan_loai_label || $phan_loai_label == null || $phan_loai_label == '-') { $phan_loai_label = 'A'; } } else { $phan_loai_label = ''; } $text_outout .= '<tr>'; $k++; $cham_cong = $chamcongModel->fetchOneData(array('c_em_id' => $nhan_vien['em_id'], 'c_thang' => (int) $thang, 'c_nam' => (int) $nam)); $text_outout .= '<td>' . $k . '</td>'; $text_outout .= '<td>' . $nhan_vien->em_ho . ' ' . $nhan_vien->em_ten_dem . ' ' . $nhan_vien->em_ten . '</td>'; for ($i = 1; $i <= 31; $i++) { $ngay_chamcong = 'c_ngay_' . $i; $trangthai_ngaycong = $cham_cong->{$ngay_chamcong}; $status = !empty($listHoliday[$trangthai_ngaycong]) ? $listHoliday[$trangthai_ngaycong] : ' '; $text_outout .= '<td ' . $this->view->viewCheckChuNhatThuBay($i, (int) $thang, (int) $nam) . '>' . $status . '</td>'; } $text_outout .= '<td>' . $phan_loai_label . '</td>'; $text_outout .= '<td></td>'; $text_outout .= '</tr>'; } $text_outout .= '</table> </td> </tr>'; $text_outout .= '</table> </td> </tr>'; $text_outout .= '<tr><td style=""></td><td style="width: 120pt;"> </td><td style="width: 50pt;"> </td></tr>'; foreach ($holidays as $holiday) { $text_outout .= '<tr class="noi-dung"><td style="width: 32pt;"></td><td style="width: 70pt;">' . $holiday['hld_name'] . '</td><td style="width: 50pt;">' . $holiday['hld_code'] . '</td></tr>'; } $text_outout .= '</table> '; $pdf->writeHTMLCell(0, 0, '', '', $text_outout, 0, 1, 0, true, '', true); $pdf->Output($file_name, 'I'); die; $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']); } if ($k) { $objPHPExcel->getActiveSheet()->setTitle('Bảng lương'); if ($pb_selected && $phong_ban_selected_info) { $file_name = 'Thong_ke_luong_' . str_replace(' ', '_', $this->loc_tieng_viet($phong_ban_selected_info->pb_name)) . '_' . $thang . '-' . $nam . '.xls'; } else { $file_name = 'Thong_ke_luong_' . $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; /* $file_name = 'Bang_luong_.xls'; $objPHPExcel->getActiveSheet()->setTitle('Bảng lương'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="hungnm.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); */ } else { $this->_helper->viewRenderer->setRender('loi'); } } else { $this->_helper->viewRenderer->setRender('loi'); } }
public function indexAction() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Thống kê tháng - ' . $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")); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $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"); $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; }
public function indexAction() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Duyệt chấm công - ' . $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")); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $emModel = new Front_Model_Employees(); $phongbanModel = new Front_Model_Phongban(); $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"); $this->view->list_nhan_vien = $list_nhan_vien; $this->view->thang = $thang; $this->view->nam = $nam; }
/** * Test the network provided * @param $affiliateNetwork * @return none */ public static function testNetwork($network) { //Start date, the first two months ago $startDate = new Zend_Date(); $startDate->setDay(1); $startDate->subMonth(2); $startDate->setHour(00); $startDate->setMinute(00); $startDate->setSecond(00); //Yesterday, some networks don't give us the data for the same day, then is the safer way to have our data $endDate = new Zend_Date(); $endDate->subDay(1); $endDate->setHour(23); $endDate->setMinute(59); $endDate->setSecond(59); //are we connected? if ($network->checkConnection()) { //Get all the payments for this network. $paymentsList = $network->getPaymentHistory(); echo "Total Number of payments: " . count($paymentsList) . "\n\n"; //Get all the Merhcants $merchantList = $network->getMerchantList(array()); echo "Number of merchants: " . count($merchantList) . "\n\n"; // Building the array of merchant Id we want to retrieve data from. $merchantIdList = array(); foreach ($merchantList as $merchant) { $merchantIdList[] = $merchant['cid']; } //If we have joined any merchant if (!empty($merchantIdList)) { //Split the dates monthly, Most of the network don't allow us to retrieve more than a month data $dateArray = Oara_Utilities::monthsOfDifference($startDate, $endDate); for ($i = 0; $i < count($dateArray); $i++) { // Calculating the start and end date for the current month $monthStartDate = clone $dateArray[$i]; $monthEndDate = null; if ($i != count($dateArray) - 1) { $monthEndDate = clone $dateArray[$i]; $monthEndDate->setDay(1); $monthEndDate->addMonth(1); $monthEndDate->subDay(1); } else { $monthEndDate = $endDate; } $monthEndDate->setHour(23); $monthEndDate->setMinute(59); $monthEndDate->setSecond(59); echo "\n importing from " . $monthStartDate->toString("dd-MM-yyyy HH:mm:ss") . " to " . $monthEndDate->toString("dd-MM-yyyy HH:mm:ss") . "\n"; $transactionList = $network->getTransactionList($merchantIdList, $monthStartDate, $monthEndDate); echo "Number of transactions: " . count($transactionList) . "\n\n"; $overviewList = $network->getOverviewList($transactionList, $merchantIdList, $monthStartDate, $monthEndDate); echo "Number register on the overview: " . count($overviewList) . "\n\n"; } } echo "Import finished \n\n"; } else { echo "Error connecting to the network, check credentials\n\n"; } }
public function getBestsellerProducts() { $storeId = (int) Mage::app()->getStore()->getId(); // Date $date = new Zend_Date(); $toDate = $date->setDay(1)->getDate()->get('Y-MM-dd'); $fromDate = $date->subMonth(1)->getDate()->get('Y-MM-dd'); $collection = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addStoreFilter()->setPageSize(6); $collection->getSelect()->joinLeft(array('aggregation' => $collection->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection); return $collection; }
public function getLoadedProductCollection() { if ($this->getRequest()->getParam('id') != null) { $id = $this->getRequest()->getParam('id'); // benchmarking $memory = memory_get_usage(); $time = microtime(); $catId = $id; /** @var $collection Mage_Catalog_Model_Resource_Product_Collection */ $collection = Mage::getResourceModel('catalog/product_collection'); // join sales order items column and count sold products $expression = new Zend_Db_Expr("SUM(oi.qty_ordered)"); $condition = new Zend_Db_Expr("e.entity_id = oi.product_id AND oi.parent_item_id IS NULL"); $collection->addAttributeToSelect('*')->getSelect()->join(array('oi' => $collection->getTable('sales/order_item')), $condition, array('sales_count' => $expression))->group('e.entity_id')->order('sales_count' . ' ' . 'desc'); // join category $condition = new Zend_Db_Expr("e.entity_id = ccp.product_id"); $condition2 = new Zend_Db_Expr("c.entity_id = ccp.category_id"); $collection->getSelect()->join(array('ccp' => $collection->getTable('catalog/category_product')), $condition, array())->join(array('c' => $collection->getTable('catalog/category')), $condition2, array('cat_id' => 'c.entity_id')); $condition = new Zend_Db_Expr("c.entity_id = cv.entity_id AND ea.attribute_id = cv.attribute_id"); // cutting corners here by hardcoding 3 as Category Entiry_type_id $condition2 = new Zend_Db_Expr("ea.entity_type_id = 3 AND ea.attribute_code = 'name'"); $collection->getSelect()->join(array('ea' => $collection->getTable('eav/attribute')), $condition2, array())->join(array('cv' => $collection->getTable('catalog/category') . '_varchar'), $condition, array('cat_name' => 'cv.value')); // if Category filter is on if ($catId) { $collection->getSelect()->where('c.entity_id = ?', $catId)->limit(20); } // unfortunately I cound not come up with the sql query that could grab only 1 bestseller for each category // so all sorting work lays on php $result = array(); foreach ($collection as $product) { /** @var $product Mage_Catalog_Model_Product */ if (isset($result[$product->getCatId()])) { continue; } $result[$product->getCatId()] = 'Category:' . $product->getCatName() . '; Product:' . $product->getName() . '; Sold Times:' . $product->getSalesCount(); } } else { $id = 2; $storeId = (int) Mage::app()->getStore()->getId(); // Date $date = new Zend_Date(); $toDate = $date->setDay(1)->getDate()->get('Y-MM-dd'); $fromDate = $date->subMonth(1)->getDate()->get('Y-MM-dd'); $collection = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addStoreFilter()->addPriceData()->addTaxPercents()->addUrlRewrite()->setPageSize(6); $collection->getSelect()->joinLeft(array('aggregation' => $collection->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at'))->limit(5); Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection); } return $collection; }
public function indexAction() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Duyệt đánh giá phân loại - ' . $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")); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $emModel = new Front_Model_Employees(); $phongbanModel = new Front_Model_Phongban(); $list_phong_ban = $phongbanModel->fetchAll(); $pb_selected = $this->_getParam('phongban', 0); $phong_ban = array(); $list_phong_ban_option = $phongbanModel->fetchData(0, $phong_ban); $phong_ban_choosed = array(); $phongbanModel->fetchData($pb_selected, $phong_ban_choosed); $pb_ids = array($pb_selected); foreach ($phong_ban_choosed as $pb) { $pb_ids[] = $pb->pb_id; } if (!$pb_selected) { //$list_employees = $emModel->fetchData(array('em_delete' => 0)); $list_employees = $emModel->callGetListNhanVien(); } else { //$select = $emModel->select()->where('em_phong_ban in (?)', $pb_ids); $list_employees = $emModel->callGetListNhanVien($pb_ids); } $tieuchiModel = new Front_Model_TieuChiDanhGiaCB(); $list_tieuchi = $tieuchiModel->fetchData(array('tcdgcb_status' => 1), 'tcdgcb_order ASC'); $ketquaModel = new Front_Model_DanhGiaKetQuaCV(); $list_ketqua = $ketquaModel->fetchData(array('dgkqcv_status' => 1), 'dgkqcv_order ASC'); $this->view->tieu_chi = $list_tieuchi; $this->view->ket_qua = $list_ketqua; $this->view->thang = $thang; $this->view->nam = $nam; $this->view->list_nhan_vien = $list_employees; $this->view->list_phong_ban = $list_phong_ban; $this->view->list_phong_ban_option = $list_phong_ban_option; $this->view->pb_id = $pb_selected; }
public function indexAction() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Chấm công - ' . $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")); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $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)); $error_message = array(); $success_message = ''; if ($this->_request->isPost()) { $data_cham_cong = $this->_arrParam['cham_cong']; $current_time = new Zend_Db_Expr('NOW()'); if ($cham_cong && ($cham_cong->c_don_vi_status != '-1' || $cham_cong->c_ptccb_status != '-1')) { $error_message[] = 'Chấm công đã được duyệt nên không thể thay đổi.'; } if (!sizeof($error_message)) { if ($cham_cong) { $chamcongModel->update(array('c_ngay_1' => isset($data_cham_cong[1]) ? $data_cham_cong[1] : '', 'c_ngay_2' => isset($data_cham_cong[2]) ? $data_cham_cong[2] : '', 'c_ngay_3' => isset($data_cham_cong[3]) ? $data_cham_cong[3] : '', 'c_ngay_4' => isset($data_cham_cong[4]) ? $data_cham_cong[4] : '', 'c_ngay_5' => isset($data_cham_cong[5]) ? $data_cham_cong[5] : '', 'c_ngay_6' => isset($data_cham_cong[6]) ? $data_cham_cong[6] : '', 'c_ngay_7' => isset($data_cham_cong[7]) ? $data_cham_cong[7] : '', 'c_ngay_8' => isset($data_cham_cong[8]) ? $data_cham_cong[8] : '', 'c_ngay_9' => isset($data_cham_cong[9]) ? $data_cham_cong[9] : '', 'c_ngay_10' => isset($data_cham_cong[10]) ? $data_cham_cong[10] : '', 'c_ngay_11' => isset($data_cham_cong[11]) ? $data_cham_cong[11] : '', 'c_ngay_12' => isset($data_cham_cong[12]) ? $data_cham_cong[12] : '', 'c_ngay_13' => isset($data_cham_cong[13]) ? $data_cham_cong[13] : '', 'c_ngay_14' => isset($data_cham_cong[14]) ? $data_cham_cong[14] : '', 'c_ngay_15' => isset($data_cham_cong[15]) ? $data_cham_cong[15] : '', 'c_ngay_16' => isset($data_cham_cong[16]) ? $data_cham_cong[16] : '', 'c_ngay_17' => isset($data_cham_cong[17]) ? $data_cham_cong[17] : '', 'c_ngay_18' => isset($data_cham_cong[18]) ? $data_cham_cong[18] : '', 'c_ngay_19' => isset($data_cham_cong[19]) ? $data_cham_cong[19] : '', 'c_ngay_20' => isset($data_cham_cong[20]) ? $data_cham_cong[20] : '', 'c_ngay_21' => isset($data_cham_cong[21]) ? $data_cham_cong[21] : '', 'c_ngay_22' => isset($data_cham_cong[22]) ? $data_cham_cong[22] : '', 'c_ngay_23' => isset($data_cham_cong[23]) ? $data_cham_cong[23] : '', 'c_ngay_24' => isset($data_cham_cong[24]) ? $data_cham_cong[24] : '', 'c_ngay_25' => isset($data_cham_cong[25]) ? $data_cham_cong[25] : '', 'c_ngay_26' => isset($data_cham_cong[26]) ? $data_cham_cong[26] : '', 'c_ngay_27' => isset($data_cham_cong[27]) ? $data_cham_cong[27] : '', 'c_ngay_28' => isset($data_cham_cong[28]) ? $data_cham_cong[28] : '', 'c_ngay_29' => isset($data_cham_cong[29]) ? $data_cham_cong[29] : '', 'c_ngay_30' => isset($data_cham_cong[30]) ? $data_cham_cong[30] : '', 'c_ngay_31' => isset($data_cham_cong[31]) ? $data_cham_cong[31] : '', 'c_date_modifyed' => $current_time), 'c_id=' . $cham_cong->c_id); } else { $chamcongModel->insert(array('c_em_id' => $em_id, 'c_thang' => $thang, 'c_nam' => $nam, 'c_ngay_1' => isset($data_cham_cong[1]) ? $data_cham_cong[1] : '', 'c_ngay_2' => isset($data_cham_cong[2]) ? $data_cham_cong[2] : '', 'c_ngay_3' => isset($data_cham_cong[3]) ? $data_cham_cong[3] : '', 'c_ngay_4' => isset($data_cham_cong[4]) ? $data_cham_cong[4] : '', 'c_ngay_5' => isset($data_cham_cong[5]) ? $data_cham_cong[5] : '', 'c_ngay_6' => isset($data_cham_cong[6]) ? $data_cham_cong[6] : '', 'c_ngay_7' => isset($data_cham_cong[7]) ? $data_cham_cong[7] : '', 'c_ngay_8' => isset($data_cham_cong[8]) ? $data_cham_cong[8] : '', 'c_ngay_9' => isset($data_cham_cong[9]) ? $data_cham_cong[9] : '', 'c_ngay_10' => isset($data_cham_cong[10]) ? $data_cham_cong[10] : '', 'c_ngay_11' => isset($data_cham_cong[11]) ? $data_cham_cong[11] : '', 'c_ngay_12' => isset($data_cham_cong[12]) ? $data_cham_cong[12] : '', 'c_ngay_13' => isset($data_cham_cong[13]) ? $data_cham_cong[13] : '', 'c_ngay_14' => isset($data_cham_cong[14]) ? $data_cham_cong[14] : '', 'c_ngay_15' => isset($data_cham_cong[15]) ? $data_cham_cong[15] : '', 'c_ngay_16' => isset($data_cham_cong[16]) ? $data_cham_cong[16] : '', 'c_ngay_17' => isset($data_cham_cong[17]) ? $data_cham_cong[17] : '', 'c_ngay_18' => isset($data_cham_cong[18]) ? $data_cham_cong[18] : '', 'c_ngay_19' => isset($data_cham_cong[19]) ? $data_cham_cong[19] : '', 'c_ngay_20' => isset($data_cham_cong[20]) ? $data_cham_cong[20] : '', 'c_ngay_21' => isset($data_cham_cong[21]) ? $data_cham_cong[21] : '', 'c_ngay_22' => isset($data_cham_cong[22]) ? $data_cham_cong[22] : '', 'c_ngay_23' => isset($data_cham_cong[23]) ? $data_cham_cong[23] : '', 'c_ngay_24' => isset($data_cham_cong[24]) ? $data_cham_cong[24] : '', 'c_ngay_25' => isset($data_cham_cong[25]) ? $data_cham_cong[25] : '', 'c_ngay_26' => isset($data_cham_cong[26]) ? $data_cham_cong[26] : '', 'c_ngay_27' => isset($data_cham_cong[27]) ? $data_cham_cong[27] : '', 'c_ngay_28' => isset($data_cham_cong[28]) ? $data_cham_cong[28] : '', 'c_ngay_29' => isset($data_cham_cong[29]) ? $data_cham_cong[29] : '', 'c_ngay_30' => isset($data_cham_cong[30]) ? $data_cham_cong[30] : '', 'c_ngay_31' => isset($data_cham_cong[31]) ? $data_cham_cong[31] : '', 'c_date_created' => $current_time, 'c_date_modifyed' => $current_time)); } $success_message = 'Đã cập nhật thành công.'; $cham_cong = $chamcongModel->fetchOneData(array('c_em_id' => $em_id, 'c_thang' => $thang, 'c_nam' => $nam)); } } $this->view->success_message = $success_message; $this->view->error_message = $error_message; $this->view->thang = $thang; $this->view->nam = $nam; $this->view->cham_cong = $cham_cong; $this->view->list_holidays = $list_holidays; $this->view->list_nghi_phep = $list_nghi_phep; }
/** * (non-PHPdoc) * @see library/Oara/Network/Oara_Network_Publisher_Base#getTransactionList($merchantId, $dStartDate, $dEndDate) */ public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null, $merchantMap = null) { $totalTransactions = array(); $transactionNumber = rand(1, 200); $twoMonthsAgoDate = new Zend_Date(); $twoMonthsAgoDate->subMonth(2); $dateArray = Oara_Utilities::daysOfDifference($dStartDate, $dEndDate); for ($i = 0; $i < $transactionNumber; $i++) { $dateIndex = rand(0, count($dateArray) - 1); $merchantIndex = rand(0, count($merchantList) - 1); $transaction = array(); $transaction['unique_id'] = md5(mt_rand() . $dateArray[$dateIndex]->toString("yyyy-MM-dd HH:mm:ss")); $transaction['custom_id'] = "my_custom_id"; $transaction['merchantId'] = $merchantList[$merchantIndex]; $transaction['date'] = $dateArray[$dateIndex]->toString("yyyy-MM-dd HH:mm:ss"); $transactionAmount = rand(1, 1000); $transaction['amount'] = $transactionAmount; $transaction['commission'] = $transactionAmount / 10; //$transaction['link'] = $this->_linkList[rand(0, count($this->_linkList)-1)]; //$transaction['website'] = $this->_websiteList[rand(0, count($this->_websiteList)-1)]; //$transaction['page'] = $this->_pageList[rand(0, count($this->_pageList)-1)]; $transactionStatusChances = rand(1, 100); if ($dateArray[$dateIndex]->compare($twoMonthsAgoDate) >= 0) { if ($transactionStatusChances < 60) { $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED; } else { if ($transactionStatusChances < 70) { $transaction['status'] = Oara_Utilities::STATUS_DECLINED; } else { $transaction['status'] = Oara_Utilities::STATUS_PENDING; } } } else { if ($transactionStatusChances < 80) { $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED; } else { $transaction['status'] = Oara_Utilities::STATUS_DECLINED; } } $totalTransactions[] = $transaction; } return $totalTransactions; }
public function indexAction() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Duyệt đánh giá phân loại - ' . $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); $date = new Zend_Date(); $date->subMonth(1); $thang = $this->_getParam('thang', $date->toString("M")); $nam = $this->_getParam('nam', $date->toString("Y")); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $emModel = new Front_Model_Employees(); $phongbanModel = new Front_Model_Phongban(); $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"); $tieuchiModel = new Front_Model_TieuChiDanhGiaCB(); $list_tieuchi = $tieuchiModel->fetchData(array('tcdgcb_status' => 1), 'tcdgcb_order ASC'); $ketquaModel = new Front_Model_DanhGiaKetQuaCV(); $list_ketqua = $ketquaModel->fetchData(array('dgkqcv_status' => 1), 'dgkqcv_order ASC'); $this->view->tieu_chi = $list_tieuchi; $this->view->ket_qua = $list_ketqua; $this->view->thang = $thang; $this->view->nam = $nam; $this->view->list_nhan_vien = $list_nhan_vien; }
/** * (non-PHPdoc) * @see library/Oara/Network/Oara_Network_Base#getTransactionList($merchantId, $dStartDate, $dEndDate) */ public function getTransactionList($merchantList = null, Zend_Date $dStartDate = null, Zend_Date $dEndDate = null) { $totalTransactions = array(); $transactionNumber = 50000; $twoMonthsAgoDate = new Zend_Date(); $twoMonthsAgoDate->subMonth(2); $dateArray = Oara_Utilities::daysOfDifference($dStartDate, $dEndDate); for ($i = 0; $i < $transactionNumber; $i++) { $dateIndex = rand(0, count($dateArray) - 1); $merchantIndex = rand(0, count($merchantList) - 1); $transaction = array(); $transaction['merchantId'] = $merchantList[$merchantIndex]; $transaction['date'] = $dateArray[$dateIndex]->toString("yyyy-MM-dd HH:mm:ss"); $transactionAmount = rand(1, 1000); $transaction['amount'] = $transactionAmount; $transaction['commission'] = $transactionAmount * (rand(1, 20) / 100); $transactionStatusChances = rand(1, 100); if ($dateArray[$dateIndex]->compare($twoMonthsAgoDate) >= 0) { if ($transactionStatusChances < 60) { $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED; } else { if ($transactionStatusChances < 70) { $transaction['status'] = Oara_Utilities::STATUS_DECLINED; } else { $transaction['status'] = Oara_Utilities::STATUS_PENDING; } } } else { if ($transactionStatusChances < 80) { $transaction['status'] = Oara_Utilities::STATUS_CONFIRMED; } else { $transaction['status'] = Oara_Utilities::STATUS_DECLINED; } } $totalTransactions[] = $transaction; } return $totalTransactions; }
public function getListBestSellerProducts($fieldorder = 'ordered_qty', $order = 'desc') { $limit = $this->getConfig('limit_item', 'catalog_source_setting'); $limit = empty($limit) ? 6 : (int) $limit; $storeId = Mage::app()->getStore()->getId(); $cateids = $this->getConfig('catsid', 'catalog_source_setting'); $arr_catsid = array(); if (stristr($cateids, ',') === FALSE) { $arr_catsid = array($cateids); } else { $arr_catsid = explode(",", $cateids); } $date = new Zend_Date(); $toDate = $date->setDay(1)->getDate()->get('Y-MM-dd'); $fromDate = $date->subMonth(1)->getDate()->get('Y-MM-dd'); if ($this->getConfig('bestseller_from_date') != '') { $fromDate = $this->getConfig('bestseller_from_date'); } if ($this->getConfig('bestseller_to_date') != '') { $toDate = $this->getConfig('bestseller_to_date'); } $resource = Mage::getSingleton('core/resource'); $products = $this->getCollectionPro()->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addStoreFilter()->addPriceData()->addTaxPercents()->addUrlRewrite()->joinTable($resource->getTableName('catalog_category_product'), 'product_id=entity_id', array('category_id' => 'category_id'), null, 'left')->addAttributeToFilter(array(array('attribute' => 'category_id', 'in' => array('finset' => $arr_catsid)))); $products->getSelect()->joinLeft(array('aggregation' => $products->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products); Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products); $products->setPageSize($limit)->setCurPage($this->_current_page); $this->setProductCollection($products); $this->_addProductAttributesAndPrices($products); $list = array(); if (($_products = $this->getProductCollection()) && $_products->getSize()) { $list = $products; } return $list; }
public function applySourceType($collection = null, $is_block_mode = true) { if ($collection) { /*Apply source type*/ $source_type = $this->getSourceType(); switch ($source_type) { case "best_value": if ($is_block_mode) { $collection->getSelect()->order('t2.position ASC'); } break; case "new_arrival": $fieldorder = 'created_at'; $order = 'desc'; $todayStartOfDayDate = Mage::app()->getLocale()->date()->setTime('00:00:00')->toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $todayEndOfDayDate = Mage::app()->getLocale()->date()->setTime('23:59:59')->toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $collection->addAttributeToFilter(array(array('attribute' => 'news_from_date', array('or' => array(0 => array('date' => true, 'to' => $todayEndOfDayDate), 1 => array('is' => new Zend_Db_Expr('null')))), 'left')))->addAttributeToFilter(array(array('attribute' => 'news_to_date', array('or' => array(0 => array('date' => true, 'from' => $todayStartOfDayDate), 1 => array('is' => new Zend_Db_Expr('null')))), 'left')))->addAttributeToSort('news_from_date', 'desc')->addAttributeToSort($fieldorder, $order); break; case "special": $collection->getSelect()->where('price_index.final_price < price_index.price'); break; case "most_viewed": if ($is_block_mode) { $collection->addViewsCount(); } break; case "best_seller": if ($is_block_mode) { // Date $date = new Zend_Date(); $toDate = $date->setDay(1)->getDate()->get('Y-MM-dd'); $fromDate = $date->subMonth(1)->getDate()->get('Y-MM-dd'); $storeId = Mage::app()->getStore()->getId(); $collection->getSelect()->joinLeft(array('aggregation' => $collection->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); } break; case "top_rate": if ($is_block_mode) { $collection->joinField('rating_summary_field', 'review/review_aggregate', 'rating_summary', 'entity_pk_value=entity_id', array('entity_type' => 1, 'store_id' => Mage::app()->getStore()->getId()), 'left'); $collection->addAttributeToSort('rating_summary_field', 'desc'); } break; case "latest": $fieldorder = 'created_at'; $order = 'desc'; $collection->addAttributeToSort($fieldorder, $order); break; case "random": $collection->getSelect()->order(new Zend_Db_Expr('RAND()')); break; } } return $collection; }
public function getListBestSellerProducts($config = array()) { $this->_config = $config; $fieldorder = 'ordered_qty'; $order = 'desc'; $storeId = Mage::app()->getStore()->getId(); $cateids = $this->getConfig('catsid'); $list = array(); $limit_item = $this->getConfig('limit_item', 12); $itemspage = $this->getConfig('itemspage', 6); $curPage = $this->getConfig('page', 1); $date = new Zend_Date(); $toDate = $date->setDay(1)->getDate()->get('Y-MM-dd'); $fromDate = $date->subMonth(1)->getDate()->get('Y-MM-dd'); $resource = Mage::getSingleton('core/resource'); if ($curPage * $itemspage > $limit_item + $itemspage) { return ''; } if ($cateids && $cateids != "1") { $arr_catsid = array(); if (is_array($cateids)) { $arr_catsid = $cateids; } else { if (stristr($cateids, ',') === FALSE) { $arr_catsid = array($cateids); } else { $arr_catsid = explode(",", $cateids); } } $products = $this->getCollectionPro()->addStoreFilter()->addPriceData()->addTaxPercents()->addUrlRewrite()->joinTable($resource->getTableName('catalog_category_product'), 'product_id=entity_id', array('category_id' => 'category_id'), null, 'left')->addAttributeToFilter(array(array('attribute' => 'category_id', 'in' => array('finset' => $arr_catsid)))); $products->getSelect()->joinLeft(array('aggregation' => $products->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); } else { $products = $this->getCollectionPro()->addStoreFilter()->addPriceData()->addTaxPercents()->addUrlRewrite(); $products->getSelect()->joinLeft(array('aggregation' => $products->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); } $list = array(); Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products); Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products); $this->_addProductAttributesAndPrices($products); $products->setPageSize($itemspage)->setCurPage($curPage); $this->setProductCollection($products); if (($_products = $this->getProductCollection()) && $_products->getSize()) { $list['products'] = $products; } $size = $products->getSize(); $list['hasNextData'] = true; if ($limit_item < $size) { $size = $limit_item; } if ($size <= $curPage * $itemspage) { $list['hasNextData'] = false; } return $list; }
/** * test looseBehaviour */ public function testLoose() { $date = new Zend_Date(0, 'de_DE'); try { $date->set(null, Zend_Date::YEAR); $this->fail(); } catch (Zend_Date_Exception $e) { // success } $date->set(10, 'de_DE'); $this->assertEquals(10, $date->getTimestamp()); try { $date->add(null, Zend_Date::YEAR); $this->fail(); } catch (Zend_Date_Exception $e) { // success } $date->add(10, 'de_DE'); $this->assertEquals(20, $date->getTimestamp()); try { $date->sub(null, Zend_Date::YEAR); $this->fail(); } catch (Zend_Date_Exception $e) { // success } $date->sub(10, 'de_DE'); $this->assertEquals(10, $date->getTimestamp()); try { $date->compare(null, Zend_Date::YEAR); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->equals(null, Zend_Date::YEAR); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->isEarlier(null, Zend_Date::YEAR); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->isLater(null, Zend_Date::YEAR); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setTime(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addTime(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subTime(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareTime(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setDate(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addDate(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subDate(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareDate(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setIso(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addIso(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subIso(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareIso(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setArpa(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addArpa(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subArpa(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareArpa(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setMonth(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addMonth(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subMonth(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareMonth(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setDay(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addDay(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subDay(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareDay(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setWeekday(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addWeekday(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subWeekday(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareWeekday(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setDayOfYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addDayOfYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subDayOfYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareDayOfYear(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setHour(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addHour(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subHour(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareHour(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setMinute(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addMinute(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subMinute(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareMinute(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setSecond(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addSecond(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subSecond(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareSecond(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->setWeek(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->addWeek(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->subWeek(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } try { $date->compareWeek(null); $this->fail(); } catch (Zend_Date_Exception $e) { // success } }
public function heso02Action() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'In lương hệ số 0.2 - ' . $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")); $emModel = new Front_Model_Employees(); $phongbanModel = new Front_Model_Phongban(); $chucvuModel = new Front_Model_Chucvu(); $heso02Model = new Front_Model_HeSo02(); $check_he_so_02 = $heso02Model->fetchRow("nam={$nam}"); $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(); $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); $list_nhan_vien = $emModel->fetchAll("em_phong_ban in ({$phong_ban_id}) and em_status=1"); $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; if (!$check_he_so_02) { $this->_helper->viewRenderer->setRender('loi02'); } }
public function indexAction() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Tự đánh giá phân loại - ' . $translate->_('TEXT_DEFAULT_TITLE'); $this->view->headTitle($this->view->title); $layoutPath = APPLICATION_PATH . '/templates/' . TEMPLATE_USED; $option = array('layout' => 'canhan/layout', 'layoutPath' => $layoutPath); Zend_Layout::startMvc($option); $this->view->page = $this->_page; $date = new Zend_Date(); $date->subMonth(1); $thang = $this->_getParam('thang', $date->toString("M")); $nam = $this->_getParam('nam', $date->toString("Y")); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $danhgiaModel = new Front_Model_DanhGia(); $danh_gia = $danhgiaModel->fetchOneData(array('dg_em_id' => $em_id, 'dg_thang' => $thang, 'dg_nam' => $nam)); $tieuchiModel = new Front_Model_TieuChiDanhGiaCB(); $list_tieuchi = $tieuchiModel->fetchData(array('tcdgcb_status' => 1), 'tcdgcb_order ASC'); $ketquaModel = new Front_Model_DanhGiaKetQuaCV(); $list_ketqua = $ketquaModel->fetchData(array('dgkqcv_status' => 1), 'dgkqcv_order ASC'); $error_message = array(); $success_message = ''; if ($this->_request->isPost()) { $cong_viec = $this->_arrParam['d_cong_viec']; $kq_cong_viec = $this->_arrParam['d_kq_cong_viec']; $ngay_nghi = $this->_arrParam['d_ngay_nghi']; $ly_do_nghi = $this->_arrParam['d_ly_do']; $y_thuc_tn = $this->_arrParam['d_y_thuc']; $khuyet_diem = $this->_arrParam['d_khuyet_diem']; $tc_danh_gia = serialize($this->_arrParam['d_tieu_chi']); $ghi_chu = $this->_arrParam['d_ghi_chu']; $phan_loai = $this->_arrParam['d_phan_loai']; $current_time = new Zend_Db_Expr('NOW()'); if ($danh_gia && ($danh_gia->dg_don_vi_status != '' || $danh_gia->dg_ptccb_status != '')) { $error_message[] = 'Đánh giá phân loại đã được duyệt nên không thể thay đổi.'; } if (!$cong_viec) { $error_message[] = 'Công việc trong tháng không được để trống'; } if (!sizeof($error_message)) { if ($danh_gia) { $danhgiaModel->update(array('dg_cong_viec' => $cong_viec, 'dg_ket_qua_cong_viec' => $kq_cong_viec, 'dg_so_ngay_nghi' => $ngay_nghi, 'dg_ly_do_nghi' => $ly_do_nghi, 'dg_y_thuc_xay_dung' => $y_thuc_tn, 'dg_khuyet_diem' => $khuyet_diem, 'dg_tc_danh_gia' => $tc_danh_gia, 'dg_ghi_chu' => $ghi_chu, 'dg_phan_loai' => $phan_loai, 'dg_date_modifyed' => $current_time), 'dg_id=' . $danh_gia->dg_id); } else { $danhgiaModel->insert(array('dg_em_id' => $em_id, 'dg_thang' => $thang, 'dg_nam' => $nam, 'dg_cong_viec' => $cong_viec, 'dg_ket_qua_cong_viec' => $kq_cong_viec, 'dg_so_ngay_nghi' => $ngay_nghi, 'dg_ly_do_nghi' => $ly_do_nghi, 'dg_y_thuc_xay_dung' => $y_thuc_tn, 'dg_khuyet_diem' => $khuyet_diem, 'dg_tc_danh_gia' => $tc_danh_gia, 'dg_ghi_chu' => $ghi_chu, 'dg_phan_loai' => $phan_loai, 'dg_date_modifyed' => $current_time, 'dg_date_created' => $current_time)); } } $users = $this->_helper->GlobalHelpers->checkDonViUsers($em_id, 3005); $thongbao_model = new Front_Model_ThongBao(); $data = array(); $data['tb_from'] = 0; $data['tb_tieu_de'] = '[Thông báo] Duyệt đánh giá phân loại.'; $data['tb_noi_dung'] = 'Có khai báo đánh giá phân loại mới.<br/> Bạn hãy <strong><a href="' . $this->view->baseUrl('donvi/duyetphanloai') . '">click vào đây</a></strong> để xét duyệt.'; $data['tb_status'] = 0; $data['tb_date_added'] = $current_time; $data['tb_date_modified'] = $current_time; foreach ($users as $user) { $data['tb_to'] = $user->em_id; $thongbao_model->insert($data); } $success_message = 'Đã cập nhật thành công.'; $danh_gia = $danhgiaModel->fetchOneData(array('dg_em_id' => $em_id, 'dg_thang' => $thang, 'dg_nam' => $nam)); } if ($danh_gia) { $this->_arrParam['d_cong_viec'] = $danh_gia->dg_cong_viec; $this->_arrParam['d_kq_cong_viec'] = $danh_gia->dg_ket_qua_cong_viec; $this->_arrParam['d_ngay_nghi'] = $danh_gia->dg_so_ngay_nghi; $this->_arrParam['d_ly_do'] = $danh_gia->dg_ly_do_nghi; $this->_arrParam['d_y_thuc'] = $danh_gia->dg_y_thuc_xay_dung; $this->_arrParam['d_khuyet_diem'] = $danh_gia->dg_khuyet_diem; $this->_arrParam['d_tieu_chi'] = unserialize($danh_gia->dg_tc_danh_gia); $this->_arrParam['d_ghi_chu'] = $danh_gia->dg_ghi_chu; $this->_arrParam['d_phan_loai'] = $danh_gia->dg_phan_loai; } $this->view->tieu_chi = $list_tieuchi; $this->view->ket_qua = $list_ketqua; $this->view->success_message = $success_message; $this->view->error_message = $error_message; $this->view->thang = $thang; $this->view->nam = $nam; $this->view->danh_gia = $danh_gia; $this->view->arrParam = $this->_arrParam; }
/** * @param $filter * * @return mixed */ protected function _processFilter($filter) { $period = AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_LAST_THIRTY_DAYS; if (array_key_exists('period', $filter)) { $period = intval($filter['period']); } $filter['period'] = $period; $fromDate = new Zend_Date(); $toDate = new Zend_Date(); $fromDate->setHour(23)->setMinute(59)->setSecond(59); $toDate->setHour(23)->setMinute(59)->setSecond(59); switch ($period) { case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_TODAY: break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_YESTERDAY: $fromDate->subDay(1); $toDate->subDay(1); break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_THIS_WEEK: $firstDayOfWeek = (int) Mage::getStoreConfig('general/locale/firstday'); if ($firstDayOfWeek === 0) { $firstDayOfWeek = 7; } $fromDate->setWeekday($firstDayOfWeek); if ($firstDayOfWeek > (int) $fromDate->toString('e')) { $fromDate->subWeek(1); } break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_LAST_WEEK: $fromDate->subWeek(1); $toDate->subWeek(1); $firstDayOfWeek = (int) Mage::getStoreConfig('general/locale/firstday'); if ($firstDayOfWeek === 0) { $firstDayOfWeek = 7; } $fromDate->setWeekday($firstDayOfWeek); if ($firstDayOfWeek > (int) $fromDate->toString('e')) { $fromDate->subWeek(1); } $lastDayOfWeek = $firstDayOfWeek - 1; if ($lastDayOfWeek < 1) { $lastDayOfWeek = 7; } $toDate->setWeekday($lastDayOfWeek); break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_THIS_MONTH: $fromDate->setDay(1); break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_LAST_MONTH: $fromDate->subMonth(1)->setDay(1); $toDate->setDay(1)->subDay(1); break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_LAST_SIX_MONTHS: $fromDate->subMonth(6); break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_CUSTOM: $_reversed = false; $_now = new Zend_Date(null, 'dd/MM/y'); try { $_fromDate = new Zend_Date($filter['from_date'], 'dd/MM/y'); } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError(Mage::helper('aw_hdu3')->__('Please select correct "From" date value')); $_fromDate = clone $_now; } try { $_toDate = new Zend_Date($filter['to_date'], 'dd/MM/y'); if ($_fromDate->compare($_toDate) > 0) { $_reversed = true; } } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError(Mage::helper('aw_hdu3')->__('Please select correct "To" date value')); $_toDate = clone $_now; } if ($_reversed) { $fromDate = $_toDate; $toDate = $_fromDate; } else { $fromDate = $_fromDate; $toDate = $_toDate; } break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_LAST_SEVEN_DAYS: $fromDate->subDay(6); break; case AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::PERIOD_LAST_THIRTY_DAYS: $fromDate->subDay(29); break; } $filter['from_date'] = $fromDate; $filter['to_date'] = $toDate; if (!array_key_exists('group', $filter)) { $filter['group'] = AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::GROUP_BY_WEEK; } if (!array_key_exists('agents[]', $filter)) { $filter['agents[]'] = $this->_getAgentIds(); } if (!array_key_exists('report', $filter)) { $filter['report'] = AW_Helpdesk3_Block_Adminhtml_Statistic_Agent_View_Chart::REPORT_FIRST_REPLY_AVG_TIME; } return $filter; }
/** * Return interval (two GMT Zend_Date). * * @param $code * @param bool $timezone * * @return Varien_Object */ public function getInterval($code, $timezone = false) { $timestamp = Mage::getSingleton('core/date')->gmtTimestamp(); if ($timezone) { $timestamp = Mage::app()->getLocale()->date($timestamp); } $from = new Zend_Date($timestamp, null, Mage::app()->getLocale()->getLocaleCode()); $to = clone $from; $dateInterval = null; switch ($code) { case self::TODAY: $from->setTime('00:00:00'); $to->setTime('23:59:59'); break; case self::YESTERDAY: $from->subDay(1)->setTime('00:00:00'); $to->subDay(1)->setTime('23:59:59'); break; case self::THIS_MONTH: $from->setDay(1)->setTime('00:00:00'); $to->setDay(1)->addDay($to->get(Zend_Date::MONTH_DAYS) - 1)->setTime('23:59:59'); break; case self::PREVIOUS_MONTH: $from->setDay(1)->subMonth(1)->setTime('00:00:00'); $to->setDay(1)->setTime('23:59:59')->subMonth(1)->addDay($to->get(Zend_Date::MONTH_DAYS) - 1); break; case self::THIS_QUARTER: $month = intval($from->get(Zend_Date::MONTH) / 4) * 3 + 1; $from->setDay(1)->setMonth($month)->setTime('00:00:00'); $to->setDay(1)->setMonth($month)->addMonth(3)->subDay(1)->setTime('23:59:59'); break; case self::PREVIOUS_QUARTER: $month = intval($from->get(Zend_Date::MONTH) / 4) * 3 + 1; $from->setDay(1)->setMonth($month)->setTime('00:00:00')->subMonth(3); $to->setDay(1)->setMonth($month)->addMonth(3)->subDay(1)->setTime('23:59:59')->subMonth(3); break; case self::THIS_YEAR: $from->setDay(1)->setMonth(1)->setTime('00:00:00'); $to->setDay(1)->setMonth(1)->addDay($to->get(Zend_Date::LEAPYEAR) ? 365 : 364)->setTime('23:59:59'); break; case self::PREVIOUS_YEAR: $from->setDay(1)->setMonth(1)->setTime('00:00:00')->subYear(1); $to->setDay(1)->setMonth(1)->addDay($to->get(Zend_Date::LEAPYEAR) ? 365 : 364)->setTime('23:59:59')->subYear(1); break; case self::LAST_24H: $from->subDay(1); break; case self::THIS_WEEK: $weekday = $from->get(Zend_Date::WEEKDAY_DIGIT); #0-6 $from->setTime('00:00:00')->subDay($weekday); $to->setTime('23:59:59')->addDay(6 - $weekday); break; case self::PREVIOUS_WEEK: $weekday = $from->get(Zend_Date::WEEKDAY_DIGIT); #0-6 $from->setTime('00:00:00')->subDay($weekday)->subWeek(1); $to->setTime('23:59:59')->addDay(6 - $weekday)->subWeek(1); break; case self::LAST_7D: $from->subDay(7); break; case self::LAST_30D: $from->subDay(30); break; case self::LAST_3M: $from->subMonth(3); break; case self::LAST_12M: $from->subYear(1); break; case self::LIFETIME: $from->subYear(10); $to->addYear(10); break; } return new Varien_Object(array('from' => $from, 'to' => $to)); }
public function getListBestSellerProducts1($config = array()) { $this->_config = $config; $fieldorder = 'ordered_qty'; $order = 'desc'; $storeId = Mage::app()->getStore()->getId(); $cateids = $this->getConfig('catsid'); if ($this->getConfig('bestseller_from_date') != '' && $this->getConfig('bestseller_to_date') != '') { $days = (strtotime($this->getConfig('bestseller_to_date')) - strtotime($this->getConfig('bestseller_from_date'))) / (60 * 60 * 24); } $list = array(); $limit_item = $this->getConfig('limit_item', 12); $itemspage = $this->getConfig('itemspage', 6); $curPage = $this->getConfig('page', 1); if ($curPage * $itemspage > $limit_item + $itemspage) { return ''; } $date = new Zend_Date(); $toDate = $date->setDay(1)->getDate()->get('Y-MM-dd'); $fromDate = $date->subMonth(1)->getDate()->get('Y-MM-dd'); if ($this->getConfig('bestseller_from_date') != '') { $fromDate = $this->getConfig('bestseller_from_date'); } if ($this->getConfig('bestseller_from_date') != '') { $toDate = $this->getConfig('bestseller_from_date'); } if ($cateids && $cateids != "1") { $productIds = $this->getProductByCategory(); $visibility = Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds(); $attributesToSelect = array('name', 'small_image', 'short_description', 'price'); $productFlatTable = Mage::getResourceModel('catalog/product_flat')->getFlatTableName($storeId); try { $products = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect($attributesToSelect)->addStoreFilter()->setStoreId($storeId)->addStoreFilter($storeId)->addPriceData()->addTaxPercents()->addUrlRewrite()->addIdFilter($productIds); $products->getSelect()->joinLeft(array('aggregation' => $collection->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); } catch (Exception $e) { Mage::logException($e); } } else { $visibility = Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds(); $attributesToSelect = array('name', 'small_image', 'short_description', 'price'); $productFlatTable = Mage::getResourceModel('catalog/product_flat')->getFlatTableName($storeId); try { $products = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect($attributesToSelect)->addStoreFilter()->setStoreId($storeId)->addStoreFilter($storeId)->addPriceData()->addTaxPercents()->addUrlRewrite(); $products->getSelect()->joinLeft(array('aggregation' => $products->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); } catch (Exception $e) { Mage::logException($e); } } $list = array(); $products->setPageSize($itemspage)->setCurPage($curPage); $list['products'] = $products; $size = $products->getSize(); $list['hasNextData'] = true; if ($limit_item < $size) { $size = $limit_item; } if ($size <= $curPage * $itemspage) { $list['hasNextData'] = false; } return $list; }
public function heso02Action() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Xem bảng lương hệ số 0.2 - ' . $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")); $auth = Zend_Auth::getInstance(); $identity = $auth->getIdentity(); $em_id = $identity->em_id; $emModel = new Front_Model_Employees(); $em_info = $emModel->fetchRow("em_id={$em_id}"); $bangluongModel = new Front_Model_BangLuong(); $bang_luong = $bangluongModel->fetchByDate($em_id, "{$nam}-{$thang}-01 00:00:00", "{$nam}-{$thang}-31 23:59:59"); $hesocbModel = new Front_Model_HeSo(); $heso02Model = new Front_Model_HeSo02(); $he_so_02 = $heso02Model->fetchRow("nam={$nam}"); if (!$he_so_02) { $this->_helper->viewRenderer->setRender('loi'); die; } $lastHeSoLuong = $hesocbModel->fetchOneData(array('hs_ngay_bat_dau' => date("{$nam}-{$thang}-1")), 'hs_ngay_bat_dau DESC'); $tong_he_so = $bangluongModel->getSumHeSo("{$nam}-{$thang}-01 00:00:00", "{$nam}-{$thang}-31 23:59:59"); $tong_he_so_luong = $tong_he_so_plld = $tong_tam_chi = 0; if ($tong_he_so->tong_he_so_luong) { $tong_he_so_luong = $tong_he_so->tong_he_so_luong; } if ($tong_he_so->tong_tam_chi) { $tong_tam_chi = $tong_he_so->tong_tam_chi; } if ($tong_he_so->tong_he_so_plld) { $tong_he_so_plld = $tong_he_so->tong_he_so_plld; } $luong_co_ban = $lastHeSoLuong->hs_luong_co_ban; //luong co ban $thang_choosed = 'thang_' . $thang; $tien_quy_tang_them = $tong_he_so_luong * $luong_co_ban * $he_so_02->{$thang_choosed}; $tien_quy_con_lai = $tien_quy_tang_them; if ($tien_quy_con_lai < 0) { $tien_quy_con_lai = 0; } $he_so_quy_doi = $tien_quy_con_lai / $tong_he_so_plld; $this->view->em_info = $em_info; $this->view->thang = $thang; $this->view->nam = $nam; $this->view->nv_id = $em_id; $this->view->bang_luong = $bang_luong; $this->view->he_so_quy_doi = $he_so_quy_doi; }
public function auto02Action() { $translate = Zend_Registry::get('Zend_Translate'); $this->view->title = 'Tính lương hệ số 0.2 - ' . $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(); $date->subMonth(1); $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(); $bangluongModel = new Front_Model_BangLuong(); $danhgiaModel = new Front_Model_DanhGia(); $lastHeSoLuong = $hesocbModel->fetchOneData(array('hs_ngay_bat_dau' => date("{$nam}-{$thang}-1")), 'hs_ngay_bat_dau DESC'); $he_so_tang_them = 0.5; $he_so_phan_loai = array('O' => 0, 'A' => 1.2, 'B' => 1, 'C' => 0.8, 'D' => 0); $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 && $bang_luong->bl_tong_he_so > 0) { $luong_toi_thieu = $bang_luong->bl_luong_toi_thieu; //luong co ban $tong_hs_luong_pc = $bang_luong->bl_tong_he_so; $tam_chi_dau_vao = $tong_hs_luong_pc * $luong_toi_thieu * 0.5; $data = array('bl_ptccb_id' => $my_id, 'bl_tam_chi_dau_vao_02' => $tam_chi_dau_vao, 'bl_02' => 1); $bl_id = $bang_luong->bl_id; $bangluongModel->update($data, "bl_id={$bl_id}"); } } } $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; }
/** * */ public function renderWidgetProduct_carouselContent($args, $setting, $widget_name = "") { $t = array('show_name' => '1', 'list_type' => '', 'limit' => 5, 'category_id' => 0, 'max_items' => 1, 'limit_cols' => 1, 'auto_play' => 0, 'speed' => 6000, 'image_width' => '200', 'image_height' => '200'); $products = array(); $resource = Mage::getSingleton('core/resource'); $setting = array_merge($t, $setting); $storeId = Mage::app()->getStore()->getId(); $category_id = $setting['category_id'] ? (int) $setting['category_id'] : 0; if ($setting['list_type'] == 'bestseller') { $category_id = $setting['category_id'] ? (int) $setting['category_id'] : 0; if (!$category_id || $category_id == -1) { $catsid = $this->getStoreCategories(); } else { $catsid = array($category_id); } $date = new Zend_Date(); $toDate = $date->setDay(1)->getDate()->get('Y-MM-dd'); $fromDate = $date->subMonth(1)->getDate()->get('Y-MM-dd'); $products = $this->getCollectionPro()->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())->addAttributeToSelect(array('name', 'price', 'small_image'))->addStoreFilter()->addPriceData()->addTaxPercents()->addUrlRewrite()->joinTable($resource->getTableName('catalog_category_product'), 'product_id=entity_id', array('category_id' => 'category_id'), null, 'left')->addAttributeToFilter(array(array('attribute' => 'category_id', 'in' => array('finset' => $catsid)))); $products->getSelect()->joinLeft(array('aggregation' => $products->getResource()->getTable('sales/bestsellers_aggregated_monthly')), "e.entity_id = aggregation.product_id AND aggregation.store_id={$storeId} AND aggregation.period BETWEEN '{$fromDate}' AND '{$toDate}'", array('SUM(aggregation.qty_ordered) AS sold_quantity'))->group('e.entity_id')->order(array('sold_quantity DESC', 'e.created_at')); } else { if ($setting['list_type'] == 'special') { if (!$category_id || $category_id == -1) { $catsid = $this->getStoreCategories(); } else { $catsid = array($category_id); } $products = $this->getCollectionPro()->addFieldToFilter('visibility', array(Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH, Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG))->addMinimalPrice()->addUrlRewrite()->addTaxPercents()->addStoreFilter($storeId)->addFinalPrice()->joinTable($resource->getTableName('catalog_category_product'), 'product_id=entity_id', array('category_id' => 'category_id'), null, 'left')->addAttributeToFilter(array(array('attribute' => 'category_id', 'in' => array('finset' => $catsid))))->groupByAttribute('entity_id'); $products->getSelect()->where('price_index.final_price < price_index.price'); } else { if ($setting['list_type'] == 'featured') { if (!$category_id || $category_id == -1) { $catsid = $this->getStoreCategories(); } else { $catsid = array($category_id); } if ($catsid) { $productIds = $this->getProductByCategory($catsid); $products = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect('*')->addMinimalPrice()->addUrlRewrite()->addTaxPercents()->addStoreFilter($storeId)->addIdFilter($productIds)->addAttributeToFilter("featured", 1)->setOrder('created_at', Varien_Db_Select::SQL_DESC); } else { $products = Mage::getResourceModel('catalog/product_collection')->addAttributeToSelect('*')->addMinimalPrice()->addUrlRewrite()->addTaxPercents()->addStoreFilter($storeId)->addAttributeToFilter("featured", 1)->setOrder('created_at', Varien_Db_Select::SQL_DESC); } } else { if (!$category_id || $category_id == -1) { $catsid = $this->getStoreCategories(); } else { $catsid = array($category_id); } $todayStartOfDayDate = Mage::app()->getLocale()->date()->setTime('00:00:00')->toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $todayEndOfDayDate = Mage::app()->getLocale()->date()->setTime('23:59:59')->toString(Varien_Date::DATETIME_INTERNAL_FORMAT); $products = $this->getCollectionPro()->addAttributeToFilter(array(array('attribute' => 'news_from_date', array('or' => array(0 => array('date' => true, 'to' => $todayEndOfDayDate), 1 => array('is' => new Zend_Db_Expr('null')))), 'left')))->addAttributeToFilter(array(array('attribute' => 'news_to_date', array('or' => array(0 => array('date' => true, 'from' => $todayStartOfDayDate), 1 => array('is' => new Zend_Db_Expr('null')))), 'left')))->joinTable($resource->getTableName('catalog_category_product'), 'product_id=entity_id', array('category_id' => 'category_id'), null, 'left')->addAttributeToFilter(array(array('attribute' => 'category_id', 'in' => array('finset' => $catsid))))->addAttributeToSort('news_from_date', 'desc')->addAttributeToSort("created_at", "DESC")->addAttributeToSort("updated_at", "DESC")->addMinimalPrice()->addFinalPrice()->addStoreFilter($storeId)->addUrlRewrite()->addTaxPercents()->groupByAttribute('entity_id'); } } } Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($products); Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($products); $products->setPage(1, (int) $setting['limit']); $products = $this->_addProductAttributesAndPrices($products); $data = array("widget_name" => $widget_name, "show_name" => $setting['show_name'], "max_items" => $setting['max_items'], "limit_cols" => $setting['limit_cols'], "auto_play" => $setting['auto_play'], "speed" => $setting['speed'], "image_width" => $setting['image_width'], "image_height" => $setting['image_height'], "products" => $products); $output = $this->renderLayoutHtml("product_carousel", $data); return $output; }
/** * 取得某个预定义时间段 * * @static * @param integer $interval * @param string $forceUnit * @param integer $timestamp * @return array */ public static function getPredefinedRange($interval, $forceUnit = null, $timestamp = null) { if (empty($timestamp)) { $timestamp = time(); } $start = new Zend_Date($timestamp); $end = new Zend_Date($timestamp); switch ($interval) { case self::TODAY: $start->setHour(0)->setMinute(0)->setSecond(0); $unit = Zend_Date::HOUR; break; case self::YESTODAY: $start->subDay(1)->setHour(0)->setMinute(0)->setSecond(0); $end = clone $start; $end->addDay(1); $unit = Zend_Date::HOUR; break; case self::TOMORROW: $start->addDay(1)->setHour(0)->setMinute(0)->setSecond(0); $end = clone $start; $end->addDay(1); $unit = Zend_Date::HOUR; break; case self::THIS_MONTH: $start->setDay(1)->setHour(0)->setMinute(0)->setSecond(0); $unit = Zend_Date::DAY; break; case self::THIS_YEAR: $start->setMonth(1)->setDay(1)->setHour(0)->setMinute(0)->setSecond(0); $end->addMonth(1)->setDay(1)->setHour(0)->setMinute(0)->setSecond(0); $unit = Zend_Date::DAY; break; case self::THIS_SEASON: $start->setMonth(3 * floor(($start->toValue('M') - 1) / 3) + 1)->setDay(1)->setHour(0)->setMinute(0)->setSecond(0); $unit = Zend_Date::DAY; case self::RECENT_24HOUR: $start->subHour(24); $unit = Zend_Date::HOUR; break; case self::RECENT_48HOUR: $start->subHour(48); $unit = Zend_Date::HOUR; break; case self::RECENT_1WEEK: $start->subWeek(1); $unit = Zend_Date::DAY; break; case self::RECENT_1MONTH: $start->subMonth(1); $unit = Zend_Date::DAY; break; case self::RECENT_24MONTH: $start->subMonth(24); $unit = Zend_Date::DAY; break; case self::LAST_1MONTH: $start->subMonth(1)->setDay(1)->setHour(0)->setMinute(0)->setSecond(0); $end = clone $start; $end->addMonth(1); $unit = Zend_Date::DAY; break; case self::LAST_1YEAR: $start->subYear(1)->setMonth(1)->setDay(1)->setHour(0)->setMinute(0)->setSecond(0); $end = clone $start; $end->addYear(1); $unit = Zend_Date::DAY; break; case self::ENTIRE_DAY: $start->setDate(self::ERA_DATE, self::ZF_DATE_FORMAT)->setTime(self::ERA_TIME, self::ZF_TIME_FORMAT); $end->addDay(1); $unit = Zend_Date::DAY; break; default: $unit = Zend_Date::SECOND; } if (!empty($forceUnit)) { $unit = $forceUnit; } $start = max(self::truncateDatetime($start, $unit), self::truncateDatetime(self::ERA_DATETIME, $unit)); $end = max(self::truncateDatetime($end, $unit), self::truncateDatetime(self::ERA_DATETIME, $unit)); return compact('start', 'end', 'unit'); }