<?php
/**
 * TOP API: alibaba.alihealth.synergy.yzw.querydrugreportass request
 * 
 * @author auto create
 * @since 1.0, 2025.11.05
 */
class AlibabaAlihealthSynergyYzwQuerydrugreportassRequest
{
	/** 
	 * 委托企业/货主企业
	 **/
	private $assRefEntId;
	
	/** 
	 * 批号
	 **/
	private $batchNo;
	
	/** 
	 * 开始日期（最大查询区间一月）
	 **/
	private $beginTime;
	
	/** 
	 * 单据编号
	 **/
	private $billCode;
	
	/** 
	 * 药品ID
	 **/
	private $drugId;
	
	/** 
	 * 结束日期（最大查询区间一月）
	 **/
	private $endTime;
	
	/** 
	 * 发货企业
	 **/
	private $fromRefEntId;
	
	/** 
	 * 分页对象
	 **/
	private $page;
	
	/** 
	 * 本企业
	 **/
	private $refEntId;
	
	/** 
	 * 0:待盖章 5:已盖章 6:同批号已盖章 注意：status_type需要填3 
	 **/
	private $sealStatus;
	
	/** 
	 * 2:待签收 3:已签收 4:已拒绝
	 **/
	private $statusType;
	
	/** 
	 * 0:按照单据时间 1:按照单据上传时间 2：按照单据签收时间
	 **/
	private $timeType;
	
	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 setBatchNo($batchNo)
	{
		$this->batchNo = $batchNo;
		$this->apiParas["batch_no"] = $batchNo;
	}

	public function getBatchNo()
	{
		return $this->batchNo;
	}

	public function setBeginTime($beginTime)
	{
		$this->beginTime = $beginTime;
		$this->apiParas["begin_time"] = $beginTime;
	}

	public function getBeginTime()
	{
		return $this->beginTime;
	}

	public function setBillCode($billCode)
	{
		$this->billCode = $billCode;
		$this->apiParas["bill_code"] = $billCode;
	}

	public function getBillCode()
	{
		return $this->billCode;
	}

	public function setDrugId($drugId)
	{
		$this->drugId = $drugId;
		$this->apiParas["drug_id"] = $drugId;
	}

	public function getDrugId()
	{
		return $this->drugId;
	}

	public function setEndTime($endTime)
	{
		$this->endTime = $endTime;
		$this->apiParas["end_time"] = $endTime;
	}

	public function getEndTime()
	{
		return $this->endTime;
	}

	public function setFromRefEntId($fromRefEntId)
	{
		$this->fromRefEntId = $fromRefEntId;
		$this->apiParas["from_ref_ent_id"] = $fromRefEntId;
	}

	public function getFromRefEntId()
	{
		return $this->fromRefEntId;
	}

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

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

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

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

	public function setSealStatus($sealStatus)
	{
		$this->sealStatus = $sealStatus;
		$this->apiParas["seal_status"] = $sealStatus;
	}

	public function getSealStatus()
	{
		return $this->sealStatus;
	}

	public function setStatusType($statusType)
	{
		$this->statusType = $statusType;
		$this->apiParas["status_type"] = $statusType;
	}

	public function getStatusType()
	{
		return $this->statusType;
	}

	public function setTimeType($timeType)
	{
		$this->timeType = $timeType;
		$this->apiParas["time_type"] = $timeType;
	}

	public function getTimeType()
	{
		return $this->timeType;
	}

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