diff --git a/openapi.yaml b/openapi.yaml index 676b0ac..f129fb7 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -5,6 +5,7 @@ info: version: "2.0.0" paths: +# -------------------------------------------------------------------------------------------------- /pdb/v2/baseItem/{articleNumber}: get: tags: [ "Regular" ] @@ -42,6 +43,7 @@ paths: $ref: "#/components/responses/clientSideError" 500: $ref: "#/components/responses/serverSideError" +# -------------------------------------------------------------------------------------------------- /pdb/v2/productionOrderItem/{productionOrder}: get: tags: [ "Regular" ] @@ -85,6 +87,7 @@ paths: $ref: "#/components/responses/clientSideError" 500: $ref: "#/components/responses/serverSideError" +# -------------------------------------------------------------------------------------------------- /pdb/v2/converterItem/{serialNumber}: get: tags: [ "Regular" ] @@ -154,6 +157,57 @@ paths: $ref: "#/components/responses/clientSideError" 500: $ref: "#/components/responses/serverSideError" +# -------------------------------------------------------------------------------------------------- + /pdb/v2/pcbItem/{serialNumbers}: + get: + tags: [ "Regular" ] + operationId: Regular.pcbItem + summary: Returns pcbItem entries + description: | + ``` + DATABASETAGBEGIN + pdb_el_reader1 + DATABASETAGEND + STATEMENTBEGIN + SELECT + sn.seriennummer AS serial_number + ,CAST(sn.produktionsauftrag AS INT) AS production_order + ,sn.n AS batch_index + ,(CASE WHEN auftraege.artikelcode LIKE 'T%' THEN CAST(SUBSTRING(auftraege.artikelcode, 2) AS INT) ELSE CAST(auftraege.artikelcode AS INT) END) AS article_code + ,(CASE WHEN ISNULL(ems.Seriennummer) THEN auftraege.IX ELSE ems.Equi_index END) AS bom_index + ,(CASE WHEN ISNULL(ems.Seriennummer) THEN FALSE ELSE TRUE END) AS has_ems_update + ,stammdaten.bezeichnung AS description + ,(CASE WHEN modulindex.modulindex = "" THEN NULL ELSE modulindex.modulindex END) AS module_index + FROM sn + JOIN auftraege ON sn.produktionsauftrag = auftraege.produktionsauftrag + JOIN stammdaten ON auftraege.artikelcode = stammdaten.Artikelcode + LEFT JOIN ems ON sn.seriennummer = ems.Seriennummer + LEFT JOIN modulindex ON sn.seriennummer = modulindex.sn_lp + WHERE + FIND_IN_SET(sn.seriennummer, @serialNumbers) != 0 + STATEMENTEND + ``` + parameters: + - name: serialNumbers + in: query + required: true + schema: + type: array + items: + type: integer + responses: + 200: + description: Here are your pcbItem items + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/pcbItem" + 400: + $ref: "#/components/responses/clientSideError" + 500: + $ref: "#/components/responses/serverSideError" components: responses: @@ -188,6 +242,7 @@ components: offensiveData: description: Input data which causes this error type: string +# -------------------------------------------------------------------------------------------------- baseItem: description: Selected columns of the stammdaten table from pdb_el type: object @@ -200,6 +255,7 @@ components: nullable: true description: type: string +# -------------------------------------------------------------------------------------------------- productionOrderItem: description: Selected columns of the auftraege table from pdb_el type: object @@ -225,6 +281,7 @@ components: referenceDocument: type: string nullable: true +# -------------------------------------------------------------------------------------------------- converterItem: description: converter items selected by serial number type: object @@ -316,4 +373,29 @@ components: deliveryDate: type: dateTime nullable: true - + pcbItem: + serialNumber: + type: integer + nullable: true + productionOrder: + type: integer + nullable: true + batchIndex: + type: integer + nullable: true + articleCode: + type: integer + nullable: true + bomIndex: + type: integer + nullable: true + hasEmsUpdate: + type: boolean + nullable: true + description: + type: string + nullable: true + moduleIndex: + type: string + nullable: true +