|
|
@@ -43,6 +43,7 @@ use common\models\ResendQY;
|
|
|
use common\models\DeclarationLevel;
|
|
|
use common\models\DecOrder;
|
|
|
use common\models\EmployLevel;
|
|
|
+use common\models\FlowBonus;
|
|
|
use common\models\PerfActiveUser;
|
|
|
use common\models\ScoreMonth;
|
|
|
use common\models\User;
|
|
|
@@ -293,6 +294,8 @@ class BonusCalc extends BaseObject {
|
|
|
//奖金写库
|
|
|
// 这里增加新的奖金入库操作.
|
|
|
$this->loopBonusUsers();
|
|
|
+ // 入库完成,将各个奖金计算流水会员聘级,更新成蓝星奖当时计算的聘级
|
|
|
+ $this->loopCalcBlueEmpLv();
|
|
|
$this->_updatePercent(75);
|
|
|
unset($calcWrite);
|
|
|
$t20 = microtime(true);
|
|
|
@@ -1624,6 +1627,7 @@ class BonusCalc extends BaseObject {
|
|
|
// 添加到有奖励信息的数据中
|
|
|
CalcCache::addHasBonusUsers($user['USER_ID'], $this->_periodNum);
|
|
|
//CalcCache::addHasMonthBonusUsers($user['USER_ID'], $this->_periodNum);
|
|
|
+ // 增加逻辑,修改此时各个奖金计算时奖金流水中的会员聘级
|
|
|
|
|
|
}
|
|
|
return $this->calcBonusBsGL($offset + $this->_limit);
|
|
|
@@ -3043,6 +3047,93 @@ class BonusCalc extends BaseObject {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ // 奖金入库完成,将各个奖金计算流水会员聘级,更新成蓝星奖当时计算的聘级
|
|
|
+ public function loopCalcBlueEmpLv($offset = 0) {
|
|
|
+ if( !$this->_isCalcMonth ) {
|
|
|
+ // 不是结算月,则不需要进行聘级调整
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ // 从缓存获取分页有收入的会员信息
|
|
|
+ $allData = CalcBonusBS::findUseDbCalc()
|
|
|
+ ->where('PERIOD_NUM=:PERIOD_NUM', [':PERIOD_NUM' => $this->_periodNum])
|
|
|
+ ->groupBy('USER_ID')
|
|
|
+ ->offset($offset)
|
|
|
+ ->limit($this->_limit)
|
|
|
+ ->asArray()
|
|
|
+ ->all();
|
|
|
+ if ($allData) {
|
|
|
+ foreach ($allData as $data) {
|
|
|
+ $nowBsEmpLv = $data['LEVEL_ID']; // 当前蓝星奖计算(即管理奖) 的等级
|
|
|
+ // 修改AR_CALC_BONUS的LAST_EMP_LV聘级,修改奖金流水的聘级AR_FLOW_BONUS表的LAST_EMP_LV
|
|
|
+ // 期结算结果
|
|
|
+ CalcBonus::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ // 奖金流水
|
|
|
+ FlowBonus::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ // 共享奖流水
|
|
|
+ CalcBonusGX::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ // 推广奖流水
|
|
|
+ CalcBonusTG::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ // 团队奖流水
|
|
|
+ CalcBonusQY::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ // 服务奖流水
|
|
|
+ CalcBonusBD::updateAll(['LAST_EMP_LV' => $nowBsEmpLv], 'USER_ID=:USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ // 更新form的聘级
|
|
|
+ CalcBonusGX::updateAll(['LAST_FROM_EMP_LV' => $nowBsEmpLv], 'FROM_USER_ID=:FROM_USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':FROM_USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ CalcBonusTG::updateAll(['LAST_FROM_EMP_LV' => $nowBsEmpLv], 'FROM_USER_ID=:FROM_USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':FROM_USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ CalcBonusBD::updateAll(['LAST_FROM_EMP_LV' => $nowBsEmpLv], 'FROM_USER_ID=:FROM_USER_ID AND PERIOD_NUM=:PERIOD_NUM',
|
|
|
+ [
|
|
|
+ ':FROM_USER_ID' => $data['USER_ID'],
|
|
|
+ ':PERIOD_NUM' => $this->_periodNum
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ }
|
|
|
+ unset($allData);
|
|
|
+ return $this->loopCalcBlueEmpLv($offset + $this->_limit);
|
|
|
+ }
|
|
|
+ unset($allData);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 奖金
|
|
|
* @param $userId
|