mirror of
https://github.com/Karaka-Management/oms-Accounting.git
synced 2026-01-11 21:38:40 +00:00
213 lines
3.8 KiB
PHP
213 lines
3.8 KiB
PHP
<?php
|
|
/**
|
|
* Orange Management
|
|
*
|
|
* PHP Version 7.1
|
|
*
|
|
* @category TBD
|
|
* @package TBD
|
|
* @author OMS Development Team <dev@oms.com>
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
* @copyright Dennis Eichhorn
|
|
* @license OMS License 1.0
|
|
* @version 1.0.0
|
|
* @link http://orange-management.com
|
|
*/
|
|
namespace Modules\Accounting\Models;
|
|
|
|
/**
|
|
* Account balance class.
|
|
*
|
|
* @category Modules
|
|
* @package Modules\Accounting\Models
|
|
* @author OMS Development Team <dev@oms.com>
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
* @license OMS License 1.0
|
|
* @link http://orange-management.com
|
|
* @since 1.0.0
|
|
*/
|
|
abstract class AccountBalance
|
|
{
|
|
|
|
/**
|
|
* Id.
|
|
*
|
|
* @var int
|
|
* @since 1.0.0
|
|
*/
|
|
private $id = null;
|
|
|
|
/**
|
|
* Time range start.
|
|
*
|
|
* @var \DateTime
|
|
* @since 1.0.0
|
|
*/
|
|
private $start = null;
|
|
|
|
/**
|
|
* Time range end.
|
|
*
|
|
* @var \DateTime
|
|
* @since 1.0.0
|
|
*/
|
|
private $end = null;
|
|
|
|
/**
|
|
* Time range type.
|
|
*
|
|
* @var \Modules\Accounting\Models\TimeRangeType
|
|
* @since 1.0.0
|
|
*/
|
|
private $rangetype = null;
|
|
|
|
/**
|
|
* Account.
|
|
*
|
|
* @var \Modules\Accounting\Models\AccountInterface
|
|
* @since 1.0.0
|
|
*/
|
|
private $account = null;
|
|
|
|
/**
|
|
* Balance.
|
|
*
|
|
* @var float
|
|
* @since 1.0.0
|
|
*/
|
|
private $balance = null;
|
|
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @param int $id Account id
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function __construct(int $id)
|
|
{
|
|
$this->id = $id;
|
|
}
|
|
|
|
/**
|
|
* @return \DateTime
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function getStart()
|
|
{
|
|
return $this->start;
|
|
}
|
|
|
|
/**
|
|
* @param \DateTime $start
|
|
*
|
|
* @return void
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function setStart($start)
|
|
{
|
|
$this->start = $start;
|
|
}
|
|
|
|
/**
|
|
* @return \DateTime
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function getEnd()
|
|
{
|
|
return $this->end;
|
|
}
|
|
|
|
/**
|
|
* @param \DateTime $end
|
|
*
|
|
* @return void
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function setEnd($end)
|
|
{
|
|
$this->end = $end;
|
|
}
|
|
|
|
/**
|
|
* @return TimeRangeType
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function getRangetype()
|
|
{
|
|
return $this->rangetype;
|
|
}
|
|
|
|
/**
|
|
* @param TimeRangeType $rangetype
|
|
*
|
|
* @return void
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function setRangetype($rangetype)
|
|
{
|
|
$this->rangetype = $rangetype;
|
|
}
|
|
|
|
/**
|
|
* @return AccountInterface
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function getAccount()
|
|
{
|
|
return $this->account;
|
|
}
|
|
|
|
/**
|
|
* @param AccountInterface $account
|
|
*
|
|
* @return void
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function setAccount($account)
|
|
{
|
|
$this->account = $account;
|
|
}
|
|
|
|
/**
|
|
* @return float
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function getBalance()
|
|
{
|
|
return $this->balance;
|
|
}
|
|
|
|
/**
|
|
* @param float $balance
|
|
*
|
|
* @return void
|
|
*
|
|
* @since 1.0.0
|
|
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
|
*/
|
|
public function setBalance($balance)
|
|
{
|
|
$this->balance = $balance;
|
|
}
|
|
}
|