DataIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
EVypocetCenyStruct.h
Go to the documentation of this file.
1 #if !defined EVYPOCETCENY_STRUCT_H
2 #define EVYPOCETCENY_STRUCT_H
3 
4 #include "dataio/DataIODefines.h"
5 #include "core/common/Node.h"
6 #include "core/common/EDate.h"
7 #include "dataio/datainput/EZastavka.h"
8 #include "dataio/datainput/EPrestupSpoj.h"
9 #include <vector>
10 
11 namespace EM
12 {
13  namespace Strojcek
14  {
15  namespace VstupneUdaje
16  {
17  namespace CestovnePoriadky
18  {
19  class ELinka;
20  class ESpoj;
21  class ELinkaZastavka;
22  }
23 
24  namespace TarifnySystem
25  {
26  class ETarifa;
27  }
28 
29  using namespace CestovnePoriadky;
30  using namespace TarifnySystem;
31 
32  class CappingInformationData
33  {
34  public:
35  bool mCappingSystemEnabled;
36  unsigned short mCappingSystemDailyLimitAmount;
37  unsigned short mCappingSystemWeeklyLimitAmount;
38  unsigned short mCappingCardDailySum;
39  unsigned short mCappingCardWeeklySum;
40  unsigned long mCappingCardDailyDate;
41  unsigned long mCappingCardWeeklyDate;
42  unsigned short mCappingProvider;
43  char mCappingProviderType;
44  bool mIsCappedPrice;
45  bool mFlagTripOptimization;
46 
47  CappingInformationData();
48  CappingInformationData( const CappingInformationData &rhs );
49 
50  void Clear();
51  };
52 
53  struct DATAIO_API _VSTUPNA_STRUKTURA
54  {
55  _VSTUPNA_STRUKTURA();
56  _VSTUPNA_STRUKTURA( const _VSTUPNA_STRUKTURA &rhs );
57  ~_VSTUPNA_STRUKTURA();
58 
59  long linkaCislo;
60  unsigned short spojCislo;
61  unsigned short poradieNastup; //LinkaZastavkaPoradie
62  unsigned short poradieVystup; //LinkaZastavkaPoradie
63  unsigned short cisloTarify;
64 
65  /*
66  * Payment type for price calculation (subset of all payment types)
67  *
68  * PaymentCash = 0,
69  * PaymentChipCard = 1,
70  * PaymentAggregationEMVCard = 2,
71  */
72  unsigned char paymentType;
73  unsigned char typVydaja;
74  unsigned char typKartyID;
75  unsigned long zastavkaIDNastup; //obsolete, use ZastavkaPoradieNastup
76  unsigned long zastavkaIDVystup; //obsolete, use ZastavkaPoradieVystup
77  unsigned char zavodVlastny;
78  unsigned char nocna;
79  unsigned char spicka;
80  unsigned char denVTyzdni;
81  unsigned char vyber;
82  unsigned char pasmoPoradieManual;
83  unsigned short kmManual;
84  unsigned char kmManualPouzit;
85  unsigned char cisloTarifnejSkupiny;//nepovinne(pouziva sa ak niesu zastavky,pripadne linka)
86  Common::EDate datumPlatnosti;
87  unsigned char vedlajsiaTarifnaSkupina;//ci pouzit vedlajsiu tarifnu skupinu
88  unsigned short zony[20];
89  unsigned char cisloTrasy; //cislo trasy zavedene od computePriceDE
90 
91  public:
93  {
94  FLAG_TYP_VYPOCTU_STD = 0,
95  FLAG_TYP_VYPOCTU_CROSSTRANSFER = 1,
96  FLAG_TYP_VYPOCTU_NOT_DIVIDED_CONTINUOUS_TRIP = 2
97 
98  };
99  _VSTUPNA_STRUKTURA &operator=( _VSTUPNA_STRUKTURA &rhs );
100 
101  public:
102  void Clear();
103 
104  public:
105  void SetMenaID( char menaID );
106  char GetMenaID();
107  unsigned long GetAplikacia();
108  void SetAplikacia( unsigned long application );
109 
110  void Add( EPrestupSpoj prestupSpoj );
111  std::vector<EPrestupSpoj> GetPrestup();
112  void ClearPrestupy();
113 
114  void SetPocetDni( unsigned short pocetDni );
115  unsigned short GetPocetDni();
116 
117  void SetZastavkaPoradieNastup( int value );
118  int GetZastavkaPoradieNastup();
119  void SetZastavkaPoradieVystup( int value );
120  int GetZastavkaPoradieVystup();
121 
127  void SetZonaNastup( short value );
128  short GetZonaNastup();
129 
135  void SetZonaVystup( short value );
136  short GetZonaVystup();
137 
141  void SetFlagVypoctu( int flagVypoctu );
142  int GetFlagVypoctu();
143 
147  void SetUzZaplatenaCena( int uzZaplatenaCena );
148  int GetUzZaplatenaCena();
149 
150  void SetCas( int cas );//cas trvania , pre vypocet ceny podla casu
151  int GetCas();
152 
158  bool GetVystup();
159  void SetVystup( bool vystup );
160 
164  void SetPersonalIdentificationNumber( const unsigned long personalIdentificationNumber );
165  unsigned long GetPersonalIdentificationNumber() const;
166 
172  void SetTravelTimeOfPaidIssuedTicketSegments( long travelTimeOfPaidIssuedTicketSegments );
173  long GetTravelTimeOfPaidIssuedTicketSegments();
174 
175  void SetCappingInformationData( CappingInformationData cappingInformation );
176  CappingInformationData GetCappingInformationData();
177 
178  private:
179  class DataClass;
180  DataClass *d;
181  };
182 
183  struct EVstupy : public EEMObject
184  {
185  EVstupy() : datumPlatnosti()
186  {
187  linkaCislo = 0;
188  spojCislo = 0;
189  poradieNastup = 0;
190  poradieVystup = 0;
191  cisloTarify = 0;
192  paymentType = 0;
193  typVydaja = 0;
194  typKartyID = 0;
195  zavodVlastny = 0;
196  nocna = 0;
197  spicka = 0;
198  denVTyzdni = 0;
199  vyber = 0;
200  pasmoPoradieManual = 0;
201  kmManual = 0;
202  kmManualPouzit = 0;
203  line = NULL;
204  trip = NULL;
205  checkInLineBusStop = NULL;
206  checkOutLineBusStop = NULL;
207  cisloTS = 0;
208  cenovaSkupina = 0;
209  vedlajsiaTarifnaSkupina = 0;
210  zastavkaNastup = NULL;
211  zastavkaVystup = NULL;
212  useZastID = 0;
213  }
214 
215  EVstupy( const EVstupy &rhs );
216  EVstupy( EVstupy &rhs );
217  EVstupy &operator=( EVstupy &rhs );
218  EVstupy &operator=( const EVstupy &rhs );
219 
220  long linkaCislo;
221  unsigned short spojCislo;
222  // line order
223  unsigned short poradieNastup;
224  // line order
225  unsigned short poradieVystup;
226  unsigned short cisloTarify;
227 
228  /*
229  * Payment type for price calculation (subset of all payment types)
230  *
231  * PaymentCash = 0,
232  * PaymentChipCard = 1,
233  * PaymentAggregationEMVCard = 2,
234  */
235  unsigned char paymentType;
236  unsigned char typVydaja;
237  unsigned char typKartyID;
238  unsigned char zavodVlastny;
239  unsigned char nocna;
240  unsigned char spicka;
241  unsigned char denVTyzdni;
242  unsigned char vyber;
243  unsigned char pasmoPoradieManual;
244  unsigned short kmManual;
245  unsigned char kmManualPouzit;
246  ELinka *line;
247  ESpoj *trip;
248  ELinkaZastavka *checkInLineBusStop;
249  ELinkaZastavka *checkOutLineBusStop;
250  int cisloTS; //CisloTarifnejSkupinu(bud nast or vyst podla ktorek bezi vypocet)
251  int cenovaSkupina;
252  Common::EDate datumPlatnosti;
253  unsigned char vedlajsiaTarifnaSkupina;//ci pouzit vedlajsiu tarifnu skupinu
254 
255  int GetZCP( _VSTUPNA_STRUKTURA *vs );
256 
257  EZastavka *zastavkaNastup; //toto pridal tomas
258  EZastavka *zastavkaVystup; //toto pridal tomas
259  bool useZastID;//puzivaju sa zastavky ID , nie poradia na linke
260  };
261 
262  class EPriebehData;
263 
264  class EListokTarifa : public ENode
265  {
266  public :
267  EListokTarifa() : PriebehData( NULL )
268  {
269  linkaCislo = 0;
270  spojCislo = 0;
271  linkaZastavkaPoradieNastup = 0;
272  zastavkaPoradieNastup = 0;
273  linkaZastavkaPoradieVystup = 0;
274  zastavkaPoradieVystup = 0;
275  cisloTarify = 0;
276  pasmo = 0;
277  km = 0;
278  spoj = NULL;
279  linka = NULL;
280  cena = 0;
281  koeficientMeny = 0.0;
282  menaID = 0;
283  tarifa = NULL;
284  CasPlatnosti = 0;
285  }
286 
287  ~EListokTarifa();
288 
289  long linkaCislo;
290  unsigned short spojCislo;
291  unsigned short linkaZastavkaPoradieNastup;
292  unsigned short linkaZastavkaPoradieVystup;
293  // poradove cislo nastupnej zastavky v kolekcii zastavok EZastavkaCol
294  unsigned short zastavkaPoradieNastup;
295  // poradove cislo vystupnej zastavky v kolekcii zastavok EZastavkaCol
296  unsigned short zastavkaPoradieVystup;
297  unsigned short cisloTarify;
298  unsigned char pasmo;
299  unsigned short km;
300  ESpoj *spoj;
301  ELinka *linka;
302  long cena;
303  float koeficientMeny;
304  unsigned char menaID;
305  ETarifa *tarifa;
306  unsigned short CasPlatnosti;
307 
308  EPriebehData *PriebehData;
309  };
310  }
311  }
312 }
313 
314 #endif
EListokTarifa()
Definition: EVypocetCenyStruct.h:267
EnmFlagVypoctu
Definition: EVypocetCenyStruct.h:92
Definition: EVypocetCenyStruct.h:32
Definition: EVypocetCeny.h:29
Definition: EVypocetCenyStruct.h:183
Definition: EVypocetCenyStruct.h:264
Class ECol : Objekt je predok pre vsetky nasledujuce kolekcie
Definition: ColReader.h:15
Definition: EVypocetCenyStruct.h:53
Definition: EPrestupSpoj.h:12
EVstupy()
Definition: EVypocetCenyStruct.h:185
#define DATAIO_API
Definition: DataIODefines.h:10