|
|
@@ -2994,11 +2994,11 @@ class BonusCalc extends BaseObject {
|
|
|
// unset($monthSumData, $bonusGxSum, $bonusGlSum);
|
|
|
// }
|
|
|
// }
|
|
|
-
|
|
|
if( $this->_isCalcMonth ) {
|
|
|
// 将查看是否复消300的逻辑,改成月结时判断当前月有一周活跃则本月活跃
|
|
|
// 1. 获取此业绩期的月份
|
|
|
$periodInfo = Period::getInfoByPeriodNum($this->_periodNum);
|
|
|
+
|
|
|
$calcMonth = $periodInfo['CALC_YEAR'].'-'.$periodInfo['CALC_MONTH']; // 2025-7
|
|
|
// 获取此月的第一天和最后一天时间戳
|
|
|
$fday = date('Y-m-01', strtotime($calcMonth));
|
|
|
@@ -3006,12 +3006,23 @@ class BonusCalc extends BaseObject {
|
|
|
$ftime = strtotime($fday);
|
|
|
$ltime = strtotime($lday.' 23:59:59');
|
|
|
// 2. 根据业绩期的月份,判断用户是否是活跃状态.
|
|
|
- // "select `ID` from `AR_PERF_ACTIVE_USER` where (`SRATR_AT` <= {$ftime} AND `END_AT` >= {$ftime})"
|
|
|
$fxPvStatus = PerfActiveUser::findUseDbCalc()
|
|
|
->select('USER_ID')
|
|
|
- ->andFilterWhere(['>=', 'SRATR_AT', $ftime])
|
|
|
- ->andFilterWhere(['<=', 'END_AT', $ftime])
|
|
|
- ->find();
|
|
|
+ ->where("USER_ID=:USER_ID ", [':USER_ID' => $userId])
|
|
|
+ ->andWhere(['or',
|
|
|
+ [
|
|
|
+ 'and',
|
|
|
+ ['>=', 'SRATR_AT', $ftime],
|
|
|
+ ['<=', 'SRATR_AT', $ltime]
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'and',
|
|
|
+ ['>=', 'END_AT', $ftime],
|
|
|
+ ['<=', 'END_AT', $ltime]
|
|
|
+ ]
|
|
|
+ ])
|
|
|
+ ->asArray()
|
|
|
+ ->all();
|
|
|
if ( !empty($fxPvStatus) ) {//加上本期和往期的共享和管理奖
|
|
|
$monthSumData = CalcBonus::findUseSlaves()->select('SUM(BONUS_GX) AS BONUS_GX_SUM, SUM(BONUS_GL) AS BONUS_GL_SUM')->where('USER_ID=:USER_ID AND CALC_MONTH=:CALC_MONTH', ['USER_ID'=>$userId, 'CALC_MONTH'=>$this->_calcYearMonth])->asArray()->one();
|
|
|
$bonusGxSum = $monthSumData['BONUS_GX_SUM'] ?? 0;
|