<?php
namespace admin\action\pro;
use \model\pro\numidx;
use \model\pro\pro;
class numidxAction  extends \action
{
	/**
	  * @method 待进入交叉库
	  * @author soul
	  */
	function listTemp()
	{
		$req = \mvc::$req;
		\view::set('req', $req);
		\view::put();
	}

	/**
	  * @method 待进入交叉库 数据
	  * @author soul
	  */
	public function getListTemp()
	{
		$req = \mvc::$req;
		$req['pnt_status'] = 1;
		$rules = $this->urlRulesToWhere($req);
		if(isset($req['numbers'])){
			$rules['numbers'] = formatNums($req['numbers']);
			$rules['numlike'] = empty($req['numlike']) ? 0 : $req['numlike'];
		}
        $numidx = new numidx();
        $data = $numidx->getListTemp($req, $rules);
        $this->successJson($data);
	}


	/**
	  * @method 虚删除交叉库
	  * @author soul
	  */
	function listTempDel()
	{
		$req = \mvc::$req;
		\view::put();
	}

	/**
	  * @method 虚删除交叉库 数据
	  * @author soul
	  */
	public function getListTempDel()
	{
		$req = \mvc::$req;
		$req['pnt_status'] = -1;
		$rules = $this->urlRulesToWhere($req);
		if(isset($req['numbers'])){
			$rules['numbers'] = formatNums($req['numbers']);
			$rules['numlike'] = empty($req['numlike']) ? 0 : $req['numlike'];
		}
        $numidx = new numidx();
        $data = $numidx->getListTemp($req, $rules);
        $this->successJson($data);
	}


	/**
	  * @method 添加待进入交叉库
	  * @author soul
	  */
	public function adNumidxTemp()
	{
		$req = \mvc::$req;
		$req['tags'] = !empty($req['tags'])? explode(',', $req['tags']): [];
		$numidx = new numidx();
		$data = $numidx->adNumidxTemp($req);
		$this->successJson($data);
	}


