Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 9ebc6f0f

Přidáno uživatelem Daniel Stuš před téměř 6 roky(ů)

Opraveny drobné odchylky od vzorových souborů v logice generovaní bitmap. (Re #7535)

Zobrazit rozdíly:

src/data/BitmapBuilder.java
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
                }

Také k dispozici: Unified diff