EN · DE · RU · FR · ES

#444: KostZuweisungenCopyHelper.java

projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungenCopyHelper.java Тип: Java · Роль: Финансовый учёт · Источник: projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungenCopyHelper.java 62 строки · 25 кода · 28 комментариев · 9 пустых
Файл исходного кода в projectforge-business/src/main/java/org/projectforge/business/fibu/kost/KostZuweisungenCopyHelper.java, содержащий Java-код для уровня финансового учёта.

Структура кода

Пакет: org.projectforge.business.fibu.kost

Классы: KostZuweisungenCopyHelper

Методы (1): copy

Импорты: 2 пакета

Исходный код (сокращён)

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();

    // сначала удаляем все удаляемые записи
    destList.removeIf(destPosition::isKostZuweisungDeletable);

    // затем копируем значения из src в dest или создаём новую запись dest, если она не существует
    if (srcList != null) {
      for (final KostZuweisungDO srcEntry : srcList) {
        final KostZuweisungDO destEntry;

        // проверяет, содержит ли destList уже запись, равную исходной по ID (не обязательно по значениям)
        // см. KostZuweisungDO.equals()
        final int index = destList.indexOf(srcEntry);
        if (index >= 0) {
          // запись dest уже существует, получаем её
          destEntry = destList.get(index);
        } else {
          // создаём новую запись dest
          destEntry = new KostZuweisungDO();
          destPosition.addKostZuweisung(destEntry);
        }
        destEntry.copyValuesFrom(srcEntry, IGNORE_FIELDS);
      }
    }
  }

}

История Git

868d6abb7 2025 → 2026
63081666f Заголовки исходных файлов: 2024 → 2025.
b6092df09 Авторские права 2023 → 2024
ab45d51fa Авторские права 2001-2022 → 2001-2023.
5f7ef41b8 Авторские права 2021 → 2022