30 lines
1.0 KiB
Java
30 lines
1.0 KiB
Java
package de.arminwolf.financeanalyzer.service.usecases;
|
|
|
|
import de.arminwolf.financeanalyzer.dao.ReportDAO;
|
|
import de.arminwolf.financeanalyzer.dao.TransactionDAO;
|
|
import de.arminwolf.financeanalyzer.util.StreamUtil;
|
|
import de.arminwolf.financeanalyzer.util.TransactionDateStringReverseComparator;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class StandingOrderService {
|
|
|
|
public static final String JA = "ja";
|
|
|
|
|
|
public void setStandingOrder(final ReportDAO reportDAO, final List<TransactionDAO> filteredTransactions) {
|
|
|
|
List<TransactionDAO> transactions = filteredTransactions.stream()
|
|
.filter(e -> e.getAnalyseVertrag().equals(JA)
|
|
|| e.getAnalyseUmsatzart().equals("Dauerauftrag")
|
|
|| e.getAnalyseUmsatzart().equals("Lastschrift"))
|
|
.sorted(new TransactionDateStringReverseComparator())
|
|
.toList();
|
|
|
|
List<TransactionDAO> standingOrderTransactions = StreamUtil.findDuplicateInStream(transactions);
|
|
reportDAO.setStandingOrders(standingOrderTransactions);
|
|
}
|
|
}
|