|
|
@@ -1266,7 +1266,7 @@ class BonusCalc extends BaseObject {
|
|
|
// 计算荣衔星级
|
|
|
$starCrown = StarCrownLevel::getStarCrown($payLeg);
|
|
|
// 星级放入缓存
|
|
|
- CalcCache::addUserStartCrown($userId, $periodNum, $starCrown['ID']);
|
|
|
+ CalcCache::addUserStarCrown($userId, $periodNum, $starCrown['ID']);
|
|
|
|
|
|
//团队奖流水
|
|
|
$insertBonusData[] = [
|
|
|
@@ -1275,7 +1275,7 @@ class BonusCalc extends BaseObject {
|
|
|
'ORI_CAPPED_BONUS_QY' => $capBonusQy,
|
|
|
'LAST_DEC_LV' => $userBaseInfo['DEC_LV'],
|
|
|
'LAST_EMP_LV' => $userBaseInfo['EMP_LV'],
|
|
|
- 'LAST_STAR_LV' => $starCrown['ID'],
|
|
|
+ 'LAST_CROWN_LV' => $starCrown['ID'],
|
|
|
'LAST_STATUS' => $userBaseInfo['STATUS'],
|
|
|
'AMOUNT' => $deductData['surplus'],
|
|
|
'ORI_BONUS' => $teamBonus,
|
|
|
@@ -1715,7 +1715,7 @@ class BonusCalc extends BaseObject {
|
|
|
$userStarCrown = CalcBonusQY::find()
|
|
|
->yearMonth($this->_calcYearMonth)
|
|
|
->where('CALC_MONTH=:CALC_MONTH', [':CALC_MONTH' => $this->_calcYearMonth])
|
|
|
- ->select('USER_ID,LAST_STAR_LV')
|
|
|
+ ->select('USER_ID,LAST_CROWN_LV')
|
|
|
->groupBy('USER_ID')
|
|
|
->asArray()
|
|
|
->all();
|
|
|
@@ -1728,11 +1728,11 @@ class BonusCalc extends BaseObject {
|
|
|
$bonusPointComplex = 0;
|
|
|
$insertBonusData = [];
|
|
|
foreach($bonusUsers as $userId) {
|
|
|
- // 计算奖金:取starDirectorPoint和startCrownPoint的大个值
|
|
|
+ // 计算奖金:取starDirectorPoint和starCrownPoint的大个值
|
|
|
$starDirectorPoint = $this->_empLevelConfig[$userStarDirectorObj[$userId]['LEVEL_ID']]['TOURISM_PERCENT'] ?? 0;
|
|
|
- $startCrownPoint = $this->_starCrownLevelConfig[$userStarCrownObj[$userId]['LAST_STAR_LV']]['TOURISM_PERCENT'] ?? 0;
|
|
|
+ $starCrownPoint = $this->_starCrownLevelConfig[$userStarCrownObj[$userId]['LAST_CROWN_LV']]['TOURISM_PERCENT'] ?? 0;
|
|
|
// 奖金比例:
|
|
|
- $bonusPoint = max($starDirectorPoint, $startCrownPoint);
|
|
|
+ $bonusPoint = max($starDirectorPoint, $starCrownPoint);
|
|
|
|
|
|
$insertBonusData[] = [
|
|
|
'ID' => SnowFake::instance()->generateId(),
|
|
|
@@ -1740,7 +1740,7 @@ class BonusCalc extends BaseObject {
|
|
|
'LAST_DEC_LV' => $userStarDirectorObj[$userId]['LAST_DEC_LV'],
|
|
|
'LAST_EMP_LV' => $userStarDirectorObj[$userId]['LAST_EMP_LV'],
|
|
|
'LAST_STATUS' => $userStarDirectorObj[$userId]['LAST_STATUS'],
|
|
|
- 'LAST_STAR_LV' => $userStarCrownObj[$userId]['LAST_STAR_LV'],
|
|
|
+ 'LAST_CROWN_LV' => $userStarCrownObj[$userId]['LAST_CROWN_LV'],
|
|
|
'AMOUNT_STANDARD' => 0,
|
|
|
'POINT' => $bonusPoint,
|
|
|
'PERIOD_NUM' => $this->_periodNum,
|
|
|
@@ -1813,21 +1813,21 @@ class BonusCalc extends BaseObject {
|
|
|
// 基于团队奖/绩效奖结果计算会员的StarCrown.StarCrown基于周期计算,一个月会产生多次,取月周期中的最高星级
|
|
|
$subQuery = CalcBonusQY::find()
|
|
|
->yearMonth($this->_calcYearMonth)
|
|
|
- ->where('CALC_MONTH = :CALC_MONTH AND LAST_STAR_LV <> :NO_STAR_LV', [':CALC_MONTH' => $this->_calcYearMonth, ':NO_STAR_LV' => StarCrownLevel::NO_LEVEL_ID])
|
|
|
- ->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_STAR_LV,LAST_STATUS,LEVEL_NAME,SORT')
|
|
|
+ ->where('CALC_MONTH = :CALC_MONTH AND LAST_CROWN_LV <> :NO_CROWN_LV', [':CALC_MONTH' => $this->_calcYearMonth, ':NO_CROWN_LV' => StarCrownLevel::NO_LEVEL_ID])
|
|
|
+ ->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_CROWN_LV,LAST_STATUS,LEVEL_NAME,SORT')
|
|
|
->joinWith(['starCrown' => function($query) {
|
|
|
$query->select(['LEVEL_NAME', 'SORT']);
|
|
|
}])
|
|
|
->having(1)
|
|
|
->orderBy('USER_ID ASC, SORT DESC');
|
|
|
- $userStarCrownObj = (new Query())->from(['u' => $subQuery])->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_STAR_LV,LAST_STATUS,LEVEL_NAME,SORT')->groupBy('USER_ID')->indexBy('USER_ID')->all();
|
|
|
+ $userStarCrownObj = (new Query())->from(['u' => $subQuery])->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_CROWN_LV,LAST_STATUS,LEVEL_NAME,SORT')->groupBy('USER_ID')->indexBy('USER_ID')->all();
|
|
|
|
|
|
// 奖金点数综合
|
|
|
$bonusPointComplex = 0;
|
|
|
$insertBonusData = [];
|
|
|
foreach($userStarCrownObj as $item) {
|
|
|
// 奖金比例
|
|
|
- $bonusPoint = $this->_starCrownLevelConfig[$item['LAST_STAR_LV']]['VILLA_PERCENT'] ?? 0;
|
|
|
+ $bonusPoint = $this->_starCrownLevelConfig[$item['LAST_CROWN_LV']]['VILLA_PERCENT'] ?? 0;
|
|
|
if (!$bonusPoint) {
|
|
|
continue;
|
|
|
}
|
|
|
@@ -1838,7 +1838,7 @@ class BonusCalc extends BaseObject {
|
|
|
'LAST_DEC_LV' => $item['LAST_DEC_LV'],
|
|
|
'LAST_EMP_LV' => $item['LAST_EMP_LV'],
|
|
|
'LAST_STATUS' => $item['LAST_STATUS'],
|
|
|
- 'LAST_STAR_LV' => $item['LAST_STAR_LV'],
|
|
|
+ 'LAST_CROWN_LV' => $item['LAST_CROWN_LV'],
|
|
|
'AMOUNT' => 0,
|
|
|
'POINT' => $bonusPoint,
|
|
|
'PERIOD_NUM' => $this->_periodNum,
|
|
|
@@ -1927,14 +1927,14 @@ class BonusCalc extends BaseObject {
|
|
|
// 基于团队奖/绩效奖结果计算会员的StarCrown.StarCrown基于周期计算,一个月会产生多次,取月周期中的最高星级
|
|
|
$subQuery = CalcBonusQY::find()
|
|
|
->yearMonth($this->_calcYearMonth)
|
|
|
- ->where('CALC_MONTH = :CALC_MONTH AND LAST_STAR_LV <> :NO_STAR_LV', [':CALC_MONTH' => $this->_calcYearMonth, ':NO_STAR_LV' => StarCrownLevel::NO_LEVEL_ID])
|
|
|
- ->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_STAR_LV,LAST_STATUS,LEVEL_NAME,SORT')
|
|
|
+ ->where('CALC_MONTH = :CALC_MONTH AND LAST_CROWN_LV <> :NO_CROWN_LV', [':CALC_MONTH' => $this->_calcYearMonth, ':NO_CROWN_LV' => StarCrownLevel::NO_LEVEL_ID])
|
|
|
+ ->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_CROWN_LV,LAST_STATUS,LEVEL_NAME,SORT')
|
|
|
->joinWith(['starCrown' => function($query) {
|
|
|
$query->select(['LEVEL_NAME', 'SORT']);
|
|
|
}])
|
|
|
->having(1)
|
|
|
->orderBy('USER_ID ASC, SORT DESC');
|
|
|
- $userStarCrownObj = (new Query())->from(['u' => $subQuery])->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_STAR_LV,LAST_STATUS,LEVEL_NAME,SORT')->groupBy('USER_ID')->indexBy('USER_ID')->all();
|
|
|
+ $userStarCrownObj = (new Query())->from(['u' => $subQuery])->select('USER_ID,LAST_DEC_LV,LAST_EMP_LV,LAST_CROWN_LV,LAST_STATUS,LEVEL_NAME,SORT')->groupBy('USER_ID')->indexBy('USER_ID')->all();
|
|
|
|
|
|
// 合并用户ID,去重
|
|
|
$bonusUsers = array_unique(array_merge(array_keys($userStarDirectorObj), array_keys($userStarCrownObj)));
|
|
|
@@ -1944,11 +1944,11 @@ class BonusCalc extends BaseObject {
|
|
|
$bonusPointComplex = 0;
|
|
|
$insertBonusData = [];
|
|
|
foreach($bonusUsers as $userId) {
|
|
|
- // 计算奖金:取starDirectorPoint和startCrownPoint的大个值
|
|
|
+ // 计算奖金:取starDirectorPoint和starCrownPoint的大个值
|
|
|
$starDirectorPoint = !isset($userStarDirectorObj[$userId]['LEVEL_ID']) ? 0 : ($this->_empLevelConfig[$userStarDirectorObj[$userId]['LEVEL_ID']]['GARAGE_PERCENT'] ?? 0);
|
|
|
- $startCrownPoint = !isset($userStarCrownObj[$userId]['LAST_STAR_LV']) ? 0: ($this->_starCrownLevelConfig[$userStarCrownObj[$userId]['LAST_STAR_LV']]['GARAGE_PERCENT'] ?? 0);
|
|
|
+ $starCrownPoint = !isset($userStarCrownObj[$userId]['LAST_CROWN_LV']) ? 0: ($this->_starCrownLevelConfig[$userStarCrownObj[$userId]['LAST_CROWN_LV']]['GARAGE_PERCENT'] ?? 0);
|
|
|
// 奖金比例:
|
|
|
- $bonusPoint = max($starDirectorPoint, $startCrownPoint);
|
|
|
+ $bonusPoint = max($starDirectorPoint, $starCrownPoint);
|
|
|
|
|
|
$insertBonusData[] = [
|
|
|
'ID' => SnowFake::instance()->generateId(),
|
|
|
@@ -1956,7 +1956,7 @@ class BonusCalc extends BaseObject {
|
|
|
'LAST_DEC_LV' => $userStarDirectorObj[$userId]['LAST_DEC_LV'] ?? ($userStarCrownObj[$userId]['LAST_DEC_LV'] ?? ''),
|
|
|
'LAST_EMP_LV' => $userStarDirectorObj[$userId]['LAST_EMP_LV'] ?? ($userStarCrownObj[$userId]['LAST_EMP_LV'] ?? ''),
|
|
|
'LAST_STATUS' => $userStarDirectorObj[$userId]['LAST_STATUS'] ?? ($userStarCrownObj[$userId]['LAST_STATUS'] ?? 1),
|
|
|
- 'LAST_STAR_LV' => $userStarCrownObj[$userId]['LAST_STAR_LV'] ?? '',
|
|
|
+ 'LAST_CROWN_LV' => $userStarCrownObj[$userId]['LAST_CROWN_LV'] ?? '',
|
|
|
'AMOUNT' => 0,
|
|
|
'POINT' => $bonusPoint,
|
|
|
'PERIOD_NUM' => $this->_periodNum,
|
|
|
@@ -3720,7 +3720,7 @@ class BonusCalc extends BaseObject {
|
|
|
// }
|
|
|
$pervSurplusPerf = CalcCache::surplusPerf($userId, $this->_periodNum);
|
|
|
// 星级
|
|
|
- $starCrownLv = CalcCache::getUserStartCrown($userId, $this->_periodNum);
|
|
|
+ $starCrownLv = CalcCache::getUserStarCrown($userId, $this->_periodNum);
|
|
|
|
|
|
// //没有共享和管理奖 以前的管理奖和共享奖逻辑
|
|
|
// $bonusReal = $bonus['BONUS_BD'] + $bonus['BONUS_TG'] + $bonus['BONUS_XF'] + $bonus['BONUS_YJ'] + $bonus['BONUS_QY'] + $bonus['BONUS_YC'] + $bonus['BONUS_YC_EXTRA'] + $bonus['BONUS_VIP'] + $standardBonus;
|
|
|
@@ -3826,7 +3826,7 @@ class BonusCalc extends BaseObject {
|
|
|
'LAST_REAL_NAME' => $baseInfo['REAL_NAME'],
|
|
|
'LAST_DEC_LV' => $baseInfo['DEC_LV'],
|
|
|
'LAST_EMP_LV' => $empLv,
|
|
|
- 'LAST_STAR_LV' => $starCrownLv ?? StarCrownLevel::getDefaultLevelId(),
|
|
|
+ 'LAST_CROWN_LV' => $starCrownLv ?? StarCrownLevel::getDefaultLevelId(),
|
|
|
'LAST_STATUS' => $baseInfo['STATUS'],
|
|
|
'LAST_MOBILE' => $baseInfo['MOBILE'],
|
|
|
'LAST_PERIOD_AT' => $baseInfo['PERIOD_NUM'],
|