OperationShiftReport::getPropertyInitMap()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 15
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 13
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 15
rs 9.8333
1
<?php
2
3
namespace alekciy\ofd\providers\yandex\Model;
4
5
use alekciy\ofd\BaseModel;
6
use alekciy\ofd\Converter;
7
8
/**
9
 * Отчет по смене.
10
 */
11
class OperationShiftReport extends BaseModel
12
{
13
	use Converter;
14
15
	/** @var integer Количество чеков с безналичной оплатой */
16
	public $electronicCount = 0;
17
18
	/** @var integer Сумма по чекам с безналичной оплатой, копейки */
19
	public $electronicSum = 0;
20
21
	/** @var integer Сумма по чекам с постоплатой (кредит), копейки */
22
	public $creditSum = 0;
23
24
	/** @var integer Количество чеков с постоплатой (кредит) */
25
	public $creditCount = 0;
26
27
	/** @var integer Количество чеков с оплатой наличными */
28
	public $cashCount = 0;
29
30
	/** @var integer Сумма по чекам с оплатой наличными, копейки */
31
	public $cashSum = 0;
32
33
	/** @var integer Сумма по чекам с предоплатой (зачет аванса и или других платежей), копейки */
34
	public $prepaidSum = 0;
35
36
	/** @var integer Количество чеков с предоплатой (зачет аванса и или других платежей) */
37
	public $prepaidCount = 0;
38
39
	/** @var integer Полная сумма по чекам, копейки */
40
	public $totalSum = 0;
41
42
	/** @var integer Общее количество чеков */
43
	public $totalCount = 0;
44
45
	/** @var integer Сумма по чекам с оплатой встречным представлением (другой способ оплаты), копейки */
46
	public $provisionSum = 0;
47
48
	/** @var integer Количество чеков с оплатой встречным представлением (другой способ оплаты) */
49
	public $provisionCount = 0;
50
51
	/**
52
	 * @inheritDoc
53
	 */
54
	protected function getPropertyInitMap(): array
55
	{
56
		return [
57
			'credit_sum'       => ['creditSum', 'conv' => 'RubToKop'],
58
			'ecashTotal_sum'   => ['electronicSum', 'conv' => 'RubToKop'],
59
			'total_sum'        => ['totalSum', 'conv' => 'RubToKop'],
60
			'prepaid_sum'      => ['prepaidSum', 'conv' => 'RubToKop'],
61
			'cashTotal_sum'    => ['cashSum', 'conv' => 'RubToKop'],
62
			'provision_sum'    => ['provisionSum', 'conv' => 'RubToKop'],
63
			'ecashTotal_count' => 'electronicCount',
64
			'cashTotal_count'  => 'cashCount',
65
			'prepaid_count'    => 'prepaidCount',
66
			'total_count'      => 'totalCount',
67
			'credit_count'     => 'creditCount',
68
			'provision_count'  => 'provisionCount',
69
		];
70
	}
71
72
	/**
73
	 * @inheritDoc
74
	 */
75
	protected function getRuleList(): array
76
	{
77
		return [
78
			'totalSum'        => ['integer', ['min', 0], ['max', PHP_INT_MAX]],
79
			'cashSum'         => ['integer', ['min', 0], ['max', PHP_INT_MAX]],
80
			'creditSum'       => ['integer', ['min', 0], ['max', PHP_INT_MAX]],
81
			'provisionSum'    => ['integer', ['min', 0], ['max', PHP_INT_MAX]],
82
			'prepaidSum'      => ['integer', ['min', 0], ['max', PHP_INT_MAX]],
83
			'electronicSum'   => ['integer', ['min', 0], ['max', PHP_INT_MAX]],
84
			'totalCount'      => ['integer', ['min', 0]],
85
			'cashCount'       => ['integer', ['min', 0]],
86
			'creditCount'     => ['integer', ['min', 0]],
87
			'provisionCount'  => ['integer', ['min', 0]],
88
			'prepaidCount'    => ['integer', ['min', 0]],
89
			'electronicCount' => ['integer', ['min', 0]],
90
		];
91
	}
92
}