EN · DE · RU · FR · ES

#444: KostZuweisungenCopyHelper.java

projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungenCopyHelper.java Typ: Java · Rolle: Finanzbuchhaltung · Quelle: projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungenCopyHelper.java 62 Zeilen · 25 Code · 28 Kommentare · 9 leer
Quellcodedatei unter projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungenCopyHelper.java mit Java-Code für die Finanzbuchhaltungsebene.

Codestruktur

Paket: org.projectforge.business.fibu.kost

Klassen: KostZuweisungenCopyHelper

Methoden (1): copy

Importe: 2 Pakete

Quellcode (gekürzt)

package org.projectforge.business.fibu.kost;

import org.projectforge.business.fibu.AbstractRechnungsPositionDO;

import java.util.List;

public class KostZuweisungenCopyHelper
{
  private static final String[] IGNORE_FIELDS = { "rechnungsPosition" };

  public static void copy(final List<KostZuweisungDO> srcList, final AbstractRechnungsPositionDO destPosition)
  {
    final List<KostZuweisungDO> destList = destPosition.ensureAndGetKostzuweisungen();

    // zuerst jeden löschbaren Eintrag entfernen
    destList.removeIf(destPosition::isKostZuweisungDeletable);

    // dann Werte von src in dest-Eintrag kopieren oder neuen dest-Eintrag erstellen, falls nicht vorhanden
    if (srcList != null) {
      for (final KostZuweisungDO srcEntry : srcList) {
        final KostZuweisungDO destEntry;

        // prüft, ob destList bereits einen Eintrag enthält, der dem Quell-Eintrag hinsichtlich ihrer IDs und nicht unbedingt ihrer Werte entspricht
        // siehe KostZuweisungDO.equals()
        final int index = destList.indexOf(srcEntry);
        if (index >= 0) {
          // dest-Eintrag existiert bereits, abrufen
          destEntry = destList.get(index);
        } else {
          // neuen dest-Eintrag erstellen
          destEntry = new KostZuweisungDO();
          destPosition.addKostZuweisung(destEntry);
        }
        destEntry.copyValuesFrom(srcEntry, IGNORE_FIELDS);
      }
    }
  }

}

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quellcode-Dateiköpfe: 2024 -> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
5f7ef41b8 Copyright 2021 -> 2022