Shift::getCloseDateTime()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace alekciy\ofd\providers\taxcom\Model;
4
5
use alekciy\ofd\BaseModel;
6
use alekciy\ofd\interfaces\ShiftInterface;
7
8
/**
9
 * Информация по смене.
10
 */
11
class Shift extends BaseModel implements ShiftInterface
12
{
13
	/** @var string Кассир */
14
	public $cashier = '';
15
16
	/** @var integer Номер ФД отчета об открытии смены  */
17
	public $openFdNumber = 0;
18
19
	/** @var integer Номер ФД отчета о закрытии смены */
20
	public $closeFdNumber = 0;
21
22
	/** @var string Заводской номер ФН */
23
	public $fnFactoryNumber = '';
24
25
	/** @var string Дата открытия */
26
	public $openDateTime = '';
27
28
	/** @var string Дата закрытия */
29
	public $closeDateTime = '';
30
31
	/** @var int Номер смены */
32
	public $shiftNumber = 0;
33
34
	/** @var int Кол-во чеков за смену */
35
	public $receiptCount = 0;
36
37
	/** @var string  */
38
	public $state = '';
39
40
	// Статус
41
	const STATUS_OPEN   = 'Open';
42
	const STATUS_CLOSE  = 'Close';
43
44
	/**
45
	 * @inheritDoc
46
	 */
47
	public function getRuleList(): array
48
	{
49
		return [
50
			'fnFactoryNumber' => ['required', ['lengthMin', 1], ['lengthMax', 16]],
51
			'shiftNumber'     => ['required', 'integer', ['min', 0]],
52
			'openFdNumber'    => ['required', 'integer', ['min', 0]],
53
			'cashier'         => ['required', ['lengthMin', 1], ['lengthMax', 256]],
54
			'openDateTime'    => ['required', ['dateFormat', 'Y-m-d\TH:i:s']],
55
			'state'           => ['required', ['in', [
56
				self::STATUS_CLOSE,
57
				self::STATUS_OPEN,
58
			]]],
59
60
			'closeFdNumber' => ['integer', ['min', 0]],
61
			'receiptCount'  => ['integer', ['min', 0]],
62
			'closeDateTime' => [['dateFormat', 'Y-m-d\TH:i:s']],
63
		];
64
	}
65
66
	/**
67
	 * @inheritDoc
68
	 */
69
	public function getFnFactoryNumber(): string
70
	{
71
		return $this->fnFactoryNumber;
72
	}
73
74
	/**
75
	 * @inheritDoc
76
	 */
77
	public function getShiftNumber(): int
78
	{
79
		return $this->shiftNumber;
80
	}
81
82
	/**
83
	 * @inheritDoc
84
	 */
85
	public function getOpenDateTime(): string
86
	{
87
		return $this->openDateTime;
88
	}
89
90
	/**
91
	 * @inheritDoc
92
	 */
93
	public function getCloseDateTime(): string
94
	{
95
		return $this->closeDateTime;
96
	}
97
98
	/**
99
	 * @inheritDoc
100
	 */
101
	protected function getPropertyInitMap(): array
102
	{
103
		return [];
104
	}
105
}