%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/www/admin1/vendor/quickbooks/v3-php-sdk/src/ReportService/ |
Upload File : |
<?php
namespace QuickBooksOnline\API\ReportService;
use QuickBooksOnline\API\Core\CoreHelper;
use QuickBooksOnline\API\Core\Http\Serialization\SerializationFormat;
use QuickBooksOnline\API\Core\HttpClients\SyncRestHandler;
use QuickBooksOnline\API\Core\ServiceContext;
use QuickBooksOnline\API\Core\CoreConstants;
use QuickBooksOnline\API\Core\HttpClients\RequestParameters;
use QuickBooksOnline\API\Core\HttpClients\RestHandler;
use QuickBooksOnline\API\Core\Http\Serialization\IEntitySerializer;
use QuickBooksOnline\API\Core\HttpClients\FaultHandler;
use QuickBooksOnline\API\Exception\SdkExceptions\InvalidParameterException;
class ReportService
{
/**
* The Service context object.
* @var ServiceContext
*/
private $serviceContext;
/**
* Rest Request Handler.
* @var RestHandler
*/
private $restHandler;
/**
* Serializer needs to be used fore response object
* @var IEntitySerializer
*/
private $responseSerializer;
/**
* Throw exception on Error. Default is false;
* @var Boolean
*/
private $throwExceptionOnError = false;
/**
* If not false, the request from last dataService did not return 2xx
* @var FaultHandler
*/
private $lastError = false;
/**
* Serializer needs to be used for request object
* @var IEntitySerializer
*/
//private $requestSerializer;
private $report_date = null;
private $start_date = null;
private $end_date = null;
private $date_macro = null;
private $past_due = null;
private $end_duedate = null;
private $start_duedate = null;
private $duedate_macro = null;
private $accounting_method = null;
private $account = null;
private $source_account = null;
private $account_type = null;
private $source_account_type = null;
private $summarize_column_by = null;
private $customer = null;
private $vendor = null;
private $item = null;
private $classid = null;
private $appaid = null;
private $department = null;
private $qzurl = null;
private $aging_period = null;
private $aging_method = null;
private $num_periods = null;
private $term = null;
private $columns = null;
private $sort_by = null;
private $sort_order = null;
private $group_by = null;
private $createdate_macro = null;
private $end_createdate = null;
private $start_createdate = null;
private $moddate_macro = null;
private $end_moddate = null;
private $start_moddate = null;
private $payment_method = null;
private $name = null;
private $transaction_type = null;
private $cleared = null;
private $arpaid = null;
private $printed = null;
private $both_amount = null;
private $memo = null;
private $doc_num = null;
private $subcol_pct_inc = null;
private $subcol_pct_exp = null;
private $adjusted_gain_loss = null;
private $showrows = null;
private $add_due_date = null;
private $attachmentType = null;
public function getAdjustedGainLoss(){
return $this->adjusted_gain_loss;
}
public function setAdjustedGainLoss($adjustedGainLoss){
return $this->adjusted_gain_loss = $adjustedGainLoss;
}
public function getPercentIncome(){
return $this->subcol_pct_inc;
}
public function getPercentExpense(){
return $this->subcol_pct_exp;
}
public function setPercentIncome($percentIncome){
$this->subcol_pct_inc = $percentIncome;
return $this;
}
public function setPercentExpense($percentExpense){
$this->subcol_pct_exp = $percentExpense;
return $this;
}
/**
* @return null
*/
public function getReportDate()
{
return $this->report_date;
}
/**
* @param null $report_date
*
* @return $this
*/
public function setReportDate($report_date)
{
$this->report_date = $report_date;
return $this;
}
/**
* @return null
*/
public function getStartDate()
{
return $this->start_date;
}
/**
* @param null $start_date
*
* @return $this
*/
public function setStartDate($start_date)
{
$this->start_date = $start_date;
return $this;
}
/**
* @return null
*/
public function getEndDate()
{
return $this->end_date;
}
/**
* @param null $end_date
*
* @return $this
*/
public function setEndDate($end_date)
{
$this->end_date = $end_date;
return $this;
}
/**
* @return null
*/
public function getDateMacro()
{
return $this->date_macro;
}
/**
* @param null $date_macro
*
* @return $this
*/
public function setDateMacro($date_macro)
{
$this->date_macro = $date_macro;
return $this;
}
/**
* @return null
*/
public function getPastDue()
{
return $this->past_due;
}
/**
* @param null $past_due
*
* @return $this
*/
public function setPastDue($past_due)
{
$this->past_due = $past_due;
return $this;
}
/**
* @return null
*/
public function getEndDuedate()
{
return $this->end_duedate;
}
/**
* @param null $end_duedate
*
* @return $this
*/
public function setEndDuedate($end_duedate)
{
$this->end_duedate = $end_duedate;
return $this;
}
/**
* @return null
*/
public function getStartDuedate()
{
return $this->start_duedate;
}
/**
* @param null $start_duedate
*
* @return $this
*/
public function setStartDuedate($start_duedate)
{
$this->start_duedate = $start_duedate;
return $this;
}
/**
* @return null
*/
public function getDuedateMacro()
{
return $this->duedate_macro;
}
/**
* @param null $duedate_macro
*
* @return $this
*/
public function setDuedateMacro($duedate_macro)
{
$this->duedate_macro = $duedate_macro;
return $this;
}
/**
* @return null
*/
public function getAccountingMethod()
{
return $this->accounting_method;
}
/**
* @param null $accounting_method
*
* @return $this
*/
public function setAccountingMethod($accounting_method)
{
$this->accounting_method = $accounting_method;
return $this;
}
/**
* @return null
*/
public function getAccount()
{
return $this->account;
}
/**
* @param null $account
*
* @return $this
*/
public function setAccount($account)
{
$this->account = $account;
return $this;
}
/**
* @return null
*/
public function getSourceAccount()
{
return $this->source_account;
}
/**
* @param null $source_account
*
* @return $this
*/
public function setSourceAccount($source_account)
{
$this->source_account = $source_account;
return $this;
}
/**
* @return null
*/
public function getAccountType()
{
return $this->account_type;
}
/**
* @param null $account_type
*
* @return $this
*/
public function setAccountType($account_type)
{
$this->account_type = $account_type;
return $this;
}
/**
* @return null
*/
public function getSourceAccountType()
{
return $this->source_account_type;
}
/**
* @param null $source_account_type
*
* @return $this
*/
public function setSourceAccountType($source_account_type)
{
$this->source_account_type = $source_account_type;
return $this;
}
/**
* @return null
*/
public function getSummarizeColumnBy()
{
return $this->summarize_column_by;
}
/**
* @param null $summarize_column_by
*
* @return $this
*/
public function setSummarizeColumnBy($summarize_column_by)
{
$this->summarize_column_by = $summarize_column_by;
return $this;
}
/**
* @return null
*/
public function getCustomer()
{
return $this->customer;
}
/**
* @param null $customer
*
* @return $this
*/
public function setCustomer($customer)
{
$this->customer = $customer;
return $this;
}
/**
* @return null
*/
public function getVendor()
{
return $this->vendor;
}
/**
* @param null $vendor
*
* @return $this
*/
public function setVendor($vendor)
{
$this->vendor = $vendor;
return $this;
}
/**
* @return null
*/
public function getItem()
{
return $this->item;
}
/**
* @param null $item
*
* @return $this
*/
public function setItem($item)
{
$this->item = $item;
return $this;
}
/**
* @return null
*/
public function getClassid()
{
return $this->classid;
}
/**
* @param null $classid
*
* @return $this
*/
public function setClassid($classid)
{
$this->classid = $classid;
return $this;
}
/**
* @return null
*/
public function getAppaid()
{
return $this->appaid;
}
/**
* @param null $appaid
*
* @return $this
*/
public function setAppaid($appaid)
{
$this->appaid = $appaid;
return $this;
}
/**
* @return null
*/
public function getDepartment()
{
return $this->department;
}
/**
* @param null $department
*
* @return $this
*/
public function setDepartment($department)
{
$this->department = $department;
return $this;
}
/**
* @return null
*/
public function getQzurl()
{
return $this->qzurl;
}
/**
* @param null $qzurl
*
* @return $this
*/
public function setQzurl($qzurl)
{
$this->qzurl = $qzurl;
return $this;
}
/**
* @return null
*/
public function getAgingPeriod()
{
return $this->aging_period;
}
/**
* @param null $aging_period
*
* @return $this
*/
public function setAgingPeriod($aging_period)
{
$this->aging_period = $aging_period;
return $this;
}
/**
* @return null
*/
public function getAgingMethod()
{
return $this->aging_method;
}
/**
* @param null $aging_method
*
* @return $this
*/
public function setAgingMethod($aging_method)
{
$this->aging_method = $aging_method;
return $this;
}
/**
* @return null
*/
public function getNumPeriods()
{
return $this->num_periods;
}
/**
* @param null $num_periods
*
* @return $this
*/
public function setNumPeriods($num_periods)
{
$this->num_periods = $num_periods;
return $this;
}
/**
* @return null
*/
public function getTerm()
{
return $this->term;
}
/**
* @param null $term
*
* @return $this
*/
public function setTerm($term)
{
$this->term = $term;
return $this;
}
/**
* @return null
*/
public function getColumns()
{
return $this->columns;
}
/**
* @param null $columns
*
* @return $this
*/
public function setColumns($columns)
{
$this->columns = $columns;
return $this;
}
/**
* @return null
*/
public function getSortBy()
{
return $this->sort_by;
}
/**
* @param null $sort_by
*
* @return $this
*/
public function setSortBy($sort_by)
{
$this->sort_by = $sort_by;
return $this;
}
/**
* @return null
*/
public function getSortOrder()
{
return $this->sort_order;
}
/**
* @param null $sort_order
*
* @return $this
*/
public function setSortOrder($sort_order)
{
$this->sort_order = $sort_order;
return $this;
}
/**
* @return null
*/
public function getGroupBy()
{
return $this->group_by;
}
/**
* @param null $group_by
*
* @return $this
*/
public function setGroupBy($group_by)
{
$this->group_by = $group_by;
return $this;
}
/**
* @return null
*/
public function getCreatedateMacro()
{
return $this->createdate_macro;
}
/**
* @param null $createdate_macro
*
* @return $this
*/
public function setCreatedateMacro($createdate_macro)
{
$this->createdate_macro = $createdate_macro;
return $this;
}
/**
* @return null
*/
public function getEndCreatedate()
{
return $this->end_createdate;
}
/**
* @param null $end_createdate
*
* @return $this
*/
public function setEndCreatedate($end_createdate)
{
$this->end_createdate = $end_createdate;
return $this;
}
/**
* @return null
*/
public function getStartCreatedate()
{
return $this->start_createdate;
}
/**
* @param null $start_createdate
*
* @return $this
*/
public function setStartCreatedate($start_createdate)
{
$this->start_createdate = $start_createdate;
return $this;
}
/**
* @return null
*/
public function getModdateMacro()
{
return $this->moddate_macro;
}
/**
* @param null $moddate_macro
*
* @return $this
*/
public function setModdateMacro($moddate_macro)
{
$this->moddate_macro = $moddate_macro;
return $this;
}
/**
* @return null
*/
public function getEndModdate()
{
return $this->end_moddate;
}
/**
* @param null $end_moddate
*
* @return $this
*/
public function setEndModdate($end_moddate)
{
$this->end_moddate = $end_moddate;
return $this;
}
/**
* @return null
*/
public function getStartModdate()
{
return $this->start_moddate;
}
/**
* @param null $start_moddate
*
* @return $this
*/
public function setStartModdate($start_moddate)
{
$this->start_moddate = $start_moddate;
return $this;
}
/**
* @return null
*/
public function getPaymentMethod()
{
return $this->payment_method;
}
/**
* @param null $payment_method
*
* @return $this
*/
public function setPaymentMethod($payment_method)
{
$this->payment_method = $payment_method;
return $this;
}
/**
* @return null
*/
public function getName()
{
return $this->name;
}
/**
* @param null $name
*
* @return $this
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* @return null
*/
public function getTransactionType()
{
return $this->transaction_type;
}
/**
* @param null $transaction_type
*
* @return $this
*/
public function setTransactionType($transaction_type)
{
$this->transaction_type = $transaction_type;
return $this;
}
/**
* @return null
*/
public function getCleared()
{
return $this->cleared;
}
/**
* @param null $cleared
*
* @return $this
*/
public function setCleared($cleared)
{
$this->cleared = $cleared;
return $this;
}
/**
* @return null
*/
public function getArpaid()
{
return $this->arpaid;
}
/**
* @param null $arpaid
*
* @return $this
*/
public function setArpaid($arpaid)
{
$this->arpaid = $arpaid;
return $this;
}
/**
* @return null
*/
public function getPrinted()
{
return $this->printed;
}
/**
* @param null $printed
*
* @return $this
*/
public function setPrinted($printed)
{
$this->printed = $printed;
return $this;
}
/**
* @return null
*/
public function getBothAmount()
{
return $this->both_amount;
}
/**
* @param null $both_amount
*
* @return $this
*/
public function setBothAmount($both_amount)
{
$this->both_amount = $both_amount;
return $this;
}
/**
* @return null
*/
public function getMemo()
{
return $this->memo;
}
/**
* @param null $memo
*
* @return $this
*/
public function setMemo($memo)
{
$this->memo = $memo;
return $this;
}
/**
* @return null
*/
public function getDocNum()
{
return $this->doc_num;
}
/**
* @param null $doc_num
*
* @return $this
*/
public function setDocNum($doc_num)
{
$this->doc_num = $doc_num;
return $this;
}
/**
* @return null
*/
public function getShowRows()
{
return $this->showrows;
}
/**
* @param null $showrows
*
* @return $this
*/
public function setShowRows($showrows)
{
$this->showrows = $showrows;
return $this;
}
/**
* @param null $add_due_date
*
* @return $this
*/
public function setDueDate($add_due_date)
{
$this->add_due_date = $add_due_date;
return $this;
}
/**
* @return null
*/
public function getDueDate()
{
return $this->add_due_date;
}
/**
* @param null $attachmentType
*
* @return $this
*/
public function setAttachmentType($attachmentType)
{
$this->attachmentType = $attachmentType;
return $this;
}
/**
* @return null
*/
public function getAttachmentType()
{
return $this->attachmentType;
}
/**
* Returns serializer for response objects
* @return IEntitySerializer
*/
public function getResponseSerializer()
{
return $this->responseSerializer;
}
public function getServiceContext()
{
return $this->serviceContext;
}
public function getRestHandler()
{
return $this->restHandler;
}
/**
* If any non 200 status code is return, throw an exception.
*/
public function turnOnThrowExceptionOnError(){
$this->throwExceptionOnError = true;
}
/**
* If any non 200 status code is return, do not throw an exception. Default is OFF.
*/
public function turnOffThrowExceptionOnError(){
$this->throwExceptionOnError = false;
}
/**
* Initializes a new instance of the DataService class.
*
* @param ServiceContext $serviceContext IPP Service Context
* @throws
*/
public function __construct($serviceContext)
{
if (null == $serviceContext) {
throw new \InvalidArgumentException('Resources.ServiceContextCannotBeNull');
}
if (!is_object($serviceContext)) {
throw new InvalidParameterException('Wrong arg type passed - is not an object.');
}
$serviceContext->IppConfiguration->Message->Request->SerializationFormat = SerializationFormat::Json;
$serviceContext->IppConfiguration->Message->Response->SerializationFormat = SerializationFormat::Json;
//ServiceContextValidation(serviceContext);
$this->serviceContext = $serviceContext;
$this->setupSerializers();
$this->useMinorVersion();
$this->restHandler = new SyncRestHandler($serviceContext);
// Set the Service type to either QBO or QBD by calling a method.
//$this->serviceContext->UseDataServices();
}
/**
* Setups serializers objects for responces and requests based on service context
*/
private function setupSerializers()
{
$this->responseSerializer = CoreHelper::GetSerializer($this->serviceContext, false);
}
private function useMinorVersion()
{
$version = $this->serviceContext->IppConfiguration->minorVersion;
if (is_numeric($version) && !empty($version)) {
$this->serviceContext->minorVersion = $version;
}
}
private function getReportQueryParameters()
{
$uriParameterList = array();
$uriParameterString = '';
if (!is_null($this->report_date)) {
array_push($uriParameterList, array("report_date", $this->getReportDate()));
}
if (!is_null($this->start_date)) {
array_push($uriParameterList, array("start_date", $this->getStartDate()));
}
if (!is_null($this->end_date)) {
array_push($uriParameterList, array("end_date", $this->getEndDate()));
}
if (!is_null($this->date_macro)) {
array_push($uriParameterList, array("date_macro", $this->getDateMacro()));
}
if (!is_null($this->past_due)) {
array_push($uriParameterList, array("past_due", $this->getPastDue()));
}
if (!is_null($this->end_duedate)) {
array_push($uriParameterList, array("end_duedate", $this->getEndDuedate()));
}
if (!is_null($this->start_duedate)) {
array_push($uriParameterList, array("start_duedate", $this->getStartDuedate()));
}
if (!is_null($this->duedate_macro)) {
array_push($uriParameterList, array("duedate_macro", $this->getDuedateMacro()));
}
if (!is_null($this->accounting_method)) {
array_push($uriParameterList, array("accounting_method", $this->getAccountingMethod()));
}
if (!is_null($this->account)) {
array_push($uriParameterList, array("account", $this->getAccount()));
}
//-----------------------------------------------------------------------------------------------
if (!is_null($this->source_account)) {
array_push($uriParameterList, array("source_account", $this->getSourceAccount()));
}
if (!is_null($this->account_type)) {
array_push($uriParameterList, array("account_type", $this->getAccountType()));
}
if (!is_null($this->source_account_type)) {
array_push($uriParameterList, array("source_account_type", $this->getSourceAccountType()));
}
if (!is_null($this->summarize_column_by)) {
array_push($uriParameterList, array("summarize_column_by", $this->getSummarizeColumnBy()));
}
if (!is_null($this->customer)) {
array_push($uriParameterList, array("customer", $this->getCustomer()));
}
if (!is_null($this->vendor)) {
array_push($uriParameterList, array("vendor", $this->getVendor()));
}
if (!is_null($this->item)) {
array_push($uriParameterList, array("item", $this->getItem()));
}
if (!is_null($this->classid)) {
array_push($uriParameterList, array("class", $this->getClassid()));
}
if (!is_null($this->appaid)) {
array_push($uriParameterList, array("appaid", $this->getAppaid()));
}
if (!is_null($this->department)) {
array_push($uriParameterList, array("department", $this->getDepartment()));
}
//---------------------------------------------------------------------------------------------
if (!is_null($this->qzurl)) {
array_push($uriParameterList, array("qzurl", $this->getQzurl()));
}
if (!is_null($this->aging_period)) {
array_push($uriParameterList, array("aging_period", $this->getAgingPeriod()));
}
if (!is_null($this->aging_method)) {
array_push($uriParameterList, array("aging_method", $this->getAgingMethod()));
}
if (!is_null($this->num_periods)) {
array_push($uriParameterList, array("num_periods", $this->getNumPeriods()));
}
if (!is_null($this->term)) {
array_push($uriParameterList, array("term", $this->getTerm()));
}
if (!is_null($this->columns)) {
array_push($uriParameterList, array("columns", $this->getColumns()));
}
if (!is_null($this->sort_by)) {
array_push($uriParameterList, array("sort_by", $this->getSortBy()));
}
if (!is_null($this->sort_order)) {
array_push($uriParameterList, array("sort_order", $this->getSortOrder()));
}
if (!is_null($this->group_by)) {
array_push($uriParameterList, array("group_by", $this->getGroupBy()));
}
if (!is_null($this->createdate_macro)) {
array_push($uriParameterList, array("createdate_macro", $this->getCreatedateMacro()));
}
//-----------------------------------------------------------------------------------------------
if (!is_null($this->end_createdate)) {
array_push($uriParameterList, array("end_createdate", $this->getEndCreatedate()));
}
if (!is_null($this->start_createdate)) {
array_push($uriParameterList, array("start_createdate", $this->getStartCreatedate()));
}
if (!is_null($this->moddate_macro)) {
array_push($uriParameterList, array("moddate_macro", $this->getModdateMacro()));
}
if (!is_null($this->end_moddate)) {
array_push($uriParameterList, array("end_moddate", $this->getEndModdate()));
}
if (!is_null($this->start_moddate)) {
array_push($uriParameterList, array("start_moddate", $this->getStartModdate()));
}
if (!is_null($this->payment_method)) {
array_push($uriParameterList, array("payment_method", $this->getPaymentMethod()));
}
if (!is_null($this->name)) {
array_push($uriParameterList, array("name", $this->getName()));
}
if (!is_null($this->transaction_type)) {
array_push($uriParameterList, array("transaction_type", $this->getTransactionType()));
}
if (!is_null($this->cleared)) {
array_push($uriParameterList, array("cleared", $this->getCleared()));
}
if (!is_null($this->arpaid)) {
array_push($uriParameterList, array("arpaid", $this->getArpaid()));
}
//-------------------------------------------------------------------------------------------------
if (!is_null($this->printed)) {
array_push($uriParameterList, array("printed", $this->getPrinted()));
}
if (!is_null($this->both_amount)) {
array_push($uriParameterList, array("bothamount", $this->getBothAmount()));
}
if (!is_null($this->memo)) {
array_push($uriParameterList, array("memo", $this->getMemo()));
}
if (!is_null($this->doc_num)) {
array_push($uriParameterList, array("docnum", $this->getDocNum()));
}
if (!is_null($this->subcol_pct_inc)) {
array_push($uriParameterList, array("subcol_pct_inc", $this->getPercentIncome()));
}
if (!is_null($this->subcol_pct_exp)) {
array_push($uriParameterList, array("subcol_pct_exp", $this->getPercentExpense()));
}
if (!is_null($this->adjusted_gain_loss)) {
array_push($uriParameterList, ["adjusted_gain_loss", $this->getAdjustedGainLoss()]);
}
if (!is_null($this->showrows)) {
array_push($uriParameterList, ["showrows", $this->getShowRows()]);
}
if (!is_null($this->add_due_date)) {
array_push($uriParameterList, ["add_due_date", $this->getDueDate()]);
}
if (!is_null($this->attachmentType)) {
array_push($uriParameterList, ["attachmentType", $this->getAttachmentType()]);
}
foreach ($uriParameterList as $uriParameter) {
if (strlen($uriParameterString) > 0) {
$uriParameterString .= "&";
}
$uriParameterString .= $uriParameter[0];
$uriParameterString .= "=";
$uriParameterString .= $uriParameter[1];
}
return $uriParameterString;
}
// This modification is done to add a Report envelope for proper deserialization.
private function modifyReportResponse($reportResponse)
{
$modifiedReportResponse = '{"Report":' . $reportResponse . '}';
return $modifiedReportResponse;
}
public function executeReport($reportName)
{
$urlResource = "reports";
$querySeparator = "?";
$reportQueryParameters = $this->getReportQueryParameters();
if (strlen($reportQueryParameters) > 0) {
$httpRequestUri = implode(CoreConstants::SLASH_CHAR, array('company', $this->serviceContext->realmId, $urlResource, $reportName, $querySeparator));
$httpRequestUri .= $reportQueryParameters;
} else {
$httpRequestUri = implode(CoreConstants::SLASH_CHAR, array('company', $this->serviceContext->realmId, $urlResource, $reportName));
}
// Creates request parameters
if ($this->serviceContext->IppConfiguration->Message->Request->SerializationFormat == SerializationFormat::Json) {
$requestParameters = new RequestParameters($httpRequestUri, 'GET', CoreConstants::CONTENTTYPE_APPLICATIONJSON, null);
} else {
$requestParameters = new RequestParameters($httpRequestUri, 'GET', CoreConstants::CONTENTTYPE_APPLICATIONXML, null);
}
$restRequestHandler = $this->getRestHandler();
list($responseCode, $responseBody) = $restRequestHandler->sendRequest($requestParameters, null, null, $this->throwExceptionOnError);
$faultHandler = $restRequestHandler->getFaultHandler();
if ($faultHandler) {
$this->lastError = $faultHandler;
return null;
} else {
$this->lastError = false;
$parsedResponseBody = $this->getResponseSerializer()->Deserialize($responseBody, true);
return ($parsedResponseBody);
}
}
}