|
|
@@ -15,6 +15,7 @@ use common\models\CalcRecord;
|
|
|
use common\models\FlowBonus;
|
|
|
use common\models\forms\PeriodForm;
|
|
|
use common\models\Period;
|
|
|
+use common\models\CalcOperation;
|
|
|
use Yii;
|
|
|
|
|
|
/**
|
|
|
@@ -42,7 +43,9 @@ class CalcController extends BaseController
|
|
|
//设置自动计算标识
|
|
|
Period::updatePeriodIsAutoExec($periodNum, Period::MANUAL_EXEC_CALC);
|
|
|
//记录开始计算的时间
|
|
|
- Period::updateAll(['START_EXEC_TIME' => time()], ['PERIOD_NUM' => $periodNum]);
|
|
|
+ $calc_id = uniqid('perf_');
|
|
|
+ CalcOperation::record($calc_id, $periodNum);
|
|
|
+ Period::updateAll(['START_EXEC_TIME' => time(), 'CALC_ID' => $calc_id], ['PERIOD_NUM' => $periodNum]);
|
|
|
|
|
|
$formModel = new PeriodForm();
|
|
|
$formModel->scenario = 'autoPerf';
|
|
|
@@ -79,7 +82,9 @@ class CalcController extends BaseController
|
|
|
//设置自动计算标识
|
|
|
Period::updatePeriodIsAutoExec($periodNum, Period::AUTO_EXEC_CALC);
|
|
|
//记录开始计算的时间
|
|
|
- Period::updateAll(['START_EXEC_TIME' => time()], ['PERIOD_NUM' => $periodNum]);
|
|
|
+ $calc_id = uniqid('calc_');
|
|
|
+ CalcOperation::record($calc_id, $periodNum);
|
|
|
+ Period::updateAll(['START_EXEC_TIME' => time(), 'CALC_ID' => $calc_id], ['PERIOD_NUM' => $periodNum]);
|
|
|
|
|
|
$formModel = new PeriodForm();
|
|
|
$formModel->scenario = 'perf';
|
|
|
@@ -111,6 +116,10 @@ class CalcController extends BaseController
|
|
|
Period::updatePeriodIsAutoExec($periodNum, Period::MANUAL_EXEC_CALC);
|
|
|
//设置计算进行中标识
|
|
|
Period::updatePeriodIsProcessing($periodNum, Period::IS_PROCESSING);
|
|
|
+ //记录开始计算的时间
|
|
|
+ $calc_id = uniqid('manu_');
|
|
|
+ CalcOperation::record($calc_id, $periodNum);
|
|
|
+ Period::updateAll(['START_EXEC_TIME' => time(), 'CALC_ID' => $calc_id], ['PERIOD_NUM' => $periodNum]);
|
|
|
|
|
|
$formModel = new PeriodForm();
|
|
|
$formModel->scenario = 'perf';
|
|
|
@@ -180,6 +189,10 @@ class CalcController extends BaseController
|
|
|
$period = \Yii::$app->$db->createCommand('SELECT * FROM AR_PERIOD where PERIOD_NUM=:PERIOD_NUM')
|
|
|
->bindValue(':PERIOD_NUM', $periodNum)
|
|
|
->queryOne();
|
|
|
+ $businessPeriod = Period::find()->where(['PERIOD_NUM' => $periodNum])->asArray()->one();
|
|
|
+ if (!$period['CALC_ID'] || $period['CALC_ID'] != $businessPeriod['CALC_ID']) {
|
|
|
+ return static::notice('CALC ID不符', 400);
|
|
|
+ }
|
|
|
|
|
|
if (empty($period)) {
|
|
|
Period::updatePeriodIsProcessing($periodNum, Period::NOT_PROCESSING);
|
|
|
@@ -212,6 +225,10 @@ class CalcController extends BaseController
|
|
|
$period = \Yii::$app->$db->createCommand('SELECT * FROM AR_PERIOD where PERIOD_NUM=:PERIOD_NUM')
|
|
|
->bindValue(':PERIOD_NUM', $periodNum)
|
|
|
->queryOne();
|
|
|
+ $businessPeriod = Period::find()->where(['PERIOD_NUM' => $periodNum])->asArray()->one();
|
|
|
+ if (!$period['CALC_ID'] || $period['CALC_ID'] != $businessPeriod['CALC_ID']) {
|
|
|
+ return static::notice('CALC ID不符', 400);
|
|
|
+ }
|
|
|
|
|
|
if (empty($period)) {
|
|
|
return static::notice('计算系统中的第' . $periodNum . '期的业绩期信息不存在');
|
|
|
@@ -251,6 +268,10 @@ class CalcController extends BaseController
|
|
|
$period = \Yii::$app->$db->createCommand('SELECT * FROM AR_PERIOD where PERIOD_NUM=:PERIOD_NUM')
|
|
|
->bindValue(':PERIOD_NUM', $periodNum)
|
|
|
->queryOne();
|
|
|
+ $businessPeriod = Period::find()->where(['PERIOD_NUM' => $periodNum])->asArray()->one();
|
|
|
+ if (!$period['CALC_ID'] || $period['CALC_ID'] != $businessPeriod['CALC_ID']) {
|
|
|
+ return static::notice('CALC ID不符', 400);
|
|
|
+ }
|
|
|
|
|
|
$formModel = new PeriodForm();
|
|
|
$formModel->scenario = 'calc';
|
|
|
@@ -288,6 +309,10 @@ class CalcController extends BaseController
|
|
|
$period = \Yii::$app->$db->createCommand('SELECT * FROM AR_PERIOD where PERIOD_NUM=:PERIOD_NUM')
|
|
|
->bindValue(':PERIOD_NUM', $periodNum)
|
|
|
->queryOne();
|
|
|
+ $businessPeriod = Period::find()->where(['PERIOD_NUM' => $periodNum])->asArray()->one();
|
|
|
+ if (!$period['CALC_ID'] || $period['CALC_ID'] != $businessPeriod['CALC_ID']) {
|
|
|
+ return static::notice('CALC ID不符', 400);
|
|
|
+ }
|
|
|
|
|
|
if (empty($period)) {
|
|
|
return static::notice('计算系统中的第' . $periodNum . '期的业绩期信息不存在');
|