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 @@
  • 管理消息
  • 数据FTP测试
  • -
  • 数据恢复进展
  • +
  • 数据恢复进展
  • +
  • 问题数据检查
  • GN地点管理
  • \ No newline at end of file diff --git a/application/admin/views/scripts/sys/problem-ref.phtml b/application/admin/views/scripts/sys/problem-ref.phtml new file mode 100644 index 00000000..b9335d8f --- /dev/null +++ b/application/admin/views/scripts/sys/problem-ref.phtml @@ -0,0 +1,45 @@ +headTitle($this->config->title->site); + $this->headTitle('后台管理'); + $this->headTitle()->setSeparator(' - '); + $this->headLink()->appendStylesheet('/css/admin.css'); + $this->theme->AppendPlus($this,'colorbox'); +?> +
    +partial('sys/left.phtml'); ?> +
    + +
    + 数据引用方式错误 + 缺少文件列表 + 数据实体大小不匹配 + + + + + + +paginator)): + $autoindex=0; + foreach ($this->paginator as $item): + $autoindex++;?> + + + + + + +
    数据标题引用操作
    编辑
    + +
    +activeID)) : ?> + + + \ No newline at end of file diff --git a/application/admin/views/scripts/sys/problem.phtml b/application/admin/views/scripts/sys/problem.phtml new file mode 100644 index 00000000..9e3a3edf --- /dev/null +++ b/application/admin/views/scripts/sys/problem.phtml @@ -0,0 +1,50 @@ +headTitle($this->config->title->site); + $this->headTitle('后台管理'); + $this->headTitle()->setSeparator(' - '); + $this->headLink()->appendStylesheet('/css/admin.css'); + $this->theme->AppendPlus($this,'colorbox'); +?> +
    +partial('sys/left.phtml'); ?> +
    + +
    + 数据引用方式错误 + 缺少文件列表 + 数据实体过小 + + + + + + + + +paginator)): + $autoindex=0; + foreach ($this->paginator as $item): + $autoindex++;?> + + + + + + + + + +
    数据标题UUIDFTP主机路径大小操作
    数据路径
    + +
    +activeID)) : ?> + + + \ No newline at end of file