<?php

namespace admin\action\user;
use \admin\action\elementAction;
use model\user\role;
/**
 * Class codeRuleAction
 * @package admin\action
 */
class roleAction  extends elementAction{
	public function __construct($elename='role')
    {
		parent::__construct($elename);
        $this->element = new role($this->elecfg);
	}

    public function deleteRows()
    {
        $req = \mvc::$req;
        if($this->element->deleteRows($req['ids'])){
            $this->successJson(lg('删除完成'));
        }
    }
    public function detail($key)
    {
		if(!\mvc::$cfg['extModels']['oppo']){
		    unset($this->elecfg['fields']['ar_model']);
		}
		parent::detail($key);
    }

    public function getCateRole()
    {
        $req = \mvc::$req;
        if($req['type']=='pmanager'){
            $where['ar_ispmanager'] = 1;
        }elseif ($req['type']=='procurement') {
            $where['ar_isprocurement'] = 1;
        }
        $rows = $data = $this->element->getDb()->select('adm_role',['ar_id','ar_name'], $where);
        $data = [];
        $regi=0;
		$firstkey = isset($req['firstkey'])? $req['firstkey']: 0;
        if(isset($req['hasFirst']) && $req['hasFirst']){
            $data[0] = ['key'=>$firstkey, 'value'=>'' ];
            $regi = 1;
        }
        foreach($rows as $k=>$v){
            $data[$k+$regi]=[ 'key'=>$v['ar_id'], 'value' => $v['ar_name'] ];
        }
        $this->successJson($data);
    }

    public function getRoleByPowerPrefix()
    {
        $req = \mvc::$req;
        $prefix = isset($req['prefix']) && $req['prefix'] !== '' ? $req['prefix'] : 'W';
        $where = ['pw.prl_power_code[~]'=>$prefix.'%','GROUP'=>'ro.ar_id','ORDER'=>'ro.ar_name'];
        if(!empty($this->elecfg['where'])){
            $where = array_merge($where, $this->elecfg['where']);
        }
        $rows = $this->element->getDb()->select('power_role_link(pw)',['[><]adm_role(ro)'=>['pw.prl_ar_id'=>'ar_id']],['ro.ar_id','ro.ar_name'],$where);
        $data = [];
        $regi=0;
		$firstkey = isset($req['firstkey'])? $req['firstkey']: 0;
        if(isset($req['hasFirst']) && $req['hasFirst']){
            $data[0] = ['key'=>$firstkey, 'value'=>'' ];
            $regi = 1;
        }
        foreach($rows as $k=>$v){
            $data[$k+$regi]=[ 'key'=>$v['ar_id'], 'value' => $v['ar_name'] ];
        }
        $this->successJson($data);
    }
}
