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
|
|
|
$sparovani = ['uhrazovanaFak' => $this]; |
35
|
|
|
$sparovani['uhrazovanaFak@type'] = $this->evidence; |
36
|
|
|
$sparovani['zbytek'] = $zbytek; |
37
|
|
|
$doklad->setDataValue('sparovani', $sparovani); |
38
|
|
|
return $doklad->insertToFlexiBee(); |
39
|
|
|
} |
40
|
|
|
|
41
|
|
|
/** |
42
|
|
|
* Hotovostní platba faktury. |
43
|
|
|
* |
44
|
|
|
* @link https://demo.flexibee.eu/devdoc/hotovostni-uhrada/ Hotovostní úhrada |
45
|
|
|
* @link https://demo.flexibee.eu/c/demo/pokladna Pokladny |
46
|
|
|
* @link https://demo.flexibee.eu/c/demo/typ-pokladni-pohyb Typy dokladů |
47
|
|
|
* @param float $value částka k úhradě |
48
|
|
|
* @param array $uhrada pole nepoviných vlastností úhrady s těmito možnými položkami: |
49
|
|
|
* string|Pokladna 'pokladna' identifikátor pokladny |
50
|
|
|
* string 'typDokl' kod typu pokladniho dokladu |
51
|
|
|
* boolean 'kurzKDatuUhrady' |
52
|
|
|
* string 'uhrazujiciDokl' Pokud uvedeno není, vždy se vytvoří nový |
53
|
|
|
* pokladní doklad. |
54
|
|
|
* string 'rada' dokladová řada pro vytvářený pokladní doklad. |
55
|
|
|
* Např.:code:POKLADNA+ |
56
|
|
|
* string 'datumUhrady' sql formát. Výchozí: dnes |
57
|
|
|
* @return array výsledek pokusu o provedení úhrady |
58
|
|
|
*/ |
59
|
|
|
public function hotovostniUhrada($value, $uhrada = []) |
60
|
|
|
{ |
61
|
|
|
if (!isset($uhrada['pokladna'])) { |
62
|
|
|
$uhrada['pokladna'] = 'code:POKLADNA KČ'; |
63
|
|
|
} |
64
|
|
|
|
65
|
|
|
if (!isset($uhrada['typDokl'])) { |
66
|
|
|
$uhrada['typDokl'] = 'code:STANDARD'; |
67
|
|
|
} |
68
|
|
|
|
69
|
|
|
if (!isset($uhrada['kurzKDatuUhrady'])) { |
70
|
|
|
$uhrada['kurzKDatuUhrady'] = false; |
71
|
|
|
} |
72
|
|
|
|
73
|
|
|
if (!isset($uhrada['datumUhrady'])) { |
74
|
|
|
$uhrada['datumUhrady'] = date('Y-m-d'); |
75
|
|
|
} |
76
|
|
|
|
77
|
|
|
$uhrada['castka'] = $value; |
78
|
|
|
|
79
|
|
|
$this->setDataValue('hotovostni-uhrada', $uhrada); |
80
|
|
|
return $this->insertToFlexiBee(); |
81
|
|
|
} |
82
|
|
|
|
83
|
|
|
/** |
84
|
|
|
* Odpočet zálohy (vystavení daňového dokladu k platbě) |
85
|
|
|
* |
86
|
|
|
* @link https://demo.flexibee.eu/devdoc/odpocet-zaloh Odpočet záloh a ZDD |
87
|
|
|
* @param FakturaVydana $invoice zálohová faktura |
88
|
|
|
* @param array $odpocet Vlastnosti odpočtu |
89
|
|
|
* @return array |
90
|
|
|
*/ |
91
|
|
|
public function odpocetZalohy($invoice, $odpocet = []) |
92
|
|
|
{ |
93
|
|
|
if (!isset($odpocet['castkaMen'])) { |
94
|
|
|
$odpocet['castkaMen'] = $invoice->getDataValue('sumCelkem'); |
95
|
|
|
} |
96
|
|
|
// if (!isset($odpocet['id'])) { |
|
|
|
|
97
|
|
|
// $odpocet['id'] = 'ext:odp:'.time(); |
98
|
|
|
// } |
99
|
|
|
$odpocet['doklad'] = $invoice; |
100
|
|
|
|
101
|
|
|
$this->setDataValue('odpocty-zaloh', ['odpocet' => $odpocet]); |
102
|
|
|
return $this->insertToFlexiBee(); |
103
|
|
|
} |
104
|
|
|
|
105
|
|
|
/** |
106
|
|
|
* Odpočet ZDD |
107
|
|
|
* |
108
|
|
|
* @link https://demo.flexibee.eu/devdoc/odpocet-zaloh Odpočet záloh a ZDD |
109
|
|
|
* @param FakturaVydana $invoice zálohová faktura |
110
|
|
|
* @param array $odpocet Vlastnosti odpočtu |
111
|
|
|
* @return array |
112
|
|
|
*/ |
113
|
|
|
public function odpocetZDD($invoice, $odpocet = []) |
114
|
|
|
{ |
115
|
|
|
if (!isset($odpocet['castkaZaklMen'])) { |
116
|
|
|
$odpocet['castkaZaklMen'] = $invoice->getDataValue('sumZklZakl'); |
117
|
|
|
} |
118
|
|
|
if (!isset($odpocet['castkaSnizMen'])) { |
119
|
|
|
$odpocet['castkaSnizMen'] = $invoice->getDataValue('sumZklSniz'); |
120
|
|
|
} |
121
|
|
|
if (!isset($odpocet['castkaSniz2Men'])) { |
122
|
|
|
$odpocet['castkaSniz2Men'] = $invoice->getDataValue('sumZklSniz2'); |
123
|
|
|
} |
124
|
|
|
if (!isset($odpocet['castkaOsvMen'])) { |
125
|
|
|
$odpocet['castkaOsvMen'] = $invoice->getDataValue('sumOsv'); |
126
|
|
|
} |
127
|
|
|
if (!isset($odpocet['id'])) { |
128
|
|
|
$odpocet['id'] = 'ext:odpocet1'; |
129
|
|
|
} |
130
|
|
|
$odpocet['doklad'] = $invoice; |
131
|
|
|
|
132
|
|
|
$this->setDataValue('odpocty-zaloh', ['odpocet' => $odpocet]); |
133
|
|
|
return $this->insertToFlexiBee(); |
134
|
|
|
} |
135
|
|
|
} |
Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.
The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.
This check looks for comments that seem to be mostly valid code and reports them.