فهرست منبع

fix:user表中的last_emp_lv字段改为从user表中直接获取

brook 3 سال پیش
والد
کامیت
ebb9fe8c17
1فایلهای تغییر یافته به همراه50 افزوده شده و 49 حذف شده
  1. 50 49
      common/helpers/bonus/Calc/PushBaseDataToCalc.php

+ 50 - 49
common/helpers/bonus/Calc/PushBaseDataToCalc.php

@@ -24,7 +24,7 @@ class PushBaseDataToCalc extends BaseBusiness
 {
     const BASE_INFO_METHODS = [
         //--- 用户表
-        'user'             => ['separately' => true, 'table' => 'AR_USER', 'field' => [
+        'user'             => ['table' => 'AR_USER', 'field' => [
             'ID',
             'USER_NAME',
             'REAL_NAME',
@@ -37,6 +37,7 @@ class PushBaseDataToCalc extends BaseBusiness
             'DEC_ID',
             'DEC_ROLE_ID',
             'LAST_DEC_LV',
+            'LAST_EMP_LV',
             'IS_STUDIO',
             'LAST_CROWN_LV',
             'DELETED',
@@ -420,54 +421,54 @@ class PushBaseDataToCalc extends BaseBusiness
         return true;
     }
 
-    public function user($table, $fieldArray, $db)
-    {
-        $field        = '`' . implode('`, `', $fieldArray) . '`,null as LAST_EMP_LV';
-        $fieldArray[] = 'LAST_EMP_LV';
-        $_offset      = 0;
-
-        $forwardMonthPeriod = Period::find()
-            ->where('IS_MONTH=1 AND PERIOD_NUM<:PERIOD_NUM', [':PERIOD_NUM' => $this->_periodNum])
-            ->orderBy('PERIOD_NUM DESC')->asArray()->one();
-
-        $forwardPeriodNum = $forwardMonthPeriod['PERIOD_NUM'];
-
-//        $employeeLevelIds = CalcBonusBS::findAllAsArray(
+//    public function user($table, $fieldArray, $db)
+//    {
+//        $field        = '`' . implode('`, `', $fieldArray) . '`,null as LAST_EMP_LV';
+//        $fieldArray[] = 'LAST_EMP_LV';
+//        $_offset      = 0;
+//
+//        $forwardMonthPeriod = Period::find()
+//            ->where('IS_MONTH=1 AND PERIOD_NUM<:PERIOD_NUM', [':PERIOD_NUM' => $this->_periodNum])
+//            ->orderBy('PERIOD_NUM DESC')->asArray()->one();
+//
+//        $forwardPeriodNum = $forwardMonthPeriod['PERIOD_NUM'];
+//
+////        $employeeLevelIds = CalcBonusBS::findAllAsArray(
+////            'PERIOD_NUM=:PERIOD_NUM ', [':PERIOD_NUM' => $forwardPeriodNum]
+////        );
+//
+//        $employeeLevelIds = CalcBonusBS::find()->where(
 //            'PERIOD_NUM=:PERIOD_NUM ', [':PERIOD_NUM' => $forwardPeriodNum]
-//        );
-
-        $employeeLevelIds = CalcBonusBS::find()->where(
-            'PERIOD_NUM=:PERIOD_NUM ', [':PERIOD_NUM' => $forwardPeriodNum]
-        )->select('USER_ID,LEVEL_ID')->asArray()->all();
-
-        if (!empty($employeeLevelIds)) {
-            $employeeLevelIds = array_column($employeeLevelIds, null, 'USER_ID'); // 当前蓝星奖计算(即管理奖) 的等级
-        }
-
-        $noLevelId = EmployLevel::NO_LEVEL_ID;
-
-        user:
-        $offset = $_offset * $this->_limit;
-        $data   = ActiveRecord::findBySql("SELECT $field from AR_USER limit $this->_limit offset $offset;")->asArray()->all();
-
-        if (!empty($data)) {
-            foreach ($data as $k => $v) {
-                $data[$k]['LAST_EMP_LV'] = $noLevelId;
-                if (isset($employeeLevelIds[$v['ID']])) {
-                    $data[$k]['LAST_EMP_LV'] = $employeeLevelIds[$v['ID']]['LEVEL_ID'] ?? 0;
-                }
-            }
-            $_offset += 1;
-            \Yii::$app->$db->createCommand()->batchInsert($table, $fieldArray, $data)->execute();
-
-            $data = null;
-            goto user;
-        }
-        $data             = null;
-        $employeeLevelIds = null;
-
-        return true;
-    }
+//        )->select('USER_ID,LEVEL_ID')->asArray()->all();
+//
+//        if (!empty($employeeLevelIds)) {
+//            $employeeLevelIds = array_column($employeeLevelIds, null, 'USER_ID'); // 当前蓝星奖计算(即管理奖) 的等级
+//        }
+//
+//        $noLevelId = EmployLevel::NO_LEVEL_ID;
+//
+//        user:
+//        $offset = $_offset * $this->_limit;
+//        $data   = ActiveRecord::findBySql("SELECT $field from AR_USER limit $this->_limit offset $offset;")->asArray()->all();
+//
+//        if (!empty($data)) {
+//            foreach ($data as $k => $v) {
+//                $data[$k]['LAST_EMP_LV'] = $noLevelId;
+//                if (isset($employeeLevelIds[$v['ID']])) {
+//                    $data[$k]['LAST_EMP_LV'] = $employeeLevelIds[$v['ID']]['LEVEL_ID'] ?? 0;
+//                }
+//            }
+//            $_offset += 1;
+//            \Yii::$app->$db->createCommand()->batchInsert($table, $fieldArray, $data)->execute();
+//
+//            $data = null;
+//            goto user;
+//        }
+//        $data             = null;
+//        $employeeLevelIds = null;
+//
+//        return true;
+//    }
 
     public function calcBonusQy($table, $fieldArray, $db): bool
     {
@@ -655,4 +656,4 @@ class PushBaseDataToCalc extends BaseBusiness
         $data = null;
         return true;
     }
-}
+}