Przeglądaj źródła

1feature/EK-3969

ryan 1 tydzień temu
rodzic
commit
de45ce352f

+ 8 - 7
common/helpers/bonus/Calc/CalcConsole.php

@@ -170,13 +170,14 @@ class CalcConsole extends BaseBusiness
             return;
         }
 
-        //就计算未挂网(IS_SENDING)的 (2025/12/11 09:50 Ryan)
-//        $prevPeriod = Period::find()->where('PERIOD_NUM= :PERIOD_NUM',['PERIOD_NUM'=>$prevPeriodNum])->asArray()->one();
-//        echo($prevPeriodNum.'IS_SENT为' . $prevPeriod['IS_SENT'] . PHP_EOL);
-//        if ($prevPeriod['IS_SENT'] == 0){
-//            echo('上一期未挂网,期数切换为' . $prevPeriodNum . PHP_EOL);
-//            $periodNum = $prevPeriodNum;
-//        }
+        if ($nowDate >= 1 && $nowDate <= 4){
+            //判断上一期是否手动计算
+            $prevPeriod = Period::find()->where('PERIOD_NUM= :PERIOD_NUM',['PERIOD_NUM'=>$prevPeriodNum])->where('HAND_CALC_TIME< :HAND_CALC_TIME',['HAND_CALC_TIME'=>strtotime(date('Y-m-01'))])->asArray()->one();
+            if (!empty($prevPeriod)){
+                echo('上一期上次手动计算时间'.($prevPeriod['hand_calc_time']??'----').',期数切换为' . $prevPeriodNum . PHP_EOL);
+                $periodNum = $prevPeriodNum;
+            }
+        }
 
         // 自动计算:次月1号凌晨计算一次上一期
         if ($nowDate == 1 && $nowHour == 0) {

+ 1 - 0
common/models/forms/PeriodForm.php

@@ -204,6 +204,7 @@ class PeriodForm extends Model
         // 把正在结算标记为真
         $model = $this->_periodModel;
         $model->IS_CALCING = 1;
+        $model->HAND_CALC_TIME = time();
         $model->CALC_ADMIN_ID = \Yii::$app->user->id;
         if(!$model->save()){
             $this->addError('calc', Form::formatErrorsForApi($model->getErrors()));