<?php
namespace admin\action;

use model\projectItem;
use model\work;

class projectItemAction  extends \action
{      
    /**
     * @method 羡慕明细列表
     * @author zhengweihua 
     * @copyright 2025-07-29
     */
    function list()
    {   
        $req = \mvc::$req;
        \view::set('QUERY_STRING', $_SERVER['QUERY_STRING']);
        \view::set('pwcode', 'P100');
        \view::set('req',$req);
        \view::set('active','projectItem_list');
        if($req['type']){
            \view::set('active',$req['type']);
        }else{
            \view::set('active','projectItem_list');
        }
       
        //只取有
        $projectItem = new projectItem();
        $arr = $projectItem->getRole('P100');
        foreach ($arr as $key => $val) {
            $selArr[] = $val['ar_id'].":".$val['ar_name'];
        }
        \view::set('sroleSel',$selArr?implode(';',$selArr):'');
		\view::set('roleArr',$arr);

		\view::put('project/index'); 
    }
    function getList()
    {
        $req = \mvc::$req;
		$rules = $this->urlRulesToWhere($req);

		if(isset($req['numbers'])){
			$rules['numbers'] = arryNums($req['numbers']);
			$rules['numlike'] = empty($req['numlike']) ? 0 : $req['numlike'];
		}
		if(isset($rules['findNulls']) && $rules['findNulls']){
			$rules['findNulls'] = json_decode(base64_decode($rules['findNulls']),true);
		}
        $projectItem = new projectItem();
        $data = $projectItem->getList($req, $rules);
        $this->successJson($data);
	}

    /**
     * @method 项目单元格编辑
     * @author zhengweihua 
     * @copyright 2025-07-29
     */
    function setCell()
    {
        $req = \mvc::$req;
        $data = [];
        if(!empty($req['id']) && preg_match('/^\d+$/', $req['id'])){
			$setArr = [
				$req['field']=>$req[$req['field']]
			];
            $projectItem = new projectItem();
            $data = $projectItem->setCell($req['id'], $setArr);
        }
        // $this->successJson(['msg'=>'操作成功']);
    }

    public function deleteData()
    {
        $req = \mvc::$req;
        $projectItem = new projectItem();
        $result = $projectItem->deleteData($req['ids']);
        $this->successJson($result);
    }

    /**
     * @method 样例列表
     * @author zhengweihua 
     * @copyright 2025-07-29
     */
    function sampleList()
    {
        $req = \mvc::$req;
        \view::set('req',$req);
		\view::set('pwcode', 'P100');
        \view::set('QUERY_STRING', $_SERVER['QUERY_STRING']);
        \view::put('project/projectItem/sampleList');
    }

    function getSampleList()
    {
        $req = \mvc::$req;
		$rules = $this->urlRulesToWhere($req);
		if(isset($req['numbers'])){
			$rules['numbers'] = arryNums($req['numbers']);
			$rules['numlike'] = empty($req['numlike']) ? 0 : $req['numlike'];
		}
		if(isset($rules['findNulls']) && $rules['findNulls']){
			$rules['findNulls'] = json_decode(base64_decode($rules['findNulls']),true);
		}
        $projectItem = new projectItem();
        $data = $projectItem->getSampleList($req, $rules);
        $this->successJson($data);
    }

    /**
     * @method 删除样例数据
     * @author zhengweihua 
     * @copyright 2025-07-29
     */
    function deleteSampleData()
    {
        $req = \mvc::$req;
        $projectItem = new projectItem();
        $data = $projectItem->deleteSampleData($req['ids']);
        $this->successJson($data);
    }

    function getStateCount()
    {
        $req = \mvc::$req;
        $projectItem = new projectItem();
        $data = $projectItem->getStateCount($req);
        $this->successJson($data);
    }


	public function itemToWorkOrder()
	{
		$req = \mvc::$req;
		$projectItem = new projectItem();
		$data = $projectItem->itemToWorkOrder(explode(',', $req['ids']));
		$this->successJson($data);
	}

	/**
     * @method 自动绑定零件
     * @author soul  
     */
	public function autoChkProjectPoe()
	{
		$req = \mvc::$req;
		$projectItem = new projectItem();
		$data = $projectItem->autoChkProjectPoe($req['pr_id']);
		$this->successJson($data);
	}

    /**
     * @method 新增样品
     * @author zhengweihua 
     * @copyright 2025-08-06
     */
    public function addSample()
    {
        $req = \mvc::$req;
        $data = [];
        $suppliers = [];
        if($req['pi_id'])
        {
            $projectItem = new projectItem();
            $suppliers = $projectItem->getProjectItemSuppliers($req['pi_id']);
        }
        if($req['prs_id'])
        {
            $projectItem =  new projectItem();
            $data = $projectItem->getSampleById($req['prs_id']);
           
        }
        \view::set('suppliers', $suppliers);
        \view::set('data', $data);
        // \view::set('pwcode', $pwcode??'');
        \view::set('req',$req);
        \view::set('QUERY_STRING', $_SERVER['QUERY_STRING']);
        \view::put('project/projectItem/addSample');
    }

    /**
     * @method 保存样品数据
     * @author zhengweihua 
     * @copyright 2025-08-06
     */
    public function saveSample()
    {
        $req = \mvc::$req;
        if(!$req['prs_pi_id']) exitJson('参数错误');
        $projectItem = new projectItem();
        $data = $projectItem->saveSample($req);
        $this->successJson($data);
    }

    /**
     * @method 编辑样品单元格
     * @author zhengweihua 
     * @copyright 2025-08-20
     */
    public function setSampleCell()
    {
        $req = \mvc::$req;
        $data = [];
        if(!empty($req['id']) && preg_match('/^\d+$/', $req['id'])){
			$setArr = [
				$req['field']=>$req[$req['field']]
			];
            $projectItem = new projectItem();
            $data = $projectItem->setSampleCell($req['id'], $setArr);
        }
    }

    /**
     * @method 设置项目采购组
     * @author zhengweihua 
     * @copyright 2025-08-20
     */
    public function savePrjRole()
    {
        $req = \mvc::$req;
        if(!$req['id']) exitJson('参数错误');    
        $projectItem = new projectItem();
        $data = $projectItem->savePrjRole($req);
        $this->successJson($data); 
    }

    /**
     * @method 更新供应商状态
     * @author zhengweihua 
     * @copyright 2025-09-05
     */
    public function updateSupplierStatus() {
       
        $req = \mvc::$req;
        $projectItem = new projectItem();
        $result = $projectItem->updateSupplierStatus($req);
        
        $this->successJson($data); 
    }


}