diff --git a/application/api/controller/Finalreview.php b/application/api/controller/Finalreview.php index c410616..17513fd 100644 --- a/application/api/controller/Finalreview.php +++ b/application/api/controller/Finalreview.php @@ -1040,7 +1040,7 @@ class Finalreview extends Base } /** - * @title 获取文章的终审意见 + * @title 获取文章的审稿意见 * @param article_id */ public function getArticleFinalReview($aParam = []){ @@ -1054,7 +1054,29 @@ class Finalreview extends Base } //查询文章审稿记录 $aWhere = ['article_id' => $iArticleId,'state' => ['between',[1,3]]]; - $aArticleReviewer = Db::name('article_reviewer')->where($aWhere)->column('art_rev_id'); + $aArticleReviewer = Db::name('article_reviewer')->field('art_rev_id,state,ctime')->where($aWhere)->select(); + if(!empty($aArticleReviewer)){ + $aArtRevId = array_column($aArticleReviewer, 'art_rev_id'); + $aWhere = ['art_rev_id' => ['in',$aArtRevId],'state' => 0]; + //查询初审问卷 + $aQuestion = Db::name('article_reviewer_question')->where($aWhere)->order('ctime asc')->column('art_rev_id,ctime'); + $aQuestion = empty($aQuestion) ? [] : array_column($aQuestion, null,'art_rev_id'); + + //查询复审 + $aReviewerRepeatLists = []; + $aWhere = ['art_rev_id' => ['in',$aArtRevId],'recommend' => ['between',[1,3]]]; + $aReviewerRepeat = Db::name('article_reviewer_repeat')->field('art_rev_rep_id,art_rev_id,recommend,ctime,stime')->where($aWhere)->select(); + if(!empty($aReviewerRepeat)){ + foreach ($aReviewerRepeat as $key => $value) { + $aReviewerRepeatLists[$value['art_rev_id']][] = $value; + } + } + foreach ($aArticleReviewer as $key => $value) { + $value['ctime'] = empty($aQuestion[$value['art_rev_id']]) ? $value['ctime'] : $aQuestion[$value['art_rev_id']]; + $value['repeat'] = empty($aReviewerRepeatLists[$value['art_rev_id']]) ? [] : $aReviewerRepeatLists[$value['art_rev_id']]; + $aArticleReviewer[$key] = $value; + } + } //查询终审-审稿记录 $aWhere = ['article_id' => $iArticleId,'state' => ['in',[1,2,3]]]; $aReviewerFinal = Db::name('article_reviewer_final')->field('id,state,suggest_for_editor,suggest_for_author,update_time,reviewer_id,is_anonymous')->where($aWhere)->select();