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."
    }
}
Did this answer your question?