This commit is contained in:
wangjinlei
2023-08-31 16:21:39 +08:00
parent d7edd953a4
commit adc0bd0e90
8 changed files with 232 additions and 50 deletions

View File

@@ -1451,6 +1451,7 @@ class Article extends Base
->join("t_journal", "t_journal.issn = t_major_to_journal.journal_issn", "left")
->where("t_major_to_journal.major_id", $data['major_id'])
->where('t_major_to_journal.mtj_state', 0)
->where("t_journal.state",0)
->select();
$re['journals'] = $list;

View File

@@ -157,6 +157,8 @@ class Auto extends Base
$ca_rev_info = $this->article_reviewer_obj->where('art_rev_id',$v['art_rev_id'])->find();
if($ca_rev_info['state']==2){
$com = 2;
}elseif($ca_rev_info['state']==1){//大修的复审不需要做处理
continue;
}else{
$com = 1;
}

View File

@@ -70,6 +70,7 @@ class Base extends Controller
protected $promotion_obj = '';
protected $promotion_email_obj = '';
protected $article_reviewer_repeat_obj = '';
protected $board_group_obj = "";
public function __construct(\think\Request $request = null)
@@ -137,6 +138,7 @@ class Base extends Controller
$this->promotion_obj = Db::name("promotion");
$this->promotion_email_obj = Db::name("promotion_email");
$this->article_reviewer_repeat_obj = Db::name("article_reviewer_repeat");
$this->board_group_obj = Db::name("board_group");
}
@@ -360,6 +362,32 @@ class Base extends Controller
return jsonSuccess([]);
}
public function getBoardsForJournal($journal_id){
$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_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)
->select();
foreach ($boards as $val){
if($val['type']==0){//主编
$ca_board['main'][] = $val;
}elseif ($val['type']==1){//副主编
$ca_board['remain'][] = $val;
}else{//编委会成员
if($val['board_group_id']==0){
$ca_board['member']['nogroup'][] = $val;
}else{
$ca_board['member'][$val['group_name']][] = $val;
}
}
}
return $ca_board;
}
public function getCvs($user_id)
{

View File

@@ -2,7 +2,7 @@
namespace app\api\controller;
use think\Controller;
use app\api\controller\Base;
use think\Db;
use think\Queue;
use think\Validate;
@@ -11,54 +11,23 @@ use think\Validate;
* @title 编委相关接口
* @description 编委相关接口
*/
class Board extends Controller {
class Board extends Base {
protected $article_obj = '';
protected $user_obj = '';
protected $user_act_obj = '';
protected $journal_obj = '';
protected $user_log_obj = '';
protected $reviewer_major_obj = '';
protected $reviewer_to_journal_obj = '';
protected $article_msg_obj = '';
protected $article_file_obj = '';
protected $article_reviewer_obj = '';
protected $article_author_obj = '';
protected $article_transfer_obj = '';
protected $staff_obj = '';
protected $staff_level_obj = '';
protected $staff_log_obj = '';
protected $staff_to_journal_obj = '';
protected $chief_to_journal_obj = '';
protected $board_to_journal_obj = '';
protected $chief_msg_obj = '';
protected $article_to_board_obj = '';
protected $login_auto_obj = '';
public function __construct(\think\Request $request = null) {
parent::__construct($request);
$this->user_obj = Db::name('user');
$this->user_act_obj = Db::name('user_act');
$this->article_obj = Db::name('article');
$this->journal_obj = Db::name('journal');
$this->user_log_obj = Db::name('user_log');
$this->reviewer_major_obj = Db::name('reviewer_major');
$this->reviewer_to_journal_obj = Db::name('reviewer_to_journal');
$this->article_msg_obj = Db::name('article_msg');
$this->article_file_obj = Db::name('article_file');
$this->article_reviewer_obj = Db::name('article_reviewer');
$this->article_author_obj = Db::name('article_author');
$this->article_transfer_obj = Db::name('article_transfer');
$this->staff_obj = Db::name('staff');
$this->staff_level_obj = Db::name('staff_level');
$this->staff_log_obj = Db::name('staff_log');
$this->staff_to_journal_obj = Db::name('staff_to_journal');
$this->chief_to_journal_obj = Db::name('chief_to_journal');
$this->board_to_journal_obj = Db::name('board_to_journal');
$this->chief_msg_obj = Db::name('chief_msg');
$this->article_to_board_obj = Db::name('article_to_board');
$this->chief_to_journal_obj = Db::name('chief_to_journal');
$this->login_auto_obj = Db::name('login_auto');
}
/**
@@ -290,10 +259,23 @@ class Board extends Controller {
}
public function getBoards(){
$data = $this->request->post();
$rule = new Validate([
"journal_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$re['boards'] = $this->getBoardsForJournal($data['journal_id']);
return jsonSuccess($re);
}
/**
* 获取编委列表
*/
public function getBoards(){
public function getBoards1(){
$data = $this->request->post();
$rule = new Validate([
'journal_id'=>'require',
@@ -372,10 +354,22 @@ class Board extends Controller {
return jsonSuccess($re);
}
public function delBoard(){
$data = $this->request->post();
$rule = new Validate([
"btj_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$this->board_to_journal_obj->where('btj_id',$data['btj_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
/**
* 删除编委
*/
public function delBoard(){
public function delBoard1(){
$data = $this->request->post();
$rule = new Validate([
'board_id' => 'require'
@@ -393,10 +387,24 @@ class Board extends Controller {
return jsonSuccess([]);
}
/**
* 获取编委分组列表
*/
public function getBoardGroupList(){
$data = $this->request->post();
$rule = new Validate([
"journal_id"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$groups = $this->board_group_obj->where('journal_id',$data['journal_id'])->where("state",0)->select();
$re['groups'] = $groups;
return jsonSuccess($re);
}
/**
* 获取编委分组列表(原版)
*/
public function getBoardGroupList1(){
$data = $this->request->post();
$rule = new Validate([
'journal_id'=>'require'
@@ -417,7 +425,7 @@ class Board extends Controller {
/**
* 添加编委分组
*/
public function addBoardGroup(){
public function addBoardGroup1(){
$data = $this->request->post();
$rule = new Validate([
'journal_id'=>'require|number',
@@ -435,10 +443,25 @@ class Board extends Controller {
return jsonSuccess([]);
}
public function addBoardGroup(){
$data = $this->request->post();
$rule = new Validate([
'journal_id'=>'require|number',
'group_name'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$insert['journal_id'] = $data['journal_id'];
$insert['group_name'] = trim($data['group_name']);
$this->board_group_obj->insert($insert);
return jsonSuccess([]);
}
/**
* 删除编委分组
*/
public function delBoardGroup(){
public function delBoardGroup1(){
$data = $this->request->post();
$rule = new Validate([
'board_group_id'=>'require'
@@ -457,10 +480,53 @@ class Board extends Controller {
}
}
public function delBoardGroup(){
$data = $this->request->post();
$rule = new Validate([
'board_group_id'=>'require'
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$check = $this->board_to_journal_obj->where('board_group_id',$data['board_group_id'])->where('state',0)->find();
if($check){
return jsonError("Please note that there are editorial committee members in the group, and you cannot delete this group.");
}
$this->board_group_obj->where('board_group_id',$data['board_group_id'])->update(['state'=>1]);
return jsonSuccess([]);
}
public function addBoard(){
$data = $this->request->post();
$rule = new Validate([
"user_id"=>"require",
"journal_id"=>"require",
"type"=>"require",
"board_group_id"=>"require",
"research_areas"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$check = $this->board_to_journal_obj->where('user_id',$data['user_id'])->where('state',0)->find();
if($check){
return jsonError("According to TMR Publishing Group Policy, scientists are not allowed to serve on the editorial board of more than one journal at the same time.");
}
//添加对应关系
$insert['user_id'] = $data['user_id'];
$insert['journal_id'] = $data['journal_id'];
$insert['type'] = $data['type'];
$insert['board_group_id'] = $data['board_group_id'];
$insert['research_areas'] = trim($data['research_areas']);
$this->board_to_journal_obj->insert($insert);
return jsonSuccess([]);
}
/**
* 添加编委
*/
public function addBoard(){
public function addBoard1(){
$data = $this->request->post();
$rule = new Validate([
'user_id'=>'require',
@@ -515,10 +581,28 @@ class Board extends Controller {
return jsonSuccess([]);
}
public function editBoard(){
$data = $this->request->post();
$rule = new Validate([
"btj_id"=>"require",
"type"=>'require',
"board_group_id"=>"require",
"research_areas"=>"require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$update['type'] = $data['type'];
$update['board_group_id'] = $data['type']==2?$data['board_group_id']:0;
$update['research_areas'] = trim($data['research_areas']);
$this->board_to_journal_obj->where('btj_id',$data['btj_id'])->update($update);
return jsonSuccess([]);
}
/**
* 编辑编委信息
*/
public function editBoard(){
public function editBoard1(){
$data = $this->request->post();
$rule = new Validate([
'board_id'=>'require',

View File

@@ -0,0 +1,49 @@
<?php
namespace app\api\controller;
use app\api\controller\Base;
use think\Db;
use think\Queue;
use think\Validate;
class Monitor extends Base
{
public function __construct(\think\Request $request = null)
{
parent::__construct($request);
}
/**获取期刊编委列表
* @return void
*/
public function getJournalBoards(){
$journals = $this->journal_obj->where('state',0)->select();
foreach ($journals as $k => $v){
$ca_board = $this->getBoardsForJournal($v['journal_id']);
$journals[$k]["boards"] = $ca_board;
$journals[$k]['boards_count'] = $this->board_to_journal_obj->where("journal_id",$v['journal_id'])->where('state',0)->count();
}
$re['journals'] = $journals;
return jsonSuccess($re);
}
/**获取编委
* @return void
*/
public function getboards(){
$data = $this->request->post();
$rule = new Validate([
"journal_id" => "require"
]);
if(!$rule->check($data)){
return jsonError($rule->getError());
}
$ca_board = $this->getBoardsForJournal($data['journal_id']);
$re['boards'] = $ca_board;
return jsonSuccess($re);
}
}

View File

@@ -931,6 +931,14 @@ class Reviewer extends Base
// sendEmail("1586428462@qq.com", "title", "ttttt", "content", 'tmr@tmrjournals.com', "Wu9999999999", $reviewer_ZS);
// }
/**提交复审
* @return \think\response\Json
* @throws \think\Exception
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
* @throws \think\exception\PDOException
*/
public function questionRepeat(){
$data = $this->request->post();
$rule = new Validate([
@@ -941,6 +949,9 @@ class Reviewer extends Base
return jsonError($rule->getError());
}
$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();
$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'];
$update['stime'] = time();
if($data['recommend']==3){
@@ -957,6 +968,10 @@ class Reviewer extends Base
//复审后发送邮件
//增加usermsg
add_usermsg($journal_info['editor_id'], 'New re_reviewer', '/articleReviewerDetail?id=' . $art_info['art_rev_id']);
return jsonSuccess([]);
}

View File

@@ -358,6 +358,7 @@ class Ucenter extends Base{
'major'=>$data['major'],
'field'=>$data['field'],
'introduction'=>isset($data['introduction'])?$data['introduction']:'',
"website"=>isset($data['website'])?$data["website"]:"",
'company'=>$data['company']
];
$this->user_reviewer_info_obj->where(['reviewer_id'=>$data['user_id']])->update($updata1);

View File

@@ -121,8 +121,8 @@ class Web extends Base
//添加复审问卷
$reviewers[$k]['re_question']=$this->article_reviewer_repeat_obj->where('art_rev_id',$v['art_rev_id'])->select();
}else {
$reviewers[$k]['question'] = [];
$reviewers[$k]['re_question'] = [];
$reviewers[$k]['question'] = null;
$reviewers[$k]['re_question'] = null;
}
}
$begin['type'] = 0;
@@ -143,12 +143,14 @@ class Web extends Base
if($v['state_to']==4&&!$reciv&&$reviewer_has&&(($article_info['journal_id']==1&&$p_info['journal_stage_id']>=453)||$article_info['journal_id']==23)){
$r_files = $this->article_response_to_reviewer_obj->where('article_id',$article_info['article_id'])->select();
$reciv=true;
$frag[] = [
"type"=>$v['state_to'],
"response" => $r_files,
"time"=>$v['ctime']
];
continue;
if($r_files){
$frag[] = [
"type"=>$v['state_to'],
"response" => $r_files,
"time"=>$v['ctime']
];
continue;
}
}
$frag[] = [
"type"=>$v['state_to'],