Просмотр исходного кода

Merge branch 'feature/EK-3969' of guanli/ngds into master

ryan001 3 дней назад
Родитель
Сommit
e57e6db746
2 измененных файлов с 16 добавлено и 8 удалено
  1. 15 8
      common/helpers/bonus/Calc/CalcConsole.php
  2. 1 0
      common/models/forms/PeriodForm.php

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

@@ -170,12 +170,19 @@ 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 AND HAND_CALC_TIME < :HAND_CALC_TIME', [
+//                    ':PERIOD_NUM'     => $prevPeriodNum,
+//                    ':HAND_CALC_TIME' => strtotime(date('Y-m-01'))
+//                ])
+//                ->asArray()
+//                ->one();
+//            if (!empty($prevPeriod)){
+//                echo('上一期上次手动计算时间'.($prevPeriod['hand_calc_time']??'----').',期数切换为' . $prevPeriodNum . PHP_EOL);
+//                $periodNum = $prevPeriodNum;
+//            }
 //        }
 
         // 自动计算:次月1号凌晨计算一次上一期
@@ -187,10 +194,10 @@ class CalcConsole extends BaseBusiness
             return;
         }
         // 自动计算:每2小时自动计算一次
-        if ($nowHour % 2 == 0) {
+//        if ($nowHour % 2 == 0) {
             echo('自动计算开始(2). ' . date('Y-m-d H:i:s') . ' 期数:' . $periodNum . PHP_EOL);
             BonusCalc::instance()->calculateBonus($periodNum);
-        }
+//        }
     }
 
     private static function processAutoExec($periodNum)

+ 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()));