Objednanie položiek z prijatej objednávky vydanou objednávkou je implementované ako virtuálna evidencia /objednani. Tá má dva subresource:
/polozek
vytvorí OBV daného typu z vybraných položiek OBP, všetky položky objedná od daného dodávateľa
volá sa metódami POST alebo PUT a vyžaduje zadať:
typDokl - id alebo kód objektu z evidencie /typ-objednavky-vydane
dodavatelFirma - id alebo kód objektu z evidencie /adresar
polozkyObp
id objektov z evidencie /objednavka-prijata-polozka
mnozstvi ktoré sa má objednať
/hromadne
vytvorí OBV zo všetkých položiek OBP, ktoré majú nastaveného dodávateľa
volá sa metódami POST, PUT alebo GET a vyžaduje zadať iba typDokl (buď v tele dotazu, alebo query parametrom).s
Jedná sa teda o endpoints:
/objednani/polozek – pre vytvorenie vydaných objednávok pre zadaných dodávateľov a položky OBP s uvedením objednávaného množstva
/objednani/hromadne – pre automatické vytvorenie OBV zo všetkých položiek OBP, ak majú nastaveného primárneho dodávateľa
Príklady:
1. Dotaz na resource /objednani/polozek
curl -k -X POST 'https://localhost:5434/v2/c/fcn_obv/objednani/polozek' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-binary '{"winstrom":{"@version":"1.0","objednaniPolozek":{"typDokl":"code:OBV","dodavatelFirma":"code:AAA","polozkyObp":[{"id":3704,"mnozstvi":2},{"id":3706,"mnozstvi":3}]}}}' -u admin:adminadmin | jqposiela dáta vo formáte
{
"winstrom": {
"@version": "1.0",
"objednaniPolozek": {
"typDokl": "code:OBV",
"dodavatel": "code:AAA",
"polozkyObp": [
{
"id": 3704,
"mnozMj": 2
},
{
"id": 3706,
"mnozMj": 3
}
]
}
}
}a dostane odpoveď 200 OK s id OBV, ktorá bola vytvorená
{ "winstrom": { "@version": "1.0", "success": true, "stats": { "created": 1, "updated": 0, "deleted": 0, "skipped": 0, "failed": 0 }, "results": [ { "id": 1638 } ] }}alebo 400 Bad Request
{ "winstrom": { "@version": 1, "success": false, "message": "Nebyly nalezeny \u017e\u00e1dn\u00e9 polo\u017eky vhodn\u00e9 pro objedn\u00e1n\u00ed." }}ak nie je možné žiadnu z odovzdaných položiek objednať.
2. Viacero objednaní na resource /objednani/polozek
curl -k -X POST 'https://localhost:5434/v2/c/fcn_obv/objednani/polozek' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-binary '{"winstrom":{"@version":"1.0","objednaniPolozek":[{"typDokl":"code:OBV","dodavatelFirma":"code:AAA","polozkyObp":[{"id":3709,"mnozstvi":2},{"id":3711,"mnozstvi":3}]},{"typDokl":"code:OBV","dodavatelFirma":"code:ABC","polozkyObp":[{"id":3715,"mnozstvi":4},{"id":3717,"mnozstvi":5}]}]}}' -u admin:adminadmin | jqposiela dáta vo formáte
{"winstrom":{
"@version":"1.0",
"objednaniPolozek":[{
"typDokl":"code:OBV",
"dodavatel":"code:AAA",
"polozkyObp":[{
"id":3709,
"mnozMj":2},
{"id":3711,
"mnozMj":3
}]},
{"typDokl":"code:OBV",
"dodavatel":"code:ABC",
"polozkyObp":[{
"id":3715,
"mnozMj":4},
{"id":3717,
"mnozMj":5
}]}
]}
}{ "winstrom": { "@version": "1.0", "success": true, "stats": { "created": 2, "updated": 0, "deleted": 0, "skipped": 0, "failed": 0 }, "results": [ { "id": 1663 }, { "id": 1664 } ] }}3. Dotaz na resource /objednani/hromadne
curl -k -X POST 'https://localhost:5434/v2/c/fcn_obv/objednani/hromadne' -H 'Content-Type: application/json' -H 'Accept: application/json' --data-binary '{"winstrom":{"@version":"1.0","objednaniHromadne":{"typDokl":"code:OBV"}}}' -u admin:adminadmin | jq
posiela dáta vo formáte
{ "winstrom": { "@version": "1.0", "objednaniHromadne": { "typDokl": "code:OBV" } }}alebo obdobne GET
curl -k -X GET 'https://localhost:5434/v2/c/fcn_obv/objednani/hromadne?typDokl=code%3AOBV' -H 'Accept: application/json' -u admin:adminadmin
s query parametrom typDokl=code:OBV dostane v odpovedi 200 OK zoznam ID OBV, ktoré boli vytvorené
{ "winstrom": { "@version": "1.0", "success": true, "stats": { "created": 2, "updated": 0, "deleted": 0, "skipped": 0, "failed": 0 }, "results": [ { "id": 1639 }, { "id": 1640 } ] }}alebo 400 Bad Request
{ "winstrom": { "@version": 1, "success": false, "message": "Nebyly nalezeny \u017e\u00e1dn\u00e9 polo\u017eky vhodn\u00e9 pro objedn\u00e1n\u00ed." }}