1
This commit is contained in:
@@ -36,6 +36,7 @@ class Journal extends Controller
|
|||||||
protected $base_topic_obj = '';
|
protected $base_topic_obj = '';
|
||||||
protected $subscribe_base_topic_obj = '';
|
protected $subscribe_base_topic_obj = '';
|
||||||
protected $journal_for_author = '';
|
protected $journal_for_author = '';
|
||||||
|
protected $article_cite_obj = '';
|
||||||
|
|
||||||
public function __construct(\think\Request $request = null)
|
public function __construct(\think\Request $request = null)
|
||||||
{
|
{
|
||||||
@@ -61,6 +62,7 @@ class Journal extends Controller
|
|||||||
$this->base_topic_obj = Db::name('base_topic');
|
$this->base_topic_obj = Db::name('base_topic');
|
||||||
$this->subscribe_base_topic_obj = Db::name('subscribe_base_topic');
|
$this->subscribe_base_topic_obj = Db::name('subscribe_base_topic');
|
||||||
$this->journal_for_author = Db::name('journal_for_author');
|
$this->journal_for_author = Db::name('journal_for_author');
|
||||||
|
$this->article_cite_obj = Db::name("article_cite");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -165,6 +167,94 @@ class Journal extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getCiteDataForSubmission(){
|
||||||
|
$data = $this->request->post();
|
||||||
|
$rule = new Validate([
|
||||||
|
"journals"=>"require"
|
||||||
|
]);
|
||||||
|
if(!$rule->check($data)){
|
||||||
|
return jsonError($rule->getError());
|
||||||
|
}
|
||||||
|
$journals = object_to_array(json_decode($data['journals']));
|
||||||
|
// $journals = object_to_array(json_decode('[{"issn":"2413-3973","abbr":"TMR","title":"Traditional Medicine Research","editor_id":19,"realname":"\u5218\u5a1c"},{"issn":"2703-173X","abbr":"GHR","title":"Gastroenterology & Hepatology Research","editor_id":19,"realname":"\u5218\u5a1c"},{"issn":"2815-9063","abbr":"BMEC","title":"Biomedical Engineering Communications","editor_id":19,"realname":"\u5218\u5a1c"}]'));
|
||||||
|
foreach ($journals as $k=>$v){
|
||||||
|
$journal = $this->journal_obj->where("issn",$v['issn'])->find();
|
||||||
|
$list = $this->article_cite_obj->where("journal_id",$journal['journal_id'])->where("state",1)->select();
|
||||||
|
$wos_num = 0;
|
||||||
|
foreach ($list as $val){
|
||||||
|
if($val['is_wos']==1){
|
||||||
|
$wos_num ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$flag = [];
|
||||||
|
$flag["num"] = $wos_num."/".count($list);
|
||||||
|
//本月的引用数
|
||||||
|
$s_time = strtotime(date("Y-m")."-1");
|
||||||
|
$list1 = $this->article_cite_obj->where("journal_id",$journal['journal_id'])->where("state",1)->where("ctime",">",$s_time)->select();
|
||||||
|
$month_num = 0;
|
||||||
|
foreach ($list1 as $item) {
|
||||||
|
if($item['is_wos']==1){
|
||||||
|
$month_num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$flag['month_num'] = $month_num."/".count($list1);
|
||||||
|
//今年引用
|
||||||
|
// $y_time = strtotime(date("Y")."-1-1");
|
||||||
|
// $list3 = $this->article_cite_obj->where("journal_id",$journal['journal_id'])->where("state",1)->where("ctime",">",$y_time)->select();
|
||||||
|
$y_time = date("Y");
|
||||||
|
$list3 = $this->article_cite_obj->where("journal_id",$journal['journal_id'])->where("state",1)->whereLike("vol","%".$y_time."%")->select();
|
||||||
|
$year_num = 0;
|
||||||
|
foreach ($list3 as $item){
|
||||||
|
if($item['is_wos']==1){
|
||||||
|
$year_num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$flag['year_num'] = $year_num."/".count($list3);
|
||||||
|
|
||||||
|
//今年发文总量
|
||||||
|
$stages = $this->journal_stage_obj->where("journal_id",$journal['journal_id'])->where("stage_year",date("Y"))->column("journal_stage_id");
|
||||||
|
$flag['year_aritlce_num'] = $this->article_obj->whereIn("journal_stage_id",$stages)->count();
|
||||||
|
|
||||||
|
//去年引用
|
||||||
|
// $y_s_time = strtotime((date("Y")-1)."-1-1");
|
||||||
|
// $y_e_time = strtotime((date("Y")-1)."-12-31");
|
||||||
|
// $list2 = $this->article_cite_obj->where("journal_id",$journal['journal_id'])->where("state",1)->where("ctime",'>',$y_s_time)->where("ctime","<",$y_e_time)->select();
|
||||||
|
$y_time = date("Y")-1;
|
||||||
|
$list2 = $this->article_cite_obj->where("journal_id",$journal['journal_id'])->where("state",1)->whereLike("vol","%".$y_time."%")->select();
|
||||||
|
$pre_year_num = 0;
|
||||||
|
foreach ($list2 as $item){
|
||||||
|
if($item['is_wos']==1){
|
||||||
|
$pre_year_num++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$flag['pre_year_num'] = $pre_year_num."/".count($list2);
|
||||||
|
|
||||||
|
//去年发文数
|
||||||
|
$pre_stages = $this->journal_stage_obj->where("journal_id",$journal['journal_id'])->where("stage_year",date("Y")-1)->column("journal_stage_id");
|
||||||
|
$flag["pre_year_article_num"] = $this->article_obj->whereIn("journal_stage_id",$pre_stages)->count();
|
||||||
|
|
||||||
|
//预测影响因子
|
||||||
|
$yz_year = [date("Y")-1,date("Y")-2];
|
||||||
|
$stages = $this->journal_stage_obj->where("journal_id",$journal['journal_id'])->whereIn("stage_year",$yz_year)->column("journal_stage_id");
|
||||||
|
|
||||||
|
$yz_year_list = $this->article_obj->whereIn("journal_stage_id",$stages)->where("type = 'Article' or type = 'Review' or type = 'Mini Review'")->where("state",0)->select();
|
||||||
|
$yz_year_list_all = $this->article_obj->whereIn("journal_stage_id",$stages)->where("state",0)->select();
|
||||||
|
$article_ids = [];
|
||||||
|
foreach ($yz_year_list_all as $v){
|
||||||
|
$article_ids[] = $v['article_id'];
|
||||||
|
}
|
||||||
|
$cite_yz_count = $this->article_cite_obj->whereIn("article_id",$article_ids)->whereLike('vol',"%".date("Y")."%")->where("is_wos",1)->where("state",1)->count();
|
||||||
|
|
||||||
|
$flag['yc_article_num'] = count($yz_year_list);
|
||||||
|
$flag['yc_cite_num'] = $cite_yz_count;
|
||||||
|
$flag['yc_if'] = count($yz_year_list)==0?0:($cite_yz_count*12.5)/(count($yz_year_list)*date("m"));
|
||||||
|
|
||||||
|
$journals[$k]['cite'] = $flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
return jsonSuccess($journals);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @title 添加期刊
|
* @title 添加期刊
|
||||||
* @description 添加期刊
|
* @description 添加期刊
|
||||||
|
|||||||
Reference in New Issue
Block a user