This commit is contained in:
wangjinlei
2023-11-02 10:16:54 +08:00
parent 3945681a95
commit 47d1eaa0e5
2 changed files with 80 additions and 66 deletions

View File

@@ -209,10 +209,11 @@ class Base extends Controller
return $frag; return $frag;
} }
public function delOneRefer($p_refer_id){ public function delOneRefer($p_refer_id)
{
$refer_info = $this->production_article_refer_obj->where('p_refer_id', $p_refer_id)->find(); $refer_info = $this->production_article_refer_obj->where('p_refer_id', $p_refer_id)->find();
if(!$refer_info){ if (!$refer_info) {
return ""; return "";
} }
$this->production_article_refer_obj->where('p_article_id', $refer_info['p_article_id'])->where('index', ">", $refer_info['index'])->where('state', 0)->setDec('index'); $this->production_article_refer_obj->where('p_article_id', $refer_info['p_article_id'])->where('index', ">", $refer_info['index'])->where('state', 0)->setDec('index');
@@ -291,6 +292,12 @@ class Base extends Controller
return substr($frag, 0, -1); return substr($frag, 0, -1);
} }
public function MyaddEx()
{
$data = $this->request->post();
$this->addProductionEx($data['article_id']);
}
public function addProductionEx($article_id) public function addProductionEx($article_id)
{ {
$check = $this->production_article_obj->where('article_id', $article_id)->where('state', 0)->find(); $check = $this->production_article_obj->where('article_id', $article_id)->where('state', 0)->find();
@@ -366,39 +373,40 @@ class Base extends Controller
return jsonSuccess([]); return jsonSuccess([]);
} }
public function getBoardsForJournal($journal_id,$aar=false){ public function getBoardsForJournal($journal_id, $aar = false)
{
$ca_board = []; $ca_board = [];
$boards = $this->board_to_journal_obj $boards = $this->board_to_journal_obj
->field("t_board_to_journal.*,t_board_group.group_name,t_user.account,t_user.email,t_user.realname,t_user.icon,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time,t_user_reviewer_info.*") ->field("t_board_to_journal.*,t_board_group.group_name,t_user.account,t_user.email,t_user.realname,t_user.icon,t_user.google_index,t_user.google_time,t_user.wos_index,t_user.wos_time,t_user_reviewer_info.*")
->join("t_board_group","t_board_group.board_group_id = t_board_to_journal.board_group_id","left") ->join("t_board_group", "t_board_group.board_group_id = t_board_to_journal.board_group_id", "left")
->join("t_user","t_user.user_id = t_board_to_journal.user_id","left") ->join("t_user", "t_user.user_id = t_board_to_journal.user_id", "left")
->join("t_user_reviewer_info","t_user_reviewer_info.reviewer_id=t_board_to_journal.user_id","left") ->join("t_user_reviewer_info", "t_user_reviewer_info.reviewer_id=t_board_to_journal.user_id", "left")
->where('t_board_to_journal.journal_id',$journal_id) ->where('t_board_to_journal.journal_id', $journal_id)
->where('t_board_to_journal.state',0) ->where('t_board_to_journal.state', 0)
->select(); ->select();
foreach ($boards as $val){ foreach ($boards as $val) {
if($aar){ if ($aar) {
$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(); $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(); $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"); $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(); $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(); $article22 = $this->article_obj->where('journal_id', $val['journal_id'])->where('article_id', "in", $ids)->select();
$articles = my_array_merge($article1,$article2); $articles = my_array_merge($article1, $article2);
$articles_all = my_array_merge($article11,$article22); $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',$journal_id)->where('t_article_reviewer.ctime',">",strtotime("-1 year"))->where('t_article_reviewer.state',"in",[1,2,3])->select(); $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', $journal_id)->where('t_article_reviewer.ctime', ">", strtotime("-1 year"))->where('t_article_reviewer.state', "in", [1, 2, 3])->select();
$val['articles'] = $articles; $val['articles'] = $articles;
$val['articles_all'] = $articles_all; $val['articles_all'] = $articles_all;
$val['reviewes'] = $reviewes; $val['reviewes'] = $reviewes;
} }
if($val['type']==0){//主编 if ($val['type'] == 0) {//主编
$ca_board['main'][] = $val; $ca_board['main'][] = $val;
}elseif ($val['type']==1){//副主编 } elseif ($val['type'] == 1) {//副主编
$ca_board['remain'][] = $val; $ca_board['remain'][] = $val;
}else{//编委会成员 } else {//编委会成员
if($val['board_group_id']==0){ if ($val['board_group_id'] == 0) {
$ca_board['member']['nogroup'][] = $val; $ca_board['member']['nogroup'][] = $val;
}else{ } else {
$ca_board['member'][$val['group_name']][] = $val; $ca_board['member'][$val['group_name']][] = $val;
} }
} }
@@ -529,25 +537,26 @@ class Base extends Controller
} }
public function getProductionMainImgs($p_article_id){ public function getProductionMainImgs($p_article_id)
$mains = $this->production_article_main_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); {
if(count($mains)==0){ $mains = $this->production_article_main_obj->where('p_article_id', $p_article_id)->where('state', 0)->select();
if (count($mains) == 0) {
$this->creatMainData($p_article_id); $this->creatMainData($p_article_id);
$mains = $this->production_article_main_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); $mains = $this->production_article_main_obj->where('p_article_id', $p_article_id)->where('state', 0)->select();
} }
$frag = []; $frag = [];
foreach ($mains as $v){ foreach ($mains as $v) {
$frag[] = $v; $frag[] = $v;
$ca = $this->production_article_main_img_obj->where('p_main_id',$v['p_main_id'])->where("state",0)->find(); $ca = $this->production_article_main_img_obj->where('p_main_id', $v['p_main_id'])->where("state", 0)->find();
if($ca){ if ($ca) {
$frag[] = $ca; $frag[] = $ca;
$pre_id = $ca['p_main_img_id']; $pre_id = $ca['p_main_img_id'];
while ($pre_id!=0){ while ($pre_id != 0) {
$cac = $this->production_article_main_img_obj->where('pre_id',$pre_id)->where('state',0)->find(); $cac = $this->production_article_main_img_obj->where('pre_id', $pre_id)->where('state', 0)->find();
if($cac){ if ($cac) {
$frag[] = $cac; $frag[] = $cac;
$pre_id = $cac['p_main_img_id']; $pre_id = $cac['p_main_img_id'];
}else{ } else {
$pre_id = 0; $pre_id = 0;
} }
} }
@@ -556,8 +565,9 @@ class Base extends Controller
return $frag; return $frag;
} }
private function creatMainData($p_article_id){ private function creatMainData($p_article_id)
$p_info = $this->production_article_obj->where('p_article_id',$p_article_id)->find(); {
$p_info = $this->production_article_obj->where('p_article_id', $p_article_id)->find();
$article_info = $this->article_obj->where('article_id', $p_info['article_id'])->find(); $article_info = $this->article_obj->where('article_id', $p_info['article_id'])->find();
$files = $this->article_file_obj $files = $this->article_file_obj
->where('article_id', $article_info['article_id']) ->where('article_id', $article_info['article_id'])
@@ -602,13 +612,13 @@ class Base extends Controller
} }
$frag['main'][] = $v; $frag['main'][] = $v;
} }
if(!isset($frag['main'])){ if (!isset($frag['main'])) {
return jsonError("manuscript file error!"); return jsonError("manuscript file error!");
} }
//将主体内容写入数据库 //将主体内容写入数据库
foreach($frag['main'] as $v){ foreach ($frag['main'] as $v) {
$ca['p_article_id'] = $p_article_id; $ca['p_article_id'] = $p_article_id;
$ca['content'] = $v; $ca['content'] = $v;
$ca['content_g'] = ''; $ca['content_g'] = '';
@@ -617,31 +627,33 @@ class Base extends Controller
} }
} }
public function refuseReferIndex($p_article_id){ public function refuseReferIndex($p_article_id)
$p_info = $this->production_article_refer_obj->where('p_article_id',$p_article_id)->where('state',0)->where('index',">",0)->find(); {
if($p_info){ $p_info = $this->production_article_refer_obj->where('p_article_id', $p_article_id)->where('state', 0)->where('index', ">", 0)->find();
return ; if ($p_info) {
return;
} }
$list = $this->production_article_refer_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); $list = $this->production_article_refer_obj->where('p_article_id', $p_article_id)->where('state', 0)->select();
foreach ($list as $k => $v){ foreach ($list as $k => $v) {
$this->production_article_refer_obj->where('p_refer_id',$v['p_refer_id'])->update(['index'=>$k]); $this->production_article_refer_obj->where('p_refer_id', $v['p_refer_id'])->update(['index' => $k]);
} }
} }
public function getProductionMainImgsByNew($p_article_id,$file){ public function getProductionMainImgsByNew($p_article_id, $file)
$p_info = $this->production_article_obj->where('p_article_id',$p_article_id)->find(); {
$p_info = $this->production_article_obj->where('p_article_id', $p_article_id)->find();
$article_info = $this->article_obj->where('article_id', $p_info['article_id'])->find(); $article_info = $this->article_obj->where('article_id', $p_info['article_id'])->find();
$url = "http://ts.tmrjournals.com/api/typeset/webReaddoc"; $url = "http://ts.tmrjournals.com/api/typeset/webReaddoc";
$program['fileRoute'] = "https://submission.tmrjournals.com/public/completedManuscirpt/" . $file; $program['fileRoute'] = "https://submission.tmrjournals.com/public/completedManuscirpt/" . $file;
// $program['fileRoute'] = "https://submission.tmrjournals.com/public/completedManuscirpt/20230706/87628e769c4ee8a8414219b05c72a028.docx" ; // $program['fileRoute'] = "https://submission.tmrjournals.com/public/completedManuscirpt/20230706/87628e769c4ee8a8414219b05c72a028.docx" ;
$res = object_to_array(json_decode(myPost($url, $program))); $res = object_to_array(json_decode(myPost($url, $program)));
$file_runs = $res['data']; $file_runs = $res['data'];
if (count($file_runs)==0){ if (count($file_runs) == 0) {
return jsonError("File crawl failed"); return jsonError("File crawl failed");
} }
//清空之前的 //清空之前的
$this->production_article_main_obj->where('p_article_id',$p_article_id)->update(['state'=>1]); $this->production_article_main_obj->where('p_article_id', $p_article_id)->update(['state' => 1]);
//整理信息 //整理信息
$frag = []; $frag = [];
@@ -671,12 +683,12 @@ class Base extends Controller
} }
$frag['main'][] = $v; $frag['main'][] = $v;
} }
if(!isset($frag['main'])){ if (!isset($frag['main'])) {
return jsonError("manuscript file error!"); return jsonError("manuscript file error!");
} }
//将主体内容写入数据库 //将主体内容写入数据库
foreach($frag['main'] as $v){ foreach ($frag['main'] as $v) {
$ca['p_article_id'] = $p_article_id; $ca['p_article_id'] = $p_article_id;
$ca['content'] = $v; $ca['content'] = $v;
$ca['content_g'] = ''; $ca['content_g'] = '';
@@ -684,20 +696,20 @@ class Base extends Controller
$this->production_article_main_obj->insert($ca); $this->production_article_main_obj->insert($ca);
} }
$mains = $this->production_article_main_obj->where('p_article_id',$p_article_id)->where('state',0)->select(); $mains = $this->production_article_main_obj->where('p_article_id', $p_article_id)->where('state', 0)->select();
$f = []; $f = [];
foreach ($mains as $v){ foreach ($mains as $v) {
$f[] = $v; $f[] = $v;
$ca = $this->production_article_main_img_obj->where('p_main_id',$v['p_main_id'])->where("state",0)->find(); $ca = $this->production_article_main_img_obj->where('p_main_id', $v['p_main_id'])->where("state", 0)->find();
if($ca){ if ($ca) {
$f[] = $ca; $f[] = $ca;
$pre_id = $ca['p_main_img_id']; $pre_id = $ca['p_main_img_id'];
while ($pre_id!=0){ while ($pre_id != 0) {
$cac = $this->production_article_main_img_obj->where('pre_id',$pre_id)->where('state',0)->find(); $cac = $this->production_article_main_img_obj->where('pre_id', $pre_id)->where('state', 0)->find();
if($cac){ if ($cac) {
$f[] = $cac; $f[] = $cac;
$pre_id = $cac['p_main_img_id']; $pre_id = $cac['p_main_img_id'];
}else{ } else {
$pre_id = 0; $pre_id = 0;
} }
} }
@@ -710,12 +722,13 @@ class Base extends Controller
/**创建空production实例应对main和refers /**创建空production实例应对main和refers
* @return void * @return void
*/ */
public function createEmptyProduction($web_article){ public function createEmptyProduction($web_article)
{
$insert['title'] = $web_article['title']; $insert['title'] = $web_article['title'];
$insert['type'] = $web_article['type']; $insert['type'] = $web_article['type'];
$ree = explode("/",$web_article['doi']); $ree = explode("/", $web_article['doi']);
$insert['doi'] = isset($ree[1])?$ree[1]:''; $insert['doi'] = isset($ree[1]) ? $ree[1] : '';
$insert['w_article_id'] = $web_article['article_id']; $insert['w_article_id'] = $web_article['article_id'];
$insert['proof_state'] = 2; $insert['proof_state'] = 2;
$insert['state'] = 2; $insert['state'] = 2;

View File

@@ -921,7 +921,7 @@ class Reviewer extends Base
sendEmail($reviewer_info['email'], 'Your contribution is greatly appreciated', $journal_info['title'], $tt1, $journal_info['email'], $journal_info['epassword'], $reviewer_ZS); sendEmail($reviewer_info['email'], 'Your contribution is greatly appreciated', $journal_info['title'], $tt1, $journal_info['email'], $journal_info['epassword'], $reviewer_ZS);
//记录usermsg //记录usermsg
add_usermsg($journal_info['editor_id'], 'Feedback questionnaire be uploaded.', '/articleReviewerDetail?id=' . $data['art_rev_id']); add_usermsg($journal_info['editor_id'], 'Feedback questionnaire be uploaded:'.$article_info['accept_sn']."(".$reviewer_info['account'].":".$reviewer_info['email'].")", '/articleReviewerDetail?id=' . $data['art_rev_id']);
return json(['code' => 0]); return json(['code' => 0]);
} }
@@ -950,6 +950,7 @@ class Reviewer extends Base
} }
$repeat_info = $this->article_reviewer_repeat_obj->where('art_rev_rep_id',$data['art_rev_rep_id'])->find(); $repeat_info = $this->article_reviewer_repeat_obj->where('art_rev_rep_id',$data['art_rev_rep_id'])->find();
$art_info = $this->article_reviewer_obj->where('art_rev_id',$repeat_info['art_rev_id'])->find(); $art_info = $this->article_reviewer_obj->where('art_rev_id',$repeat_info['art_rev_id'])->find();
$reviewer_info = $this->user_obj->where('user_id',$art_info['reviewer_id'])->find();
$article_info = $this->article_obj->where('article_id',$art_info['article_id'])->find(); $article_info = $this->article_obj->where('article_id',$art_info['article_id'])->find();
$journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find(); $journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
$update['recommend'] = $data['recommend']; $update['recommend'] = $data['recommend'];
@@ -969,7 +970,7 @@ class Reviewer extends Base
//复审后发送邮件 //复审后发送邮件
//增加usermsg //增加usermsg
add_usermsg($journal_info['editor_id'], 'New re_reviewer', '/articleReviewerDetail?id=' . $art_info['art_rev_id']); add_usermsg($journal_info['editor_id'], 'New re_reviewer:'.$article_info['accept_sn']."(".$reviewer_info['account'].":".$reviewer_info['email'].")", '/articleReviewerDetail?id=' . $art_info['art_rev_id']);
@@ -1709,10 +1710,10 @@ class Reviewer extends Base
->where('t_reviewer_to_journal.journal_id', 'in', $jous) ->where('t_reviewer_to_journal.journal_id', 'in', $jous)
->where($gradewhere) ->where($gradewhere)
->where('t_reviewer_to_journal.state', 0) ->where('t_reviewer_to_journal.state', 0)
->where("t_user.account|t_user.realname|t_user.email|t_user_reviewer_info.field", "like", '%' . $data['keyword'] . '%') ->where("t_user.account|t_user.email", "like", '%' . $data['keyword'] . '%')
->limit($limit_start, $data['pageSize']) ->limit($limit_start, $data['pageSize'])
->select(); ->select();
$count = $this->reviewer_to_journal_obj->join('t_user', 't_user.user_id = t_reviewer_to_journal.reviewer_id', 'left')->join('t_user_reviewer_info', 't_user_reviewer_info.reviewer_id = t_reviewer_to_journal.reviewer_id', 'LEFT')->where('t_reviewer_to_journal.journal_id', 'in', $jous)->where($gradewhere)->where('t_reviewer_to_journal.state', 0)->where("t_user.account|t_user.realname|t_user.email|t_user_reviewer_info.field", "like", '%' . $data['keyword'] . '%')->count(); $count = $this->reviewer_to_journal_obj->join('t_user', 't_user.user_id = t_reviewer_to_journal.reviewer_id', 'left')->join('t_user_reviewer_info', 't_user_reviewer_info.reviewer_id = t_reviewer_to_journal.reviewer_id', 'LEFT')->where('t_reviewer_to_journal.journal_id', 'in', $jous)->where($gradewhere)->where('t_reviewer_to_journal.state', 0)->where("t_user.account|t_user.email", "like", '%' . $data['keyword'] . '%')->count();
} else { } else {
$res = $this->reviewer_to_journal_obj $res = $this->reviewer_to_journal_obj
->field('t_reviewer_to_journal.is_yboard,t_user.*,t_reviewer_to_journal.grade,t_user_reviewer_info.*,t_journal.journal_id,t_journal.title journal_title') ->field('t_reviewer_to_journal.is_yboard,t_user.*,t_reviewer_to_journal.grade,t_user_reviewer_info.*,t_journal.journal_id,t_journal.title journal_title')