Skip to content

Commit

Permalink
Opraveny a zdokumentovany statusy
Browse files Browse the repository at this point in the history
Opraveno odesilani souboru EET
  • Loading branch information
Unknown committed Mar 11, 2017
1 parent a6dba69 commit 5c6a9c8
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 62 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ key-info:
@echo "key: $(KEY)"
@echo "crt: $(CRT)"

dist-clean: clean
distclean: clean
rm -rf vendor

prepare: vendor/ondrejnov/eet/README.md
Expand Down Expand Up @@ -62,7 +62,7 @@ eetcli.phar:
info: eetcli.phar
phar list -f eetcli.phar -i '\.(ini|p12|pem|crt|dist)$$'

distphar: bin/eetcli.phar
distphar: key crt bin/eetcli.phar
bin/eetcli.phar:
mkdir -p bin
php -dphar.readonly=0 vendor/bin/box build -c box-dist.json
Expand Down
Binary file modified bin/eetcli
Binary file not shown.
75 changes: 39 additions & 36 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 12 additions & 3 deletions doc/EETFile.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@ EET soubor je v podstatě ini soubor. Dá se editovat jakýmkoliv textovým edit
u nových EET souborů, které mohou být vytvářeny externím programem, například účetním. EET soubory obsahující další údaje
jsou sice stále textové soubory, ale jejich modifikací se mohou stát neplatnými díky porušení bezpečnostních kodů.

### Status
Status účtenky:

* 0 - nová účtenka
* 1 - odeslaná
* 2 - neodeslaná kvůli chybě
* 3 - odeslaná pouze v ověřovacím režimu bez FIK


### Příklad EET souboru ve stavu připraveném k odeslání (vytvořený např. externím programem)
```
[eetfile]
Expand All @@ -45,7 +54,7 @@ celk_trzba=10
```
[eetfile]
version=1.0
status=1
status=2
lasterror=4
lasterrorcode=Neplatny podpis SOAP zpravy
prostredi=produkcni
Expand All @@ -69,8 +78,8 @@ bkp=31383964343362382d38393936633730332d31663832316662612d39323939643061662d6536
[eetfile]
version=1.0
status=1
lasterror=4
lasterrorcode=Neplatny podpis SOAP zpravy
lasterror=
lasterrorcode=
prostredi=produkcni
[eet]
Expand Down
31 changes: 19 additions & 12 deletions eetcli.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,8 @@
. "25\t Uctenka je nova (vysledek testu)" . PHP_EOL
. "26\t Uctenka jiz byla zaslana (vysledek testu)" . PHP_EOL
. "27\t Kontrolni soucty v EET souboru nesedi" . PHP_EOL
. "29\t EET uctenka neodeslana kvuli chybe" . PHP_EOL
. "30\t EET soubor odeslan v overovacim rezimu" . PHP_EOL
. PHP_EOL);

Config::addOpt(null, "key", Config::C_REQUIRED, "Certificate private key (pem format)", __DIR__ . "/keys/EET_CA1_Playground-CZ1212121218.pem");
Expand Down Expand Up @@ -167,7 +169,7 @@
Console::debug("Posilam EET soubor na etrzby: " . Config::getOpt("send-eet") . PHP_EOL);
$dispatcher = Util::initDispatcher($eet->playground, $eet->overovaci);
$r = $eet->toReceipt($dispatcher);
if ($eet->status != 2) {
if ($eet->status != EETFile::STATUS_SENT) {
try {
$fik = $dispatcher->send($r, $eet->overovaci);
$codes = Util::getCheckCodes($dispatcher, $r, $eet->playground, $eet->overovaci);
Expand All @@ -178,6 +180,7 @@
$r->bkp = $bkp;
$r->pkp = $pkp;
$eet->fromReceipt($r);
$eet->setStatus(EETFile::STATUS_SENT);
$eet->save();
Console::out(Util::expandMacros(Config::getOpt("format"), $r));
} catch (Exception $e) {
Expand All @@ -188,7 +191,7 @@
$r->bkp = $bkp;
$r->pkp = $pkp;
$eet->fromReceipt($r);
$eet->setStatus(1);
$eet->setStatus(EETFile::STATUS_ERR);
$eet->setErrorCode($e->getCode());
$eet->setError($e->getMessage());
$eet->save();
Expand Down Expand Up @@ -262,17 +265,21 @@
Console::error($e->getCode(), $e->getMessage() . "\n");
}
switch ($eet->status) {
case 0:
case EETFile::STATUS_NEW:
Console::out("Nova\n");
$status = Util::E_NEW;
break;
case 1:
Console::out("Neodeslana\n");
case EETFile::STATUS_SENT:
Console::out("Odeslana\n");
$status = Util::E_ALREADYSENT;
break;
case 2:
Console::out("Odeslana\n");
$status = Util::E_SENT;
case EETFile::STATUS_ERR:
Console::out("Neodeslana (chyba)\n");
$status = Util::E_SENTERR;
break;
case EETFile::STATUS_OVEROVACI:
Console::out("Odeslana pouze v overovacim rezimu\n");
$status = Util::E_SENTOVEROVACI;
break;
}
if ($status == 2) {
Expand Down Expand Up @@ -306,7 +313,7 @@
try {
$eet = New EETFile($file, EETFile::MODE_W, Config::getOpt("neprodukcni"), Config::getOpt("overovaci"));
$eet->fromReceipt($r);
$eet->setStatus(0);
$eet->setStatus(EETFile::STATUS_NEW);
} catch (Exception $e) {
Console::error(Util::eetCodeToError($e->getCode()), $e->getMessage() . PHP_EOL);
}
Expand Down Expand Up @@ -363,7 +370,7 @@
$r->bkp = $bkp;
$r->pkp = $pkp;
$eet->fromReceipt($r);
$eet->setStatus(1);
$eet->setStatus(EETFile::STATUS_ERR);
$eet->setErrorCode($e->getCode());
$eet->setError($e->getMessage());
$eet->save();
Expand All @@ -380,11 +387,11 @@
if ($file) {
$eet->fromReceipt($r);
if (Config::getOpt("overovaci")) {
$eet->setStatus(1);
$eet->setStatus(EETFile::STATUS_OVEROVACI);
$eet->setErrorCode(0);
$eet->setError("Overovaci");
} else {
$eet->setStatus(2);
$eet->setStatus(EETFile::STATUS_SENT);
}
$eet->save();
}
Expand Down
Loading

0 comments on commit 5c6a9c8

Please sign in to comment.