<?php
namespace model\import;
use \model;
use \model\check;

/**
 * 
 */
class proattaqty  extends model
{
	public $title = '产品附件'; //固定
	public $import = null;    //固定
	public $rules = null;    //规则
	public $demoData = null;  //样例数据
	public $demoremark = null;  //样例说明
	public $cateFj = null;  //样例说明
	
	public function __construct()
	{
		$req = \mvc::$req;
		parent::__construct(); //执行父类
		$this->import = new \lib\import();
		$this->rules = [
			 ['key'=>'pa_p_id','caption'=>lg('GSP型号'),'must'=>true,'formatCell'=>'p_id', 'set'=>1],
		];
		$join = [
			"[><]ckv(ckv)" => ["cat.attaqty" => "k"]
		];
		$this->cateFj = $this->db->get('pro_cate(cat)', $join, 'v', ['cat.id'=>$req['cate']]);
		if(empty($this->cateFj)) $this->cateFj = '[]';
		$this->cateFj = json_decode($this->cateFj, true);

		foreach($this->cateFj as $k=>$v)
		{
			$this->rules[] = ['key'=>'pa_'.($k+1), 'caption'=>$v, 'set'=>1];
		}

		$this->demoData = [
		];

		$this->demoremark = '';
	}
	
	 /**处理导入
     * @param array|string $src 数组或者文件名
     * @param isInit 是否是初始化
     * @return 可返回任意值(string|array|bool)，都会到前端
     */
    public function import($src,$isInit=false) //固定
    {
		$state = $this->import->execute($src, $this->rules);

		//数据重复验证
		if($state && !empty($this->import->data))
		{
			$proParam = new \model\pro\param();
			$rulesK = array_column($this->rules, null, 'key');
			$this->db->Begin();
		
			foreach($this->import->data as &$dv)
			{
				$set = [];
				foreach($dv as $tkk=>$tkv)
				{
					if(!empty($rulesK[$tkk]['set']))
						$set[$tkk] = $tkv;
				}
				$this->db->replace('pro_attaqty', $set, ['pa_p_id']);
			}
			$this->db->End();
		}
        return $this->import->output(); //生成处理结果
	}
}