| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351 | <?php defined('BASEPATH') OR exit('No direct script access allowed');class Trademark extends Start_Controller {	public function __construct(){		parent::__construct();		$this->load->_model('Model_trademark','trademark');		$this->load->_model('Model_excel','excel');	}	//定义方法的调用规则 获取URI第二段值    public function _remap($arg,$arg_array)    {		if($arg == 'add')//添加        {             $this->_add();        }		else if($arg == 'edit')//修改        {             $this->_edit($arg_array);        }		else if($arg == 'del')//修改        {             $this->_del();        }		else if($arg == 'rows')//修改        {             $this->_rows();        }		else if($arg == 'code')        {             $this->_code($arg_array);        }		else if($arg == 'excel')        {             $this->_excel();        }		else if($arg == 'down')        {             $this->_down();        }		else		{			 $this->_index();		}    }	//管理	public function _index()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['page']))  		{		    $page = $this->input->post('page',true);		    $perpage = $this->input->post('perpage',true);			$name = $this->input->post('name',true);			$type = $this->input->post('type',true);			$class = $this->input->post('class',true);			$owner = $this->input->post('owner',true);			$agent = $this->input->post('agent',true);			$number = $this->input->post('number',true);			$xztime = $this->input->post('xztime',true);			$timetk = $this->input->post('timetk',true);			$timetj = $this->input->post('timetj',true);			$timetk = strtotime($timetk);			$timetj = strtotime($timetj);			$where = "1=1 ";            //数据排序            $order_str = $xztime." desc";			if($name)            {                $where  .= " and name like '%$name%'";            }			if($type)            {                $where  .= " and type = '$type'";            }			if($class)            {                $where  .= " and class like '%$class%'";            }			if($owner)            {                $where  .= " and owner like '%$owner%'";            }			if($agent)            {                $where  .= " and agent like '%$agent%'";            }			if($number)            {                $where  .= " and number like '%$number%'";            }			if($timetk && $timetj)            {                $where  .= " and ".$xztime." > '$timetk' and ".$xztime." < '$timetj'";            }            if(empty($page))		    {                $start = 0;		    	$perpage = 1;            }		    else		    {                $start = ($page - 1)*$perpage;            }            //取得信息列表            $info_list = $this->trademark->find_all($where,'id,type,name,number,class,owner,agent,djtime,sqtime,ggtime',$order_str,$start,$perpage);			 //格式化数据            foreach ($info_list as $key=>$value) 		    {				if($value['type'] == 1)				{					$info_list[$key]['type'] = '国内商标';				}				else if($value['type'] == 2)				{					$info_list[$key]['type'] = '美国商标';				}				else if($value['type'] == 3)				{					$info_list[$key]['type'] = '国内专利';				}				else if($value['type'] == 4)				{					$info_list[$key]['type'] = '美国专利';				}				else if($value['type'] == 5)				{					$info_list[$key]['type'] = '欧洲商标';				}				$info_list[$key]['djtime'] = ($value['djtime'] > 0)?date('Y-m-d H:i:s',$value['djtime']):'';				$info_list[$key]['sqtime'] = ($value['sqtime'] > 0)?date('Y-m-d H:i:s',$value['sqtime']):'';				$info_list[$key]['ggtime'] = ($value['ggtime'] > 0)?date('Y-m-d H:i:s',$value['ggtime']):'';            }		    $total = $this->trademark->find_count($where);		    $pagenum = ceil($total/$perpage);		    $over = $total-($start+$perpage);		    $rows = array('total'=>$total,'over'=>$over,'pagenum'=>$pagenum,'rows'=>($info_list));		    echo json_encode($rows);exit;		}		$this->_Template('trademark',$this->data);	}	//添加	public function _add()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['name']))		{			if($this->trademark->insert($post))        	{         		echo json_encode(array('msg'=>'添加成功','success'=>true));exit;       	 	}       		else        	{           		echo json_encode(array('msg'=>'添加失败,请重试','success'=>false));exit;        	}		}		$this->_Template('trademark_add',$this->data);	}	//修改	public function _edit($arg_array)	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['id']))		{			$id = $this->input->post('id',true);			if($this->trademark->save($post,$id))        	{         		echo json_encode(array('msg'=>'修改成功','success'=>true));exit;       	 	}       		else        	{           		echo json_encode(array('msg'=>'修改失败,请重试','success'=>false));exit;        	}		}		$arg_array = $arg_array[0];		$trademark = $this->trademark->read($arg_array);		$this->data['trademark'] = $trademark;		$this->_Template('trademark_edit',$this->data);	}	//删除	public function _del()	{		$post = $this->input->post(NULL, TRUE);		if(isset($post['s']))  		{            $id_arr = $this->input->post('s');            $id_arr =  explode(',',$id_arr);            if(!$id_arr)            {                echo json_encode(array('msg'=>'参数错误!','success'=>false));exit;            }            //循环删除记录            foreach ($id_arr as $v) 		    {                $this->trademark->remove($v);            }            echo json_encode(array('del'=>$id_arr,'msg'=>'删除记录成功!','success'=>true));		}    }		public function _excel()	{		$dir = '/data/excel/'.date('Ymd',time()).'/';		$config['upload_path'] = '.'.$dir ;		$config['file_name'] = date('Ymd_His_',time()).rand(1000,9999);        $config['allowed_types'] = 'xls|xlsx|csv';        $config['max_size'] = 10240;		$this->load->library('upload', $config);		$this->upload->initialize($config);        if ($this->upload->do_upload('userfile'))        {			$full_path = $dir.$this->upload->data('file_name');			$fileName = '.' . $full_path;            if (!file_exists($fileName)) 			{				echo json_encode(array('msg'=>"上传失败,请重试",'success'=>false));exit;            }			else			{				require_once "./data/excel/PHPExcel/IOFactory.php";				$phpExcel = PHPExcel_IOFactory::load($fileName);// 载入当前文件				$phpExcel->setActiveSheetIndex(0);// 设置为默认表				$sheetCount = $phpExcel->getSheetCount();// 获取表格数量				$row = $phpExcel->getActiveSheet()->getHighestRow();// 获取行数				$column = $phpExcel->getActiveSheet()->getHighestColumn();// 获取列数				++$column;//如果列数大于26行				$list = array();				for ($i = 2; $i <= $row; $i++) // 行数循环				{					$data = array();                    for ($c = 'A'; $c != $column; $c++)  // 列数循环	                {						$data[] = $phpExcel->getActiveSheet()->getCell($c . $i)->getValue();                    }					$list[] = $data;                }			}			$i = 0;$j = 0;$ed = array();$tytime = time();		    foreach ($list as $key=>$value)		    {				$cf = $this->trademark->find_all("number = '".$value['3']."'");				if(!isset($value['3'][0])) 				{					$post['name'] = $value['2'];					if($value['1'] == '国内商标')					{						$post['value'] = 1;					}					else if($value['1'] == '美国商标')					{						$post['value'] = 2;					}					else if($value['1'] == '国内专利')					{						$post['value'] = 3;					}					else if($value['1'] == '美国专利')					{						$post['value'] = 4;					}					else if($value['1'] == '欧洲商标')					{						$post['value'] = 5;					}					$post['number'] = $value['3'];					$post['class'] = $value['4'];					$post['sqtime'] = $value['5'];					$post['ggtime'] = $value['6'];					$post['owner'] = $value['7'];					$this->trademark->insert($post);					}				else				{					$ed[] = array($value['3'].'-有重复');					$i++;				}				sleep(2);//停留2秒			}			if($i+$j > 0)			{				$time = date('Ymd',time());				$title = '错误信息-'.$time;        		$titlename = "<table border=1><tr><td>错误详情</td></tr></table>";				$tail = "\n";        		$filename = $title.".xls";        		$ecl = $this->excel->get_fz3($ed,$titlename,$filename,$tail);				$dir = '/data/excel/'.$time.'/';				$file_name = 'error_'.$time.rand(1000,9999);				if(!is_dir('.'.$dir))mkdir('.'.$dir,0777);				$myfile = fopen(".".$dir.$file_name.".xls", "w") or die();				fwrite($myfile,$ecl);				fclose($myfile);				$error = $dir.$file_name.'.xls';				echo json_encode(array('msg'=>'添加成功,'.$i.'条异常,'.$j.'条失败','error'=>$error,'success'=>true));exit;			}			else			{				echo json_encode(array('msg'=>'添加成功!','error'=>1,'success'=>true));exit;			}        }		else		{			echo json_encode(array('msg'=>'上传失败!','t'=>$this->upload->display_errors(),'success'=>false));exit;		}    }		//下载excel模板	public function _down()	{		if(isset($_GET['excela']))  		{			$title = "许昌龙熠美发饰品有限公司第一届雀王争霸赛";             $titlename = "<table border=1>            <tr><th colspan='8' align='left'><h3>许昌龙熠美发饰品有限公司第一届雀王争霸赛<h3></th></tr>            <tr>			<td>参加/不参加</td            <td>选手昵称</td>            <td>年龄</td>            <td>喜好</td>			<td>联系电话</td>            <td>麻龄</td>			<td>输赢</td>            <td>牌后总结</td>            </tr>            </table>";             $filename = $title.".xls"; 			$tail = "\n";             $this->excel->get_fz2($info_list,$titlename,$filename,$tail);			exit;            $title = "导入模板";             $titledata = array(array('序号','商标类型','商标名称','注册号','国际分类','申请日期','注册公告日期','申请人'),array('1','国内商标','AAA','1111111','18','2000-01-01','2000-01-01','许昌龙熠美发饰品有限公司'));            $filename = $title.".xls";            $this->get_excel($titledata,$filename);	    }	}		public function get_excel($titledata,$filename)	{		require_once "./data/excel/PHPExcel/IOFactory.php";		$objPHPExcel = new \PHPExcel();        $objPHPExcel->setActiveSheetIndex(0);        $dataArray = $titledata;        $objPHPExcel->getActiveSheet()->fromArray($dataArray, null, 'A1');		header('Content-Type: application/vnd.ms-excel');        header('Content-Disposition: attachment;filename='.$filename);        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');        $objWriter->save('php://output');        $objPHPExcel->disconnectWorksheets();			}}
 |