Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Reporter.h

Go to the documentation of this file.
00001 #ifndef REPORTER_INCLUDED
00002 #define REPORTER_INCLUDED
00003 
00004 #include <odem.h>
00005 #include <string>
00006 #include <fstream>
00007 #include <list>
00008 
00009 #include "CustomerRequest.h"
00010 
00011 struct ReportLine {
00012         int rNnumber;
00013         double startT;
00014         double endT;
00015         Treatment *treat;
00016         std::string material;
00017         int rings;
00018         int doneRings;
00019 
00020         ReportLine(const CustomerRequest& r): 
00021                                         treat(r.treatment), 
00022                                         rNnumber(r.getNumber()),
00023                                         startT(r.startTime),
00024                                         material(r.material),
00025                                         rings(r.getNumberOfRings()),
00026                                         doneRings(r.getNumberOfRings()-r.getOpenNumberOfRings()),
00027                                         endT(r.isDone()?r.endTime:0.0)
00028                                         {}
00029 
00030 };
00031 
00032 bool operator <(const ReportLine& first, const ReportLine& second);
00033 
00034 class Reporter : public Discrete {
00035 public:
00036         Buff_head *requestQ;                    // Sequenz bisher realisierter Aufträge
00037         Histo   *profile[6];                    // profil[0] - GesamtAufragsDauer 
00038                                                                         // für Veredelungstypen V,T,QT,TQT,             // Variante 1
00039                                                                         // profil[1] - GesamtAuftragsDauer 
00040                                                                         // für Veredelungstypen VE,NVE,                 // Variante 2
00041                                                                         // profil[2] - GesamtAuftragsDauer 
00042                                                                         // für Veredelungstypen NT,                             // Variante 3
00043                                                                         // profil[3] - GesamtAuftragsDauer 
00044                                                                         // für Veredelungstypen N,TN,                   // Variante 4
00045                                                                         // profil[4] - GesamtAuftragsDauer 
00046                                                                         // für Veredelungstypen GA,                             // Variante 5
00047                                                                         // profil[5] - GesamtAuftragsDauer 
00048                                                                         // für alle anderen Veredelungstypen (Unknown, Other)
00049         virtual int main();
00050 
00051         Reporter(char *n, Buff_head *r);
00052 
00053         void generateReport(std::ofstream& os);
00054         void allTreatments(std::ofstream& os);
00055 
00056 private:
00057         std::list<ReportLine> table;
00058 };
00059 
00060 
00061 #endif
00062 

Generated on Tue Apr 26 14:42:42 2005 for rollingmill by doxygen 1.3.6