	/**
	  * @method 添加待进入交叉库（纯文本）
	  * @author soul
	  */
	public function adNumidxTempByTxt()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->adNumidxTempByTxt($req);
		$this->successJson($data);
	}


	/**
	  * @method 待进入交叉库详情
	  * @author soul
	  */
	public function numidxTempDetail()
	{
		$req = \mvc::$req;
		if(empty($req['act']) || !in_array($req['act'], ['ck1', 'ck2'])) exitJson(lg('参数错误'));
		$dataArr = [];
		if(!empty($req['pnt_id']))
		{
			$numidx = new numidx();
			$dataArr = $numidx->getListTemp($req);
			$dataArr = $dataArr['rows'][0];
		}
		//dump($dataArr);
		if(empty($dataArr)) exitJson(lg('参数错误'));
		\view::set('act', $req['act']);
		\view::set('dataArr', $dataArr);
		\view::put();
	}



	/**
	  * @method 删除待进入参考号
	  * @param  ids string [必填] pnt_id 1,2,3...
	  * @author soul
	  */
	public function delNumidxTemp()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->delNumidxTemp(explode(',', $req['ids']));
		$this->successJson($data);
	}

	
	/**
	  * @method 编辑待进入参考号单字段
	  * @param  id  int  [必填] pnt_id
	  * @param  field  string  [必填] 字段
	  * @author soul
	  */
	public function setNumidxCellTemp()
	{
		$req = \mvc::$req;
		if(!empty($req['id']) && preg_match('/^\d+$/', $req['id']))
		{
			$setArr = [
				$req['field']=>$req[$req['field']]
			];
			$numidx = new numidx();
			$numidx->setNumidxCellTemp($req['id'], $setArr);
		}
	}



	/**
	  * @method 初审待进入产品参考号
	  * @param  ids array [必填] 1,2,3,...
	  * @param  ckresult1 int [必填] 结论
	  * @param  ckremark1 string [必填] 核对备注
	  * @author soul
	  */
	public function check1Temp()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->check1Temp(explode(',', $req['ids']), $req);
		$this->successJson($data);
	}
	
	/**
	  * @method 复审待进入产品参考号
	  * @param  ids array [必填] 1,2,3,...
	  * @param  ckresult2 int [必填] 结论
	  * @param  ckremark2 string [必填] 核对备注
	  * @author soul
	  */
	public function check2Temp()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->check2Temp(explode(',', $req['ids']), $req);
		$this->successJson($data);
	}




	/**
	  * @method 正式交叉库
	  * @author soul
	  */
	public function list()
	{
		$req = \mvc::$req;
		\view::set('req', $req);
		\view::put();
	}

	/**
	  * @method 正式交叉库 数据
	  * @author soul
	  */
	public function getList()
	{
		$req = \mvc::$req;
		$rules = $this->urlRulesToWhere($req);
		if(isset($req['numbers'])){
			$rules['numbers'] = explode(',', $req['numbers']);
			$rules['numlike'] = empty($req['numlike']) ? 0 : $req['numlike'];
		}
		
		if(empty($req['p_id']) && $req['from']=='pro'){
		    exitJson(lg('参数错误'));
		}else{
            $numidx = new numidx();
            $data = $numidx->getList($req, $rules);
            $this->successJson($data);
		}
	}


	/**
	  * @method 编辑产品的交叉库
	  * @param  id  int  [必填] pn_id
	  * @param  field  string  [必填] 字段
	  * @author soul
	  */
	public function setNumidxCell()
	{
		$req = \mvc::$req;
		if(!empty($req['id']) && preg_match('/^\d+$/', $req['id']))
		{
			$setArr = [
				$req['field']=>$req[$req['field']]
			];
			$numidx = new numidx();
			$numidx->setNumidxCell($req['id'], $setArr);
		}
	}

	/**
	  * @method 删除产品的参考号
	  * @param  ids  string  [必填] pn_id  多个逗号分隔
	  * @author soul
	  */
	public function delNumidx()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->delNumidx(explode(',', $req['ids']), $req['delremark']);
		$this->successJson($data);
	}

	/**
	  * @method 删除产品的变更参考号
	  * @param  ids  string  [必填] pnc_id  多个逗号分隔
	  * @author soul
	  */
	public function delNumidxChange()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->delNumidxChange(explode(',', $req['ids']));
		$this->successJson($data);
	}
	


	/**
	  * @method 某产品正式交叉库
	  * @param  p_id  int  [必填] 产品ID
	  * @author soul
	  */
	function listPro()
	{
		$req = \mvc::$req;
		\view::put();
	}

	/**
	  * @method 某产品正式交叉库 数据
	  * @param  p_id  int  [必填] 产品ID
	  * @author soul
	  */
	public function getListPro()
	{
		$req = \mvc::$req;
		if(empty($req['p_id'])) {
		    exitJson(lg('参数错误'));
		}else{
            $numidx = new numidx();
            $data = $numidx->getList($req);
            $this->successJson($data);
		}
	}


	/**
	  * @method 变更交叉库
	  * @author soul
	  */
	function listChange()
	{
		$req = \mvc::$req;
		\view::put();
	}

	/**
	  * @method 变更交叉库 数据
	  * @author soul
	  */
	public function getListChange()
	{
		$req = \mvc::$req;
        $numidx = new numidx();
        $data = $numidx->getListChange($req);
        $this->successJson($data);
	}



    public function gspAdd()
    {
       $numidx = new numidx();
       $result = $numidx->gspAdd(\mvc::$req);
       if($result === false){
           $this->exitJson(lg('参数错误'));
       }
       $this->successJson();
    }


	/**
	  * @method 详情
	  * @author soul
	  */
	public function numidxChangeDetail()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->getListChange($req);
		$dataArr = $data['rows'][0];
		$changeArr = $dataArr['pnc_change'];
		\view::set('dataArr', $dataArr);
		\view::set('changeArr', $changeArr);
		\view::put($this->activeView().substr(__METHOD__,strpos(__METHOD__,':')+2));
	}

	/**
	  * @method 重置交叉索引正式库的！提醒
	  * @author soul
	  */
	public function resetNumidxWarn()
    {
       $numidx = new numidx();
       $data = $numidx->resetNumidxWarn();
       $this->successJson($data);
    }
    
    public function editTempCell()
    {
		$req = \mvc::$req;
        $id = $req['id'];
        $oper = $req['oper'];
        $field = $req['field'];
		if(isset($req['value']))
			$value = $req['value'];
 		else
			$value = $req[$field];
        if($oper=='edit'){
            $result = (new numidx())->setTempValue($id,$field,$value);
            $this->successJson();
        }
    }

	/**
	  * @method 添加进入交叉库
	  * @author soul
	  */
	public function addNumidx()
	{
		$req = \mvc::$req;
		$numidx = new numidx();
		$data = $numidx->addNumidx($req);
		$this->successJson($data);
	}

}