2021-12-07 12:02:22 +01:00
openapi : 3.0 .3
2021-11-18 19:27:39 +01:00
info :
2021-11-22 19:07:46 +01:00
title : Generic Database API Service
2021-11-26 16:51:09 +01:00
version : "2.0.0"
2021-11-18 19:27:39 +01:00
paths :
2021-12-14 14:17:51 +01:00
# --------------------------------------------------------------------------------------------------
2021-12-13 17:39:54 +01:00
/pdb/v2/baseItem/{articleNumber}:
2021-11-30 15:02:52 +01:00
get :
tags : [ "Regular" ]
2021-12-13 17:39:54 +01:00
operationId : Regular.baseItem
summary : Returns baseItem entries
2021-12-13 18:10:28 +01:00
description : |
```
2021-12-06 18:11:36 +01:00
DATABASETAGBEGIN
pdb_el_reader1
DATABASETAGEND
2021-11-30 19:09:22 +01:00
STATEMENTBEGIN
2021-11-30 19:24:06 +01:00
SELECT Artikelcode AS articleNumber,
Art AS category,
bezeichnung AS description
2021-11-30 19:09:22 +01:00
FROM stammdaten
WHERE Artikelcode = @articleNumber
STATEMENTEND
2021-12-13 18:10:28 +01:00
```
2021-11-30 19:09:22 +01:00
parameters :
- name : articleNumber
in : path
required : true
schema :
type : string
2021-11-30 15:02:52 +01:00
responses :
200 :
2021-12-13 17:39:54 +01:00
description : Here are your baseItem items
2021-12-02 14:28:53 +01:00
content :
application/json :
schema :
type : array
items :
2021-12-13 17:39:54 +01:00
$ref : "#/components/schemas/baseItem"
2021-12-02 14:28:53 +01:00
400 :
$ref : "#/components/responses/clientSideError"
500 :
$ref : "#/components/responses/serverSideError"
2021-12-14 14:17:51 +01:00
# --------------------------------------------------------------------------------------------------
2021-12-13 17:39:54 +01:00
/pdb/v2/productionOrderItem/{productionOrder}:
2021-12-02 14:28:53 +01:00
get :
tags : [ "Regular" ]
2021-12-13 17:39:54 +01:00
operationId : Regular.productionOrderItem
2021-12-02 14:28:53 +01:00
summary : Returns productionOrderItem entries
2021-12-13 18:10:28 +01:00
description : |
```
2021-12-06 18:11:36 +01:00
DATABASETAGBEGIN
pdb_el_reader1
DATABASETAGEND
2021-12-02 14:28:53 +01:00
STATEMENTBEGIN
2021-12-13 17:39:54 +01:00
SELECT
2021-12-13 18:01:06 +01:00
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
2021-12-02 14:28:53 +01:00
STATEMENTEND
2021-12-13 18:10:28 +01:00
```
2021-12-02 14:28:53 +01:00
parameters :
- name : productionOrder
in : path
required : true
schema :
2021-12-13 17:39:54 +01:00
type : integer
2021-12-02 14:28:53 +01:00
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"
2021-12-14 14:17:51 +01:00
# --------------------------------------------------------------------------------------------------
2021-12-14 12:59:41 +01:00
/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
2021-12-14 14:02:00 +01:00
, FALSE AS isTestConverter
2021-12-14 12:59:41 +01:00
, geraete_daten.montagedatum AS initialTestDate
2021-12-14 14:02:00 +01:00
, (CASE WHEN geraete_daten.ergebnis_erstinbetriebnahme = \"PASS\" THEN TRUE ELSE FALSE END) AS initialTestResult
2021-12-14 12:59:41 +01:00
, 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 :
2021-12-14 14:02:00 +01:00
- name : serialNumber
2021-12-14 12:59:41 +01:00
in : path
required : true
schema :
type : integer
responses :
200 :
2021-12-14 14:02:00 +01:00
description : Here are your converterItem items
2021-12-14 12:59:41 +01:00
content :
application/json :
schema :
type : array
items :
2021-12-14 14:02:00 +01:00
$ref : "#/components/schemas/converterItem"
2021-12-14 12:59:41 +01:00
400 :
$ref : "#/components/responses/clientSideError"
500 :
$ref : "#/components/responses/serverSideError"
2021-12-14 14:17:51 +01:00
# --------------------------------------------------------------------------------------------------
2021-12-14 18:11:57 +01:00
/pdb/v2/pcbItem :
2021-12-14 14:17:51 +01:00
get :
tags : [ "Regular" ]
operationId : Regular.pcbItem
summary : Returns pcbItem entries
description : |
```
DATABASETAGBEGIN
pdb_el_reader1
DATABASETAGEND
2021-12-15 14:58:24 +01:00
BINDINGHINTBEGIN
stringreplacement
BINDINGHINTEND
2021-12-14 14:17:51 +01:00
STATEMENTBEGIN
SELECT
2021-12-14 18:11:57 +01:00
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
2021-12-14 14:17:51 +01:00
, stammdaten.bezeichnung AS description
2021-12-14 18:11:57 +01:00
, (CASE WHEN modulindex.modulindex = \"\" THEN NULL ELSE modulindex.modulindex END) AS moduleIndex
2021-12-14 14:17:51 +01:00
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
2021-12-15 14:58:24 +01:00
sn.seriennummer in (@serialNumbers)
2021-12-14 14:17:51 +01:00
STATEMENTEND
```
parameters :
- name : serialNumbers
in : query
required : true
schema :
type : array
items :
2021-12-15 15:05:08 +01:00
type : integer
2021-12-14 14:17:51 +01:00
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"
2021-12-14 12:59:41 +01:00
2021-11-18 19:27:39 +01:00
components :
2021-12-02 12:32:33 +01:00
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"
2021-11-18 19:27:39 +01:00
schemas :
2021-12-02 09:26:27 +01:00
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
2021-12-02 11:59:10 +01:00
offensiveData :
description : Input data which causes this error
type : string
2021-12-15 14:58:24 +01:00
caughtException :
description : caught exception as a string
type : string
caughtExceptionMessage :
description : message of caught exception
type : string
2021-12-14 14:17:51 +01:00
# --------------------------------------------------------------------------------------------------
2021-12-13 17:39:54 +01:00
baseItem :
description : Selected columns of the stammdaten table from pdb_el
2021-11-30 19:24:06 +01:00
type : object
properties :
articleNumber :
type : string
2021-12-02 17:28:29 +01:00
nullable : true
2021-11-30 19:24:06 +01:00
category :
type : string
2021-12-02 17:28:29 +01:00
nullable : true
2021-11-30 19:24:06 +01:00
description :
type : string
2021-12-14 14:17:51 +01:00
# --------------------------------------------------------------------------------------------------
2021-12-13 17:39:54 +01:00
productionOrderItem :
description : Selected columns of the auftraege table from pdb_el
2021-12-02 14:28:53 +01:00
type : object
properties :
productionOrder :
2021-12-13 17:39:54 +01:00
type : integer
2021-12-02 17:28:29 +01:00
nullable : true
2021-12-13 17:39:54 +01:00
articleCode :
2021-12-02 14:28:53 +01:00
type : string
2021-12-02 17:28:29 +01:00
nullable : true
2021-12-13 17:39:54 +01:00
isAnonymous :
type : boolean
2021-12-02 17:28:29 +01:00
nullable : true
2021-12-13 17:39:54 +01:00
cgNumber :
2021-12-02 14:28:53 +01:00
type : string
2021-12-02 17:28:29 +01:00
nullable : true
2021-12-13 17:39:54 +01:00
numberOfPieces :
2021-12-02 14:28:53 +01:00
type : integer
2021-12-02 17:28:29 +01:00
nullable : true
2021-12-13 17:39:54 +01:00
bomIndex :
2021-12-02 14:28:53 +01:00
type : string
2021-12-02 17:28:29 +01:00
nullable : true
2021-12-13 17:39:54 +01:00
referenceDocument :
type : string
2021-12-02 17:28:29 +01:00
nullable : true
2021-12-14 14:17:51 +01:00
# --------------------------------------------------------------------------------------------------
2021-12-14 12:59:41 +01:00
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
2021-12-14 14:02:00 +01:00
isTestConverter :
2021-12-14 12:59:41 +01:00
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
2021-12-14 18:11:57 +01:00
# --------------------------------------------------------------------------------------------------
pcbItem :
description : pcb items selected by serial number
type : object
properties :
2021-12-14 14:17:51 +01:00
serialNumber :
type : integer
nullable : true
productionOrder :
type : integer
nullable : true
batchIndex :
type : integer
nullable : true
articleCode :
type : integer
2021-12-15 14:58:24 +01:00
format : int64
2021-12-14 14:17:51 +01:00
nullable : true
bomIndex :
2021-12-15 14:58:24 +01:00
type : string
2021-12-14 14:17:51 +01:00
nullable : true
hasEmsUpdate :
type : boolean
nullable : true
description :
type : string
nullable : true
moduleIndex :
type : string
nullable : true
2021-12-14 14:18:56 +01:00