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;
}
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();
if(!$refer_info){
if (!$refer_info) {
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');
@@ -291,6 +292,12 @@ class Base extends Controller
return substr($frag, 0, -1);
}
public function MyaddEx()
{
$data = $this->request->post();
$this->addProductionEx($data['article_id']);
}
public function addProductionEx($article_id)
{
$check = $this->production_article_obj->where('article_id', $article_id)->where('state', 0)->find();
@@ -366,39 +373,40 @@ class Base extends Controller
return jsonSuccess([]);
}
public function getBoardsForJournal($journal_id,$aar=false){
public function getBoardsForJournal($journal_id, $aar = false)
{
$ca_board = [];
$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.*")
->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_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.state',0)
->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_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.state', 0)
->select();
foreach ($boards as $val){
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();
$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',$journal_id)->where('t_article_reviewer.ctime',">",strtotime("-1 year"))->where('t_article_reviewer.state',"in",[1,2,3])->select();
foreach ($boards as $val) {
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();
$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', $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_all'] = $articles_all;
$val['reviewes'] = $reviewes;
}
if($val['type']==0){//主编
if ($val['type'] == 0) {//主编
$ca_board['main'][] = $val;
}elseif ($val['type']==1){//副主编
} elseif ($val['type'] == 1) {//副主编
$ca_board['remain'][] = $val;
}else{//编委会成员
if($val['board_group_id']==0){
} else {//编委会成员
if ($val['board_group_id'] == 0) {
$ca_board['member']['nogroup'][] = $val;
}else{
} else {
$ca_board['member'][$val['group_name']][] = $val;
}
}
@@ -529,25 +537,26 @@ class Base extends Controller
}
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){
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) {
$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 = [];
foreach ($mains as $v){
foreach ($mains as $v) {
$frag[] = $v;
$ca = $this->production_article_main_img_obj->where('p_main_id',$v['p_main_id'])->where("state",0)->find();
if($ca){
$ca = $this->production_article_main_img_obj->where('p_main_id', $v['p_main_id'])->where("state", 0)->find();
if ($ca) {
$frag[] = $ca;
$pre_id = $ca['p_main_img_id'];
while ($pre_id!=0){
$cac = $this->production_article_main_img_obj->where('pre_id',$pre_id)->where('state',0)->find();
if($cac){
while ($pre_id != 0) {
$cac = $this->production_article_main_img_obj->where('pre_id', $pre_id)->where('state', 0)->find();
if ($cac) {
$frag[] = $cac;
$pre_id = $cac['p_main_img_id'];
}else{
} else {
$pre_id = 0;
}
}
@@ -556,8 +565,9 @@ class Base extends Controller
return $frag;
}
private function creatMainData($p_article_id){
$p_info = $this->production_article_obj->where('p_article_id',$p_article_id)->find();
private function creatMainData($p_article_id)
{
$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();
$files = $this->article_file_obj
->where('article_id', $article_info['article_id'])
@@ -602,13 +612,13 @@ class Base extends Controller
}
$frag['main'][] = $v;
}
if(!isset($frag['main'])){
if (!isset($frag['main'])) {
return jsonError("manuscript file error!");
}
//将主体内容写入数据库
foreach($frag['main'] as $v){
foreach ($frag['main'] as $v) {
$ca['p_article_id'] = $p_article_id;
$ca['content'] = $v;
$ca['content_g'] = '';
@@ -617,31 +627,33 @@ class Base extends Controller
}
}
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){
return ;
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) {
return;
}
$list = $this->production_article_refer_obj->where('p_article_id',$p_article_id)->where('state',0)->select();
foreach ($list as $k => $v){
$this->production_article_refer_obj->where('p_refer_id',$v['p_refer_id'])->update(['index'=>$k]);
$list = $this->production_article_refer_obj->where('p_article_id', $p_article_id)->where('state', 0)->select();
foreach ($list as $k => $v) {
$this->production_article_refer_obj->where('p_refer_id', $v['p_refer_id'])->update(['index' => $k]);
}
}
public function getProductionMainImgsByNew($p_article_id,$file){
$p_info = $this->production_article_obj->where('p_article_id',$p_article_id)->find();
public function getProductionMainImgsByNew($p_article_id, $file)
{
$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();
$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/20230706/87628e769c4ee8a8414219b05c72a028.docx" ;
$res = object_to_array(json_decode(myPost($url, $program)));
$file_runs = $res['data'];
if (count($file_runs)==0){
if (count($file_runs) == 0) {
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 = [];
@@ -671,12 +683,12 @@ class Base extends Controller
}
$frag['main'][] = $v;
}
if(!isset($frag['main'])){
if (!isset($frag['main'])) {
return jsonError("manuscript file error!");
}
//将主体内容写入数据库
foreach($frag['main'] as $v){
foreach ($frag['main'] as $v) {
$ca['p_article_id'] = $p_article_id;
$ca['content'] = $v;
$ca['content_g'] = '';
@@ -684,20 +696,20 @@ class Base extends Controller
$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 = [];
foreach ($mains as $v){
foreach ($mains as $v) {
$f[] = $v;
$ca = $this->production_article_main_img_obj->where('p_main_id',$v['p_main_id'])->where("state",0)->find();
if($ca){
$ca = $this->production_article_main_img_obj->where('p_main_id', $v['p_main_id'])->where("state", 0)->find();
if ($ca) {
$f[] = $ca;
$pre_id = $ca['p_main_img_id'];
while ($pre_id!=0){
$cac = $this->production_article_main_img_obj->where('pre_id',$pre_id)->where('state',0)->find();
if($cac){
while ($pre_id != 0) {
$cac = $this->production_article_main_img_obj->where('pre_id', $pre_id)->where('state', 0)->find();
if ($cac) {
$f[] = $cac;
$pre_id = $cac['p_main_img_id'];
}else{
} else {
$pre_id = 0;
}
}
@@ -710,12 +722,13 @@ class Base extends Controller
/**创建空production实例应对main和refers
* @return void
*/
public function createEmptyProduction($web_article){
public function createEmptyProduction($web_article)
{
$insert['title'] = $web_article['title'];
$insert['type'] = $web_article['type'];
$ree = explode("/",$web_article['doi']);
$insert['doi'] = isset($ree[1])?$ree[1]:'';
$ree = explode("/", $web_article['doi']);
$insert['doi'] = isset($ree[1]) ? $ree[1] : '';
$insert['w_article_id'] = $web_article['article_id'];
$insert['proof_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);
//记录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]);
}
@@ -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();
$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();
$journal_info = $this->journal_obj->where('journal_id',$article_info['journal_id'])->find();
$update['recommend'] = $data['recommend'];
@@ -969,7 +970,7 @@ class Reviewer extends Base
//复审后发送邮件
//增加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($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'] . '%')
->where("t_user.account|t_user.email", "like", '%' . $data['keyword'] . '%')
->limit($limit_start, $data['pageSize'])
->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 {
$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')