Quellcode durchsuchen

更新calcbonus表数据,使用bs表的levelid

root vor 3 Jahren
Ursprung
Commit
6f3ffc80aa
1 geänderte Dateien mit 12 neuen und 4 gelöschten Zeilen
  1. 12 4
      common/helpers/bonus/BonusCalc.php

+ 12 - 4
common/helpers/bonus/BonusCalc.php

@@ -3435,17 +3435,25 @@ class BonusCalc extends BaseObject {
             // 不是结算月,则不需要进行聘级调整
             return false;
         }
-        // 从缓存获取分页有收入的会员信息
-        $allData = CalcBonusBS::findUseDbCalc()
+        $allData = CalcBonus::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']; // 当前蓝星奖计算(即管理奖) 的等级
+                // 获取蓝星表中的数据
+                $blueBsInfo = CalcBonusBS::findOneAsArray(
+                    'PERIOD_NUM=:PERIOD_NUM  AND USER_ID=:USER_ID', 
+                    [':PERIOD_NUM'=>$this->_periodNum, ':USER_ID'=>$data['USER_ID']]
+                );
+                if (!empty($blueBsInfo)) {
+                    $nowBsEmpLv = $blueBsInfo['LEVEL_ID']; // 当前蓝星奖计算(即管理奖) 的等级
+                } else {
+                    $nowBsEmpLv = EmployLevel::NO_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',