Ignore:
Timestamp:
Apr 23, 2015 12:00:06 PM (10 years ago)
Author:
namnd
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pro-violet-viettel/sourcecode/application/modules/collaborator/controllers/home.php

    r883 r906  
    2020        if ($collaborator_info) {
    2121                        $id = $collaborator_info['id'];
    22             $data['id'] = $id;
    2322            $data['statistics'] = $this->getStatistics($id);
    24             $data['content'] = $this->getCollaboratorsUsers(array(), $id);
     23                        $data['content'] = $this->getCollaboratorsUsers();
    2524            $this->load->view('collaborator/reportAsistant/indexCollaborator', $data);
    2625        } else {
     
    122121
    123122
    124     public function getCollaboratorsUsers($filters = array(), $id = false) {
    125 
    126         $this->load->helper('pagging');
    127         $this->load->model('admin/collabolator_model');
    128         $data['current_page'] = $this->uri->segment(5, 1);
    129 
    130         $data['itemsoptions'] = array(10, 25, 50, 100);
    131         $data['perpage'] = 10;
    132         if (!$id) {
    133             $data['id'] = $this->uri->segment(4, 1);
    134         } else {
     123    public function getCollaboratorsUsers() {
     124                $collaborator_info = $this->session->userdata('collaboratorInfo');
     125        if ($collaborator_info) {
     126                        $this->load->helper('pagging');
     127                        $this->load->model('admin/collabolator_model');
     128                        $data['current_page'] = $this->uri->segment(5, 1);
     129                       
     130                        $data['itemsoptions'] = array(10, 25, 50, 100);
     131                        $data['perpage'] = 10;
     132                        $id = $collaborator_info['id'];
    135133            $data['id'] = $id;
    136         }
    137        
    138         $data['keyword'] = "";
    139         $data['sorting_order'] = "sorting_desc";
    140         $data['sorting_field'] = "id";
    141 
    142         if ($this->input->post('sorting_order')) {
    143             if ($this->input->post('sorting_order') != "sorting") {
    144                 $data['sorting_order'] = $this->input->post('sorting_order');
    145                 $data['sorting_field'] = $this->input->post('sorting_field');
    146             }
    147         }
    148         if ($this->input->post('items')) {
    149             $data['perpage'] = $this->input->post('items');
    150         }
    151         if ($this->input->post('keyword')) {
    152             $data['search_field'] = "";
    153             $data['keyword'] = $this->input->post('keyword');
    154 
    155             if (preg_match("/[0-9]/", $data['keyword'])) {
    156                 $data['search_field'] = "cellphone";
    157             }
    158         }
    159 
    160                 $data['daterange_start'] = "";
    161                 $data['daterange_end'] = "";
    162                 if ($this->input->post('daterange')){
    163                         $daterange = explode(" - ", $this->input->post('daterange'));
    164                         $daterange[0] = str_replace('/', '-', $daterange[0]);
    165                         $daterange[1] = str_replace('/', '-', $daterange[1]);
    166                         $data['daterange_start'] = date('Y-m-d H:i:s', strtotime($daterange[0]));
    167                         $data['daterange_end'] = date('Y-m-d H:is:s', strtotime($daterange[1].' + 1 day'));
     134                       
     135                        $data['keyword'] = "";
     136                        $data['sorting_order'] = "sorting_desc";
     137                        $data['sorting_field'] = "user_created_time";
     138
     139                        if ($this->input->post('sorting_order')) {
     140                                if ($this->input->post('sorting_order') != "sorting") {
     141                                        $data['sorting_order'] = $this->input->post('sorting_order');
     142                                        $data['sorting_field'] = $this->input->post('sorting_field');
     143                                }
     144                        }
     145                        if ($this->input->post('items')) {
     146                                $data['perpage'] = $this->input->post('items');
     147                        }
     148                        if ($this->input->post('keyword')) {
     149                                $data['search_field'] = "";
     150                                $data['keyword'] = $this->input->post('keyword');
     151
     152                                if (preg_match("/[0-9]/", $data['keyword'])) {
     153                                        $data['search_field'] = "cellphone";
     154                                }
     155                        }
     156
     157                        $data['daterange_start'] = "";
     158                        $data['daterange_end'] = "";
     159                        if ($this->input->post('daterange')){
     160                                $daterange = explode(" - ", $this->input->post('daterange'));
     161                                $daterange[0] = str_replace('/', '-', $daterange[0]);
     162                                $daterange[1] = str_replace('/', '-', $daterange[1]);
     163                                $data['date_start'] = $daterange[0];
     164                                $data['date_end'] = $daterange[1];
     165                                $data['daterange_start'] = date('Y-m-d H:i:s', strtotime($daterange[0]));
     166                                $data['daterange_end'] = date('Y-m-d H:is:s', strtotime($daterange[1].' + 1 day'));
     167                        }
     168                       
     169                        $data['start'] = ($data['current_page'] - 1) * $data['perpage'];
     170                        $data['total'] = $this->collabolator_model->countCountCollaboratorUsers($data);
     171                        $data['paidlogs'] = $this->collabolator_model->getCountCollaboratorUsers($data);
     172                        foreach ($data['paidlogs'] as $index => $paidlog)
     173                        {
     174                                $data['paidlogs'][$index]['username'] = $this->get_fullname($paidlog['us_id']);
     175                        }
     176                        $data['paging_url'] = base_url() . "collaborator/home/getCollaboratorsUsers/".$data['id'];
     177                        $data['num_links'] = 2;
     178                        $data['paging'] = pagging($data);
     179               
     180                        if ($this->input->is_ajax_request()) {
     181                                return $this->load->view('collaborator/reportAsistant/listview_user', $data);
     182                        }
     183                        return $this->load->view('collaborator/reportAsistant/listview_user', $data, true);
     184                }else{
     185                        $this->load->view('login');
    168186                }
    169                
    170         $data['start'] = ($data['current_page'] - 1) * $data['perpage'];
    171         $data['total'] = $this->collabolator_model->countCountCollaboratorUsers($data);
    172         $data['paidlogs'] = $this->collabolator_model->getCountCollaboratorUsers($data);
    173 
    174         foreach ($data['paidlogs'] as $index => $paidlog)
    175         {
    176 
    177             $data['paidlogs'][$index]['username'] = $this->get_fullname($paidlog['us_id']);
    178         }
    179                
    180         $data['paging_url'] = base_url() . "cong_tac_vien/thong_ke_nguoi_dung/trang/" ;
    181         $data['num_links'] = 2;
    182         $data['paging'] = pagging($data);
    183                
    184         if ($this->input->is_ajax_request()) {
    185             return $this->load->view('collaborator/reportAsistant/listview_user', $data);
    186         }
    187         return $this->load->view('collaborator/reportAsistant/listview_user', $data, true);
    188187    }
    189188
     
    202201    }
    203202       
     203       
     204        public function export(){
     205               
     206                $collaborator_info = $this->session->userdata('collaboratorInfo');
     207        if ($collaborator_info) {
     208                        $id = $collaborator_info['id'];
     209            $data['id'] = $id;
     210                        $data['fullname'] = $collaborator_info['fullname'];
     211                        $this->load->model('admin/collabolator_model');
     212                        //$data['perpage'] = $this->uri->segment(4, 10);
     213                        $data['keyword'] = $this->uri->segment(5);
     214                        if ($data['keyword'] == 'default') $data['keyword'] = null;
     215                        if (preg_match("/[0-9]/", $data['keyword'])) {
     216                                        $data['search_field'] = "cellphone";
     217                        }
     218                        $data['daterange_start'] = $this->uri->segment(6);
     219                        $data['daterange_end'] = $this->uri->segment(7);
     220                        if ($data['daterange_start'] == 'default') $data['daterange_start'] = null;
     221                        if ($data['daterange_end'] == 'default') $data['daterange_end'] = null;
     222                        if ($data['daterange_start'])
     223                                $data['daterange_start'] = date ( 'Y-m-d H:i:s', strtotime ( $data ['daterange_start'] ) );
     224                        if ($data['daterange_end'])
     225                                $data['daterange_end'] = date ( 'Y-m-d H:i:s', strtotime ( $data['daterange_end'] . ' + 1 day' ) );
     226                       
     227                        $data['sorting_field'] = "user_created_time";
     228                        $data['sorting_order'] = $this->uri->segment(8);
     229                       
     230                        $data['paidlogs'] = $this->collabolator_model->getCountCollaboratorUsers($data);
     231                       
     232                        foreach ($data['paidlogs'] as $index => $paidlog)
     233                        {
     234                                $data['paidlogs'][$index]['username'] = $this->get_fullname($paidlog['us_id']);
     235                        }
     236                        $users = $data['paidlogs'];
     237                       
     238                        ob_end_clean();
     239                        $this->load->library("PHPExcel");
     240                        $sheet = $this->phpexcel->getActiveSheet();
     241                       
     242                        $sheet->setTitle("bao cao cua CTV " . date('m') . " - " . date('Y'));
     243                        $sheet->getColumnDimension('A')->setWidth(10);
     244                        $sheet->getColumnDimension('B')->setWidth(25);
     245                        $sheet->getColumnDimension('C')->setWidth(25);
     246                        $sheet->getColumnDimension('D')->setWidth(25);
     247                        $sheet->getColumnDimension('E')->setWidth(15);
     248                        $sheet->getColumnDimension('F')->setWidth(15);
     249                        $sheet->getColumnDimension('G')->setWidth(15);
     250                        $sheet->getColumnDimension('H')->setWidth(25);
     251                        $sheet->getColumnDimension('I')->setWidth(25);
     252                       
     253                       
     254                        $sheet->setCellValue('B1', "TẬP ĐOÀN VIỄN THÔNG QUÂN ĐỘI");
     255                        $style = array(
     256                                'font' => array('bold' => true, 'size' => 12, 'name' =>'Cambria', 'color' => array('rgb' => '0070bf')),
     257                                'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     258                                                                        'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     259                                                                        'wrap' => true )
     260                        );
     261                        $sheet->mergeCells('B1:E1');
     262                        $sheet->getStyle('B1')->applyFromArray($style);
     263                       
     264                        $sheet->setCellValue('B2', "TỔNG CÔNG TY VIỄN THÔNG VIETTEL");
     265                        $style = array(
     266                                'font' => array('size' => 12, 'name' =>'Cambria', 'color' => array('rgb' => '0070bf')),
     267                                'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     268                                                                        'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     269                                                                        'wrap' => true )
     270                        );
     271                        $sheet->mergeCells('B2:E2');
     272                        $sheet->getStyle('B2')->applyFromArray($style);
     273                       
     274                       
     275                        $sheet->setCellValue('A4', "DANH SÁCH NGƯỜI DÙNG DO CỘNG TÁC VIÊN GIỚI THIỆU");
     276                        $style = array(
     277                                'font' => array('bold' => true, 'size' => 14, 'name' =>'Cambria'),
     278                                'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     279                                                                        'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     280                                                                        'wrap' => true )
     281                        );
     282                        $sheet->mergeCells('A4:E4');
     283                        $sheet->getStyle('A4')->applyFromArray($style);
     284                       
     285                       
     286                       
     287                        $style = array(
     288                                'font' => array('size' => 11, 'name' =>'Cambria'),
     289                                'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     290                                                                        'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     291                                                                        'wrap' => true),
     292                                'borders' =>    array(
     293                                        'allborders' => array(
     294                                                'style' => \PHPExcel_Style_Border::BORDER_THIN
     295                                                )
     296                                )
     297                        );
     298                       
     299                        $sheet->setCellValue('B6', "Từ ngày: ".$data['daterange_start']);
     300                        $sheet->setCellValue('C6', "Đến ngày: ".$data['daterange_end']);
     301                        $sheet->setCellValue('B7', "Ngày kết xuất: ".date("d")."/".date("m")."/".date("Y"));
     302                        $sheet->setCellValue('C7', "CTV: ".$data['fullname']);
     303                       
     304                        $sheet->getStyle('B6')->applyFromArray($style);
     305                        $sheet->getStyle('C6')->applyFromArray($style);
     306                        $sheet->getStyle('B7')->applyFromArray($style);
     307                        $sheet->getStyle('C7')->applyFromArray($style);
     308                       
     309                        $sheet->setCellValue('A9', 'STT');
     310                        $sheet->setCellValue('B9', 'Tên người dùng');
     311                        $sheet->setCellValue('C9', 'Số thuê bao');
     312                        $sheet->setCellValue('D9', 'Ngày giờ giới thiệu');
     313                        $style = array(
     314                                'font' => array('bold' => true, 'size' => 11, 'name' =>'Cambria'),
     315                                'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     316                                                                        'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     317                                                                        'wrap' => true),
     318                                'borders' =>    array(
     319                                        'allborders' => array(
     320                                                'style' => \PHPExcel_Style_Border::BORDER_THIN
     321                                                )
     322                                )
     323                        );
     324                        $sheet->getStyle('A9:D9')->applyFromArray($style);
     325                       
     326                        $style = array(
     327                                'font' => array('size' => 11, 'name' =>'Cambria'),
     328                                'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     329                                                                        'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     330                                                                        'wrap' => true),
     331                                'borders' =>    array(
     332                                        'allborders' => array(
     333                                                'style' => \PHPExcel_Style_Border::BORDER_THIN
     334                                                )
     335                                )
     336                        );
     337                       
     338                        $dem = 0;
     339                        foreach ($users as $index => $user):
     340                                $sheet->setCellValue('A' . ($dem + 10), $index + 1);
     341                                $sheet->setCellValue('B' . ($dem + 10), $user['username']);
     342                                $sheet->setCellValueExplicit('C' . ($dem + 10), $user['user_cellphone'], PHPExcel_Cell_DataType::TYPE_STRING);
     343                                $sheet->setCellValue('D' . ($dem + 10), $user['user_created_time']);
     344                                $sheet->getStyle('A' . ($dem + 10).':D'.($dem + 10))->applyFromArray($style);
     345                                $dem++;
     346                        endforeach;
     347                       
     348                        $writer = new PHPExcel_Writer_Excel5($this->phpexcel);
     349                        header('Content-Type: application/vnd.ms-excel');
     350                        header('Content-Disposition: attachment; filename="danhsachnguoidung_ctv_'.date('d/m/Y').'.xls"');
     351                        $writer->save('php://output');
     352                }else{
     353                        $this->load->view('login');
     354                }
     355        }
     356       
    204357}
Note: See TracChangeset for help on using the changeset viewer.