416 lines
14 KiB
YAML
416 lines
14 KiB
YAML
openapi: 3.0.3
|
|
|
|
info:
|
|
title: Generic Database API Service
|
|
version: "2.0.0"
|
|
|
|
paths:
|
|
# --------------------------------------------------------------------------------------------------
|
|
/pdb/v2/baseItem/{articleNumber}:
|
|
get:
|
|
tags: [ "Regular" ]
|
|
operationId: Regular.baseItem
|
|
summary: Returns baseItem entries
|
|
description: |
|
|
```
|
|
DATABASETAGBEGIN
|
|
pdb_el_reader1
|
|
DATABASETAGEND
|
|
STATEMENTBEGIN
|
|
SELECT Artikelcode AS articleNumber,
|
|
Art AS category,
|
|
bezeichnung AS description
|
|
FROM stammdaten
|
|
WHERE Artikelcode = @articleNumber
|
|
STATEMENTEND
|
|
```
|
|
parameters:
|
|
- name: articleNumber
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: Here are your baseItem items
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/baseItem"
|
|
400:
|
|
$ref: "#/components/responses/clientSideError"
|
|
500:
|
|
$ref: "#/components/responses/serverSideError"
|
|
# --------------------------------------------------------------------------------------------------
|
|
/pdb/v2/productionOrderItem/{productionOrder}:
|
|
get:
|
|
tags: [ "Regular" ]
|
|
operationId: Regular.productionOrderItem
|
|
summary: Returns productionOrderItem entries
|
|
description: |
|
|
```
|
|
DATABASETAGBEGIN
|
|
pdb_el_reader1
|
|
DATABASETAGEND
|
|
STATEMENTBEGIN
|
|
SELECT
|
|
CAST(auftraege.produktionsauftrag AS INT) AS productionOrder
|
|
,auftraege.artikelcode AS articleCode
|
|
,(CASE WHEN ISNULL(anonyme_cg_geraete.C_Nummer) THEN FALSE ELSE TRUE END) AS isAnonymous
|
|
,(CASE WHEN ISNULL(anonyme_cg_geraete.Artikelcode) THEN (CASE WHEN auftraege.C_Nummer = \"\" THEN NULL ELSE auftraege.C_Nummer END) ELSE anonyme_cg_geraete.C_Nummer END) AS cgNumber
|
|
,auftraege.stueckzahl AS numberOfPieces
|
|
,auftraege.IX AS bomIndex
|
|
,auftraege.referenz_dokument AS referenceDocument
|
|
FROM auftraege
|
|
LEFT JOIN anonyme_cg_geraete ON auftraege.artikelcode = anonyme_cg_geraete.Artikelcode
|
|
WHERE auftraege.produktionsauftrag = @productionOrder
|
|
STATEMENTEND
|
|
```
|
|
parameters:
|
|
- name: productionOrder
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
200:
|
|
description: Here are your productionOrderItem items
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/productionOrderItem"
|
|
400:
|
|
$ref: "#/components/responses/clientSideError"
|
|
500:
|
|
$ref: "#/components/responses/serverSideError"
|
|
# --------------------------------------------------------------------------------------------------
|
|
/pdb/v2/converterItem/{serialNumber}:
|
|
get:
|
|
tags: [ "Regular" ]
|
|
operationId: Regular.converterItem
|
|
summary: Returns converterItem entries
|
|
description: |
|
|
```
|
|
DATABASETAGBEGIN
|
|
pdb_el_reader1
|
|
DATABASETAGEND
|
|
STATEMENTBEGIN
|
|
SELECT
|
|
geraete_daten.seriennummer AS serialNumber
|
|
,CAST(geraete_daten.produktionsauftrag AS INT) AS productionOrder
|
|
,(CASE WHEN geraete_daten.sn_lp1 = 0 THEN NULL ELSE geraete_daten.sn_lp1 END) AS snPcb1
|
|
,(CASE WHEN geraete_daten.sn_lp2 = 0 THEN NULL ELSE geraete_daten.sn_lp2 END) AS snPcb2
|
|
,(CASE WHEN geraete_daten.sn_lp3 = 0 THEN NULL ELSE geraete_daten.sn_lp3 END) AS snPcb3
|
|
,(CASE WHEN geraete_daten.sn_lp4 = 0 THEN NULL ELSE geraete_daten.sn_lp4 END) AS snPcb4
|
|
,(CASE WHEN geraete_daten.sn_lp5 = 0 THEN NULL ELSE geraete_daten.sn_lp5 END) AS snPcb5
|
|
,(CASE WHEN geraete_daten.sn_lp6 = 0 THEN NULL ELSE geraete_daten.sn_lp6 END) AS snPcb6
|
|
,(CASE WHEN geraete_daten.sn_lp7 = 0 THEN NULL ELSE geraete_daten.sn_lp7 END) AS snPcb7
|
|
,(CASE WHEN geraete_daten.sn_lp8 = 0 THEN NULL ELSE geraete_daten.sn_lp8 END) AS snPcb8
|
|
,(CASE WHEN geraete_daten.sn_lp9 = 0 THEN NULL ELSE geraete_daten.sn_lp9 END) AS snPcb9
|
|
,(CASE WHEN geraete_daten.sn_lp10 = 0 THEN NULL ELSE geraete_daten.sn_lp10 END) AS snPcb10
|
|
,(CASE WHEN geraete_daten.ERev_geplant = \"\" THEN NULL ELSE geraete_daten.ERev_geplant END) AS erPlanned
|
|
,(CASE WHEN geraete_daten.ERev_gefertigt = \"\" THEN NULL ELSE geraete_daten.ERev_gefertigt END) AS erProduced
|
|
,(CASE WHEN ISNULL(geraete_daten.ausliefer_datum) THEN FALSE ELSE TRUE END) AS isRework
|
|
,auftraege.artikelcode AS articleCode
|
|
,(CASE WHEN ISNULL(anonyme_cg_geraete.C_Nummer) THEN FALSE ELSE TRUE END) AS isAnonymous
|
|
,(CASE WHEN ISNULL(anonyme_cg_geraete.Artikelcode) THEN (CASE WHEN auftraege.C_Nummer = \"\" THEN NULL ELSE auftraege.C_Nummer END) ELSE anonyme_cg_geraete.C_Nummer END) AS cgNumber
|
|
,(CASE WHEN ISNULL(ems.Seriennummer) THEN auftraege.IX ELSE ems.Equi_index END) AS bomIndex
|
|
,(CASE WHEN ISNULL(ems.Seriennummer) THEN FALSE ELSE TRUE END) AS hasEmsUpdate
|
|
,FALSE AS isTestConverter
|
|
,geraete_daten.montagedatum AS initialTestDate
|
|
,(CASE WHEN geraete_daten.ergebnis_erstinbetriebnahme = \"PASS\" THEN TRUE ELSE FALSE END) AS initialTestResult
|
|
,geraete_daten.hv_test_datum AS hvTestDate
|
|
,(CASE WHEN geraete_daten.hv_test_ergebnis = \"PASS\" THEN TRUE ELSE FALSE END) AS hvTestResult
|
|
,geraete_daten.temp_test_datum AS temperatureTestDate
|
|
,(CASE WHEN geraete_daten.temp_test_ergebnis = \"PASS\" THEN TRUE ELSE FALSE END) AS temperatureTestResult
|
|
,geraete_daten.kalibrierung_datum AS calibrationDate
|
|
,(CASE WHEN geraete_daten.kalibrierung_ergebnis = \"PASS\" THEN TRUE ELSE FALSE END) AS calibrationResult
|
|
,geraete_daten.ausliefer_datum AS deliveryDate
|
|
FROM geraete_daten
|
|
JOIN auftraege ON geraete_daten.produktionsauftrag = auftraege.produktionsauftrag
|
|
LEFT JOIN anonyme_cg_geraete ON auftraege.artikelcode = anonyme_cg_geraete.Artikelcode
|
|
LEFT JOIN ems ON geraete_daten.seriennummer = ems.Seriennummer
|
|
WHERE
|
|
geraete_daten.seriennummer = @serialNumber
|
|
STATEMENTEND
|
|
```
|
|
parameters:
|
|
- name: serialNumber
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
responses:
|
|
200:
|
|
description: Here are your converterItem items
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/converterItem"
|
|
400:
|
|
$ref: "#/components/responses/clientSideError"
|
|
500:
|
|
$ref: "#/components/responses/serverSideError"
|
|
# --------------------------------------------------------------------------------------------------
|
|
/pdb/v2/pcbItem:
|
|
get:
|
|
tags: [ "Regular" ]
|
|
operationId: Regular.pcbItem
|
|
summary: Returns pcbItem entries
|
|
description: |
|
|
```
|
|
DATABASETAGBEGIN
|
|
pdb_el_reader1
|
|
DATABASETAGEND
|
|
BINDINGHINTBEGIN
|
|
stringreplacement
|
|
BINDINGHINTEND
|
|
STATEMENTBEGIN
|
|
SELECT
|
|
sn.seriennummer AS serialNumber
|
|
,CAST(sn.produktionsauftrag AS INT) AS productionOrder
|
|
,sn.n AS batchIndex
|
|
,(CASE WHEN auftraege.artikelcode LIKE 'T%' THEN CAST(SUBSTRING(auftraege.artikelcode, 2) AS INT) ELSE CAST(auftraege.artikelcode AS INT) END) AS articleCode
|
|
,(CASE WHEN ISNULL(ems.Seriennummer) THEN auftraege.IX ELSE ems.Equi_index END) AS bomIndex
|
|
,(CASE WHEN ISNULL(ems.Seriennummer) THEN FALSE ELSE TRUE END) AS hasEmsUpdate
|
|
,stammdaten.bezeichnung AS description
|
|
,(CASE WHEN modulindex.modulindex = \"\" THEN NULL ELSE modulindex.modulindex END) AS moduleIndex
|
|
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
|
|
sn.seriennummer in (@serialNumbers)
|
|
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:
|
|
clientSideError:
|
|
description: There is something wrong with the data you sent, look into the response object for details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/errorResultObject"
|
|
serverSideError:
|
|
description: Internal Server Error, look into the response object for details
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/errorResultObject"
|
|
schemas:
|
|
errorResultObject:
|
|
description: Object returned in case of an error
|
|
properties:
|
|
errorCode:
|
|
description: repeat the http error code
|
|
type: integer
|
|
serviceErrorCode:
|
|
description: service-specific error code
|
|
type: integer
|
|
errorMessage:
|
|
description: human-readable error message
|
|
type: string
|
|
errorInfoURL:
|
|
description: URL to some more information on the error
|
|
type: string
|
|
offensiveData:
|
|
description: Input data which causes this error
|
|
type: string
|
|
caughtException:
|
|
description: caught exception as a string
|
|
type: string
|
|
caughtExceptionMessage:
|
|
description: message of caught exception
|
|
type: string
|
|
# --------------------------------------------------------------------------------------------------
|
|
baseItem:
|
|
description: Selected columns of the stammdaten table from pdb_el
|
|
type: object
|
|
properties:
|
|
articleNumber:
|
|
type: string
|
|
nullable: true
|
|
category:
|
|
type: string
|
|
nullable: true
|
|
description:
|
|
type: string
|
|
# --------------------------------------------------------------------------------------------------
|
|
productionOrderItem:
|
|
description: Selected columns of the auftraege table from pdb_el
|
|
type: object
|
|
properties:
|
|
productionOrder:
|
|
type: integer
|
|
nullable: true
|
|
articleCode:
|
|
type: string
|
|
nullable: true
|
|
isAnonymous:
|
|
type: boolean
|
|
nullable: true
|
|
cgNumber:
|
|
type: string
|
|
nullable: true
|
|
numberOfPieces:
|
|
type: integer
|
|
nullable: true
|
|
bomIndex:
|
|
type: string
|
|
nullable: true
|
|
referenceDocument:
|
|
type: string
|
|
nullable: true
|
|
# --------------------------------------------------------------------------------------------------
|
|
converterItem:
|
|
description: converter items selected by serial number
|
|
type: object
|
|
properties:
|
|
serialNumber:
|
|
type: integer
|
|
nullable: true
|
|
productionOrder:
|
|
type: integer
|
|
nullable: true
|
|
snPcb1:
|
|
type: integer
|
|
nullable: true
|
|
snPcb2:
|
|
type: integer
|
|
nullable: true
|
|
snPcb3:
|
|
type: integer
|
|
nullable: true
|
|
snPcb4:
|
|
type: integer
|
|
nullable: true
|
|
snPcb5:
|
|
type: integer
|
|
nullable: true
|
|
snPcb6:
|
|
type: integer
|
|
nullable: true
|
|
snPcb7:
|
|
type: integer
|
|
nullable: true
|
|
snPcb8:
|
|
type: integer
|
|
nullable: true
|
|
snPcb9:
|
|
type: integer
|
|
nullable: true
|
|
snPcb10:
|
|
type: integer
|
|
nullable: true
|
|
erPlanned:
|
|
type: string
|
|
nullable: true
|
|
erProduced:
|
|
type: string
|
|
nullable: true
|
|
isRework:
|
|
type: boolean
|
|
nullable: true
|
|
articleCode:
|
|
type: string
|
|
nullable: true
|
|
isAnonymous:
|
|
type: boolean
|
|
nullable: true
|
|
cgNumber:
|
|
type: string
|
|
nullable: true
|
|
bomIndex:
|
|
type: string
|
|
nullable: true
|
|
hasEmsUpdate:
|
|
type: boolean
|
|
nullable: true
|
|
isTestConverter:
|
|
type: boolean
|
|
nullable: true
|
|
initialTestDate:
|
|
type: dateTime
|
|
nullable: true
|
|
initialTestResult:
|
|
type: boolean
|
|
nullable: true
|
|
hvTestDate:
|
|
type: dateTime
|
|
nullable: true
|
|
hvTestResult:
|
|
type: boolean
|
|
nullable: true
|
|
temperatureTestDate:
|
|
type: dateTime
|
|
nullable: true
|
|
temperatureTestResult:
|
|
type: boolean
|
|
nullable: true
|
|
calibrationDate:
|
|
type: dateTime
|
|
nullable: true
|
|
deliveryDate:
|
|
type: dateTime
|
|
nullable: true
|
|
# --------------------------------------------------------------------------------------------------
|
|
pcbItem:
|
|
description: pcb items selected by serial number
|
|
type: object
|
|
properties:
|
|
serialNumber:
|
|
type: integer
|
|
nullable: true
|
|
productionOrder:
|
|
type: integer
|
|
nullable: true
|
|
batchIndex:
|
|
type: integer
|
|
nullable: true
|
|
articleCode:
|
|
type: integer
|
|
format: int64
|
|
nullable: true
|
|
bomIndex:
|
|
type: string
|
|
nullable: true
|
|
hasEmsUpdate:
|
|
type: boolean
|
|
nullable: true
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
moduleIndex:
|
|
type: string
|
|
nullable: true
|
|
|