Usporiadanie položiek z prijatej objednávky podľa vystavenej objednávky je realizované ako virtuálny záznam /objednávka. Má dva čiastkové zdroje:
/položka
vytvorí OBV daného typu z vybraných položiek OBP, objedná všetky položky od daného dodávateľa
je volaný metódami POST alebo PUT a vyžaduje zadanie:
typeDokl - id objektu alebo kód z registra /type-orders-issued
supplierCompany - id alebo kód objektu zo súpisu /adresa
pozícieObp
id objektu zo záznamov /order-accepted-item
množstvo, ktoré sa má objednať
/bulk
vytvorí OBV zo všetkých položiek OBP, ktoré majú nastaveného dodávateľa
sa volá metódami POST, PUT alebo GET a vyžaduje len typDocument (buď v tele dotazu, alebo v parametri dotazu).
Ide teda o koncové body:
/order/item - na vytvorenie objednávok vystavených pre zadaných dodávateľov a položiek OBP s objednaným množstvom
/objednani/bulk - 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 zdroje /objednávka/položka
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", "orderPositions":{"typeDoc": "code:OBV", "supplierCompany": "code:AAA", "positionsObp":[{"id":3704, "quantity":2},{"id":3706, "quantity":3}]}}}' -u admin:adminadmin | jq
posiela údaje vo formáte
{ "winstrom": { "@version": "1.0", "orderPosition": { "typeDoc": "code:OBV", "vendorCompany": "code:AAA", "positionsObp": [ { "id": 3704, "quantity": 2 }, { "id": 3706, "quantity": 3 } ] } } }
a dostane odpoveď 200 OK s id vytvoreného OBV
{ "winstrom": { "@version": "1.0 ", "success": true, "stats": { "created": 1, "updated": 0, "deleted": 0, "skipped": 0, "failed": 0 }, "results": [ { "id": 1638 } ] } }
alebo 400 Zlá požiadavka
{ "winstrom": { "@version": 1, "success": false, "message": "No items found suitable for ordering." } }
ak nie je možné objednať žiadnu z predložených položiek.
2. Viac objednávok na adrese resource /order/items
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", "orderPositions":[{"doctype": "code:OBV", "vendorFirm": "code:AAA", "positionsObp":[{"id":3709, "quantity":2},{"id":3711, "quantity":3}]},{"typDokl": "kód:OBV", "dodávateľFirma": "kód:ABC", "polozkyObp":[{"id":3715, "mnozstvi":4},{"id":3717, "mnozstvi":5}]}]}}' -u admin:adminadmin | jq
posiela údaje vo formáte
null
{ "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 zdroj /order/bulk
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":{"typeDoc": "code:OBV"}}}' -u admin:adminadmin | jq
posiela údaje vo formáte
{ "winstrom": { "@version": "1.0", "objednaniHromadne": { "typDoc": "code:OBV" } } }
alebo podobne 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 parametrom dotazu typeDocl=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 Zlá požiadavka
{ "winstrom": { "@version": 1, "success": false, "message": "No items found suitable for ordering." } }