diff --git a/application/default/controllers/DataController.php b/application/default/controllers/DataController.php index 8e4c7071..3e622366 100755 --- a/application/default/controllers/DataController.php +++ b/application/default/controllers/DataController.php @@ -1797,7 +1797,6 @@ class DataController extends Zend_Controller_Action } elseif ($formData['submit']) { //提交 //生成PDF - $orderListener = new OrderListener(); @$order->events()->attachAggregate($orderListener); diff --git a/application/models/ApplicantPDF.php b/application/models/ApplicantPDF.php index b313847c..9654dad3 100644 --- a/application/models/ApplicantPDF.php +++ b/application/models/ApplicantPDF.php @@ -1,146 +1,198 @@ -AddUniGBhwFont('ugb','AdobeSongStd-Light-Acro'); - } - function drawWestdc() - { - $pagecount = $this->setSourceFile($this->template); - $tplidx = $this->importPage(1); - $this->addPage(); +AddUniGBhwFont('ugb','AdobeSongStd-Light-Acro'); + } + function drawWestdc() + { + $pagecount = $this->setSourceFile($this->template); + $tplidx = $this->importPage(1); + $this->addPage(); $this->useTemplate($tplidx); - $this->SetFont('ugb','',$this->fontsize); - $this->setXY(74,43); - $this->Write($this->fontsize,$this->data['realname']); - $this->SetXY(34,55); - $this->MultiCell (166, 4, str_replace(";","\n",$this->data['westdclist'])); - $this->setXY(30,100); - $this->MultiCell(166,4,trim($this->data['project'])); - //$this->setXY(34,239); - //$this->Write($this->fontsize,$this->data['realname']); - $this->setXY(32,223); - $this->Write($this->fontsize,$this->data['unit']); - $this->setXY(112,223); - $this->Write($this->fontsize,$this->data['email']); - $this->setXY(174,223); - $this->Write($this->fontsize,$this->data['postcode']); - $this->setXY(32,230); - $this->Write($this->fontsize,$this->data['address']); - $this->setXY(112,230); - $this->Write($this->fontsize,$this->data['phone']); - $t=date("Y-m-d"); - $this->setXY(174,230); - $this->Write($this->fontsize,$t); - } - function drawHeihe() - { - $pagecount = $this->setSourceFile($this->heihetemplate); - $tplidx = $this->importPage(1); - $this->addPage(); + $this->SetFont('ugb','',$this->fontsize); + $this->setXY(74,43); + $this->Write($this->fontsize,$this->data['realname']); + $this->SetXY(34,55); + $this->MultiCell (166, 4, str_replace(";","\n",$this->data['westdclist'])); + $this->setXY(30,100); + $this->MultiCell(166,4,trim($this->data['project'])); + //$this->setXY(34,239); + //$this->Write($this->fontsize,$this->data['realname']); + $this->setXY(32,223); + $this->Write($this->fontsize,$this->data['unit']); + $this->setXY(112,223); + $this->Write($this->fontsize,$this->data['email']); + $this->setXY(174,223); + $this->Write($this->fontsize,$this->data['postcode']); + $this->setXY(32,230); + $this->Write($this->fontsize,$this->data['address']); + $this->setXY(112,230); + $this->Write($this->fontsize,$this->data['phone']); + $t=date("Y-m-d"); + $this->setXY(174,230); + $this->Write($this->fontsize,$t); + } + function drawHeihe() + { + $pagecount = $this->setSourceFile($this->heihetemplate); + $tplidx = $this->importPage(1); + $this->addPage(); $this->useTemplate($tplidx); - $this->SetFont('ugb','',$this->fontsize); - $this->setXY(88,43); - $this->Write($this->fontsize,$this->data['realname']); - $this->SetXY(34,55); - $this->MultiCell (166, 4, str_replace(";","\n",$this->data['heihelist'])); - $this->setXY(30,100); - $this->MultiCell(166,4,trim($this->data['project'])); - //$this->setXY(34,239); - //$this->Write($this->fontsize,$this->data['realname']); - $this->setXY(32,223); - $this->Write($this->fontsize,$this->data['unit']); - $this->setXY(112,223); - $this->Write($this->fontsize,$this->data['email']); - $this->setXY(174,223); - $this->Write($this->fontsize,$this->data['postcode']); - $this->setXY(32,230); - $this->Write($this->fontsize,$this->data['address']); - $this->setXY(112,230); - $this->Write($this->fontsize,$this->data['phone']); - $t=date("Y-m-d"); - $this->setXY(174,230); - $this->Write($this->fontsize,$t); - } - function addRef($mds) - { - $this->addPage(); - $this->SetFont('ugb','B',20); - $this->ln(); - $this->Cell(0,0,'附件:数据引用信息',0,2,'C'); - $this->setY(30); - foreach($mds as $i=>$md) - { - $this->SetFont('ugb','',12); - $this->Write(5,($i+1).'. '.$md['title']); - $this->ln(); - if ($md['reference']) - { - $this->Write(5,'【引用方式】'.$md['reference']); - $this->ln(); - if (!empty($md['publish_year'])) - { - $this->Write(5,'【数据的引用】'.substr($md['authors'],1,-1).'. '.$md['doititle'].'. '.$md['publisher'].', ' - .(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))). - '. doi:'.$md['datadoi'].' ['.str_replace('"','',substr($md['author_en'],1,-1)).'. '.$md['title_en'] - .'. '.$md['publisher_en'].', '.(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))).'. doi:'.$md['datadoi'].']'); - $this->ln(); - } - } elseif ($md['citation']) - { - $this->Write(5,'【引用方式】'.$md['citation']); - $this->ln(); - if (!empty($md['publish_year']) && !strpos($md['citation'],$md['datadoi'])) - { - $this->Write(5,'【数据的引用】'.substr($md['authors'],1,-1).'. '.$md['doititle'].'. '.$md['publisher'].', ' - .(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))). - '. doi:'.$md['datadoi'].' ['.str_replace('"','',substr($md['author_en'],1,-1)).'. '.$md['title_en'] - .'. '.$md['publisher_en'].', '.(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))).'. doi:'.$md['datadoi'].']'); - $this->ln(); - } - } - if ($md['suppinfo'] || $md['fund']) - { - $this->SetFont('ugb','I',10); - $p=(!empty($md['fund']))?$md['fund']:$md['suppinfo']; - $this->Write(5,'【项目信息】'.$p); - $this->ln(); - } - $this->ln(); - } - } - function addSecurity($template_file) - { - $pagecount = $this->setSourceFile($template_file); - $tplidx = $this->importPage(1); - $this->addPage(); - $this->useTemplate($tplidx); - $this->SetFont('ugb','B',14); - $this->setXY(46,51); - $this->Write(10,$this->data['realname']); - $this->SetFont('ugb','',12); - $this->setXY(122,194); - $this->Write(10,$this->data['realname']); - $this->setXY(122,201); - $this->Write($this->fontsize,$this->data['address']); - $this->setXY(122,208); - $this->Write($this->fontsize,$this->data['phone']); - $this->setXY(122,215); - $this->Write($this->fontsize,$this->data['email']); - $t=date("Y-m-d"); - $this->setXY(32,242); - $this->Write($this->fontsize,$t); - $this->setXY(122,242); - $this->Write($this->fontsize,$t); - } -} + $this->SetFont('ugb','',$this->fontsize); + $this->setXY(88,43); + $this->Write($this->fontsize,$this->data['realname']); + $this->SetXY(34,55); + $this->MultiCell (166, 4, str_replace(";","\n",$this->data['heihelist'])); + $this->setXY(30,100); + $this->MultiCell(166,4,trim($this->data['project'])); + //$this->setXY(34,239); + //$this->Write($this->fontsize,$this->data['realname']); + $this->setXY(32,223); + $this->Write($this->fontsize,$this->data['unit']); + $this->setXY(112,223); + $this->Write($this->fontsize,$this->data['email']); + $this->setXY(174,223); + $this->Write($this->fontsize,$this->data['postcode']); + $this->setXY(32,230); + $this->Write($this->fontsize,$this->data['address']); + $this->setXY(112,230); + $this->Write($this->fontsize,$this->data['phone']); + $t=date("Y-m-d"); + $this->setXY(174,230); + $this->Write($this->fontsize,$t); + } + function addRef($mds) + { + $this->addPage(); + $this->SetFont('ugb','B',20); + $this->ln(); + $this->Cell(0,0,'附件:数据引用信息',0,2,'C'); + $this->setY(30); + foreach($mds as $i=>$md) + { + $this->SetFont('ugb','',12); + $this->Write(5,($i+1).'. '.$md['title']); + $this->ln(); + if ($md['reference']) + { + $this->Write(5,'【引用方式】'.$md['reference']); + $this->ln(); + if (!empty($md['publish_year'])) + { + $this->Write(5,'【数据的引用】'.substr($md['authors'],1,-1).'. '.$md['doititle'].'. '.$md['publisher'].', ' + .(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))). + '. doi:'.$md['datadoi'].' ['.str_replace('"','',substr($md['author_en'],1,-1)).'. '.$md['title_en'] + .'. '.$md['publisher_en'].', '.(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))).'. doi:'.$md['datadoi'].']'); + $this->ln(); + } + } elseif ($md['citation']) + { + $this->Write(5,'【引用方式】'.$md['citation']); + $this->ln(); + if (!empty($md['publish_year']) && !strpos($md['citation'],$md['datadoi'])) + { + $this->Write(5,'【数据的引用】'.substr($md['authors'],1,-1).'. '.$md['doititle'].'. '.$md['publisher'].', ' + .(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))). + '. doi:'.$md['datadoi'].' ['.str_replace('"','',substr($md['author_en'],1,-1)).'. '.$md['title_en'] + .'. '.$md['publisher_en'].', '.(empty($md['ts_published'])?$md['publish_year']:date('Y',strtotime($md['ts_published']))).'. doi:'.$md['datadoi'].']'); + $this->ln(); + } + } + if ($md['suppinfo'] || $md['fund']) + { + $this->SetFont('ugb','I',10); + $p=(!empty($md['fund']))?$md['fund']:$md['suppinfo']; + $this->Write(5,'【项目信息】'.$p); + $this->ln(); + } + $this->ln(); + } + } + function addSecurity($template_file) + { + $pagecount = $this->setSourceFile($template_file); + $tplidx = $this->importPage(1); + $this->addPage(); + $this->useTemplate($tplidx); + $this->SetFont('ugb','B',14); + $this->setXY(46,51); + $this->Write(10,$this->data['realname']); + $this->SetFont('ugb','',12); + $this->setXY(122,194); + $this->Write(10,$this->data['realname']); + $this->setXY(122,201); + $this->Write($this->fontsize,$this->data['address']); + $this->setXY(122,208); + $this->Write($this->fontsize,$this->data['phone']); + $this->setXY(122,215); + $this->Write($this->fontsize,$this->data['email']); + $t=date("Y-m-d"); + $this->setXY(32,242); + $this->Write($this->fontsize,$t); + $this->setXY(122,242); + $this->Write($this->fontsize,$t); + } + + //如果有dataservice内容,则添加 + public function addSelection($data) + { + $line = array(); + foreach($data as $k=>$v) + { + if(!empty($v['selection'])) + { + $selection = json_decode($v['selection'],true); + $thisline = "".$v['title']."\r\n"; + foreach($selection as $s) + { + $thisline .= "".$s['name'].": "; + if($s['var'] == -1) + { + $thisline .= "全部"; + }else{ + foreach($s['var'] as $var) + { + $thisline.= $var["nameview"]."/"; + } + } + $thisline .= $s['starttime'] ." - ". $s['endtime']; + $thisline .= "\r\n\r\n"; + } + $line[] = $thisline.""; + } + } + + if(count($line) < 1) + { + return; + } + + $this->addPage(); + $this->SetFont('ugb','B',20); + $this->ln(); + $this->Cell(0,0,'附件:申请的数据子集',0,2,'C'); + $this->setY(30); + + foreach($line as $k=>$v) + { + $this->SetFont('ugb','',10); + $this->Write(5,($k+1).'. ' .$v ."\r\n"); + $this->ln(); + } + + } +} ?> \ No newline at end of file diff --git a/application/models/data/DataService.php b/application/models/data/DataService.php index 108b1011..29424f39 100644 --- a/application/models/data/DataService.php +++ b/application/models/data/DataService.php @@ -40,25 +40,32 @@ class DataService public function getWsnData($type,$uuid = "",$param = ""){ $info = $this->get($uuid); - + $curl = new Curl(); + + $uid = view::User('id'); + + if(!is_numeric($uid) || $uid <1) + { + return "请先登录"; + } if($type == 'site') { $param = array( 'uuid'=>$uuid, - //'uuid'=> '78e2423f-fe4a-4f9e-a368-c932afc5d257', ///TEST TEST TEST + //'uuid'=> 'b7beb8bf-58d9-4e58-a945-7b6e1dc7705f', ///TEST TEST TEST 'uid'=> view::User('id') ); $data = $curl->request($info['service_url']."site/",$param,"POST"); $data = json_decode($data['response'],TRUE); }//site - + if($type == 'var') { $param_temp = array( 'uuid'=>$uuid, - //'uuid'=> '78e2423f-fe4a-4f9e-a368-c932afc5d257', ///TEST TEST TEST + //'uuid'=> 'b7beb8bf-58d9-4e58-a945-7b6e1dc7705f', ///TEST TEST TEST 'uid'=> view::User('id'), ); $param = array_merge($param,$param_temp); @@ -69,11 +76,12 @@ class DataService if($type == 'submit') { $param_temp = array( - 'uuid'=>$uuid, - //'uuid'=> '78e2423f-fe4a-4f9e-a368-c932afc5d257', ///TEST TEST TEST + //'uuid'=>$uuid, + 'uuid'=> 'b7beb8bf-58d9-4e58-a945-7b6e1dc7705f', ///TEST TEST TEST 'uid'=> view::User('id'), ); $param = array_merge($param,$param_temp); + $data = $curl->request($info['service_url']."insert/",$param,"POST"); $data = json_decode($data['response'],TRUE); } diff --git a/application/module/Order/Order.php b/application/module/Order/Order.php index abfe5c47..40f358cd 100644 --- a/application/module/Order/Order.php +++ b/application/module/Order/Order.php @@ -308,6 +308,7 @@ class Order if (isset($formData['heihelist'])) $pdf->drawHeihe(); $pdf->addRef($this->pdfData); + $pdf->addSelection($this->pdfData); $pdf->addSecurity($this->config->offline->security); @@ -338,7 +339,7 @@ class Order $uid = view::User('id'); } - $sql = "select m.title||'('||m.filesize::text||'MB)' as title,m.ts_published,date_part('year',doi.ts_published) as publish_year,m.citation,m.suppinfo, + $sql = "select m.title||'('||m.filesize::text||'MB)' as title,m.ts_published,date_part('year',doi.ts_published) as publish_year,m.citation,m.suppinfo,d.selection, array_to_string(ARRAY( select r.reference from mdref mr left join reference r on mr.refid=r.id where mr.reftype=3 and mr.uuid=d.uuid order by mr.place),'\n'::text) as reference, diff --git a/application/module/Order/mount/PdfOperate.php b/application/module/Order/mount/PdfOperate.php index 398e59a1..d091cb2c 100644 --- a/application/module/Order/mount/PdfOperate.php +++ b/application/module/Order/mount/PdfOperate.php @@ -46,9 +46,12 @@ class PdfOperate implements \Order\listener\PdfEvents $dbh = new dbh($this->db); $formData['username'] = $formData['realname']; + $formData['userid'] = $uid; + unset($formData['realname']); unset($formData['save']); unset($formData['submit']); + unset($formData['id']); if ($row) { $s = $dbh->update($this->tbl_offlineapp,$formData," id={$row['id']} "); @@ -60,9 +63,14 @@ class PdfOperate implements \Order\listener\PdfEvents } } else { if(empty($returnid)) - { + { $s = $dbh->insert($this->tbl_offlineapp,$formData); - return $s; + if($s > 0) + { + return true; + }else{ + return "保存失败,请重试"; + } }else{ $id = $dbh->insert($this->tbl_offlineapp,$formData,true); return $id; diff --git a/htdocs/js/lib/custom/models/dataservice.js b/htdocs/js/lib/custom/models/dataservice.js index 675e5011..e7443602 100644 --- a/htdocs/js/lib/custom/models/dataservice.js +++ b/htdocs/js/lib/custom/models/dataservice.js @@ -220,9 +220,9 @@ westdc.dataservice.wsn = { $(this).find('.wsnctl-select-all').click(function(e) { if($(this).attr('checked') == 'checked') { - _this.find('.wsnctl-select').attr('disabled','disabled'); + $(this).parent('label').parent('div').find('.wsnctl-select').attr('disabled','disabled'); }else{ - _this.find('.wsnctl-select').removeAttr('disabled'); + $(this).parent('label').parent('div').find('.wsnctl-select').removeAttr('disabled'); } }); }); diff --git a/htdocs/js/metadata-view.js b/htdocs/js/metadata-view.js index 9c584e4f..9a192a36 100644 --- a/htdocs/js/metadata-view.js +++ b/htdocs/js/metadata-view.js @@ -329,7 +329,6 @@ function setRectangle(east,west,south,north){ map: map, }); - markers.push(marker); } var bounds = new google.maps.LatLngBounds();