Большие доработки по фискилизации
- у `AtolClient` теперь возможно получить последний отправленный запрос `getLastRequest()` - у `AtolClient::auth()` удалены аргументы за ненадобностью - улучшен `Client::jsonSerialize()` - исправлен `Receipt::jsonSerialize()` - у `Receipt` и `Correction` появились методы фискализации, вкусный сахарок - удалён енам `DocumentTypes` за ненадобностью - исправлены тесты монитора и документов - рабочий фискализатор с получением результатов и покрытием
This commit is contained in:
20
src/Exceptions/EmptyGroupException.php
Normal file
20
src/Exceptions/EmptyGroupException.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
* This code is licensed under MIT.
|
||||
* Этот код распространяется по лицензии MIT.
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать пустую группу ККТ
|
||||
*/
|
||||
class EmptyGroupException extends AtolException
|
||||
{
|
||||
protected $message = 'Группа ККТ должна быть указана';
|
||||
}
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать некорректную дату коррекции
|
||||
@@ -26,6 +27,7 @@ class InvalidCorrectionDateException extends AtolException
|
||||
* @param string $date
|
||||
* @param string $message
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $date = '', string $message = '')
|
||||
{
|
||||
parent::__construct("Ошибка даты документа коррекции '$date': " . $message);
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при ошибке валидации кода таможенной декларации
|
||||
@@ -25,6 +26,7 @@ class InvalidDeclarationNumberException extends AtolException
|
||||
*
|
||||
* @param string $code
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $code = '')
|
||||
{
|
||||
parent::__construct("Невалидный код таможенной декларации: '$code'");
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при ошибке валидации email
|
||||
@@ -30,6 +31,7 @@ class InvalidEmailException extends AtolException
|
||||
*
|
||||
* @param string $email
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $email = '')
|
||||
{
|
||||
parent::__construct("Невалидный email: '$email'");
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать ИНН некорректной длины
|
||||
@@ -31,6 +32,7 @@ class InvalidInnLengthException extends AtolException
|
||||
* @param string $inn
|
||||
* @param string $message
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $inn = '', string $message = '')
|
||||
{
|
||||
parent::__construct(
|
||||
|
||||
@@ -11,6 +11,8 @@ declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при работе с невалидным JSON
|
||||
*/
|
||||
@@ -19,6 +21,7 @@ class InvalidJsonException extends AtolException
|
||||
/**
|
||||
* Конструктор
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct('[' . json_last_error() . '] ' . json_last_error_msg());
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при ошибке валидации кода страны происхождения товара
|
||||
@@ -27,6 +28,7 @@ class InvalidOKSMCodeException extends AtolException
|
||||
*
|
||||
* @param string $code
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $code)
|
||||
{
|
||||
parent::__construct('Невалидный код страны происхождения товара: ' . $code);
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при ошибке валидации номера телефона
|
||||
@@ -31,6 +32,7 @@ class InvalidPhoneException extends AtolException
|
||||
*
|
||||
* @param string $phone
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $phone = '')
|
||||
{
|
||||
parent::__construct("Невалидный номер телефона: '$phone'");
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать предмету расчёта отрицательный акциз
|
||||
@@ -26,6 +27,7 @@ class NegativeItemExciseException extends AtolException
|
||||
* @param string $name
|
||||
* @param float $excise
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $name, float $excise)
|
||||
{
|
||||
parent::__construct("Предмет расчёта '$name' не может иметь отрицательный акциз $excise");
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать предмету расчёта отрицательную цену
|
||||
@@ -26,6 +27,7 @@ class NegativeItemPriceException extends AtolException
|
||||
* @param string $name
|
||||
* @param float $price
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $name, float $price)
|
||||
{
|
||||
parent::__construct("Предмет расчёта '$name' не может иметь отрицательную цену $price");
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать предмету расчёта отрицательное количество
|
||||
@@ -26,6 +27,7 @@ class NegativeItemQuantityException extends AtolException
|
||||
* @param string $name
|
||||
* @param float $quantity
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $name, float $quantity)
|
||||
{
|
||||
parent::__construct("Предмет расчёта '$name' не может иметь отрицательное количество $quantity");
|
||||
|
||||
@@ -12,6 +12,7 @@ declare(strict_types = 1);
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать оплате отрицательную сумму
|
||||
@@ -31,6 +32,7 @@ class NegativePaymentSumException extends AtolException
|
||||
*
|
||||
* @param float $sum
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(float $sum)
|
||||
{
|
||||
parent::__construct('Размер оплаты не может быть отрицательным: ' . $sum);
|
||||
|
||||
@@ -11,6 +11,8 @@ declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке создать объект ККТ с неполными данными от монитора
|
||||
*/
|
||||
@@ -27,6 +29,7 @@ class NotEnoughMonitorDataException extends AtolException
|
||||
* @param array $props_diff
|
||||
* @param string $message
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(array $props_diff, string $message = '')
|
||||
{
|
||||
parent::__construct($message ?: $this->message . implode(', ', $props_diff));
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Constraints;
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать слишком высокую цену (сумму) предмета расчёта
|
||||
@@ -28,6 +29,7 @@ class TooHighItemPriceException extends TooManyException
|
||||
* @param string $name
|
||||
* @param float $price
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $name, float $price)
|
||||
{
|
||||
parent::__construct($price, "Слишком высокая цена для предмета расчёта '$name'");
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Constraints;
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке добавить слишком большое количество предмета расчёта
|
||||
@@ -28,6 +29,7 @@ class TooHighItemQuantityException extends TooManyException
|
||||
* @param string $name
|
||||
* @param float $quantity
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $name, float $quantity)
|
||||
{
|
||||
parent::__construct($quantity, "Слишком большое количество предмета расчёта '$name'");
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Constraints;
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке получеиня слишком высокой стоимости предмета расчёта
|
||||
@@ -28,6 +29,7 @@ class TooHighItemSumException extends TooManyException
|
||||
* @param string $name
|
||||
* @param float $sum
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $name, float $sum)
|
||||
{
|
||||
parent::__construct($sum, "Слишком высокая стоимость предмета расчёта '$name'");
|
||||
|
||||
@@ -18,6 +18,6 @@ use AtolOnline\Constants\Constraints;
|
||||
*/
|
||||
class TooLongCallbackUrlException extends TooLongException
|
||||
{
|
||||
protected $message = 'Слишком длинный адрес колбека';
|
||||
protected $message = 'Слишком длинный callback_url';
|
||||
protected float $max = Constraints::MAX_LENGTH_CALLBACK_URL;
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать слишком длинное что-либо
|
||||
*/
|
||||
@@ -33,6 +35,7 @@ class TooLongException extends AtolException
|
||||
* @param string $message
|
||||
* @param float $max
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $value, string $message = '', float $max = 0)
|
||||
{
|
||||
parent::__construct(
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Constants\Constraints;
|
||||
use AtolOnline\Constants\Ffd105Tags;
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать слишком длинный код товара
|
||||
@@ -28,6 +29,7 @@ class TooLongItemCodeException extends TooLongException
|
||||
* @param string $name
|
||||
* @param string $code
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(string $name, string $code)
|
||||
{
|
||||
parent::__construct($code, "Слишком длинный код товара '$name'");
|
||||
|
||||
@@ -11,6 +11,8 @@ declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use JetBrains\PhpStorm\Pure;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при попытке указать слишком большое количество чего-либо
|
||||
*/
|
||||
@@ -33,6 +35,7 @@ class TooManyException extends AtolException
|
||||
* @param string $message
|
||||
* @param float|null $max
|
||||
*/
|
||||
#[Pure]
|
||||
public function __construct(float $value, string $message = '', ?float $max = null)
|
||||
{
|
||||
parent::__construct(
|
||||
|
||||
Reference in New Issue
Block a user