Ignore:
Timestamp:
Apr 7, 2015 1:52:40 PM (10 years ago)
Author:
namnd
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pro-violet-viettel/sourcecode/application/modules/admin/controllers/user.php

    r770 r883  
    2727                $this->load->helper ( 'pagging' );
    2828                $this->load->model ( 'user_model' );
     29               
    2930                $provinces = lang('_PROVINCES_');
    3031                error_log(var_export($provinces, TRUE), 3, '/srv/www/sbg/log/provinces.log');
     
    5051                }
    5152                $data['provinces'] = $provinces;
    52                 $data['province_code'] = '';
    53                 if ($this->input->post ( 'province-code' )) {
    54                         $data ['province_code'] = $this->input->post ( 'province-code' );
     53                $data['province'] = '';
     54                if ($this->input->post ( 'province' )) {
     55                        $data ['province'] = $this->input->post ( 'province' );
     56                }
     57                if ($data['province'])
     58                        $data['districts'] = $this->user_model->getDistrictByProvince($data ['province']);
     59                if ($this->input->post ( 'district' )) {
     60                        $data['district'] = $this->input->post ( 'district' );
    5561                }
    5662                $data ['keyword'] = "";
     
    5864                $data ['sorting_field'] = "created_time";
    5965                if ($this->input->post ( 'sorting_order' )) {
    60                         if ($this->input->post ( 'sorting_order' ) != "sorting") {
     66                        if ($this->input->post ( 'sorting_ord   er' ) != "sorting") {
    6167                                $data ['sorting_order'] = $this->input->post ( 'sorting_order' );
    6268                                $data ['sorting_field'] = $this->input->post ( 'sorting_field' );
     
    8490               
    8591                foreach ( $us as $u ) {
     92                        $dist = $this->user_model->getDistrictByIdAndProvince($u['district'], $u['province']);
     93                        $u['district_name'] = $dist['type']." ".$dist['district_name'];
    8694                        $u ['province'] = isset($provinces[$u ['province']]) ? $provinces[$u ['province']] : $u ['province'];
     95                       
    8796                        $userinfo = $this->get_userinfo ( $u ['us_id'] );
    8897                        if ($userinfo) {
     
    171180                $this->load->model ( 'user_model' );
    172181                $data = $this->user_model->get_user_info ( $src, $us_id, $token );
    173                 // var_dump($data);
    174182                $result = array ();
    175183                parse_str ( $data, $result );
    176184                return $result;
     185        }
     186       
     187        public function export(){
     188               
     189                $this->load->helper ( 'pagging' );
     190                $this->load->model ( 'user_model' );
     191                $provinces = lang('_PROVINCES_');
     192       
     193                $data ['current_page'] = $this->uri->segment ( 4, 1 );
     194                $data ['itemsoptions'] = array (
     195                                10,
     196                                25,
     197                                50,
     198                                100
     199                );
     200
     201                $data ['perpage'] = $this->uri->segment (5, 10);
     202                $data ['statusoptions'] = array (
     203                                0 => "Tất cả",
     204                                1 => "Đã đăng kÜ VIP",
     205                                2 => "Dùng thá»­ 7 ngày",
     206                                3=> "Dùng thá»­ hạn chế",
     207                                4=> "Hết hạn"
     208                );
     209                $data ['status'] = $this->uri->segment (7, 0);
    177210                /*
    178                  * if (strpos($data, '&')){ $arr_users = explode("&", $data); $str_username = $arr_users[1]; $arr_username = explode("=", $str_username); return $arr_username[1]; }else { return ""; }
    179                  */
    180         }
     211                if ($this->input->post ( 'status' )) {
     212                        $data ['status'] = ( int ) $this->input->post ( 'status' );
     213                }
     214                */
     215                $data['provinces'] = $provinces;
     216                $data['province'] = $this->uri->segment (8);
     217                if ($data['province'] == 'default') $data['province'] = null;
     218                if ($this->input->post ( 'province' )) {
     219                        $data ['province'] = $this->input->post ( 'province' );
     220                }
     221                if ($data['province'])
     222                        $data['districts'] = $this->user_model->getDistrictByProvince($data ['province']);
     223                if ($this->input->post ( 'district' )) {
     224                        $data['district'] = $this->input->post ( 'district' );
     225                }
     226               
     227                $data['district'] = $this->uri->segment (9);
     228                if ($data['district'] == 'default') $data['district'] = null;
     229                $data ['keyword'] = $this->uri->segment (6);
     230                if ($data['keyword'] == 'default') $data['keyword'] = null;
     231                $data ['sorting_order'] = "sorting_desc";
     232                $data ['sorting_field'] = "created_time";
     233                $data ['sorting_order'] = $this->uri->segment (11);
     234                $data ['sorting_field'] = $this->uri->segment (12);
     235               
     236                if ($this->input->post ( 'sorting_order' )) {
     237                        if ($this->input->post ( 'sorting_order' ) != "sorting") {
     238                                $data ['sorting_order'] = $this->input->post ( 'sorting_order' );
     239                                $data ['sorting_field'] = $this->input->post ( 'sorting_field' );
     240                        }
     241                }
     242               
     243                if ($this->input->post ( 'items' )) {
     244                        $data ['perpage'] = $this->input->post ( 'items' );
     245                }
     246               
     247                if ($this->input->post ( 'keyword' )) {
     248                        $data ['keyword'] = $this->input->post ( 'keyword' );
     249                }
     250               
     251                $data ['daterange_start'] = "";
     252                $data ['daterange_end'] = "";
     253                $daterange = $this->uri->segment (10);
     254                if ($daterange == 'default') $daterange = null;
     255                if($daterange){
     256                        $daterange = explode ( " - ", $daterange );
     257                        $daterange [0] = str_replace ( '/', '-', $daterange [0] );
     258                        $daterange [1] = str_replace ( '/', '-', $daterange [1] );
     259                        $data ['daterange_start'] = date ( 'Y-m-d H:i:s', strtotime ( $daterange [0] ) );
     260                        $data ['daterange_end'] = date ( 'Y-m-d H:is:s', strtotime ( $daterange [1] . ' + 1 day' ) );
     261                }
     262                if ($this->input->post ( 'daterange' )) {
     263                        $daterange = explode ( " - ", $this->input->post ( 'daterange' ) );
     264                        $daterange [0] = str_replace ( '/', '-', $daterange [0] );
     265                        $daterange [1] = str_replace ( '/', '-', $daterange [1] );
     266                        $data ['daterange_start'] = date ( 'Y-m-d H:i:s', strtotime ( $daterange [0] ) );
     267                        $data ['daterange_end'] = date ( 'Y-m-d H:is:s', strtotime ( $daterange [1] . ' + 1 day' ) );
     268                }
     269                $data ['start'] = ($data ['current_page'] - 1) * $data ['perpage'];
     270                $data ['total'] = $this->user_model->get_total_users ( $data );
     271                $us = $this->user_model->get_list_users ( $data );
     272                $users = array ();
     273               
     274                foreach ( $us as $u ) {
     275                        $dist = $this->user_model->getDistrictByIdAndProvince($u['district'], $u['province']);
     276                        $u['district_name'] = $dist['type']." ".$dist['district_name'];
     277                        $u ['province'] = isset($provinces[$u ['province']]) ? $provinces[$u ['province']] : $u ['province'];
     278                       
     279                        $userinfo = $this->get_userinfo ( $u ['us_id'] );
     280                        if ($userinfo) {
     281                                $u ['username'] = $userinfo ['username'];
     282                                $u['fullname'] = $userinfo['fullname'];
     283                        }
     284                       
     285                        if (strtotime($u['expire_date']) > time() && $u['p_id'] != 5 ){
     286                                $u['status'] = 'Đã đăng kÜ VIP';
     287                        }elseif(strtotime($u['expire_date']) > time() && $u['p_id'] == 5){
     288                                $u['status'] = 'Dùng thá»­ 7 ngày';
     289                        }elseif(strtotime($u['expire_date']) < time() && $u['p_id'] == 5){
     290                                $u['status'] = 'Dùng thá»­ hạn chế';
     291                        }else{
     292                                $u['status'] = 'Hết hạn';
     293                        }
     294                       
     295                        array_push ( $users, $u );
     296                }
     297       
     298                $data ['users'] = $users;
     299                $data ['paging_url'] = base_url () . "admin/nguoi_dung/trang/";
     300                $data ['num_links'] = 2;
     301                $data ['paging'] = pagging ( $data );
     302               
     303                $this->load->library("PHPExcel");
     304        $sheet = $this->phpexcel->getActiveSheet();
     305               
     306        $sheet->setTitle("bao cao thue bao " . $data['month'] . " - " . $data['year']);
     307        $sheet->getColumnDimension('A')->setWidth(10);
     308        $sheet->getColumnDimension('B')->setWidth(25);
     309        $sheet->getColumnDimension('C')->setWidth(25);
     310        $sheet->getColumnDimension('D')->setWidth(15);
     311        $sheet->getColumnDimension('E')->setWidth(15);
     312        $sheet->getColumnDimension('F')->setWidth(15);
     313        $sheet->getColumnDimension('G')->setWidth(15);
     314        $sheet->getColumnDimension('H')->setWidth(25);
     315        $sheet->getColumnDimension('I')->setWidth(25);
     316               
     317               
     318                $sheet->setCellValue('B1', "TẬP ĐOÀN VIỄN THÔNG QUÂN ĐỘI");
     319                $style = array(
     320                        'font' => array('bold' => true, 'size' => 12, 'name' =>'Cambria', 'color' => array('rgb' => '0070bf')),
     321                        'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     322                                                                'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     323                                                                'wrap' => true )
     324                );
     325                $sheet->mergeCells('B1:I1');
     326                $sheet->getStyle('B1')->applyFromArray($style);
     327               
     328                $sheet->setCellValue('B2', "TỔNG CÔNG TY VIỄN THÔNG VIETTEL");
     329                $style = array(
     330                        'font' => array('size' => 12, 'name' =>'Cambria', 'color' => array('rgb' => '0070bf')),
     331                        'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     332                                                                'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     333                                                                'wrap' => true )
     334                );
     335                $sheet->mergeCells('B2:I2');
     336                $sheet->getStyle('B2')->applyFromArray($style);
     337               
     338               
     339                $sheet->setCellValue('A4', "DANH SÁCH NGƯỜI DÙNG");
     340                $style = array(
     341                        'font' => array('bold' => true, 'size' => 14, 'name' =>'Cambria'),
     342                        'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     343                                                                'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     344                                                                'wrap' => true )
     345                );
     346                $sheet->mergeCells('A4:I4');
     347                $sheet->getStyle('A4')->applyFromArray($style);
     348               
     349                $sheet->setCellValue('A6', 'STT');
     350                $style = array(
     351                        'font' => array('bold' => true, 'size' => 11, 'name' =>'Cambria'),
     352                        'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     353                                                                'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     354                                                                'wrap' => true),
     355                        'borders' =>    array(
     356                                'allborders' => array(
     357                                        'style' => \PHPExcel_Style_Border::BORDER_THIN
     358                                        )
     359                        )
     360                );
     361                $sheet->getStyle('A6')->applyFromArray($style);
     362                $style = array(
     363                        'font' => array('bold' => true, 'size' => 11, 'name' =>'Cambria'),
     364                        'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     365                                                                'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER,
     366                                                                'wrap' => true),
     367                        'borders' =>    array(
     368                                'allborders' => array(
     369                                        'style' => \PHPExcel_Style_Border::BORDER_THIN
     370                                        )
     371                        )
     372                );
     373               
     374                $sheet->setCellValue('B6', 'Số điện thoại');
     375                $sheet->setCellValue('C6', "Họ tên)");
     376                $sheet->setCellValue('D6', "Tài khoản SBG");
     377                $sheet->setCellValue('E6', "Ngày đăng kÜ");
     378                $sheet->setCellValue('F6', "Ngày hết hạn");
     379                $sheet->setCellValue('G6', "Tỉnh/Thành phố");
     380                $sheet->setCellValue('H6', "Quận/Huyện");
     381                $sheet->setCellValue('I6', "Tình trạng");
     382                $sheet->getStyle('A6:I6')->applyFromArray($style);
     383               
     384                $styleSTT = array(
     385                        'font' => array('size' => 11, 'name' =>'Cambria'),
     386                        'alignment' => array('horizontal' => \PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
     387                                                                'vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER),
     388                        'borders' =>    array(
     389                                'allborders' => array(
     390                                        'style' => \PHPExcel_Style_Border::BORDER_THIN
     391                                        )
     392                        )
     393                );
     394                $style = array(
     395                        'font' => array('size' => 11, 'name' =>'Cambria'),
     396                        'alignment' => array('vertical' => \PHPExcel_Style_Alignment::VERTICAL_CENTER),
     397                        'borders' =>    array(
     398                                'allborders' => array(
     399                                        'style' => \PHPExcel_Style_Border::BORDER_THIN
     400                                        )
     401                        )
     402                );
     403                $dem = 0;
     404                foreach ($users as $index => $user):
     405                        $sheet->setCellValue('A' . ($dem + 7), $index + 1);
     406                        $sheet->setCellValueExplicit('B' . ($dem + 7), $user['username'], PHPExcel_Cell_DataType::TYPE_STRING);
     407            $sheet->setCellValue('C' . ($dem + 7), $user['fullname']);
     408            $sheet->setCellValue('D' . ($dem + 7), $user['acc_balanced']);
     409            $sheet->setCellValue('E' . ($dem + 7), date('d/m/Y', strtotime($user['created_time'])));
     410            $sheet->setCellValue('F' . ($dem + 7), isset($user['expire_date']) && strtotime($user['expire_date']) > 0 ? date('d/m/Y', strtotime($user['expire_date'])) : '');
     411            $sheet->setCellValue('G' . ($dem + 7), $user['province']);
     412            $sheet->setCellValue('H' . ($dem + 7), $user['district_name']);
     413                        $sheet->setCellValue('I' . ($dem + 7), $user['status']);
     414                        $sheet->getStyle('A' . ($dem + 7))->applyFromArray($styleSTT);
     415                        $sheet->getStyle('B' . ($dem + 7).':I'.($dem + 7))->applyFromArray($style);
     416                       
     417                       
     418                        $dem++;
     419                endforeach;
     420               
     421                $writer = new PHPExcel_Writer_Excel5($this->phpexcel);
     422                header('Content-Type: application/vnd.ms-excel');
     423        header('Content-Disposition: attachment; filename="danhsachnguoidung_trang_'.$data['current_page'].'.xls"');
     424        $writer->save('php://output');
     425               
     426        }
     427       
    181428}
Note: See TracChangeset for help on using the changeset viewer.