data['rootUrl'] = Doo::conf()->APP_URL; include ('./protected/controller/BaseController.php'); $this->base = new BaseController (); $userinfo = $this->base->admin_init(); $this->data['uid'] = $userinfo['id']; $this->data['username'] = $userinfo['username']; $this->data['currpage'] = 'report'; } public function fc_exit() { session_destroy(); setcookie ( "jlzf_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE ); return '/'; } //报表管理 public function ReportList(){ Doo::loadModel('report'); $report = new Report(); Doo::loadModel('category'); $category = new Category(); Doo::loadModel('item'); $item = new Item(); $pagesql = ''; $sql = ''; $sortsql = ''; if(isset($this->params['area']) && is_numeric($this->params['area'])){ $pagesql .= '/area/'.$this->params['area']; $sql .= ' AND areacate='.$this->params['area']; $this->data['area'] = $this->params['area']; } if(isset($this->params['sort'])){ $pagesql .= '/sort/'.$this->params['sort']; if($this->params['sort'] == 'report' || $this->params['sort'] == 'edit'){ $sortsql = $this->params['sort']; } $this->data['sort'] = $this->params['sort']; } if(isset($this->params['status']) && $this->params['status'] == 1){ $this->data['dingzhi'] = true; $itemlist = $item->getAllMsg(); $this->data['itemlist'] = $itemlist; $this->data['itemid'] = 0; if(isset($this->params['itemid']) && $this->params['itemid'] != 0){ $this->data['item'] = $item->getRowbyid($this->params['itemid']); $this->data['itemid'] = $this->params['itemid']; $totalArchive = $report->count(array('where' => 'itemid=0', 'asArray' => TRUE)); $pager = new DooPager(Doo::conf()->APP_URL . "reportlist/1/item/".$this->params['itemid'].$pagesql."/page", $totalArchive, 15, 10); if (isset($this->params['pindex'])){ $this->data['pindex'] = $this->params['pindex']; $pager->paginate(intval($this->params['pindex'])); } else $pager->paginate(1); if ($pager->limit != ' -15,15') $this->data['reportlist'] = $report->getitemRowbylimit($pager->limit,$this->params['itemid'],$sortsql); }else{ $totalArchive = $report->count(array('where' => 'itemid!=0', 'asArray' => TRUE)); $pager = new DooPager(Doo::conf()->APP_URL . "reportlist/1".$pagesql."/page", $totalArchive, 15, 10); if (isset($this->params['pindex'])){ $this->data['pindex'] = $this->params['pindex']; $pager->paginate(intval($this->params['pindex'])); } else $pager->paginate(1); if ($pager->limit != ' -15,15') $this->data['reportlist'] = $report->getAllitemRowbylimit($pager->limit,$sortsql); } }else{ $this->data['catelist'] = $category->getAlllist(); $cateparentlist = $category->getparentlist(); $this->data['cateparentlist'] = $cateparentlist; $this->data['cateid'] = ''; if(isset($this->params['cate']) && $this->params['cate'] != 0){ $this->data['cateid'] = $this->params['cate']; $totalArchive = $report->count(array('where' => 'itemid=0 and (cateid='.$this->params['cate'].' or parentid='.$this->params['cate'].')'.$sql, 'asArray' => TRUE)); $pager = new DooPager(Doo::conf()->APP_URL . "reportlist/cate/".$this->params['cate'].$pagesql."page", $totalArchive, 15, 10); if (isset($this->params['pindex'])){ $this->data['pindex'] = $this->params['pindex']; $pager->paginate(intval($this->params['pindex'])); } else $pager->paginate(1); if ($pager->limit != ' -15,15') $this->data['reportlist'] = $report->getcateRowbylimit($pager->limit,$this->params['cate'],$sql,$sortsql); }else{ $totalArchive = $report->count(array('where' => 'itemid=0'.$sql, 'asArray' => TRUE)); $pager = new DooPager(Doo::conf()->APP_URL . "reportlist".$pagesql."/page", $totalArchive, 15, 10); if (isset($this->params['pindex'])){ $this->data['pindex'] = $this->params['pindex']; $pager->paginate(intval($this->params['pindex'])); } else $pager->paginate(1); if ($pager->limit != ' -15,15') $this->data['reportlist'] = $report->getitemRowbylimit($pager->limit,0,$sortsql,$sql); } } if(isset($this->data['reportlist'])) { foreach ($this->data['reportlist'] as $k => $v) { Doo::loadModel('version'); $version = new Version(); $versionnum = $version->count(array('where' => 'status!=0 and reportid='.$v['reportid'], 'asArray' => TRUE)); $this->data['reportlist'][$k]['versionnum'] = $versionnum; Doo::loadModel('category'); $category2 = new Category(); if($v['parentid'] != 0){ $catename = $category2->getnamebyid($v['parentid']).'/'.$category2->getnamebyid($v['cateid']); }else{ $catename = $category2->getnamebyid($v['cateid']); } $this->data['reportlist'][$k]['catename'] = $catename; $this->data['reportlist'][$k]['edittime'] = $versionnum != 0 ? date('YmdHis',$v['edittime']) : ''; if($v['itemid'] != 0){ $this->data['reportlist'][$k]['itemname'] = $item->getnamebyid($v['itemid']); } } } $this->data['pager'] = $pager->output; $this->render ( "form-list", $this->data, TRUE); } public function AddReport(){ if(isset($this->params['status']) && $this->params['status'] == 1){ //定制添加报表 $this->data['dingzhi'] = true; Doo::loadModel('item'); $item = new Item(); $itemlist = $item->getAllMsg(); $this->data['itemlist'] = $itemlist; if(isset($this->params['itemid'])){ $this->data['itemid'] = $this->params['itemid']; //通用添加报表 Doo::loadModel('category'); $category = new Category(); $cateparentlist = $category->getparentlist($this->params['itemid']); $this->data['cateparentlist'] = $cateparentlist; }else{ $this->data['itemid'] = ''; } }else{ //通用添加报表 Doo::loadModel('category'); $category = new Category(); $cateparentlist = $category->getparentlist(); $this->data['cateparentlist'] = $cateparentlist; } $this->render ( "add-form", $this->data, TRUE); } public function SetReport(){ if(isset($_POST['itemselect']) && $_POST['itemselect'] == 0){ exit('项目不能为空'); } if(!isset($_POST['parentselect']) || $_POST['parentselect'] == 0){ exit('类别不能为空'); } if(!isset($_POST['reportname']) || empty($_POST['reportname'])){ exit('报表名不能为空'); } Doo::loadModel('report'); $report = new Report(); if(isset($_POST['reportid'])){ $report->reportid = $_POST['reportid']; $report->itemid = isset($_POST['itemselect']) ? $_POST['itemselect'] : 0; $report->parentid = isset($_POST['cateselect']) ? $_POST['parentselect'] : 0; $report->cateid = isset($_POST['cateselect']) ? $_POST['cateselect'] : $_POST['parentselect']; $report->reportname = $_POST['reportname']; $report->areacate = isset($_POST['areaselect']) ? $_POST['areaselect'] : 3; $report->update(); //路由返回 $returnurl = '/reportlist'; if(isset($_POST['itemid'])) { $returnurl .= '/1'; } if(isset($_POST['itemid']) && $_POST['itemid'] != 0){ $returnurl .= '/item/'.$_POST['itemid']; } if(isset($_POST['cateid']) && !empty($_POST['cateid'])){ $returnurl .= '/cate/'.$_POST['cateid']; } if(isset($_POST['area']) && is_numeric($_POST['area'])){ $returnurl .= '/area/'.$_POST['area']; } if(isset($_POST['sort']) && $_POST['sort'] == 'report'){ $returnurl .= '/sort/report'; } if(isset($_POST['pindex'])){ $returnurl .= '/page/'.$_POST['pindex']; } return $returnurl; }else{ $reports = array( 'reportname' => $_POST['reportname'], 'areacate' => isset($_POST['areaselect']) ? $_POST['areaselect'] : 3, 'itemid' => isset($_POST['itemselect']) ? $_POST['itemselect'] : 0, 'parentid' => isset($_POST['cateselect']) ? $_POST['parentselect'] : 0, 'cateid' => isset($_POST['cateselect']) ? $_POST['cateselect'] : $_POST['parentselect'], 'userid' => $this->data['uid'], 'edittime' => time(), 'lastedit' => time(), 'lastuser' => $this->data['username'] ); $reportid = $report->_insertAttributes('report', $reports); return '/versionlist/'.$reportid; } } public function DelReport(){ $reportId = $this->params['reportid']; Doo::loadModel('report'); $report = new Report(); $report->reportid = $reportId; $report->delete(); Doo::loadModel('version'); $version = new Version(); $version->reportid = $reportId; $version->delete(); Doo::loadModel('log'); $log = new Log(); $log->reportid = $reportId; $log->delete(); include (DOO::conf()->SITE_PATH . 'protected/plugin/io.han.php'); $this->IoHandler = new IoHandler(); //调用定义物理路径 $t=DOO::conf()->SITE_PATH."jlbb/".$reportId; $this->IoHandler->RemoveDir($t); //路由返回 $returnurl = '/reportlist'; if(isset($this->params['itemid'])) { $returnurl .= '/1'; } if(isset($this->params['itemid']) && $this->params['itemid'] != 0){ $returnurl .= '/item/'.$this->params['itemid']; } if(isset($this->params['cateid']) && !empty($this->params['cateid'])){ $returnurl .= '/cate/'.$this->params['cateid']; } if(isset($this->params['area']) && is_numeric($this->params['area'])){ $returnurl .= '/area/'.$this->params['area']; } if(isset($this->params['sort']) && $this->params['sort'] == 'report'){ $returnurl .= '/sort/report'; } if(isset($this->params['pindex'])){ $returnurl .= '/page/'.$this->params['pindex']; } return $returnurl; } //版本管理 public function VersionList(){ if(isset($this->params['reportid']) && is_numeric($this->params['reportid'])){ Doo::loadModel('report'); $report = new Report(); $reportmsg = $report->getRowbyid($this->params['reportid']); if(!empty($reportmsg)){ $this->data['report'] = $reportmsg; Doo::loadModel('category'); $category2 = new Category(); if($reportmsg['parentid'] != 0){ $catename = $category2->getnamebyid($reportmsg['parentid']).'/'.$category2->getnamebyid($reportmsg['cateid']); }else{ $catename = $category2->getnamebyid($reportmsg['cateid']); } $this->data['report']['catename'] = $catename; Doo::loadModel('version'); $version = new Version(); $versionlist = $version->getRowbyreport($this->params['reportid']); Doo::loadModel('log'); Doo::loadModel('fcuser'); foreach($versionlist as $k => $v){ $log = new Log(); $user = new Fcuser(); $logmsg = $log->getRowbyVerTime($v['verid'],$v['edittime']); $versionlist[$k]['editname'] = !empty($logmsg) ? $user->getUsernameByID($logmsg['userid']) : ''; } $this->data['versionlist'] = $versionlist; $this->data['reportid'] = $this->params['reportid']; $this->render('formver-list', $this->data, TRUE);die; } } return '/reportlist'; } public function AddVersion(){ if(isset($this->params['reportid'])){ echo "生成版本中,请稍后..."; Doo::loadModel('report'); $report = new Report(); $reportmsg = $report->getRowbyid($this->params['reportid']); Doo::loadModel('item'); $item = new Item(); if($reportmsg['itemid'] != 0){ $reportcate = 1; $itemname = $item->getnamebyid($reportmsg['itemid']); }else{ $reportcate = 0; $itemname = ''; } Doo::loadModel('category'); $category = new Category(); if($reportmsg['parentid'] != 0){ $parentname = $category->getnamebyid($reportmsg['parentid']); }else{ $parentname = ''; } $catename = $category->getnamebyid($reportmsg['cateid']); $time = time(); $version = array( 'vername' => date('YmdHis',$time), 'reportid' => $reportmsg['reportid'], 'reportname' => $reportmsg['reportname'], 'reportcate' => $reportcate, 'itemname' => $itemname, 'catename' => $catename, 'parentname' => $parentname ); if(!empty($version['parentname'])){ $name1 = '分类="1" 分类名称="'.$version['parentname'].'" 子分类="1" 子分类名称="'.$version['catename'].'"'; }else{ $name1 = '分类="1" 分类名称="'.$version['catename'].'" '; } $createXML = ''; Doo::loadModel('version'); $version2 = new Version(); $version2->reportid = $version['reportid']; $version2->vername = date('YmdHis',$time); $version2->xmlbody = $createXML; $version2->status = 1; $version2->addtime = $time; $version2->edittime = $time; $verid = $version2->insert(); Doo::loadModel('log'); $log = new Log(); $log->reportid = $version['reportid']; $log->userid = $this->data['uid']; $log->verid = $verid; $log->vername = $version['vername']; $log->addtime = $time; $log->content = date('Y-m-d H:i:s',$time).' '.$this->data['username'].' 创建版本'.$version['vername']; $log->insert(); $report2 = new Report(); $report2->reportid = $version['reportid']; $report2->edittime = $time; $report2->lastedit = $time; $report2->lastuser = $this->data['username']; $report2->update(); include (DOO::conf()->SITE_PATH . 'protected/plugin/io.han.php'); $this->IoHandler = new IoHandler(); //调用定义物理路径 $t=DOO::conf()->SITE_PATH."jlbb/".$version['reportid']; $this->IoHandler->MakeDir($t); $xmlName = $verid.'_'.date('YmdHis',$time).'.xml'; $xml = trim($createXML); $myfile = fopen($t.'/'.$xmlName, "w"); fwrite($myfile, $xml); fclose($myfile); // $this->data['verid'] = $verid; // $this->data['version'] = $version; // $this->data['reportid'] = $this->params['reportid']; // $log2 = new Log(); // $loglist = $log2->getListbyverid($verid); // $this->data['loglist'] = $loglist; // $this->render('add-formver', $this->data, TRUE);die; return '/version/'.$verid.'?status=new'; } return '/reportlist'; } public function UpdateVersion(){ if(isset($this->params['verid'])) { Doo::loadModel('version'); $version = new Version(); $versionmsg = $version->getRowbyid($this->params['verid']); $this->data['version'] = $versionmsg; Doo::loadModel('report'); $report = new Report(); $reportmsg = $report->getRowbyid($versionmsg['reportid']); Doo::loadModel('item'); $item = new Item(); if($reportmsg['itemid'] != 0){ $reportcate = 1; $itemname = $item->getnamebyid($reportmsg['itemid']); }else{ $reportcate = 0; $itemname = ''; } Doo::loadModel('category'); $category = new Category(); if($reportmsg['parentid'] != 0){ $parentname = $category->getnamebyid($reportmsg['parentid']); }else{ $parentname = ''; } $catename = $category->getnamebyid($reportmsg['cateid']); $this->data['version']['reportid'] = $reportmsg['reportid']; $this->data['version']['reportname'] = $reportmsg['reportname']; $this->data['version']['reportcate'] = $reportcate; $this->data['version']['itemname'] = $itemname; $this->data['version']['parentname'] = $parentname; $this->data['version']['catename'] = $catename; Doo::loadModel('log'); // $log = new Log(); // $log->verid = $this->params['verid']; // $log->reportid = $versionmsg['reportid']; // $log->userid = $this->data['uid']; // $log->addtime = time(); // $log->content = date('Y-m-d H:i:s',time()).' '.$this->data['username'].' 编辑'; // $log->insert(); $log2 = new Log(); $loglist = $log2->getListbyverid($this->params['verid']); $this->data['loglist'] = $loglist; if(isset($_GET['status']) && $_GET['status'] == 'new'){ $this->data['status'] = 1; } $this->render('edit-formver', $this->data, TRUE); die; } return '/reportlist'; } public function SetVersion(){ Doo::loadModel('report'); $report = new Report(); Doo::loadModel('version'); $version = new Version(); Doo::loadModel('log'); $log = new Log(); $time = isset($_POST['vername']) ? strtotime($_POST['vername']) : time(); if(isset($_POST['verid']) && !empty($version->getRowbyid($_POST['verid']))){ $version->verid = $_POST['verid']; $version->content = trim($_POST['content']); // $version->xmlheader = trim($_POST['editor']); $version->xmlbody = trim($_POST['editor']); $version->status = isset($_POST['caogao']) ? 1 : 2; $version->edittime = time(); if(isset($_POST['firsttime'])){ // $version->addtime = $time; $addtime = $time; $report->edittime = $time; }else{ $version2 = new Version(); $addtime = $version2->getvertime($_POST['verid']); } $version->update(); $report->reportid = $_POST['reportid']; $report->lastedit = isset($_POST['firsttime']) ? $time : time(); $report->lastuser = $this->data['username']; $report->update(); //调用定义物理路径 $t=DOO::conf()->SITE_PATH."jlbb/".$_POST['reportid']; $xmlName = $_POST['verid'].'_'.date('YmdHis',$addtime).'.xml'; $editor = iconv("UTF-8", "GB2312", $_POST['editor']); $xml = trim($editor); $myfile = fopen($t.'/'.$xmlName, "w"); fwrite($myfile, $xml); fclose($myfile); $log->verid = $_POST['verid']; $log->reportid = $_POST['reportid']; $log->userid = $this->data['uid']; $log->addtime = time(); if(isset($_POST['caogao'])){ $log->content = date('Y-m-d H:i:s',time()).' '.$this->data['username'].' 编辑并保存到草稿'; }elseif(isset($_POST['online'])){ $log->content = date('Y-m-d H:i:s',time()).' '.$this->data['username'].' 发布'; }else{ $log->content = date('Y-m-d H:i:s',time()).' '.$this->data['username'].' 修改过版本'; } $log->insert(); } return '/versionlist/'.$_POST['reportid']; } public function DelVersion(){ $verId = $this->params['verid']; Doo::loadModel('version'); $version = new Version(); Doo::loadModel('log'); $log = new Log(); $reportid = $version->getreportidbyid($verId); $addtime = $version->getvertime($verId); $version->verid = $verId; $version->delete(); //调整报表更新时间,防止软件接口报错 Doo::loadModel('report'); $report = new Report(); $reportmsg = $report->getRowbyid($reportid); if($reportmsg['edittime'] == $addtime){ //获取本报表的最新一期版本 $vermsg = $version->getLastVerbyrid($reportid); if(!empty($vermsg)){ $report->reportid = $reportid; $report->edittime = $vermsg['addtime']; $report->update(); } } include (DOO::conf()->SITE_PATH . 'protected/plugin/io.han.php'); $this->IoHandler = new IoHandler(); $t=DOO::conf()->SITE_PATH."jlbb/".$reportid; $xmlName = $verId.'_'.date('YmdHis',$addtime).'.xml'; $this->IoHandler->DeleteFile($t.'/'.$xmlName); $log->verid = $verId; $log->delete(); return '/versionlist/'.$reportid; } //自动更新报表信息 2分钟执行一次 public function UpdateDataVersion(){ if(isset($this->params['verid']) && is_numeric($this->params['verid'])){ Doo::loadModel('version'); $version = new Version(); $vermsg = $version->getRowbyid($this->params['verid']); if(!empty($vermsg)){ $version->verid = $vermsg['verid']; $version->content = $_POST['content']; $version->xmlbody = trim($_POST['editor']); $version->edittime = time(); $version->update(); Doo::loadModel('report'); $report = new Report(); $report->reportid = $vermsg['reportid']; $report->lastedit = time(); $report->lastuser = $this->data['username']; $report->update(); Doo::loadModel('log'); $log = new Log(); $log->verid = $vermsg['verid']; $log->reportid = $vermsg['reportid']; $log->userid = $this->data['uid']; $log->addtime = time(); $log->content = ''; $log->insert(); //调用定义物理路径 $t=DOO::conf()->SITE_PATH."jlbb/".$vermsg['reportid']; $xmlName = $vermsg['verid'].'_'.date('YmdHis',$vermsg['addtime']).'.xml'; $editor = iconv("UTF-8", "GB2312", $_POST['editor']); $xml = trim($editor); $myfile = fopen($t.'/'.$xmlName, "w"); fwrite($myfile, $xml); fclose($myfile); exit(json_encode(array('status' => 200, 'msg' => date('Y-m-d H:i:s').' 自动保存'))); } } exit(json_encode(array('status' => 400, 'msg' => '参数有误'))); } //项目管理 public function ItemList(){ Doo::loadModel('item'); Doo::loadHelper('DooPager'); $item = new Item(); $totalArchive = $item->count(); $pager = new DooPager(Doo::conf()->APP_URL . "itemlist/page", $totalArchive, 15, 10); if (isset($this->params['pindex'])) $pager->paginate(intval($this->params['pindex'])); else $pager->paginate(1); if ($pager->limit != ' -15,15') $this->data['itemlist'] = $item->getRowbylimit($pager->limit); if(isset($this->data['itemlist'])){ foreach($this->data['itemlist'] as $k => $v){ Doo::loadModel('category'); $category = new Category(); $catenum = $category->count(array('where' => 'itemid='.$v['itemid'])); $this->data['itemlist'][$k]['catenum'] = $catenum; Doo::loadModel('report'); $report = new Report(); $reportnum = $report->count(array('where' => 'itemid='.$v['itemid'])); $this->data['itemlist'][$k]['reportnum'] = $reportnum; } } $this->data['pager'] = $pager->output; $this->render ( "edit-formpoj", $this->data, TRUE); } public function AddItem(){ $name = $_POST['itemname']; Doo::loadModel('item'); $item = new Item(); $code = $this->MadeCode(); $item->itemname = $name; $item->code = $code; $item->insert(); return '/itemlist'; } public function DelItem(){ $itemId = $this->params['itemid']; Doo::loadModel('category'); $category = new Category(); Doo::loadModel('item'); $catenum = $category->count(array('where' => 'itemid='.$itemId)); if($catenum != 0){ exit('该项目下包含类别,无法删除'); } Doo::loadModel('report'); $report = new Report(); $reportnum = $report->count(array('where' => 'itemid='.$itemId)); if($reportnum != 0){ exit('该项目下包含报表,无法删除'); } Doo::loadModel('item'); $item = new Item(); $item->itemid = $itemId; $item->delete(); return '/itemlist'; } public function UpdateItem(){ $itemname = $_POST['itemname']; Doo::loadModel('item'); $item = new Item(); $item->itemname = $itemname; $item->itemid = $_POST['itemid']; $result = $item->update(); if($result){ echo 1; exit; } exit; } //类别管理 public function CateList(){ Doo::loadHelper('DooPager'); Doo::loadModel('category'); $category = new Category(); if(isset($this->params['status']) && $this->params['status'] == 1){ //定制类别 $this->data['dingzhi'] = true; Doo::loadModel('item'); $item = new Item(); $itemlist = $item->getAllMsg(); $this->data['itemlist'] = $itemlist; $this->data['itemid'] = ''; if(isset($this->params['itemid']) && !empty($this->params['itemid'])){ $this->data['item'] = $item->getRowbyid($this->params['itemid']); $this->data['itemid'] = $this->params['itemid']; $itemid = $this->params['itemid']; }else{ $itemid = $item->getfisrtitemid(); $this->data['itemid'] = $itemid; } $this->data['itemname'] = $item->getnamebyid($itemid); $cateparentlist = $category->getparentlist($itemid); $this->data['cateparentlist'] = $cateparentlist; $totalArchive = $category->count(array('where' => 'itemid='.$itemid)); $pager = new DooPager(Doo::conf()->APP_URL . "catelist/1/item/".$itemid."/page", $totalArchive, 15, 10); if (isset($this->params['pindex'])){ $pager->paginate(intval($this->params['pindex'])); $this->data['pindex'] = $this->params['pindex']; } else $pager->paginate(1); if ($pager->limit != ' -15,15') $this->data['catelist'] = $category->getRowbylimit($pager->limit,$itemid); if(isset($this->data['catelist'])){ foreach($this->data['catelist'] as $k => $v){ if($v['parentid'] == 0){ $parentname = ''; }else{ $parentname = $category->getnamebyid($v['parentid']); } $this->data['catelist'][$k]['parentname'] = $parentname; $this->data['catelist'][$k]['hadchild'] = $category->hadChild($v['cateid']); Doo::loadModel('report'); $report = new Report(); $reportnum = $report->count(array('where' => 'cateid='.$v['cateid'].' or parentid='.$v['cateid'])); $this->data['catelist'][$k]['reportnum'] = $reportnum; } } $this->data['pager'] = $pager->output; }else{ //通用类别 $cateparentlist = $category->getparentlist(); $this->data['cateparentlist'] = $cateparentlist; $totalArchive = $category->count(array('where' => 'itemid=0')); $pager = new DooPager(Doo::conf()->APP_URL . "catelist/page", $totalArchive, 15, 10); if (isset($this->params['pindex'])){ $pager->paginate(intval($this->params['pindex'])); $this->data['pindex'] = $this->params['pindex']; }else $pager->paginate(1); if ($pager->limit != ' -15,15') $this->data['catelist'] = $category->getRowbylimit($pager->limit); if(isset($this->data['catelist'])){ foreach($this->data['catelist'] as $k => $v){ if($v['parentid'] == 0){ $parentname = ''; }else{ $parentname = $category->getnamebyid($v['parentid']); } $this->data['catelist'][$k]['parentname'] = $parentname; $this->data['catelist'][$k]['hadchild'] = $category->hadChild($v['cateid']); Doo::loadModel('report'); $report = new Report(); $reportnum = $report->count(array('where' => 'cateid='.$v['cateid'].' or parentid='.$v['cateid'])); $this->data['catelist'][$k]['reportnum'] = $reportnum; } } $this->data['pager'] = $pager->output; } $this->render ( "edit-formcate", $this->data, TRUE); } public function AddCate(){ Doo::loadModel('category'); $category = new Category(); $category->catename = $_POST['catename']; $category->parentid = $_POST['parentselect']; $category->itemid = isset($_POST['itemselect']) ? $_POST['itemselect'] : 0; $category->insert(); if(isset($_POST['itemselect'])){ return '/catelist/1/item/'.$_POST['itemselect']; }else{ return '/catelist'; } } public function UpdateCate(){ Doo::loadModel('category'); $category = new Category(); $category->cateid = $_POST['cateid']; $category->catename = $_POST['catename']; $category->parentid = $_POST['parentselect']; $category->itemid = isset($_POST['itemselect']) ? $_POST['itemselect'] : 0; $category->update(); if(isset($_POST['itemselect']) && isset($_POST['itemid']) && $_POST['itemid'] != $_POST['itemselect']){ Doo::loadModel('category'); $category2 = new Category(); $catechildren = $category2->getchildbyparent($_POST['cateid']); if(!empty($catechildren)){ foreach($catechildren as $k => $v){ $category2->cateid = $v['cateid']; $category2->itemid = $_POST['itemselect']; $category2->update(); } } } $returnurl = '/catelist'; if(isset($_POST['itemselect'])){ $returnurl .= '/1/item/'.$_POST['itemselect']; } if(isset($_POST['pindex'])){ $returnurl .= '/page/'.$_POST['pindex']; } return $returnurl; // if(isset($_POST['itemselect']) && isset($_POST['itemid']) && $_POST['itemid'] == $_POST['itemselect'] && isset($_POST['pindex'])){ // return '/catelist/1/item/'.$_POST['itemselect'].'/page/'.$_POST['pindex']; // }elseif(isset($_POST['itemselect']) && isset($_POST['itemid']) && $_POST['itemid'] != $_POST['itemselect'] && isset($_POST['pindex'])){ // return '/catelist/1/item/'.$_POST['itemselect']; // }elseif(isset($_POST['itemselect']) && !isset($_POST['pindex'])){ // return '/catelist/1/item/'.$_POST['itemselect']; // }elseif(!isset($_POST['itemselect']) && isset($_POST['pindex'])){ // return '/catelist/page/'.$_POST['pindex']; // }else{ // return '/catelist'; // } } public function DelCate(){ $cateId = $this->params['cateid']; Doo::loadModel('category'); $category = new Category(); $bool = $category->hadChild($cateId); if($bool != 0){ exit('该类别下包含子类别,无法删除'); } Doo::loadModel('report'); $report = new Report(); $reportnum = $report->count(array('where' => 'cateid='.$cateId.' or parentid='.$cateId)); if($reportnum != 0){ exit('该类别下包含报表,无法删除'); } $category->cateid = $cateId; $category->delete(); if(isset($this->params['itemid']) && isset($this->params['pindex'])){ return '/catelist/1/item/'.$this->params['itemid'].'/page/'.$this->params['pindex']; }elseif(isset($this->params['itemid']) && !isset($this->params['pindex'])){ return '/catelist/1/item/'.$this->params['itemid']; }elseif(!isset($this->params['itemid']) && isset($this->params['pindex'])){ return '/catelist/page/'.$this->params['pindex']; }else{ return '/catelist'; } } public function CateParentList(){ if(isset($_GET['itemid'])) { Doo::loadModel('category'); $category = new Category(); $cateparentlist = $category->getparentlist($_GET['itemid']); if (!empty($cateparentlist)) { echo json_encode(array('code' => 200, 'parentlist' => $cateparentlist)); exit; } } echo json_encode(array('code' => 400)), exit; } public function GetCateChild(){ if(isset($_GET['cateid'])){ Doo::loadModel('category'); $category = new Category(); $hadchild = $category->hadChild($_GET['cateid']); if($hadchild){ echo true; exit; } } exit; } public function GetCateChildList(){ if(isset($_GET['parentid']) && $_GET['parentid'] != 0){ Doo::loadModel('category'); $category = new Category(); $childlist = $category->getChildList($_GET['parentid']); if(!empty($childlist)){ echo json_encode(array('code' => 200, 'childlist' => $childlist)); exit; } } echo json_encode(array('code' => 400)); exit; } public function GetCateParentList(){ if(isset($_GET['itemid']) && $_GET['itemid'] != 0){ Doo::loadModel('category'); $category = new Category(); $parentlist = $category->getparentlist($_GET['itemid']); if(!empty($parentlist)){ echo json_encode(array('code' => 200, 'parentlist' => $parentlist)); exit; } } echo json_encode(array('code' => 400)); exit; } //随机生成6位的项目领取码 private function MadeCode(){ $string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; $code = ''; for($i = 0; $i < 6; $i++){ $index = rand(0,61); var_dump($index); $code .= substr($string,$index,1); } return $code; } }