Completed
Push — master ( 5edd48...19a6ea )
by Vítězslav
03:08
created

FakturaVydana::sparujPlatbu()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 6
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 9
ccs 0
cts 0
cp 0
crap 2
rs 9.6666
1
<?php
2
/**
3
 * FlexiPeeHP - Objekt vydané faktury.
4
 *
5
 * @author     Vítězslav Dvořák <[email protected]>
6
 * @copyright  (C) 2015,2016 Spoje.Net
7
 */
8
9
namespace FlexiPeeHP;
10
11
/**
12
 * Faktura vydaná
13
 *
14
 * @link https://demo.flexibee.eu/c/demo/faktura-vydana/properties položky evidence
15
 */
16
class FakturaVydana extends FlexiBeeRW
17
{
18
    /**
19
     * Evidence užitá objektem.
20
     *
21
     * @var string
22
     */
23
    public $evidence = 'faktura-vydana';
24
25
    /**
26
     * Provede spárování platby s dokladem
27
     *
28
     * @link https://demo.flexibee.eu/devdoc/parovani-plateb Párování plateb
29
     * @param $doklad Banka|PokladniPohyb|InterniDoklad S jakým dokladem spárovat ?
30
     * @param $zbytek string ne|zauctovat|ignorovat|castecnaUhrada|castecnaUhradaNeboZauctovat|castecnaUhradaNeboIgnorovat
31
     */
32
    public function sparujPlatbu($doklad, $zbytek = 'ignorovat')
33
    {
34
35
        $sparovani                       = ['uhrazovanaFak' => $this];
36
        $sparovani['uhrazovanaFak@type'] = $this->evidence;
37
        $sparovani['zbytek']             = $zbytek;
38
        $doklad->setDataValue('sparovani', $sparovani);
39
        return $doklad->insertToFlexiBee();
40
    }
41
42
    /**
43
     *  Hotovostní platba faktury.
44
     *
45
     * @link https://demo.flexibee.eu/devdoc/hotovostni-uhrada/ Hotovostní úhrada
46
     * @link https://demo.flexibee.eu/c/demo/pokladna Pokladny
47
     * @link https://demo.flexibee.eu/c/demo/typ-pokladni-pohyb Typy dokladů
48
     * @param float $value částka k úhradě
49
     * @param array $uhrada pole nepoviných vlastností úhrady s těmito možnými položkami:
50
     *        string|Pokladna  'pokladna' identifikátor pokladny
51
     *        string  'typDokl' kod typu pokladniho dokladu
52
     *        boolean 'kurzKDatuUhrady'
53
     *        string  'uhrazujiciDokl' Pokud uvedeno není, vždy se vytvoří nový
54
     *                                pokladní doklad.
55
     *        string  'rada' dokladová řada pro vytvářený pokladní doklad.
56
     *                      Např.:code:POKLADNA+
57
     *        string  'datumUhrady' sql formát. Výchozí: dnes
58
     * @return array výsledek pokusu o provedení úhrady
59
     */
60
    public function hotovostniUhrada($value, $uhrada = [])
61
    {
62
        if (!isset($uhrada['pokladna'])) {
63
            $uhrada['pokladna'] = 'code:POKLADNA KČ';
64
        }
65
66
        if (!isset($uhrada['typDokl'])) {
67
            $uhrada['typDokl'] = 'code:STANDARD';
68
        }
69
70
        if (!isset($uhrada['kurzKDatuUhrady'])) {
71
            $uhrada['kurzKDatuUhrady'] = false;
72
        }
73
74
        if (!isset($uhrada['datumUhrady'])) {
75
            $uhrada['datumUhrady'] = date('Y-m-d');
76
        }
77
78
        $uhrada['castka'] = $value;
79
80
        $this->setDataValue('hotovostni-uhrada', $uhrada);
81
        return $this->insertToFlexiBee();
82
    }
83
}