From 9a578f2c8d9d8acc061235adf2e4a21623a3e493 Mon Sep 17 00:00:00 2001 From: chengxl Date: Wed, 23 Apr 2025 09:39:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=AE=A1=E7=A8=BF=E4=BA=BA?= =?UTF-8?q?=E7=9A=84=E5=AE=A1=E6=A0=B8=E8=B4=A8=E9=87=8F=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=A4=A7=E4=BF=AE=E6=AC=A1=E6=95=B0=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/controller/Crontask.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/application/api/controller/Crontask.php b/application/api/controller/Crontask.php index 484047e..223ed2b 100644 --- a/application/api/controller/Crontask.php +++ b/application/api/controller/Crontask.php @@ -50,7 +50,6 @@ class Crontask extends Controller $aUser = array_column($aUser, null,'user_id'); //处理数据并组装数据 - $aCase = ['right_times' => '', 'right_rate' => '','error_times' => '', 'error_rate' => '']; $aToState = [2 => 3,3 => 5];//文章3拒稿5录用 审稿人2拒稿3通过 $aId = []; // echo '
';var_dump($aReviewer);
@@ -63,6 +62,10 @@ class Crontask extends Controller
                 if(empty($iArticleState)){
                     continue;
                 }
+                if($item['state'] == 1){
+                    $aUpdate[$item['reviewer_id']]['major_times'] = empty($aUpdate[$item['reviewer_id']]['major_times']) ? 1 : $aUpdate[$item['reviewer_id']]['major_times']+1 ;
+                    continue;
+                }
                 if(empty($aToState[$item['state']])){
                     continue;
                 }
@@ -81,8 +84,8 @@ class Crontask extends Controller
         $aChunk = array_chunk($aUpdate, $iSize);
         Db::startTrans();
         foreach ($aChunk as $key => $value) {
-
-            $aCase = ['right_times' => '', 'right_rate' => '','error_times' => '', 'error_rate' => '','rs_num' => ''];
+            
+            $aCase = ['right_times' => '', 'right_rate' => '','error_times' => '', 'error_rate' => '','major_times' => '','major_rate' => '','rs_num' => ''];
             foreach ($value as $item) {
 
                 //正确数
@@ -101,6 +104,14 @@ class Crontask extends Controller
                 $aCase['error_rate'] .= "WHEN {$item['reviewer_id']} THEN ";
                 $aCase['error_rate'] .= "'{$iErrorRate}' ";
 
+                //大修次数
+                $iMajorTimes = empty($item['major_times']) ? 0 : $item['major_times'];
+                $iMajorRate = empty($iMajorTimes) ? 0 : round($iMajorTimes/$iRsNum,2);
+                $aCase['major_times'] .= "WHEN {$item['reviewer_id']} THEN ";
+                $aCase['major_times'] .= "'{$iMajorTimes}' ";
+                $aCase['major_rate'] .= "WHEN {$item['reviewer_id']} THEN ";
+                $aCase['major_rate'] .= "'{$iMajorRate}' ";
+
                 //审核数量
                 $aCase['rs_num'] .= "WHEN {$item['reviewer_id']} THEN ";
                 $aCase['rs_num'] .= "'{$iRsNum}' ";