<?php
namespace admin\action\sample;
use \model\carmodel;
use \model\sample\samCarmodel;
class carmodelAction  extends \action
{
	/**
	  * @method 添加适用车型
	  * @param  s_id  int  [必填] 样品ID
	  * @param  mm_ids  string  [必填] 车型ID  多个逗号分隔
	  * @author soul
	  */
	public function addModel()
	{
		$req = \mvc::$req;
		$samCarmodel = new samCarmodel();
		$mmArr = [];
		foreach(explode(',', $req['mm_ids']) as $mmid)
		{
			$mmArr[] = ['sml_mm_id'=>$mmid];
		}
		$data = $samCarmodel->addModel($req['s_id'], $mmArr);
		$this->successJson($data);
	}

	public function editCell()
    {
        $req = \mvc::$req;
        $id = $req['id'];
        $oper = $req['oper'];
        $field = $req['field'];
        if(!empty($field)){
            $value = $req[$field];
        }else{
            $field = key($req);
            $value = current($req);
        }
        $samCarmodel = new samCarmodel();
        if($oper=='edit'){
            $samCarmodel->setValue($id,$field,$value);
        }
        //$this->successJson();
    }


	/**
	  * @method 删除适用车型
	  * @param  s_id  int  [必填] 样品ID
	  * @param  mm_ids  string  [必填] 车型ID  多个逗号分隔
	  * @author soul
	  */
	public function delModel()
	{
		$req = \mvc::$req;
		$samCarmodel = new samCarmodel();
		$data = $samCarmodel->delModel($req['s_id'], explode(',', $req['mm_ids']));
		$this->successJson($data);
	}

	public function deleteRows($ids)
    {
        $samCarmodel = new samCarmodel();
        $samCarmodel->deleteRows($ids);
        $this->successJson();
    }


	/**
	  * @method 样品的适用车型数
	  * @param  s_id  int  [选填] 样品ID
	  * @author soul
	  */
   public function getModelTree()
	{
		$req = \mvc::$req;
		$treeArr = [];
		$samCarmodel = new samCarmodel();
		$linkArr = $samCarmodel->getModel($req['s_id'], $req);
		$this->successJson($linkArr);
		if(!empty($linkArr))
		{
			$linkArr = array_column($linkArr, null, 'sml_mm_id');
			$carmodel = new carmodel();
			$data = $carmodel->getModel(['mm_ids'=>array_keys($linkArr)]);
			foreach($data['models'] as $k=>$v)
			{
				$mkkey = 'mk'.$v['mk_id'];
				if(empty($treeArr[$mkkey]))
				{
					$treeArr[$mkkey] = [
						'id'=>$mkkey,
						'name'=>$v['mk_name'],
						'level'=>1,
						'parent_id'=>'0',
						'isLeaf'=>false,
						'expanded'=>true,
					];
				}
				
				$mskey = 'ms'.$v['ms_id'];
				if(empty($treeArr[$mskey]))
				{
					$treeArr[$mskey] = [
						'id'=>$mskey,
						'name'=>$v['ms_name'],
						'level'=>2,
						'parent_id'=>$mkkey,
						'isLeaf'=>false,
						'expanded'=>false,
					];
				}

				$mmkey = 'mm'.$v['mm_id'];
				if(empty($treeArr[$mmkey]))
				{
					$v['expanded'] = false;
					$v['isLeaf'] = true;
					$v['id'] = $mmkey;
					$v['name'] = $v['mm_name'];
					$v['level'] = 3;
					$v['parent_id'] = $mskey;
					if(!empty($linkArr[$v['mm_id']])) 
						$v = array_merge($v, $linkArr[$v['mm_id']]);
 					$treeArr[$mmkey] = $v;
				}
			}
			$treeArr = array_values($treeArr);
		}
		$this->successJson($treeArr);
    }
}