1
This commit is contained in:
@@ -20,7 +20,12 @@ class Monitor extends Base
|
||||
public function getJournalBoards(){
|
||||
$journals = $this->journal_obj->where('state',0)->select();
|
||||
foreach ($journals as $k => $v){
|
||||
$boards = $this->board_to_journal_obj->field("t_board_to_journal.*,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time")->join("t_user","t_user.user_id = t_board_to_journal.user_id","left")->where("t_board_to_journal.journal_id",$v['journal_id'])->where('t_board_to_journal.state',0)->select();
|
||||
$boards = $this->board_to_journal_obj
|
||||
->field("t_board_to_journal.*,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time")
|
||||
->join("t_user","t_user.user_id = t_board_to_journal.user_id","left")
|
||||
->where("t_board_to_journal.journal_id",$v['journal_id'])
|
||||
->where('t_board_to_journal.state',0)
|
||||
->select();
|
||||
$ca_board = $this->getBoardsForJournal($v['journal_id']);
|
||||
$journals[$k]["boards"] = $ca_board;
|
||||
$journals[$k]['boards_count'] = count($boards);
|
||||
@@ -61,4 +66,91 @@ class Monitor extends Base
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**获取期刊青年编委
|
||||
* @return void
|
||||
*/
|
||||
public function getYboards(){
|
||||
$data = $this->request->post();
|
||||
$rule = new Validate([
|
||||
"journal_id"=>"require",
|
||||
'pageIndex'=>'require',
|
||||
'pageSize'=>'require'
|
||||
]);
|
||||
if(!$rule->check($data)){
|
||||
return jsonError($rule->getError());
|
||||
}
|
||||
$yboards = $this->user_to_yboard_obj
|
||||
->field("t_user.account,t_user.realname,t_user.email,t_user.score,t_user.remark,t_user.wos_index,t_user.wos_time,t_user.google_index,t_user.google_time,t_user_reviewer_info.field,t_user_reviewer_info.company,t_user_to_yboard.*")
|
||||
->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left')
|
||||
->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user_to_yboard.user_id','left')
|
||||
->where("t_user_to_yboard.journal_id",$data['journal_id'])
|
||||
->where("t_user_to_yboard.start_date","<=",time())
|
||||
->where("t_user_to_yboard.end_date",">=",time())
|
||||
->where("t_user_to_yboard.state",0)
|
||||
->page($data['pageIndex'],$data['pageSize'])
|
||||
->select();
|
||||
$count = $this->user_to_yboard_obj
|
||||
->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left')
|
||||
->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user_to_yboard.user_id','left')
|
||||
->where("t_user_to_yboard.journal_id",$data['journal_id'])
|
||||
->where("t_user_to_yboard.start_date","<=",time())
|
||||
->where("t_user_to_yboard.end_date",">=",time())
|
||||
->where("t_user_to_yboard.state",0)->count();
|
||||
|
||||
foreach($yboards as $k=>$val){
|
||||
$article1 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('state',5)->where('ctime',">",strtotime("-1 year"))->select();
|
||||
$article11 = $this->article_obj->where('user_id',$val['user_id'])->where('journal_id',$val['journal_id'])->where('ctime',">",strtotime("-1 year"))->select();
|
||||
$ids = $this->article_author_obj->where('email',$val['email'])->column("article_id");
|
||||
$article2 = $this->article_obj->where('state',5)->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select();
|
||||
$article22 = $this->article_obj->where('journal_id',$val['journal_id'])->where('article_id',"in",$ids)->select();
|
||||
$articles = my_array_merge($article1,$article2);
|
||||
$articles_all = my_array_merge($article11,$article22);
|
||||
$reviewes = $this->article_reviewer_obj->join("t_article","t_article.article_id = t_article_reviewer.article_id","left")->where('t_article_reviewer.reviewer_id',$val['user_id'])->where('t_article.journal_id',$data['journal_id'])->where('t_article_reviewer.ctime',">",strtotime("-1 year"))->where('t_article_reviewer.state',"in",[1,2,3])->select();
|
||||
$yboards[$k]['articles'] = $articles;
|
||||
$yboards[$k]['articles_all'] = $articles_all;
|
||||
$yboards[$k]['reviewes'] = $reviewes;
|
||||
}
|
||||
|
||||
$re['yboards'] = $yboards;
|
||||
$re['count'] = $count;
|
||||
|
||||
return jsonSuccess($re);
|
||||
}
|
||||
|
||||
/**获取期刊青年科学家列表
|
||||
* @return void
|
||||
*/
|
||||
public function getJournalYBoards(){
|
||||
$journals = $this->journal_obj->where('state',0)->select();
|
||||
foreach ($journals as $k => $v){
|
||||
$yboards = $this->user_to_yboard_obj
|
||||
->field("t_user.account,t_user.realname,t_user.email,t_user.score,t_user.remark,t_user.wos_index,t_user.wos_time,t_user.google_index,t_user.google_time,t_user_reviewer_info.field,t_user_reviewer_info.company,t_user_to_yboard.*")
|
||||
->join("t_user",'t_user.user_id = t_user_to_yboard.user_id','left')
|
||||
->join("t_user_reviewer_info",'t_user_reviewer_info.reviewer_id = t_user_to_yboard.user_id','left')
|
||||
->where("t_user_to_yboard.journal_id",$v['journal_id'])
|
||||
->where("t_user_to_yboard.start_date","<=",time())
|
||||
->where("t_user_to_yboard.end_date",">=",time())
|
||||
->where("t_user_to_yboard.state",0)
|
||||
->select();
|
||||
$journals[$k]['yboard_count'] = count($yboards);
|
||||
$board_index = [];
|
||||
$sum = 0;
|
||||
foreach ($yboards as $key => $val){
|
||||
if($val['wos_index']>0){
|
||||
$board_index[] = $val['wos_index']*1.5;
|
||||
$sum += $val['wos_index']*1.5;
|
||||
}elseif($val['google_index']>0){
|
||||
$board_index[] = $val['google_index'];
|
||||
$sum += $val['google_index'];
|
||||
}
|
||||
}
|
||||
$journals[$k]['index_num'] = count($board_index);
|
||||
$journals[$k]['median'] = count($board_index)==0?0:zw_array($board_index);
|
||||
$journals[$k]['avg'] = count($board_index)==0?0:round($sum/count($board_index),2);
|
||||
}
|
||||
$re['journals'] = $journals;
|
||||
|
||||
return jsonSuccess($re);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user