348 |
348 |
window.printMessage("- spoj: "+currentJoin);
|
349 |
349 |
|
350 |
350 |
Bitmap generatedBitmap = new Bitmap(dateFrom, dateTo, currentLine, currentJoin, currentTimeCode, spoj.hardCodesToString(pevnykod), spoj.getNumberLineVersion());
|
351 |
|
int numberOfTimeCodes = 0; //Počet časových kódu aplikovaných na daný spoj
|
|
351 |
int numberOfTimeCodes = 0; //Počet časových kódu daného spoje
|
|
352 |
int timeCodesInRange = 0; //Počet časových kódu aplikovaných na spoj
|
352 |
353 |
|
353 |
354 |
previousTimeCode = "";
|
354 |
355 |
|
355 |
356 |
for (JDFCaskodyRecord caskod : caskody) {
|
356 |
|
currentTimeCode = caskod.getTimeCode();
|
|
357 |
|
357 |
358 |
|
358 |
359 |
// Zda se jedná o aktuálně zkoumanou linku a spoj
|
359 |
360 |
if (currentLine.equals(caskod.getNumberLine()) && currentJoin.equals(caskod.getNumberJoin())) {
|
360 |
361 |
|
|
362 |
currentTimeCode = caskod.getTimeCode();
|
|
363 |
generatedBitmap.setTimeCode(currentTimeCode);
|
|
364 |
numberOfTimeCodes++;
|
|
365 |
|
|
366 |
// Pokud se jedná o stejný spoj, ale jiný časový kód vytvoř novou bitmapu a přidej předchozí
|
|
367 |
if (!currentTimeCode.equals(previousTimeCode) && isNumeric(currentTimeCode) && !previousTimeCode.equals("")) {
|
|
368 |
bitmaps.add(generatedBitmap);
|
|
369 |
generatedBitmap = new Bitmap(dateFrom, dateTo, currentLine, currentJoin, currentTimeCode, spoj.hardCodesToString(pevnykod), spoj.getNumberLineVersion());
|
|
370 |
}
|
361 |
371 |
|
362 |
|
//Pokud je zkoumaný časový kód v rozsahu bitmapy
|
363 |
|
if (isInRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate())) {
|
364 |
372 |
|
365 |
|
generatedBitmap.setTimeCode(currentTimeCode);
|
366 |
|
numberOfTimeCodes++;
|
367 |
|
hardCodeRange = setHardCodeRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate());
|
|
373 |
//Pokud je zkoumaný časový kód v rozsahu bitmapy
|
|
374 |
if (isInRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate())) {
|
|
375 |
timeCodesInRange++;
|
|
376 |
hardCodeRange = setHardCodeRange(dateFrom, dateTo, caskod.getStartDate(), caskod.getEndDate());
|
|
377 |
fillBitmap(generatedBitmap, hardCodeRange[0], hardCodeRange[1], Integer.parseInt(caskod.getTypeTimeCode()));
|
|
378 |
}
|
368 |
379 |
|
369 |
|
// Pokud se jedná o stejný spoj, ale jiný časový kód vytvoř novou bitmapu a přidej předchozí
|
370 |
|
if (!currentTimeCode.equals(previousTimeCode) && isNumeric(currentTimeCode) && !previousTimeCode.equals("")) {
|
371 |
|
bitmaps.add(generatedBitmap);
|
372 |
|
generatedBitmap = new Bitmap(dateFrom, dateTo, currentLine, currentJoin, currentTimeCode, spoj.hardCodesToString(pevnykod), spoj.getNumberLineVersion());
|
373 |
|
fillBitmap(generatedBitmap, hardCodeRange[0], hardCodeRange[1], Integer.parseInt(caskod.getTypeTimeCode()));
|
374 |
|
}
|
|
380 |
previousTimeCode = currentTimeCode;
|
|
381 |
}
|
|
382 |
}
|
375 |
383 |
|
376 |
|
else {
|
377 |
|
fillBitmap(generatedBitmap, hardCodeRange[0], hardCodeRange[1], Integer.parseInt(caskod.getTypeTimeCode()));
|
378 |
|
}
|
379 |
384 |
|
380 |
|
previousTimeCode = currentTimeCode;
|
381 |
385 |
|
382 |
|
}
|
383 |
|
}
|
|
386 |
//Pokud nemá žádné časové omezení a žádný pevnýkód -> naplň jedničkami
|
|
387 |
if (numberOfTimeCodes == 0 && spoj.getHardCodes().size() == 0) {
|
|
388 |
generatedBitmap.fillWithOnes();
|
|
389 |
bitmaps.add(generatedBitmap);
|
384 |
390 |
}
|
385 |
391 |
|
386 |
|
//Pokud nemá spoj žádná omezení -> napln bitmapu a přidej
|
387 |
|
if (numberOfTimeCodes == 0) {
|
|
392 |
//Pokud nemá spoj žádná omezení -> napln bitmapu podle pevnych kodu a přidej
|
|
393 |
else if (timeCodesInRange == 0 && spoj.getHardCodes().size() > 0) {
|
388 |
394 |
generatedBitmap.setHardCodeDays(dateFrom, dateTo, 1);
|
389 |
395 |
bitmaps.add(generatedBitmap);
|
390 |
396 |
}
|
Opraveny drobné odchylky od vzorových souborů v logice generovaní bitmap. (Re #7535)