| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927 |
- <?php
- /**
- * Created by PhpStorm.
- * User: ellisran
- * Date: 2016/11/17
- * Time: 11:48
- */
- class MainController extends DooController {
- public $data;
- function __construct() {
- $this->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;
- }
- }
|