52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
package ru.nbch.indicsearchservice.loader;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
import org.springframework.stereotype.Component;
|
|
import ru.nbch.indicsearchservice.model.TableData;
|
|
import ru.nbch.indicsearchservice.model.enums.DataType;
|
|
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
|
import ru.nbch.indicsearchservice.util.IndicSearchUtils;
|
|
import ru.nbch.indicsearchservice.util.MapperHolder;
|
|
|
|
@Component
|
|
public class RuPastDueArrearTableLoader implements TableLoader {
|
|
private final MapperHolder mapperHolder;
|
|
private final IndicSearchUtils indicSearchUtils;
|
|
|
|
public RuPastDueArrearTableLoader(MapperHolder mapperHolder,
|
|
IndicSearchUtils indicSearchUtils) {
|
|
this.mapperHolder = mapperHolder;
|
|
this.indicSearchUtils = indicSearchUtils;
|
|
}
|
|
|
|
@Override
|
|
public List<DataType> getSuitableDataTypes() {
|
|
return List.of(DataType.GUTDF, DataType.RUTDF);
|
|
}
|
|
|
|
@Override
|
|
public List<SearchParameter> getSuitableSearchParameters() {
|
|
return List.of(SearchParameter.FID);
|
|
}
|
|
|
|
@Override
|
|
public String getTableName() {
|
|
return "RU_PASTDUEARREAR";
|
|
}
|
|
|
|
@Override
|
|
public List<TableData> searchByFid(Set<Integer> fids) {
|
|
List<LinkedHashMap<String, Object>> foundTableRows = mapperHolder.getIndicMapper().findAllByFidFromRuPastDueArrear(fids);
|
|
|
|
List<TableData> resultTableData = new ArrayList<>();
|
|
for (LinkedHashMap<String, Object> row : foundTableRows) {
|
|
TableData parsedTableData = indicSearchUtils.mapToTableData(getTableName(), row);
|
|
resultTableData.add(parsedTableData);
|
|
}
|
|
|
|
return resultTableData;
|
|
}
|
|
}
|