Procházet zdrojové kódy

增加判断,如果没有封期不能自动计算

theo před 3 roky
rodič
revize
04ec61b15a

+ 3 - 0
backendApi/modules/v1/controllers/CalcController.php

@@ -69,6 +69,9 @@ class CalcController extends BaseController
         if (Period::isProcessing($periodNum)) {
             return static::notice('有操作正在进行中请稍后', 400);
         }
+        if (!Period::checkClose($periodNum)) { // 如果未封期
+            return static::notice('没有封期不能计算', 400);
+        }
         //设置计算进行中标识
         Period::updatePeriodIsProcessing($periodNum, Period::IS_PROCESSING);
         //设置自动计算标识

+ 5 - 0
common/helpers/bonus/Calc/CalcConsole.php

@@ -48,6 +48,11 @@ class CalcConsole extends BaseBusiness
             return true;
         }
 
+        if ($businessPeriod['IS_CLOSED']==0) {
+            // 如果没有封期 则直接返回
+            return true;
+        }
+
         //用户选择是否自动执行
         $autoExec             = $businessPeriod['AUTO_EXEC'] > Period::MANUAL_EXEC_CALC;
         $businessIsCalculated = $businessPeriod['IS_CALCULATED'] == Period::CALCULATE_FINISH;

+ 8 - 0
common/models/Period.php

@@ -931,4 +931,12 @@ class Period extends \common\components\ActiveRecord
 
         return false;
     }
+
+    public static function checkClose($periodNum){
+        $period = static::findOneAsArray(['PERIOD_NUM' => $periodNum]);
+        if ($period['IS_CLOSED'] == 1) {
+            return true;
+        }
+        return false;
+    }
 }