others['yearMonth']; $this->listData = CalcBonus::lists($this->condition, $this->params, [ // 'select'=>'CB.*, UP.SURPLUS_1L AS UP_SURPLUS_1L, UP.SURPLUS_2L AS UP_SURPLUS_2L, UP.SURPLUS_3L AS UP_SURPLUS_3L,UI.CON_UID,UI.REC_UID', 'select'=>'CB.*,UI.CON_UID,UI.REC_UID', 'from' => CalcBonus::tableName().' AS CB', 'join' => [ // ['LEFT JOIN', UserPerf::tableName() . ' AS UP', 'CB.USER_ID=UP.USER_ID'], ['LEFT JOIN', UserInfo::tableName() . ' AS UI', 'CB.USER_ID=UI.USER_ID'], ], 'yearMonth' => $yearMonth, 'orderBy' => 'CB.CREATED_AT DESC, CB.ID DESC', 'page' => $this->page, 'pageSize' => $this->pageSize, ]); unset($yearMonth); if ($this->listData['list']) { foreach ($this->listData['list'] as $key => $value) { $this->listData['list'][$key]['LAST_DEC_LV_NAME'] = Cache::getDecLevelConfig()[$value['LAST_DEC_LV']]['LEVEL_NAME']; $this->listData['list'][$key]['LAST_EMP_LV_NAME'] = Cache::getEmpLevelConfig()[$value['LAST_EMP_LV']]['LEVEL_NAME']; $this->listData['list'][$key]['LAST_CROWN_LV_NAME'] = Cache::getStarCrownLevelConfig()[$value['LAST_CROWN_LV']]['LEVEL_NAME'] ?? $value['LAST_CROWN_LV']; $this->listData['list'][$key]['LAST_STATUS_NAME'] = \Yii::$app->params['userStatus'][$value['LAST_STATUS']]['label']; $this->listData['list'][$key]['LAST_REC_USER_NAME'] = Info::getUserNameByUserId($value['REC_UID']); $this->listData['list'][$key]['LAST_REC_REAL_NAME'] = Info::getUserRealNameByUserId($value['REC_UID']); $this->listData['list'][$key]['LAST_CON_USER_NAME'] = Info::getUserNameByUserId($value['CON_UID']); $this->listData['list'][$key]['LAST_CON_REAL_NAME'] = Info::getUserRealNameByUserId($value['CON_UID']); } } } /** * 要展示和导出的所有字段 * @return array */ public function getColumn(){ if(!$this->columns){ $this->columns = [ 'ID' => null, 'PERIOD_NUM' => [ 'header' => 'Pay Cycle(PC)', // 结算期数 'headerOther' => [ 'width' => '150', ], 'valueOther' => [ 'tag'=>['type'=>'', 'size' => 'small', 'class'=>'no-border'], ], ], 'CALCULATED_AT' => [ 'header' => 'Date ', // 结算时间 'value' => function($row) { return (new DateTime([ 'value' => $row['CALCULATED_AT'], ]))->result(); }, 'headerOther' => ['width' => '170'], ], 'LAST_USER_NAME' => [ 'header' => 'Member Code', // 会员编号 'headerOther' => [ 'width' => '150', ], 'valueOther' => [ 'tag'=>['type'=>'info', 'size' => 'small', 'class'=>'no-border'] ], ], 'LAST_REAL_NAME' => [ 'header' => 'Member Name', // 会员姓名 'headerOther' => [ 'width' => '120', ], 'valueOther' => [ 'tag'=>['type'=>'success', 'size' => 'small', 'class'=>'no-border'] ], ], 'LAST_DEC_LV_NAME' => [ 'header' => 'PC Member Level', // 结算时会员级别 'headerOther' => [ 'width' => '140', ], ], 'LAST_EMP_LV_NAME' => [ 'header' => 'Latest Director', // 结算时会员最新管理星级 'headerOther' => [ 'width' => '140', ], ], 'LAST_CROWN_LV_NAME' => [ 'header' => 'Latest Crown',//结算时会员最新皇冠星级 'headerOther' => [ 'width' => '140', ], ], 'LAST_MOBILE' => [ 'header' => 'Phone Number',//手机号码 'headerOther' => [ 'width' => '120', ], ], 'LAST_PERIOD_AT' => [ 'header' => 'Joining Period', // 加入期数 'headerOther' => [ 'width' => '110', ], ], 'LAST_CREATED_AT' => [ 'header' => 'Joining Date', // 加入时间 'value' => function($row) { return (new DateTime([ 'value' => $row['LAST_CREATED_AT'], ]))->result(); }, 'headerOther' => ['width' => '170'], ], 'LAST_REC_USER_NAME' => [ 'header' => 'Sponsor No', // 开拓者编号 'headerOther' => [ 'width' => '150', ], ], 'LAST_REC_REAL_NAME' => [ 'header' => 'Sponsor Name', // 开拓者姓名 'headerOther' => [ 'width' => '120', ], ], 'LAST_CON_USER_NAME' => [ 'header' => 'Superior Code', // 上级编号 'headerOther' => [ 'width' => '150', ], ], 'LAST_CON_REAL_NAME' => [ 'header' => 'Superior Name', // 上级姓名 'headerOther' => [ 'width' => '120', ], ], 'BONUS_TG' => [ 'header' => 'Welcome Bonus', // 销售奖金 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_TG'], ]))->result(); }, 'headerOther' => [ 'width' => '130', 'prop'=>'BONUS_TG', ], ], 'BONUS_QY' => [ 'header' => 'Team Bonus', // 绩效奖金 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_QY'], ]))->result(); }, 'headerOther' => [ 'width' => '120', 'prop'=>'BONUS_QY', ], ], 'ORI_CAPPED_BONUS_QY' => [ 'header' => 'Uncapped Team Bonus', // 绩效奖未封顶金额 'value' => function($row) { return (new Price([ 'value' => $row['ORI_CAPPED_BONUS_QY'], ]))->result(); }, 'headerOther' => [ 'width' => '170', 'prop'=>'ORI_CAPPED_BONUS_QY', ], ], 'BONUS_BS' => [ 'header' => 'Director Bonus',// 管理奖/蓝星奖 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_BS'], ]))->result(); }, 'headerOther' => [ 'width' => '120', 'prop'=>'BONUS_BS', ], ], 'BONUS_BD' => [ 'header' => 'Stockist Commission', // 服务奖 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_BD'], ]))->result(); }, 'headerOther' => [ 'width' => '150', 'prop'=>'BONUS_BD', ], ], 'BONUS_QUARTER' => [ 'header' => 'Quarterly Bonus', // 季度分红 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_QUARTER'], ]))->result(); }, 'headerOther' => [ 'width' => '130', 'prop'=>'BONUS_QUARTER', ], ], 'BONUS_REAL' => [ 'header' => 'Actual Bonus', // 实发奖金 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_REAL'], ]))->result(); }, 'headerOther' => [ 'width' => '120', 'prop'=>'BONUS_REAL', ], ], 'BONUS_TOTAL' => [ 'header' => 'Total Bonus', // 总奖金 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_TOTAL'], ]))->result(); }, 'headerOther' => [ 'width' => '120', 'prop'=>'BONUS_TOTAL', ], ], 'BONUS_INCOME' => [ 'header' => 'Total Revenue', // 总收入 'value' => function($row) { return (new Price([ 'value' => $row['BONUS_INCOME'], ]))->result(); }, 'headerOther' => [ 'width' => '120', 'prop'=>'BONUS_INCOME', ], ], 'CALC_MONTH' => [ 'header' => 'Bonus Month', // 结算月 'headerOther' => [ 'width' => '110', ], ], ]; } return $this->columns; } /** * 前台用于筛选的类型集合 * @return mixed */ public function getFilterTypes() { if(!$this->filterTypes){ $this->filterTypes = [ 'LAST_USER_NAME'=> ['isUserTable'=> false, 'name'=> 'Member Code'], // 会员编号 'LAST_REAL_NAME'=> ['isUserTable'=> false, 'name'=> 'Member Name'], // 会员姓名 'LAST_DEC_LV_NAME'=> ['isUserTable'=> false, 'name'=> 'PC Member Level', 'other'=> 'decLevel'], // 结算时会员级别 'LAST_EMP_LV_NAME'=> ['isUserTable'=> false, 'name'=> 'Latest Director', 'other'=> 'empLevel'], // 结算时会员管理星级 'LAST_CROWN_LV_NAME'=> ['isUserTable'=> false, 'name'=> 'Latest Crown', 'other'=> 'crownLevel'], // 结算时会员皇冠星级 'LAST_MOBILE'=> ['isUserTable'=> false, 'name'=> 'Phone Number'], // 手机号 'LAST_PERIOD_AT'=> ['isUserTable'=> false, 'name'=> 'Joining Period'], // 加入期数 'LAST_CREATED_AT'=> ['isUserTable'=> false, 'name'=> 'Joining Date', 'other'=> 'date'], // 加入时间 'CALCULATED_AT'=> ['isUserTable'=> false, 'name'=> 'Date', 'other'=> 'date'], // 备份时间 'LAST_REC_USER_NAME'=> ['isUserTable'=> false, 'name'=> 'Sponsor No'], // 开拓者编号 'LAST_REC_REAL_NAME'=> ['isUserTable'=> false, 'name'=> 'Sponsor Name'], // 开拓者姓名 'LAST_CON_USER_NAME'=> ['isUserTable'=> false, 'name'=> 'Superior Number'], // 上级编号 'LAST_CON_REAL_NAME'=> ['isUserTable'=> false, 'name'=> 'Superior Name'], // 上级姓名 'PV_1L'=> ['isUserTable'=> false, 'name'=> 'I. new market performance'], // 一市场新增业绩 'SURPLUS_1L'=> ['isUserTable'=> false, 'name'=> 'I. market balance performance'], // 一市场结余业绩 'PV_2L'=> ['isUserTable'=> false, 'name'=> 'II. new market performance'], // 二市场新增业绩 'SURPLUS_2L'=> ['isUserTable'=> false, 'name'=> 'II. market balance performance'], // 二市场结余业绩 'BONUS_BD'=> ['isUserTable'=> false, 'name'=> 'Stockist Commission'], // 服务奖 'BONUS_GL'=> ['isUserTable'=> false, 'name'=> 'Management Award'], // 管理奖 'BONUS_QY'=> ['isUserTable'=> false, 'name'=> 'Team Bonus'], // 团队奖 'CALC_MONTH'=> ['isUserTable'=> false, 'name'=> 'Bonus Month'], // 结算月 ]; } return $this->filterTypes; } }