Files
tougao/application/api/controller/Super.php
wangjinlei 5ef27073bb 20201112
2021-03-29 15:47:22 +08:00

120 lines
3.6 KiB
PHP

<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
class Super extends Controller{
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 = '';
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');
}
public function index() {
$res = $this->getLYL(1);
echo ($res*100).'%';
}
/**
* 获取录用率
*/
private function getLYL($journalId){
$res = $this->article_obj->field('state,count(state) as num')->where('journal_id',$journalId)->where('state','in','3,5')->group('state')->select();
foreach ( $res as $v){
if($v['state']==3){
$jj = $v['num'];
} else {
$js = $v['num'];
}
}
return $js/($js+$jj);
}
/**
* 获取查重异常
*/
private function getCC($journalId){
$res = $this->article_obj->where('journal_id',$journalId)->where('state',5)->select();
$low = 0;
$mid = 0;
$high = 0;
foreach ($res as $v){
if($v['repetition']<20){
$low++;
}elseif($v['repetition']>=20 && $v['repetition']<50){
$mid++;
}else{
$high++;
}
}
$re['low'] = $low;
$re['mid'] = $mid;
$re['high'] = $high;
return $re;
}
/**
* 获取外审异常
*/
private function getWS($journalId){
$res = $this->article_obj->where('journal_id',$journalId)->where('state',5)->select();
$np =0;
foreach ( $res as $v){
$ca = $this->article_reviewer_obj->where('article_id',$v['article_id'])->count();
if($ca<2){
$np++;
}
}
$re['all'] = count($res);
$re['np'] = $np;
return $re;
}
/**
* 获取时间异常
*/
private function getSJ($journalId){
$res = $this->article_obj->where('journal_id',$journalId)->where('state',5)->select();
foreach ($res as $v){
}
}
}