CashDeskShort::getRuleList()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 22
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 19
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 22
rs 9.6333
1
<?php
2
3
namespace alekciy\ofd\providers\taxcom\Model;
4
5
use alekciy\ofd\BaseModel;
6
use alekciy\ofd\interfaces\CashDeskInterface;
7
use alekciy\ofd\providers\taxcom\Status;
8
9
/**
10
 * Сокращенная информация по кассе.
11
 */
12
class CashDeskShort extends BaseModel implements CashDeskInterface
13
{
14
	/** @var string Состояние  */
15
	public $cashdeskState;
16
17
	/** @var string Номер фискального регистратора (ФН) */
18
	public $fnFactoryNumber;
19
20
	/** @var string Серийный (заводской) номер кассы */
21
	public $kktFactoryNumber;
22
23
	/** @var string Регистрационный номер кассы (полученный в ФНС) */
24
	public $kktRegNumber;
25
26
	/** @var string Название */
27
	public $name;
28
29
	/** @var string Признак наличия проблемы */
30
	public $problemIndicator = '';
31
32
	/**
33
	 * @inheritDoc
34
	 */
35
	public function getRuleList(): array
36
	{
37
		return [
38
			'name' => ['required', ['lengthMax', 255]],
39
			'kktRegNumber' => ['required', ['lengthMin', 1], ['lengthMax', 16]],
40
			'kktFactoryNumber' => ['required', ['lengthMin', 1], ['lengthMax', 20]],
41
			'fnFactoryNumber' => ['required', ['lengthMin', 1], ['lengthMax', 16]],
42
			'problemIndicator' => ['required', ['in', [
43
				Status::OK,
44
				Status::PROBLEM,
45
				Status::WARNING,
46
			]]],
47
			'cashdeskState' => ['required', ['in', [
48
				CashDesk::STATUS_ACTIVE,
49
				CashDesk::STATUS_EXPIRES,
50
				CashDesk::STATUS_EXPIRED,
51
				CashDesk::STATUS_INACTIVE,
52
				CashDesk::STATUS_ACTIVATION,
53
				CashDesk::STATUS_DEACTIVATION,
54
				CashDesk::STATUS_FN_CHANGE,
55
				CashDesk::STATUS_FN_REGISTRATION,
56
				CashDesk::STATUS_FN_REGISTRATION_ERROR,
57
			]]],
58
		];
59
	}
60
61
	/**
62
	 * @inheritDoc
63
	 */
64
	public function getFnFactoryNumber(): string
65
	{
66
		return $this->fnFactoryNumber;
67
	}
68
69
	/**
70
	 * @inheritDoc
71
	 */
72
	public function getKktFactoryNumber(): string
73
	{
74
		return $this->kktFactoryNumber;
75
	}
76
77
	/**
78
	 * @inheritDoc
79
	 */
80
	public function getKktRegNumber(): string
81
	{
82
		return $this->kktRegNumber;
83
	}
84
85
	/**
86
	 * @inheritDoc
87
	 */
88
	public function getName(): string
89
	{
90
		return $this->name;
91
	}
92
93
	/**
94
	 * @inheritDoc
95
	 */
96
	protected function getPropertyInitMap(): array
97
	{
98
		return [];
99
	}
100
}