<?php
/**
 * TOP API: alibaba.alihealth.synergy.yzw.queryassdrugreportinfo request
 * 
 * @author auto create
 * @since 1.0, 2025.10.22
 */
class AlibabaAlihealthSynergyYzwQueryassdrugreportinfoRequest
{
	/** 
	 * 授权企业refEntId，报告属于该企业
	 **/
	private $assRefEntId;
	
	/** 
	 * 药品委托企业refEntId
	 **/
	private $authRefEntId;
	
	/** 
	 * 药品id
	 **/
	private $drugEntBaseInfoId;
	
	/** 
	 * 页码
	 **/
	private $page;
	
	/** 
	 * 页的大小
	 **/
	private $pageSize;
	
	/** 
	 * 批次号
	 **/
	private $produceBatchNo;
	
	/** 
	 * 生产日期起始
	 **/
	private $produceDateBegin;
	
	/** 
	 * 生产日期终止
	 **/
	private $produceDateEnd;
	
	/** 
	 * 药品生产企业refEntId
	 **/
	private $produceRefEntId;
	
	/** 
	 * 调用企业的refEntId
	 **/
	private $refEntId;
	
	/** 
	 * 报告状态: 1 未上传 ; 2 已上传未盖章 ; 3 已盖章
	 **/
	private $type;
	
	private $apiParas = array();
	
	public function setAssRefEntId($assRefEntId)
	{
		$this->assRefEntId = $assRefEntId;
		$this->apiParas["ass_ref_ent_id"] = $assRefEntId;
	}

	public function getAssRefEntId()
	{
		return $this->assRefEntId;
	}

	public function setAuthRefEntId($authRefEntId)
	{
		$this->authRefEntId = $authRefEntId;
		$this->apiParas["auth_ref_ent_id"] = $authRefEntId;
	}

	public function getAuthRefEntId()
	{
		return $this->authRefEntId;
	}

	public function setDrugEntBaseInfoId($drugEntBaseInfoId)
	{
		$this->drugEntBaseInfoId = $drugEntBaseInfoId;
		$this->apiParas["drug_ent_base_info_id"] = $drugEntBaseInfoId;
	}

	public function getDrugEntBaseInfoId()
	{
		return $this->drugEntBaseInfoId;
	}

	public function setPage($page)
	{
		$this->page = $page;
		$this->apiParas["page"] = $page;
	}

	public function getPage()
	{
		return $this->page;
	}

	public function setPageSize($pageSize)
	{
		$this->pageSize = $pageSize;
		$this->apiParas["page_size"] = $pageSize;
	}

	public function getPageSize()
	{
		return $this->pageSize;
	}

	public function setProduceBatchNo($produceBatchNo)
	{
		$this->produceBatchNo = $produceBatchNo;
		$this->apiParas["produce_batch_no"] = $produceBatchNo;
	}

	public function getProduceBatchNo()
	{
		return $this->produceBatchNo;
	}

	public function setProduceDateBegin($produceDateBegin)
	{
		$this->produceDateBegin = $produceDateBegin;
		$this->apiParas["produce_date_begin"] = $produceDateBegin;
	}

	public function getProduceDateBegin()
	{
		return $this->produceDateBegin;
	}

	public function setProduceDateEnd($produceDateEnd)
	{
		$this->produceDateEnd = $produceDateEnd;
		$this->apiParas["produce_date_end"] = $produceDateEnd;
	}

	public function getProduceDateEnd()
	{
		return $this->produceDateEnd;
	}

	public function setProduceRefEntId($produceRefEntId)
	{
		$this->produceRefEntId = $produceRefEntId;
		$this->apiParas["produce_ref_ent_id"] = $produceRefEntId;
	}

	public function getProduceRefEntId()
	{
		return $this->produceRefEntId;
	}

	public function setRefEntId($refEntId)
	{
		$this->refEntId = $refEntId;
		$this->apiParas["ref_ent_id"] = $refEntId;
	}

	public function getRefEntId()
	{
		return $this->refEntId;
	}

	public function setType($type)
	{
		$this->type = $type;
		$this->apiParas["type"] = $type;
	}

	public function getType()
	{
		return $this->type;
	}

	public function getApiMethodName()
	{
		return "alibaba.alihealth.synergy.yzw.queryassdrugreportinfo";
	}
	
	public function getApiParas()
	{
		return $this->apiParas;
	}
	
	public function check()
	{
		
		RequestCheckUtil::checkNotNull($this->assRefEntId,"assRefEntId");
		RequestCheckUtil::checkNotNull($this->refEntId,"refEntId");
	}
	
	public function putOtherTextParam($key, $value) {
		$this->apiParas[$key] = $value;
		$this->$key = $value;
	}
}
