diff --git a/application/admin/controllers/SysController.php b/application/admin/controllers/SysController.php index abf92354..b536cbd8 100644 --- a/application/admin/controllers/SysController.php +++ b/application/admin/controllers/SysController.php @@ -424,10 +424,11 @@ class Admin_SysController extends Zend_Controller_Action if ($ac=='' || $ac=='online') { $sql = "SELECT m.title,m.uuid,ds.host,ds.path, - (select floor(sum(filesize)/1024/1024*100)/100 from datafile where dsid=ds.id) as filesize, - (select count(id) from datafile where dsid=ds.id) as filecount from metadata m + floor(t.filesize/1024/1024*100)/100 as filesize, + t.filecount from metadata m LEFT JOIN mdstatus s ON m.uuid=s.uuid - LEFT JOIN dataset ds ON m.uuid=ds.uuid + LEFT JOIN dataset ds ON m.uuid=ds.uuid + left join (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t on ds.id=t.dsid where s.status>4 and m.datatype=0 and ds.host='ftp1.westgis.ac.cn' ORDER BY m.id DESC"; $sth = $this->db->prepare($sql); @@ -443,10 +444,11 @@ class Admin_SysController extends Zend_Controller_Action } else if ($ac=='heihe') { $sql = "SELECT m.title,m.uuid,ds.host,ds.path, - (select floor(sum(filesize)/1024/1024*100)/100 from datafile where dsid=ds.id) as filesize, - (select count(id) from datafile where dsid=ds.id) as filecount from metadata m + floor(t.filesize/1024/1024*100)/100 as filesize, + t.filecount from metadata m LEFT JOIN mdstatus s ON m.uuid=s.uuid - LEFT JOIN dataset ds ON m.uuid=ds.uuid + LEFT JOIN dataset ds ON m.uuid=ds.uuid + left join (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t on ds.id=t.dsid left join datasource on datasource.uuid=m.uuid left join source on datasource.sourceid=source.id where s.status>4 and m.datatype=1 and ds.host='ftp1.westgis.ac.cn' and source.code='heihe' @@ -463,16 +465,15 @@ class Admin_SysController extends Zend_Controller_Action $this->view->paginator=$paginator; } else if ($ac=='water') { - $sql = "SELECT m.title,m.uuid,ds.host,ds.path, - floor(sum(datafile.filesize)/1024/1024*100)/100 as filesize, - count(datafile.id) as filecount from metadata m - LEFT JOIN mdstatus s ON m.uuid=s.uuid - LEFT JOIN dataset ds ON m.uuid=ds.uuid - left join datafile on ds.id=datafile.dsid - left join datasource on datasource.uuid=m.uuid - left join source on datasource.sourceid=source.id - where s.status>4 and m.datatype=1 and ds.host='ftp1.westgis.ac.cn' and source.code='water' - group by m.title,m.uuid,ds.host,ds.path + $sql = "SELECT m.title,m.uuid,ds.host,ds.path, + floor(t.filesize/1024/1024*100)/100 as filesize, + t.filecount from metadata m + LEFT JOIN mdstatus s ON m.uuid=s.uuid + LEFT JOIN dataset ds ON m.uuid=ds.uuid + left join (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t on ds.id=t.dsid + left join datasource on datasource.uuid=m.uuid + left join source on datasource.sourceid=source.id + where s.status>4 and m.datatype=1 and ds.host='ftp1.westgis.ac.cn' and source.code='water' ORDER BY m.title DESC"; $sth = $this->db->prepare($sql); $sth->execute(); @@ -487,15 +488,14 @@ class Admin_SysController extends Zend_Controller_Action } else if ($ac=='heihe1') { $sql = "SELECT m.title,m.uuid,ds.host,ds.path, - floor(sum(datafile.filesize)/1024/1024*100)/100 as filesize, - count(datafile.id) as filecount from metadata m + floor(t.filesize/1024/1024*100)/100 as filesize, + t.filecount from metadata m LEFT JOIN mdstatus s ON m.uuid=s.uuid LEFT JOIN dataset ds ON m.uuid=ds.uuid left join datasource on datasource.uuid=m.uuid - left join datafile on ds.id=datafile.dsid + left join (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t on ds.id=t.dsid left join source on datasource.sourceid=source.id where s.status in (2,3,4) and ds.host='ftp1.westgis.ac.cn' and source.code='heihe' - group by m.title,m.uuid,ds.host,ds.path ORDER BY m.title DESC"; $sth = $this->db->prepare($sql); $sth->execute(); @@ -510,10 +510,11 @@ class Admin_SysController extends Zend_Controller_Action } else if ($ac=='hiwater') { $sql = "SELECT m.title,m.uuid,ds.host,ds.path, - (select floor(sum(filesize)/1024/1024*100)/100 from datafile where dsid=ds.id) as filesize, - (select count(id) from datafile where dsid=ds.id) as filecount from metadata m + floor(t.filesize/1024/1024*100)/100 as filesize, + t.filecount from metadata m LEFT JOIN mdstatus s ON m.uuid=s.uuid LEFT JOIN dataset ds ON m.uuid=ds.uuid + left join (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t on ds.id=t.dsid left join datasource on datasource.uuid=m.uuid left join source on datasource.sourceid=source.id where ds.host='ftp1.westgis.ac.cn' and source.code='hiwater' @@ -531,10 +532,11 @@ class Admin_SysController extends Zend_Controller_Action }else if ($ac=='westee') { $sql = "SELECT m.title,m.uuid,ds.host,ds.path, - (select floor(sum(filesize)/1024/1024*100)/100 from datafile where dsid=ds.id) as filesize, - (select count(id) from datafile where dsid=ds.id) as filecount from metadata m + floor(t.filesize/1024/1024*100)/100 as filesize, + t.filecount from metadata m LEFT JOIN mdstatus s ON m.uuid=s.uuid - LEFT JOIN dataset ds ON m.uuid=ds.uuid + LEFT JOIN dataset ds ON m.uuid=ds.uuid + left join (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t on ds.id=t.dsid where ds.host='ftp1.westgis.ac.cn' and m.uuid in (select uuid from westeemd) ORDER BY m.title DESC"; $sth = $this->db->prepare($sql); @@ -550,10 +552,11 @@ class Admin_SysController extends Zend_Controller_Action }else if ($ac=='other') { $sql = "SELECT m.title,m.uuid,ds.host,ds.path, - (select floor(sum(filesize)/1024/1024*100)/100 from datafile where dsid=ds.id) as filesize, - (select count(id) from datafile where dsid=ds.id) as filecount from metadata m + floor(t.filesize/1024/1024*100)/100 as filesize, + t.filecount from metadata m LEFT JOIN mdstatus s ON m.uuid=s.uuid - LEFT JOIN dataset ds ON m.uuid=ds.uuid + LEFT JOIN dataset ds ON m.uuid=ds.uuid + left join (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t on ds.id=t.dsid where ds.host='ftp1.westgis.ac.cn' and m.uuid not in (select uuid from datasource) and m.uuid not in (select uuid from westeemd) ORDER BY m.title DESC"; $sth = $this->db->prepare($sql); @@ -569,6 +572,75 @@ class Admin_SysController extends Zend_Controller_Action } $this->view->activeID="btn-".$ac; } - + + function problemAction() + { + $pages=20; + $ac=$this->_request->getParam('ac'); + if ($ac=='' || $ac=='ref') + { + $sql = "SELECT m.title,m.uuid,m.citation,g.id as gid from metadata m + LEFT JOIN mdstatus s ON m.uuid=s.uuid + left join geonetworkmetadata g on g.uuid=m.uuid + where s.status>4 and m.citation like '%??%' + ORDER BY m.id DESC"; + $sth = $this->db->prepare($sql); + $sth->execute(); + $rows = $sth->fetchAll(); + + $paginator = Zend_Paginator::factory($rows); + $paginator->setCurrentPageNumber($this->_getParam('page')); + $paginator->setItemCountPerPage($pages); + $paginator->setView($this->view); + Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml'); + $this->view->paginator=$paginator; + $this->_helper->viewRenderer('problem-ref'); + $ac='ref'; + } else if ($ac=='file') + { + $sql = "SELECT m.title,m.uuid,m.filesize,ds.host,ds.path from metadata m + LEFT JOIN mdstatus s ON m.uuid=s.uuid + LEFT JOIN dataset ds ON m.uuid=ds.uuid + where s.status>4 and ds.id not in (select distinct dsid from datafile) + group by m.title,m.uuid,ds.host,ds.path,m.filesize + ORDER BY m.title DESC;"; + $sth = $this->db->prepare($sql); + $sth->execute(); + $rows = $sth->fetchAll(); + + $paginator = Zend_Paginator::factory($rows); + $paginator->setCurrentPageNumber($this->_getParam('page')); + $paginator->setItemCountPerPage($pages); + $paginator->setView($this->view); + Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml'); + $this->view->paginator=$paginator; + } else if ($ac=='tiny') + { + $sql = "SELECT m.title,m.uuid,ds.host,ds.path, + floor(sum(datafile.filesize)/1024/1024*100)/100 as filesize, + count(datafile.id) as filecount + from metadata m + LEFT JOIN mdstatus s ON m.uuid=s.uuid + LEFT JOIN dataset ds ON m.uuid=ds.uuid + left join datasource on datasource.uuid=m.uuid + left join datafile on ds.id=datafile.dsid + left join source on datasource.sourceid=source.id + where s.status>4 and ds.id in (select t.dsid from (select dsid,count(id) as filecount,sum(filesize) as filesize from datafile group by dsid) as t +where t.filesize<1024*5) + group by m.title,m.uuid,ds.host,ds.path + ORDER BY m.title DESC;"; + $sth = $this->db->prepare($sql); + $sth->execute(); + $rows = $sth->fetchAll(); + + $paginator = Zend_Paginator::factory($rows); + $paginator->setCurrentPageNumber($this->_getParam('page')); + $paginator->setItemCountPerPage($pages); + $paginator->setView($this->view); + Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml'); + $this->view->paginator=$paginator; + } + $this->view->activeID="btn-".$ac; + } } diff --git a/application/admin/views/scripts/sys/left.phtml b/application/admin/views/scripts/sys/left.phtml index 675d9fb9..1f8044bc 100644 --- a/application/admin/views/scripts/sys/left.phtml +++ b/application/admin/views/scripts/sys/left.phtml @@ -4,6 +4,7 @@
数据标题 | +引用 | +操作 | +
---|---|---|
+ | + | 编辑 | +