Newer
Older

Jan Reher
committed
#include <vector>
#include <iostream>
#include <QtCore/QString>
#include <QtXml/QXmlStreamWriter>
#include "productiondatabaseclient.h"

Jan Reher
committed
ProductionDatabase::ProductionDatabaseClient *proddbclient;
void initialize();
void screeningInfo();
void assignApds(std::string redSerial, std::string blueSerial);
void assignUnit(std::string detectorSerial, std::string crystalSerial, std::string barcode);

Jan Reher
committed
int main() {
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
initialize();
assignApds("0607004597", "0607004598" );
assignApds("0607004600", "0607004601" );
assignUnit("0607004598/0607004597","790","1309009220");
assignUnit("0607004601/0607004600","790","1309009237");
return 0;
}
void initialize() {
proddbclient = new ProductionDatabase::ProductionDatabaseClient();
std::cerr << proddbclient->getVersionShort() << std::endl;
proddbclient->queryCredentials();
proddbclient->checkConnectivityAndCredentials();
}
void assignUnit(std::string detectorSerial, std::string crystalSerial, std::string barcode) {
QString buffer;
QXmlStreamWriter xml ( &buffer );
xml.setAutoFormatting(true);
xml.writeStartDocument( QString::fromUtf8( "1.0" ) );
xml.writeStartElement( QString::fromUtf8( "productiondb" ) ) ;
xml.writeTextElement( QString::fromUtf8( "detectorSerial" ), QString::fromStdString( detectorSerial ) );
xml.writeTextElement( QString::fromUtf8( "crystalSerial" ), QString::fromStdString( crystalSerial ) );
xml.writeTextElement( QString::fromUtf8( "barcode" ), QString::fromStdString( barcode ) );
xml.writeEndDocument();
std::string xmlRequest = buffer.toStdString();
std::cerr << xmlRequest << std::endl;
proddbclient->postXmlRequest("unit_assemble.php", xmlRequest);
}
void assignApds(std::string redSerial, std::string blueSerial) {
QString buffer;
QXmlStreamWriter xml ( &buffer );
xml.setAutoFormatting(true);
xml.writeStartDocument( QString::fromUtf8( "1.0" ) );
xml.writeStartElement( QString::fromUtf8( "productiondb" ) ) ;
xml.writeTextElement( QString::fromUtf8( "redSerial" ), QString::fromStdString( redSerial ) );
xml.writeTextElement( QString::fromUtf8( "blueSerial" ), QString::fromStdString( blueSerial ) );
xml.writeEndDocument();
std::string xmlRequest = buffer.toStdString();
std::cerr << xmlRequest << std::endl;
proddbclient->postXmlRequest("detector_assemble.php", xmlRequest);
}
void screeningInfo() {

Jan Reher
committed
std::vector<QString> apds;
apds.push_back(QString::fromUtf8("0608004648"));
apds.push_back(QString::fromUtf8("APD123"));
apds.push_back(QString::fromUtf8("APD456"));

Jan Reher
committed
QString buffer;
QXmlStreamWriter xml ( &buffer );
xml.setAutoFormatting ( true );
xml.writeStartDocument ( QString::fromUtf8 ( "1.0" ) );
xml.writeStartElement ( QString::fromUtf8 ( "productiondb" ) );
xml.writeStartElement ( QString::fromUtf8 ( "elements" ) );
int j = 1;
for ( auto i = apds.begin(); i != apds.end(); i++, j++ ) {
xml.writeStartElement ( QString::fromUtf8 ( "apd" ) );
xml.writeTextElement ( QString::fromUtf8 ( "serial" ), *i );
xml.writeTextElement ( QString::fromUtf8 ( "u_m100_warm" ), QString::number( 100.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "u_m100_cold" ), QString::number( 100.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m100_warm" ), QString::number( 10.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m100_cold" ), QString::number( 10.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "u_m150_warm" ), QString::number( 150.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "u_m150_cold" ), QString::number( 150.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m150_warm" ), QString::number( 15.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m150_cold" ), QString::number( 15.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "u_m200_warm" ), QString::number( 200.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "u_m200_cold" ), QString::number( 200.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m200_warm" ), QString::number( 20.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m200_cold" ), QString::number( 20.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "u_m300_warm" ), QString::number( 300.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "u_m300_cold" ), QString::number( 300.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m300_warm" ), QString::number( 30.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "s_m300_cold" ), QString::number( 30.4 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "ubreak_warm" ), QString::number( 30.3 + j ) );
xml.writeTextElement ( QString::fromUtf8 ( "ubreak_cold" ), QString::number( 30.4 + j ) );

Jan Reher
committed
xml.writeEndElement();
}
xml.writeEndDocument(); // This closes all open tags automatically.
std::string xmlRequest = buffer.toStdString();
std::cerr << xmlRequest << std::endl;
// ProductionDatabase::ProductionDatabaseClient *proddbclient = new ProductionDatabase::ProductionDatabaseClient();
// std::cerr << proddbclient->getVersionShort() << std::endl;
// proddbclient->queryCredentials();
// proddbclient->checkConnectivityAndCredentials();
// proddbclient->postXmlRequest("apd_enter_characteristics.php", xmlRequest);