loader tests added, minor bug fixes
This commit is contained in:
parent
13739a9ebe
commit
795eb7baae
70 changed files with 3326 additions and 225 deletions
|
|
@ -46,7 +46,7 @@ public class JobCleaner implements Runnable, CronJob {
|
|||
return;
|
||||
}
|
||||
|
||||
LocalDateTime hourBefore = LocalDateTime.now().minusMinutes(1);
|
||||
LocalDateTime hourBefore = LocalDateTime.now().minusHours(1);
|
||||
|
||||
// Очищаем Map
|
||||
Iterator<Map.Entry<UUID, SearchJob>> iterator = searchJobs.entrySet().iterator();
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import java.util.Set;
|
|||
import java.util.UUID;
|
||||
import org.apache.ibatis.cursor.Cursor;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import ru.nbch.indicsearchservice.exception.InternalException;
|
||||
import ru.nbch.indicsearchservice.loader.subtable.AccountSubTableLoader;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
|
|
@ -59,6 +60,7 @@ public class AccountTableLoader implements FirstLevelTableLoader, TableLoaderFor
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void searchBy(UUID taskId,
|
||||
DataType dataType,
|
||||
SearchParameter searchParameter,
|
||||
|
|
@ -117,6 +119,7 @@ public class AccountTableLoader implements FirstLevelTableLoader, TableLoaderFor
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void searchById(UUID taskId,
|
||||
DataType dataType,
|
||||
SearchParameter searchParameter,
|
||||
|
|
@ -126,8 +129,10 @@ public class AccountTableLoader implements FirstLevelTableLoader, TableLoaderFor
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.TUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromAccount(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
accountSubTableLoaders.parallelStream().forEach(tl -> tl.searchByAccountFid(taskId, fids, tableFileMap, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
throw new InternalException("Failed to read cursor " + e);
|
||||
}
|
||||
|
|
@ -135,3 +140,4 @@ public class AccountTableLoader implements FirstLevelTableLoader, TableLoaderFor
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class BankruptcyTableLoader implements FirstLevelTableLoader, TableLoader
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.TUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromBankruptcy(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class BankruptcyTableLoader implements FirstLevelTableLoader, TableLoader
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class ConsumerBankruptcyTableLoader implements FirstLevelTableLoader, Tab
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.TUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromConsumerBankruptcy(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class ConsumerBankruptcyTableLoader implements FirstLevelTableLoader, Tab
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ public class InformationTableLoader implements FirstLevelTableLoader, TableLoade
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.TUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromInformation(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -109,3 +110,4 @@ public class InformationTableLoader implements FirstLevelTableLoader, TableLoade
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class LegalTableLoader implements FirstLevelTableLoader, TableLoaderForId
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.TUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromLegal(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class LegalTableLoader implements FirstLevelTableLoader, TableLoaderForId
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ public class RuApplicationTableLoader implements FirstLevelTableLoader, TableLoa
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuApplication(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -109,3 +110,4 @@ public class RuApplicationTableLoader implements FirstLevelTableLoader, TableLoa
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class RuBankruptcyTableLoader implements FirstLevelTableLoader, TableLoad
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuBankruptcy(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class RuBankruptcyTableLoader implements FirstLevelTableLoader, TableLoad
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class RuCapabilityTableLoader implements FirstLevelTableLoader, TableLoad
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuCapability(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class RuCapabilityTableLoader implements FirstLevelTableLoader, TableLoad
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class RuDebtBurdenInfoTableLoader implements FirstLevelTableLoader, Table
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuDebtBurdenInfo(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class RuDebtBurdenInfoTableLoader implements FirstLevelTableLoader, Table
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class RuObligPartTakeTableLoader implements FirstLevelTableLoader, TableL
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuObligPartTake(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class RuObligPartTakeTableLoader implements FirstLevelTableLoader, TableL
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class RuOtherLegalTableLoader implements FirstLevelTableLoader, TableLoad
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuOtherLegal(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class RuOtherLegalTableLoader implements FirstLevelTableLoader, TableLoad
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,7 @@ public class RuSettledTableLoader implements FirstLevelTableLoader, TableLoaderF
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuSettled(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -86,3 +87,4 @@ public class RuSettledTableLoader implements FirstLevelTableLoader, TableLoaderF
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,8 +116,10 @@ public class RuUidTableLoader implements FirstLevelTableLoader, TableLoaderForId
|
|||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (dataType == DataType.GUTDF || dataType == DataType.RUTDF) {
|
||||
if (searchParameter == SearchParameter.PASSPORT || searchParameter == SearchParameter.OGRN) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuUid(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
ruUidSubTableLoaders.parallelStream().forEach(tl -> tl.searchByRuUidFid(taskId, fids, tableFileMap, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
throw new InternalException("Failed to read cursor " + e);
|
||||
}
|
||||
|
|
@ -125,3 +127,4 @@ public class RuUidTableLoader implements FirstLevelTableLoader, TableLoaderForId
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class AccountAmendTableLoader implements AccountSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromAccountAmend(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class AccountAmendTableLoader implements AccountSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class BankGuaranteeTableLoader implements AccountSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromBankGuarantee(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class BankGuaranteeTableLoader implements AccountSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class CollateralTableLoader implements AccountSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromCollateral(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class CollateralTableLoader implements AccountSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class GuarantorTableLoader implements AccountSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromGuarantor(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class GuarantorTableLoader implements AccountSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class PaymentTableLoader implements AccountSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromPayment(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class PaymentTableLoader implements AccountSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuAccountAmtTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuAccountAmt(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuAccountAmtTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuAcquirerIndividTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuAcquirerIndivid(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuAcquirerIndividTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuAcquirerLegalTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuAcquirerLegal(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuAcquirerLegalTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuAllArrearsTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuAllArrears(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuAllArrearsTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuAmendmentTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuAmendment(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuAmendmentTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuAmountInfoTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuAmountInfo(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuAmountInfoTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuArrearTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuArrear(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuArrearTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuBankruptcyBlocksTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuBankruptcyBlocks(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuBankruptcyBlocksTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuCoborrowerTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuCoborrower(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuCoborrowerTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuCollatInsuredTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuCollatInsured(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuCollatInsuredTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuCollatRepayTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuCollatRepay(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuCollatRepayTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuCollateralBlocksTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuCollateralBlocks(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuCollateralBlocksTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuCollateralTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuCollateral(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuCollateralTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuContractTermsChangesTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuContractTermsChanges(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuContractTermsChangesTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuDueArrearTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuDueArrear(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuDueArrearTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuFundDateTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuFundDate(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuFundDateTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuGuaranteeRepayTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuGuaranteeRepay(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuGuaranteeRepayTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuGuarantorTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuGuarantor(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuGuarantorTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuIndepGuarantorTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuIndepGuarantor(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuIndepGuarantorTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuLegalRecordTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuLegalRecord(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuLegalRecordTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuMonthAverPaymtTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuMonthAverPaymt(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuMonthAverPaymtTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuObligAccountTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuObligAccount(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuObligAccountTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuObligTerminationTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuObligTermination(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuObligTerminationTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuObligsRcBankruptTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuObligsRcBankrupt(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuObligsRcBankruptTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuObligsRcLiquidTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuObligsRcLiquid(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuObligsRcLiquidTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ public class RuOverallvalTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuOverallval(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -44,3 +45,4 @@ public class RuOverallvalTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuPastDueArrearTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuPastDueArrear(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuPastDueArrearTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuPaymtConditionTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuPaymtCondition(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuPaymtConditionTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuPaymtTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuPaymt(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuPaymtTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuServiceCoTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuServiceCo(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuServiceCoTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuSourceNonMonetObligTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuSourceNonMonetOblig(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuSourceNonMonetObligTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuSubjectNonMonetObligTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuSubjectNonMonetOblig(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuSubjectNonMonetObligTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuSubmitHoldTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuSubmitHold(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuSubmitHoldTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ public class RuTradeTableLoader implements RuUidSubTableLoader {
|
|||
Set<Integer> fids,
|
||||
Map<String, Path> tableFileMap,
|
||||
Map<String, TableMetaData> tableMetaDataMap) {
|
||||
if (!fids.isEmpty()) {
|
||||
try (Cursor<LinkedHashMap<String, Object>> cursor = mapperHolder.getIndicMapper().findAllByFidsFromRuTrade(fids)) {
|
||||
tableFileMap.put(getTableName(), indicSearchUtils.writeRowsToFile(taskId, getTableName(), cursor, tableMetaDataMap));
|
||||
} catch (IOException e) {
|
||||
|
|
@ -43,3 +44,4 @@ public class RuTradeTableLoader implements RuUidSubTableLoader {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +0,0 @@
|
|||
package ru.nbch.indicsearchservice;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class IndicSearchProcessorApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,301 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class AccountTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private AccountTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByUUID() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.UUID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"550e8400-e29b-41d4-a716-446655440000",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "PAYMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("PAYMENT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%PAYMT_AMT%%%5000%%%PAYMT_AMT_DUE%%%5500%%%CURRENCY_CODE%%%RUB%%%PAYMT_DTE%%%2026-06-01%%%PAYMT_VOL%%%1%%%M24_TOTAL%%%60000%%%MEMBER_CODE%%%QQ66WW %%%FILE_SINCE_DT%%%2026-06-01%%%LAST_UPDATED_DT%%%2026-06-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%"));
|
||||
case "ACCOUNT_AMEND" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT_AMEND%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%CREDIT_LIMIT%%%120000%%%TERMS_AMT%%%1800%%%CURRENCY_CODE%%%RUB%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-09-01%%%INT_PAYT_DUE_DTE%%%2026-09-10%%%VAL_OF_CREDIT%%%VAL001%%%AMEND_TYPE%%%A%%%GRACE_END_DT%%%2026-10-01%%%REPORTING_DT%%%2026-08-01%%%FILE_SINCE_DT%%%2026-08-01%%%LAST_UPDATED_DT%%%2026-08-01 00:00:00.0%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-08-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "ACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW %%%ACCT_NUM%%%ACCT-111-100%%%ACCT_TYPE%%%1%%%OWNER_INDIC%%%Y%%%OPENED_DT%%%2026-01-01%%%LAST_PAYMT_DT%%%2026-06-01%%%ACCT_RTE_CDE%%%1%%%ACCT_RTE_DTE%%%2026-01-01%%%REPORTING_DT%%%2026-07-01%%%CREDIT_LIMIT%%%100000%%%CUR_BALANCE_AMT%%%50000%%%AMT_PAST_DUE%%%2000%%%TERMS_AMT%%%1500%%%TERMS_FREQUENCY%%%M%%%PAYMT_PAT%%%YYYYYY%%%CURRENCY_CODE%%%RUB%%%COLTRL_TYP_CDE%%%1%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-08-01%%%INT_PAYT_DUE_DTE%%%2026-08-15%%%INT_PAYT_FREQ_CDE%%%M%%%ACCT_NUM_DISPLAY%%%1%%%CONSENT%%%Y%%%POSTED_DT%%%2026-01-15%%%NARRATIVE_CODE1%%%01%%%NARRATIVE_CODE2%%%02%%%HIGH_CREDIT_AMT%%%120000%%%TERMS_NUM_PAYMTS%%%12%%%BALOON_PAYMT_AMT%%%0%%%BALOON_PAYMT_DT%%%%%%LAST_PURCHASED_DT%%%2026-05-01%%%FIRST_DELQ_DT%%%%%%MAX_DELQ_DT%%%%%%MAX_DELQ%%%0%%%MAX_DELQ_AMT_DT%%%%%%MAX_DELQ_AMT%%%0%%%MONTHS_REVIEWED%%%24%%%NUM_DAYS_30%%%0%%%NUM_DAYS_60%%%0%%%NUM_DAYS_90%%%0%%%NUM_DAYS_120%%%0%%%PAYMT_PAT_START_DT%%%2026-01-01%%%SRC_COUNTRY_CODE%%%RU%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-07-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%12345%%%AMT_OUTSTANDING%%%48000%%%GUARANTOR_IND%%%Y%%%DEBT_SECURED%%%Y%%%GUARANTEED_SUM%%%100000%%%GUARANTEED_TERM%%%2025-01-01%%%BANK_GUR_IND%%%N%%%BANK_SEC_DEBT%%%N%%%BANK_GUD_SUM%%%0%%%BANK_GUD_TERM%%%%%%COLL_VALUE%%%50000%%%COLL_DATE%%%2026-01-01%%%COLL_EXPR_DATE%%%2025-01-01%%%VAL_OF_CREDIT%%%VAL001%%%ACQUIRER_NAME%%%Acquirer Name%%%ACQ_REG_DATA%%%RegData%%%ACQ_TAX_ID%%%1234567890%%%ACQ_INS_NUM%%%987654321%%%PERF_OF_OBLIGATION%%%2025-01-01%%%PRINCIPAL_OUTSTANDING%%%30000%%%INT_OUTSTANDING%%%15000%%%OTHER_AMT_OUTSTANDING%%%3000%%%PRINCIPAL_PAST_DUE%%%2000%%%INT_PAST_DUE%%%500%%%OTHER_AMT_PAST_DUE%%%500%%%GRACE_END_DT%%%2026-12-31%%%MOP%%%1%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-01-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%GUA-001%%%VOL_OF_DEBT%%%1%%%SUM%%%40000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%COL-001%%%COLLTRL_TYP_CDE%%%1%%%VALUE%%%80000%%%DATE%%%2026-01-01%%%EXPR_DATE%%%2028-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "BANK_GUARANTEE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANK_GUARANTEE%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%AGR-001%%%VOL_OF_DEBT%%%1%%%SUM%%%50000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%TERMINATION_REASONS%%%%%%CURRENCY_CODE%%%RUB"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByACCT_NUM() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.ACCT_NUM;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"ACCT-111-100",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "PAYMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("PAYMENT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%PAYMT_AMT%%%5000%%%PAYMT_AMT_DUE%%%5500%%%CURRENCY_CODE%%%RUB%%%PAYMT_DTE%%%2026-06-01%%%PAYMT_VOL%%%1%%%M24_TOTAL%%%60000%%%MEMBER_CODE%%%QQ66WW %%%FILE_SINCE_DT%%%2026-06-01%%%LAST_UPDATED_DT%%%2026-06-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%"));
|
||||
case "ACCOUNT_AMEND" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT_AMEND%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%CREDIT_LIMIT%%%120000%%%TERMS_AMT%%%1800%%%CURRENCY_CODE%%%RUB%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-09-01%%%INT_PAYT_DUE_DTE%%%2026-09-10%%%VAL_OF_CREDIT%%%VAL001%%%AMEND_TYPE%%%A%%%GRACE_END_DT%%%2026-10-01%%%REPORTING_DT%%%2026-08-01%%%FILE_SINCE_DT%%%2026-08-01%%%LAST_UPDATED_DT%%%2026-08-01 00:00:00.0%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-08-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "ACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW %%%ACCT_NUM%%%ACCT-111-100%%%ACCT_TYPE%%%1%%%OWNER_INDIC%%%Y%%%OPENED_DT%%%2026-01-01%%%LAST_PAYMT_DT%%%2026-06-01%%%ACCT_RTE_CDE%%%1%%%ACCT_RTE_DTE%%%2026-01-01%%%REPORTING_DT%%%2026-07-01%%%CREDIT_LIMIT%%%100000%%%CUR_BALANCE_AMT%%%50000%%%AMT_PAST_DUE%%%2000%%%TERMS_AMT%%%1500%%%TERMS_FREQUENCY%%%M%%%PAYMT_PAT%%%YYYYYY%%%CURRENCY_CODE%%%RUB%%%COLTRL_TYP_CDE%%%1%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-08-01%%%INT_PAYT_DUE_DTE%%%2026-08-15%%%INT_PAYT_FREQ_CDE%%%M%%%ACCT_NUM_DISPLAY%%%1%%%CONSENT%%%Y%%%POSTED_DT%%%2026-01-15%%%NARRATIVE_CODE1%%%01%%%NARRATIVE_CODE2%%%02%%%HIGH_CREDIT_AMT%%%120000%%%TERMS_NUM_PAYMTS%%%12%%%BALOON_PAYMT_AMT%%%0%%%BALOON_PAYMT_DT%%%%%%LAST_PURCHASED_DT%%%2026-05-01%%%FIRST_DELQ_DT%%%%%%MAX_DELQ_DT%%%%%%MAX_DELQ%%%0%%%MAX_DELQ_AMT_DT%%%%%%MAX_DELQ_AMT%%%0%%%MONTHS_REVIEWED%%%24%%%NUM_DAYS_30%%%0%%%NUM_DAYS_60%%%0%%%NUM_DAYS_90%%%0%%%NUM_DAYS_120%%%0%%%PAYMT_PAT_START_DT%%%2026-01-01%%%SRC_COUNTRY_CODE%%%RU%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-07-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%12345%%%AMT_OUTSTANDING%%%48000%%%GUARANTOR_IND%%%Y%%%DEBT_SECURED%%%Y%%%GUARANTEED_SUM%%%100000%%%GUARANTEED_TERM%%%2025-01-01%%%BANK_GUR_IND%%%N%%%BANK_SEC_DEBT%%%N%%%BANK_GUD_SUM%%%0%%%BANK_GUD_TERM%%%%%%COLL_VALUE%%%50000%%%COLL_DATE%%%2026-01-01%%%COLL_EXPR_DATE%%%2025-01-01%%%VAL_OF_CREDIT%%%VAL001%%%ACQUIRER_NAME%%%Acquirer Name%%%ACQ_REG_DATA%%%RegData%%%ACQ_TAX_ID%%%1234567890%%%ACQ_INS_NUM%%%987654321%%%PERF_OF_OBLIGATION%%%2025-01-01%%%PRINCIPAL_OUTSTANDING%%%30000%%%INT_OUTSTANDING%%%15000%%%OTHER_AMT_OUTSTANDING%%%3000%%%PRINCIPAL_PAST_DUE%%%2000%%%INT_PAST_DUE%%%500%%%OTHER_AMT_PAST_DUE%%%500%%%GRACE_END_DT%%%2026-12-31%%%MOP%%%1%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-01-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%GUA-001%%%VOL_OF_DEBT%%%1%%%SUM%%%40000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%COL-001%%%COLLTRL_TYP_CDE%%%1%%%VALUE%%%80000%%%DATE%%%2026-01-01%%%EXPR_DATE%%%2028-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "BANK_GUARANTEE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANK_GUARANTEE%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%AGR-001%%%VOL_OF_DEBT%%%1%%%SUM%%%50000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%TERMINATION_REASONS%%%%%%CURRENCY_CODE%%%RUB"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesBySERIAL_NUM_ACCT() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.SERIAL_NUM_ACCT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"100",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "PAYMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("PAYMENT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%PAYMT_AMT%%%5000%%%PAYMT_AMT_DUE%%%5500%%%CURRENCY_CODE%%%RUB%%%PAYMT_DTE%%%2026-06-01%%%PAYMT_VOL%%%1%%%M24_TOTAL%%%60000%%%MEMBER_CODE%%%QQ66WW %%%FILE_SINCE_DT%%%2026-06-01%%%LAST_UPDATED_DT%%%2026-06-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%"));
|
||||
case "ACCOUNT_AMEND" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT_AMEND%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%CREDIT_LIMIT%%%120000%%%TERMS_AMT%%%1800%%%CURRENCY_CODE%%%RUB%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-09-01%%%INT_PAYT_DUE_DTE%%%2026-09-10%%%VAL_OF_CREDIT%%%VAL001%%%AMEND_TYPE%%%A%%%GRACE_END_DT%%%2026-10-01%%%REPORTING_DT%%%2026-08-01%%%FILE_SINCE_DT%%%2026-08-01%%%LAST_UPDATED_DT%%%2026-08-01 00:00:00.0%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-08-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "ACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW %%%ACCT_NUM%%%ACCT-111-100%%%ACCT_TYPE%%%1%%%OWNER_INDIC%%%Y%%%OPENED_DT%%%2026-01-01%%%LAST_PAYMT_DT%%%2026-06-01%%%ACCT_RTE_CDE%%%1%%%ACCT_RTE_DTE%%%2026-01-01%%%REPORTING_DT%%%2026-07-01%%%CREDIT_LIMIT%%%100000%%%CUR_BALANCE_AMT%%%50000%%%AMT_PAST_DUE%%%2000%%%TERMS_AMT%%%1500%%%TERMS_FREQUENCY%%%M%%%PAYMT_PAT%%%YYYYYY%%%CURRENCY_CODE%%%RUB%%%COLTRL_TYP_CDE%%%1%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-08-01%%%INT_PAYT_DUE_DTE%%%2026-08-15%%%INT_PAYT_FREQ_CDE%%%M%%%ACCT_NUM_DISPLAY%%%1%%%CONSENT%%%Y%%%POSTED_DT%%%2026-01-15%%%NARRATIVE_CODE1%%%01%%%NARRATIVE_CODE2%%%02%%%HIGH_CREDIT_AMT%%%120000%%%TERMS_NUM_PAYMTS%%%12%%%BALOON_PAYMT_AMT%%%0%%%BALOON_PAYMT_DT%%%%%%LAST_PURCHASED_DT%%%2026-05-01%%%FIRST_DELQ_DT%%%%%%MAX_DELQ_DT%%%%%%MAX_DELQ%%%0%%%MAX_DELQ_AMT_DT%%%%%%MAX_DELQ_AMT%%%0%%%MONTHS_REVIEWED%%%24%%%NUM_DAYS_30%%%0%%%NUM_DAYS_60%%%0%%%NUM_DAYS_90%%%0%%%NUM_DAYS_120%%%0%%%PAYMT_PAT_START_DT%%%2026-01-01%%%SRC_COUNTRY_CODE%%%RU%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-07-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%12345%%%AMT_OUTSTANDING%%%48000%%%GUARANTOR_IND%%%Y%%%DEBT_SECURED%%%Y%%%GUARANTEED_SUM%%%100000%%%GUARANTEED_TERM%%%2025-01-01%%%BANK_GUR_IND%%%N%%%BANK_SEC_DEBT%%%N%%%BANK_GUD_SUM%%%0%%%BANK_GUD_TERM%%%%%%COLL_VALUE%%%50000%%%COLL_DATE%%%2026-01-01%%%COLL_EXPR_DATE%%%2025-01-01%%%VAL_OF_CREDIT%%%VAL001%%%ACQUIRER_NAME%%%Acquirer Name%%%ACQ_REG_DATA%%%RegData%%%ACQ_TAX_ID%%%1234567890%%%ACQ_INS_NUM%%%987654321%%%PERF_OF_OBLIGATION%%%2025-01-01%%%PRINCIPAL_OUTSTANDING%%%30000%%%INT_OUTSTANDING%%%15000%%%OTHER_AMT_OUTSTANDING%%%3000%%%PRINCIPAL_PAST_DUE%%%2000%%%INT_PAST_DUE%%%500%%%OTHER_AMT_PAST_DUE%%%500%%%GRACE_END_DT%%%2026-12-31%%%MOP%%%1%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-01-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%GUA-001%%%VOL_OF_DEBT%%%1%%%SUM%%%40000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%COL-001%%%COLLTRL_TYP_CDE%%%1%%%VALUE%%%80000%%%DATE%%%2026-01-01%%%EXPR_DATE%%%2028-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "BANK_GUARANTEE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANK_GUARANTEE%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%AGR-001%%%VOL_OF_DEBT%%%1%%%SUM%%%50000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%TERMINATION_REASONS%%%%%%CURRENCY_CODE%%%RUB"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "PAYMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("PAYMENT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%PAYMT_AMT%%%5000%%%PAYMT_AMT_DUE%%%5500%%%CURRENCY_CODE%%%RUB%%%PAYMT_DTE%%%2026-06-01%%%PAYMT_VOL%%%1%%%M24_TOTAL%%%60000%%%MEMBER_CODE%%%QQ66WW %%%FILE_SINCE_DT%%%2026-06-01%%%LAST_UPDATED_DT%%%2026-06-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%"));
|
||||
case "ACCOUNT_AMEND" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT_AMEND%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%CREDIT_LIMIT%%%120000%%%TERMS_AMT%%%1800%%%CURRENCY_CODE%%%RUB%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-09-01%%%INT_PAYT_DUE_DTE%%%2026-09-10%%%VAL_OF_CREDIT%%%VAL001%%%AMEND_TYPE%%%A%%%GRACE_END_DT%%%2026-10-01%%%REPORTING_DT%%%2026-08-01%%%FILE_SINCE_DT%%%2026-08-01%%%LAST_UPDATED_DT%%%2026-08-01 00:00:00.0%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-08-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "ACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW %%%ACCT_NUM%%%ACCT-111-100%%%ACCT_TYPE%%%1%%%OWNER_INDIC%%%Y%%%OPENED_DT%%%2026-01-01%%%LAST_PAYMT_DT%%%2026-06-01%%%ACCT_RTE_CDE%%%1%%%ACCT_RTE_DTE%%%2026-01-01%%%REPORTING_DT%%%2026-07-01%%%CREDIT_LIMIT%%%100000%%%CUR_BALANCE_AMT%%%50000%%%AMT_PAST_DUE%%%2000%%%TERMS_AMT%%%1500%%%TERMS_FREQUENCY%%%M%%%PAYMT_PAT%%%YYYYYY%%%CURRENCY_CODE%%%RUB%%%COLTRL_TYP_CDE%%%1%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-08-01%%%INT_PAYT_DUE_DTE%%%2026-08-15%%%INT_PAYT_FREQ_CDE%%%M%%%ACCT_NUM_DISPLAY%%%1%%%CONSENT%%%Y%%%POSTED_DT%%%2026-01-15%%%NARRATIVE_CODE1%%%01%%%NARRATIVE_CODE2%%%02%%%HIGH_CREDIT_AMT%%%120000%%%TERMS_NUM_PAYMTS%%%12%%%BALOON_PAYMT_AMT%%%0%%%BALOON_PAYMT_DT%%%%%%LAST_PURCHASED_DT%%%2026-05-01%%%FIRST_DELQ_DT%%%%%%MAX_DELQ_DT%%%%%%MAX_DELQ%%%0%%%MAX_DELQ_AMT_DT%%%%%%MAX_DELQ_AMT%%%0%%%MONTHS_REVIEWED%%%24%%%NUM_DAYS_30%%%0%%%NUM_DAYS_60%%%0%%%NUM_DAYS_90%%%0%%%NUM_DAYS_120%%%0%%%PAYMT_PAT_START_DT%%%2026-01-01%%%SRC_COUNTRY_CODE%%%RU%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-07-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%12345%%%AMT_OUTSTANDING%%%48000%%%GUARANTOR_IND%%%Y%%%DEBT_SECURED%%%Y%%%GUARANTEED_SUM%%%100000%%%GUARANTEED_TERM%%%2025-01-01%%%BANK_GUR_IND%%%N%%%BANK_SEC_DEBT%%%N%%%BANK_GUD_SUM%%%0%%%BANK_GUD_TERM%%%%%%COLL_VALUE%%%50000%%%COLL_DATE%%%2026-01-01%%%COLL_EXPR_DATE%%%2025-01-01%%%VAL_OF_CREDIT%%%VAL001%%%ACQUIRER_NAME%%%Acquirer Name%%%ACQ_REG_DATA%%%RegData%%%ACQ_TAX_ID%%%1234567890%%%ACQ_INS_NUM%%%987654321%%%PERF_OF_OBLIGATION%%%2025-01-01%%%PRINCIPAL_OUTSTANDING%%%30000%%%INT_OUTSTANDING%%%15000%%%OTHER_AMT_OUTSTANDING%%%3000%%%PRINCIPAL_PAST_DUE%%%2000%%%INT_PAST_DUE%%%500%%%OTHER_AMT_PAST_DUE%%%500%%%GRACE_END_DT%%%2026-12-31%%%MOP%%%1%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-01-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%GUA-001%%%VOL_OF_DEBT%%%1%%%SUM%%%40000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%COL-001%%%COLLTRL_TYP_CDE%%%1%%%VALUE%%%80000%%%DATE%%%2026-01-01%%%EXPR_DATE%%%2028-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "BANK_GUARANTEE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANK_GUARANTEE%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%AGR-001%%%VOL_OF_DEBT%%%1%%%SUM%%%50000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%TERMINATION_REASONS%%%%%%CURRENCY_CODE%%%RUB"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "PAYMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("PAYMENT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%PAYMT_AMT%%%5000%%%PAYMT_AMT_DUE%%%5500%%%CURRENCY_CODE%%%RUB%%%PAYMT_DTE%%%2026-06-01%%%PAYMT_VOL%%%1%%%M24_TOTAL%%%60000%%%MEMBER_CODE%%%QQ66WW %%%FILE_SINCE_DT%%%2026-06-01%%%LAST_UPDATED_DT%%%2026-06-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%"));
|
||||
case "ACCOUNT_AMEND" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT_AMEND%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%CREDIT_LIMIT%%%120000%%%TERMS_AMT%%%1800%%%CURRENCY_CODE%%%RUB%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-09-01%%%INT_PAYT_DUE_DTE%%%2026-09-10%%%VAL_OF_CREDIT%%%VAL001%%%AMEND_TYPE%%%A%%%GRACE_END_DT%%%2026-10-01%%%REPORTING_DT%%%2026-08-01%%%FILE_SINCE_DT%%%2026-08-01%%%LAST_UPDATED_DT%%%2026-08-01 00:00:00.0%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-08-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "ACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW %%%ACCT_NUM%%%ACCT-111-100%%%ACCT_TYPE%%%1%%%OWNER_INDIC%%%Y%%%OPENED_DT%%%2026-01-01%%%LAST_PAYMT_DT%%%2026-06-01%%%ACCT_RTE_CDE%%%1%%%ACCT_RTE_DTE%%%2026-01-01%%%REPORTING_DT%%%2026-07-01%%%CREDIT_LIMIT%%%100000%%%CUR_BALANCE_AMT%%%50000%%%AMT_PAST_DUE%%%2000%%%TERMS_AMT%%%1500%%%TERMS_FREQUENCY%%%M%%%PAYMT_PAT%%%YYYYYY%%%CURRENCY_CODE%%%RUB%%%COLTRL_TYP_CDE%%%1%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-08-01%%%INT_PAYT_DUE_DTE%%%2026-08-15%%%INT_PAYT_FREQ_CDE%%%M%%%ACCT_NUM_DISPLAY%%%1%%%CONSENT%%%Y%%%POSTED_DT%%%2026-01-15%%%NARRATIVE_CODE1%%%01%%%NARRATIVE_CODE2%%%02%%%HIGH_CREDIT_AMT%%%120000%%%TERMS_NUM_PAYMTS%%%12%%%BALOON_PAYMT_AMT%%%0%%%BALOON_PAYMT_DT%%%%%%LAST_PURCHASED_DT%%%2026-05-01%%%FIRST_DELQ_DT%%%%%%MAX_DELQ_DT%%%%%%MAX_DELQ%%%0%%%MAX_DELQ_AMT_DT%%%%%%MAX_DELQ_AMT%%%0%%%MONTHS_REVIEWED%%%24%%%NUM_DAYS_30%%%0%%%NUM_DAYS_60%%%0%%%NUM_DAYS_90%%%0%%%NUM_DAYS_120%%%0%%%PAYMT_PAT_START_DT%%%2026-01-01%%%SRC_COUNTRY_CODE%%%RU%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-07-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%12345%%%AMT_OUTSTANDING%%%48000%%%GUARANTOR_IND%%%Y%%%DEBT_SECURED%%%Y%%%GUARANTEED_SUM%%%100000%%%GUARANTEED_TERM%%%2025-01-01%%%BANK_GUR_IND%%%N%%%BANK_SEC_DEBT%%%N%%%BANK_GUD_SUM%%%0%%%BANK_GUD_TERM%%%%%%COLL_VALUE%%%50000%%%COLL_DATE%%%2026-01-01%%%COLL_EXPR_DATE%%%2025-01-01%%%VAL_OF_CREDIT%%%VAL001%%%ACQUIRER_NAME%%%Acquirer Name%%%ACQ_REG_DATA%%%RegData%%%ACQ_TAX_ID%%%1234567890%%%ACQ_INS_NUM%%%987654321%%%PERF_OF_OBLIGATION%%%2025-01-01%%%PRINCIPAL_OUTSTANDING%%%30000%%%INT_OUTSTANDING%%%15000%%%OTHER_AMT_OUTSTANDING%%%3000%%%PRINCIPAL_PAST_DUE%%%2000%%%INT_PAST_DUE%%%500%%%OTHER_AMT_PAST_DUE%%%500%%%GRACE_END_DT%%%2026-12-31%%%MOP%%%1%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-01-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%GUA-001%%%VOL_OF_DEBT%%%1%%%SUM%%%40000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%COL-001%%%COLLTRL_TYP_CDE%%%1%%%VALUE%%%80000%%%DATE%%%2026-01-01%%%EXPR_DATE%%%2028-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "BANK_GUARANTEE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANK_GUARANTEE%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%AGR-001%%%VOL_OF_DEBT%%%1%%%SUM%%%50000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%TERMINATION_REASONS%%%%%%CURRENCY_CODE%%%RUB"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class BankruptcyTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private BankruptcyTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("BANKRUPTCY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%COURT%%%Court A%%%CASE_NUM%%%CASE-001%%%DCSN_DTE%%%2026-03-01%%%REPORTED_DT%%%2026-03-15%%%PLNTFF_NME%%%Plaintiff X%%%STATUS%%%01%%%RESOL_TXT%%%Resolved%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-03-15%%%LAST_UPDATED_DT%%%2026-03-15 00:00:00.0%%%SRC_COUNTRY_CODE%%%RU%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("BANKRUPTCY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%COURT%%%Court A%%%CASE_NUM%%%CASE-001%%%DCSN_DTE%%%2026-03-01%%%REPORTED_DT%%%2026-03-15%%%PLNTFF_NME%%%Plaintiff X%%%STATUS%%%01%%%RESOL_TXT%%%Resolved%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-03-15%%%LAST_UPDATED_DT%%%2026-03-15 00:00:00.0%%%SRC_COUNTRY_CODE%%%RU%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class ConsumerBankruptcyTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private ConsumerBankruptcyTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("CONSUMER_BANKRUPTCY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("CONSUMER_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW%%%CASE_ID%%%CB-001%%%REPORTED_DT%%%2026-01-15%%%BANKRUPTCY_PROC%%%1%%%DT_BANKRUPTCYREPORTED%%%2026-01-10%%%DT_BANKRUPTCYCLOSED%%%%%%ADDITIONAL_INFO%%%0%%%OTHER_INFO%%%Info1%%%DT_INCLUSION%%%2026-01-01%%%DT_POWERSTART%%%2026-01-05%%%DT_POWEREND%%%2026-07-05%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%SRC_COUNTRY_CODE%%%RU"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("CONSUMER_BANKRUPTCY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("CONSUMER_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW%%%CASE_ID%%%CB-001%%%REPORTED_DT%%%2026-01-15%%%BANKRUPTCY_PROC%%%1%%%DT_BANKRUPTCYREPORTED%%%2026-01-10%%%DT_BANKRUPTCYCLOSED%%%%%%ADDITIONAL_INFO%%%0%%%OTHER_INFO%%%Info1%%%DT_INCLUSION%%%2026-01-01%%%DT_POWERSTART%%%2026-01-05%%%DT_POWEREND%%%2026-07-05%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%SRC_COUNTRY_CODE%%%RU"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,415 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class IdTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private IdTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByTUTDFAndOGRN() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.OGRN;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"NORM-001",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "ACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW %%%ACCT_NUM%%%ACCT-111-100%%%ACCT_TYPE%%%1%%%OWNER_INDIC%%%Y%%%OPENED_DT%%%2026-01-01%%%LAST_PAYMT_DT%%%2026-06-01%%%ACCT_RTE_CDE%%%1%%%ACCT_RTE_DTE%%%2026-01-01%%%REPORTING_DT%%%2026-07-01%%%CREDIT_LIMIT%%%100000%%%CUR_BALANCE_AMT%%%50000%%%AMT_PAST_DUE%%%2000%%%TERMS_AMT%%%1500%%%TERMS_FREQUENCY%%%M%%%PAYMT_PAT%%%YYYYYY%%%CURRENCY_CODE%%%RUB%%%COLTRL_TYP_CDE%%%1%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-08-01%%%INT_PAYT_DUE_DTE%%%2026-08-15%%%INT_PAYT_FREQ_CDE%%%M%%%ACCT_NUM_DISPLAY%%%1%%%CONSENT%%%Y%%%POSTED_DT%%%2026-01-15%%%NARRATIVE_CODE1%%%01%%%NARRATIVE_CODE2%%%02%%%HIGH_CREDIT_AMT%%%120000%%%TERMS_NUM_PAYMTS%%%12%%%BALOON_PAYMT_AMT%%%0%%%BALOON_PAYMT_DT%%%%%%LAST_PURCHASED_DT%%%2026-05-01%%%FIRST_DELQ_DT%%%%%%MAX_DELQ_DT%%%%%%MAX_DELQ%%%0%%%MAX_DELQ_AMT_DT%%%%%%MAX_DELQ_AMT%%%0%%%MONTHS_REVIEWED%%%24%%%NUM_DAYS_30%%%0%%%NUM_DAYS_60%%%0%%%NUM_DAYS_90%%%0%%%NUM_DAYS_120%%%0%%%PAYMT_PAT_START_DT%%%2026-01-01%%%SRC_COUNTRY_CODE%%%RU%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-07-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%12345%%%AMT_OUTSTANDING%%%48000%%%GUARANTOR_IND%%%Y%%%DEBT_SECURED%%%Y%%%GUARANTEED_SUM%%%100000%%%GUARANTEED_TERM%%%2025-01-01%%%BANK_GUR_IND%%%N%%%BANK_SEC_DEBT%%%N%%%BANK_GUD_SUM%%%0%%%BANK_GUD_TERM%%%%%%COLL_VALUE%%%50000%%%COLL_DATE%%%2026-01-01%%%COLL_EXPR_DATE%%%2025-01-01%%%VAL_OF_CREDIT%%%VAL001%%%ACQUIRER_NAME%%%Acquirer Name%%%ACQ_REG_DATA%%%RegData%%%ACQ_TAX_ID%%%1234567890%%%ACQ_INS_NUM%%%987654321%%%PERF_OF_OBLIGATION%%%2025-01-01%%%PRINCIPAL_OUTSTANDING%%%30000%%%INT_OUTSTANDING%%%15000%%%OTHER_AMT_OUTSTANDING%%%3000%%%PRINCIPAL_PAST_DUE%%%2000%%%INT_PAST_DUE%%%500%%%OTHER_AMT_PAST_DUE%%%500%%%GRACE_END_DT%%%2026-12-31%%%MOP%%%1%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-01-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "INFORMATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("INFORMATION%%%FID%%%111%%%SERIAL_NUM%%%100%%%APP_NUM%%%APP-001%%%APP_DATE%%%2026-01-01%%%CREDITOR_TYPE%%%1%%%TYPE_FLAG%%%1%%%LOAN_TYPE%%%1%%%SHIPMENT_WAY%%%01%%%FLAG_OF_APPROVAL%%%Y%%%APPROVAL_EXPR_DTE%%%2026-06-01%%%REJECTED_AMT%%%10000%%%REJ_AMT_CUR%%%RUB%%%REJECTION_DTE%%%%%%REJECTION_REASON%%%01%%%AGREEMENT_NUM%%%AG-001%%%APP_LOAN_TYP%%%1%%%DEFAULT_FLAG%%%Y%%%LOAN_RETURNED_IND%%%N%%%OLD_APP_NUM%%%OLD-001%%%CANCELLATION_FLAG%%%N%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
case "BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%COURT%%%Court A%%%CASE_NUM%%%CASE-001%%%DCSN_DTE%%%2026-03-01%%%REPORTED_DT%%%2026-03-15%%%PLNTFF_NME%%%Plaintiff X%%%STATUS%%%01%%%RESOL_TXT%%%Resolved%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-03-15%%%LAST_UPDATED_DT%%%2026-03-15 00:00:00.0%%%SRC_COUNTRY_CODE%%%RU%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
case "CONSUMER_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("CONSUMER_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW%%%CASE_ID%%%CB-001%%%REPORTED_DT%%%2026-01-15%%%BANKRUPTCY_PROC%%%1%%%DT_BANKRUPTCYREPORTED%%%2026-01-10%%%DT_BANKRUPTCYCLOSED%%%%%%ADDITIONAL_INFO%%%0%%%OTHER_INFO%%%Info1%%%DT_INCLUSION%%%2026-01-01%%%DT_POWERSTART%%%2026-01-05%%%DT_POWEREND%%%2026-07-05%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%SRC_COUNTRY_CODE%%%RU"));
|
||||
case "LEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("LEGAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILING_NUMBER%%%FL-001%%%COURT%%%Court A%%%REPORTED_DT%%%2026-01-15%%%DCSN_DTE%%%2026-01-10%%%SATISFIED_DT%%%%%%PLAINTIFF%%%Plaintiff A%%%RESOL_TXT%%%Resolved text%%%SRC_COUNTRY_CODE%%%RU%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
case "ACCOUNT_AMEND" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT_AMEND%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%CREDIT_LIMIT%%%120000%%%TERMS_AMT%%%1800%%%CURRENCY_CODE%%%RUB%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-09-01%%%INT_PAYT_DUE_DTE%%%2026-09-10%%%VAL_OF_CREDIT%%%VAL001%%%AMEND_TYPE%%%A%%%GRACE_END_DT%%%2026-10-01%%%REPORTING_DT%%%2026-08-01%%%FILE_SINCE_DT%%%2026-08-01%%%LAST_UPDATED_DT%%%2026-08-01 00:00:00.0%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-08-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "PAYMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("PAYMENT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%PAYMT_AMT%%%5000%%%PAYMT_AMT_DUE%%%5500%%%CURRENCY_CODE%%%RUB%%%PAYMT_DTE%%%2026-06-01%%%PAYMT_VOL%%%1%%%M24_TOTAL%%%60000%%%MEMBER_CODE%%%QQ66WW %%%FILE_SINCE_DT%%%2026-06-01%%%LAST_UPDATED_DT%%%2026-06-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%"));
|
||||
case "COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%COL-001%%%COLLTRL_TYP_CDE%%%1%%%VALUE%%%80000%%%DATE%%%2026-01-01%%%EXPR_DATE%%%2028-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%GUA-001%%%VOL_OF_DEBT%%%1%%%SUM%%%40000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "BANK_GUARANTEE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANK_GUARANTEE%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%AGR-001%%%VOL_OF_DEBT%%%1%%%SUM%%%50000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%TERMINATION_REASONS%%%%%%CURRENCY_CODE%%%RUB"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByTUTDFAndPassport() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"NORM-002",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "ACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW %%%ACCT_NUM%%%ACCT-111-100%%%ACCT_TYPE%%%1%%%OWNER_INDIC%%%Y%%%OPENED_DT%%%2026-01-01%%%LAST_PAYMT_DT%%%2026-06-01%%%ACCT_RTE_CDE%%%1%%%ACCT_RTE_DTE%%%2026-01-01%%%REPORTING_DT%%%2026-07-01%%%CREDIT_LIMIT%%%100000%%%CUR_BALANCE_AMT%%%50000%%%AMT_PAST_DUE%%%2000%%%TERMS_AMT%%%1500%%%TERMS_FREQUENCY%%%M%%%PAYMT_PAT%%%YYYYYY%%%CURRENCY_CODE%%%RUB%%%COLTRL_TYP_CDE%%%1%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-08-01%%%INT_PAYT_DUE_DTE%%%2026-08-15%%%INT_PAYT_FREQ_CDE%%%M%%%ACCT_NUM_DISPLAY%%%1%%%CONSENT%%%Y%%%POSTED_DT%%%2026-01-15%%%NARRATIVE_CODE1%%%01%%%NARRATIVE_CODE2%%%02%%%HIGH_CREDIT_AMT%%%120000%%%TERMS_NUM_PAYMTS%%%12%%%BALOON_PAYMT_AMT%%%0%%%BALOON_PAYMT_DT%%%%%%LAST_PURCHASED_DT%%%2026-05-01%%%FIRST_DELQ_DT%%%%%%MAX_DELQ_DT%%%%%%MAX_DELQ%%%0%%%MAX_DELQ_AMT_DT%%%%%%MAX_DELQ_AMT%%%0%%%MONTHS_REVIEWED%%%24%%%NUM_DAYS_30%%%0%%%NUM_DAYS_60%%%0%%%NUM_DAYS_90%%%0%%%NUM_DAYS_120%%%0%%%PAYMT_PAT_START_DT%%%2026-01-01%%%SRC_COUNTRY_CODE%%%RU%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-07-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%12345%%%AMT_OUTSTANDING%%%48000%%%GUARANTOR_IND%%%Y%%%DEBT_SECURED%%%Y%%%GUARANTEED_SUM%%%100000%%%GUARANTEED_TERM%%%2025-01-01%%%BANK_GUR_IND%%%N%%%BANK_SEC_DEBT%%%N%%%BANK_GUD_SUM%%%0%%%BANK_GUD_TERM%%%%%%COLL_VALUE%%%50000%%%COLL_DATE%%%2026-01-01%%%COLL_EXPR_DATE%%%2025-01-01%%%VAL_OF_CREDIT%%%VAL001%%%ACQUIRER_NAME%%%Acquirer Name%%%ACQ_REG_DATA%%%RegData%%%ACQ_TAX_ID%%%1234567890%%%ACQ_INS_NUM%%%987654321%%%PERF_OF_OBLIGATION%%%2025-01-01%%%PRINCIPAL_OUTSTANDING%%%30000%%%INT_OUTSTANDING%%%15000%%%OTHER_AMT_OUTSTANDING%%%3000%%%PRINCIPAL_PAST_DUE%%%2000%%%INT_PAST_DUE%%%500%%%OTHER_AMT_PAST_DUE%%%500%%%GRACE_END_DT%%%2026-12-31%%%MOP%%%1%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-01-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "INFORMATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("INFORMATION%%%FID%%%111%%%SERIAL_NUM%%%100%%%APP_NUM%%%APP-001%%%APP_DATE%%%2026-01-01%%%CREDITOR_TYPE%%%1%%%TYPE_FLAG%%%1%%%LOAN_TYPE%%%1%%%SHIPMENT_WAY%%%01%%%FLAG_OF_APPROVAL%%%Y%%%APPROVAL_EXPR_DTE%%%2026-06-01%%%REJECTED_AMT%%%10000%%%REJ_AMT_CUR%%%RUB%%%REJECTION_DTE%%%%%%REJECTION_REASON%%%01%%%AGREEMENT_NUM%%%AG-001%%%APP_LOAN_TYP%%%1%%%DEFAULT_FLAG%%%Y%%%LOAN_RETURNED_IND%%%N%%%OLD_APP_NUM%%%OLD-001%%%CANCELLATION_FLAG%%%N%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
case "BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%COURT%%%Court A%%%CASE_NUM%%%CASE-001%%%DCSN_DTE%%%2026-03-01%%%REPORTED_DT%%%2026-03-15%%%PLNTFF_NME%%%Plaintiff X%%%STATUS%%%01%%%RESOL_TXT%%%Resolved%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-03-15%%%LAST_UPDATED_DT%%%2026-03-15 00:00:00.0%%%SRC_COUNTRY_CODE%%%RU%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
case "CONSUMER_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("CONSUMER_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%MEMBER_CODE%%%QQ66WW%%%CASE_ID%%%CB-001%%%REPORTED_DT%%%2026-01-15%%%BANKRUPTCY_PROC%%%1%%%DT_BANKRUPTCYREPORTED%%%2026-01-10%%%DT_BANKRUPTCYCLOSED%%%%%%ADDITIONAL_INFO%%%0%%%OTHER_INFO%%%Info1%%%DT_INCLUSION%%%2026-01-01%%%DT_POWERSTART%%%2026-01-05%%%DT_POWEREND%%%2026-07-05%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%SRC_COUNTRY_CODE%%%RU"));
|
||||
case "LEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("LEGAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILING_NUMBER%%%FL-001%%%COURT%%%Court A%%%REPORTED_DT%%%2026-01-15%%%DCSN_DTE%%%2026-01-10%%%SATISFIED_DT%%%%%%PLAINTIFF%%%Plaintiff A%%%RESOL_TXT%%%Resolved text%%%SRC_COUNTRY_CODE%%%RU%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
case "ACCOUNT_AMEND" -> assertThat(lines)
|
||||
.isEqualTo(List.of("ACCOUNT_AMEND%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%CREDIT_LIMIT%%%120000%%%TERMS_AMT%%%1800%%%CURRENCY_CODE%%%RUB%%%CLOSED_DT%%%%%%PAYT_DUE_DTE%%%2026-09-01%%%INT_PAYT_DUE_DTE%%%2026-09-10%%%VAL_OF_CREDIT%%%VAL001%%%AMEND_TYPE%%%A%%%GRACE_END_DT%%%2026-10-01%%%REPORTING_DT%%%2026-08-01%%%FILE_SINCE_DT%%%2026-08-01%%%LAST_UPDATED_DT%%%2026-08-01 00:00:00.0%%%GRACE_DECLINED_DT%%%%%%GRACE_REASON%%%0%%%GRACE_START_DT%%%2026-08-01%%%OVERALL_VAL_OF_CREDIT%%%OVC001"));
|
||||
case "PAYMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("PAYMENT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%PAYMT_AMT%%%5000%%%PAYMT_AMT_DUE%%%5500%%%CURRENCY_CODE%%%RUB%%%PAYMT_DTE%%%2026-06-01%%%PAYMT_VOL%%%1%%%M24_TOTAL%%%60000%%%MEMBER_CODE%%%QQ66WW %%%FILE_SINCE_DT%%%2026-06-01%%%LAST_UPDATED_DT%%%2026-06-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%"));
|
||||
case "COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%COL-001%%%COLLTRL_TYP_CDE%%%1%%%VALUE%%%80000%%%DATE%%%2026-01-01%%%EXPR_DATE%%%2028-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%GUA-001%%%VOL_OF_DEBT%%%1%%%SUM%%%40000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%CURRENCY_CODE%%%RUB"));
|
||||
case "BANK_GUARANTEE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("BANK_GUARANTEE%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%AGR_NUM%%%AGR-001%%%VOL_OF_DEBT%%%1%%%SUM%%%50000%%%TERM%%%2025-01-01%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111%%%TERMINATION_REASONS%%%%%%CURRENCY_CODE%%%RUB"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByGUTDFAndOGRN() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.OGRN;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"NORM-003",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "RU_UID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_UID%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%ACCT_NUM%%%ACCT-111%%%CRC_SEARCH%%%123456%%%HEADER_REPORTING_DT%%%2026-01-15%%%OPENED_DT%%%2026-01-01%%%REF_UID%%%REF-UID-001%%%VERSION%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01%%%LAST_RECEIVED%%%2026-01-01 00:00:00.0%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_APPLICATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OBLIGPARTTAKE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
case "RU_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_BANKRUPTCY_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%PARENT_SERIAL_NUM%%%100%%%STAGE_CODE%%%BLK01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://block1"));
|
||||
case "RU_SETTLED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OTHERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
case "RU_CAPABILITY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
case "RU_DEBT_BURDEN_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_TRADE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_TRADE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OWNER_INDIC%%%OWN01%%%OPENED_DT%%%2026-01-01%%%TRADE_TYPE_CODE%%%TT01%%%LOAN_KIND_CODE%%%LK01%%%ACCT_TYPE%%%consumer%%%IS_CONSUMER_LOAN%%%1%%%HAS_CARD%%%1%%%IS_NOVATION%%%0%%%IS_MONEY_SOURCE%%%0%%%IS_MONEY_BORROWER%%%0%%%CLOSE_DT%%%%%%OBTAINPART_CRED%%%1%%%CREDIT_LINE%%%1%%%INTERESTRATE_FLOAT%%%0%%%TRANSPART_CRED%%%0%%%TRANSPART_CRED_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_DATE%%%2026-01-10%%%LENDERTYPE_CODE%%%LT01%%%CREDIT_LINE_CODE%%%CL01%%%REPAYMENT_FACT%%%Y%%%TRANSFER_FACT%%%N%%%PARTNER_FINANCING_FACT%%%N%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_ACCOUNT_AMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACCOUNT_AMT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_LIMIT%%%150000.00%%%CURRENCY_CODE%%%RUB%%%ENSURED_AMT%%%140000.00%%%COMMITCURR_CODE%%%RUB%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_CODE%%%CMT01%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_COBORROWER" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COBORROWER%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_SOLIDARY%%%1%%%SOLIDARY_NUM%%%2%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT_CONDITION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT_CONDITION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PRINCIPAL_TERMS_AMT%%%1500.00%%%PRINCIPAL_TERMS_AMT_DT%%%2026-01-10%%%INTEREST_TERMS_AMT%%%500.00%%%INTEREST_TERMS_AMT_DT%%%2026-01-10%%%TERMS_FREQUENCY%%%M %%%MIN_PAYMT%%%1000.00%%%GRACE_START_DT%%%2026-01-01%%%GRACE_END_DT%%%2026-07-01%%%INTEREST_PAYMENT_DUE_DATE%%%2026-08-15%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_OVERALLVAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OVERALLVAL%%%FID%%%111%%%SERIAL_NUM%%%1067%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_TOTAL_AMT%%%150.000%%%CREDIT_TOTAL_MONETARY_AMT%%%150000.00%%%CREDIT_TOTAL_AMT_DATE%%%2026-01-10%%%MAX_PERCENT_COST%%%25.000%%%MAX_COST%%%5000.00%%%MAX_PERCENT_CASH%%%30.000%%%MAX_PERCENT_CASHLESS%%%20.000%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_AMENDMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMENDMENT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AMEND_DATE%%%2026-01-10%%%AMEND_TYPE%%%AM01%%%SPEC_TYPE%%%SP01%%%OTHER_DESC%%%Description%%%START_DT%%%2026-01-10%%%PLAN_END_DT%%%2026-06-10%%%FACT_END_DT%%%%%%END_REASON%%%ER01%%%CUR_RATE%%%12.5000"));
|
||||
case "RU_FUNDDATE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_FUNDDATE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%FUND_DATE%%%2026-01-10%%%TRANCHE_NUM%%%1%%%START_AMT_OUTSTANDING%%%100000.00%%%VERSION%%%1"));
|
||||
case "RU_ARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_AMT_OUTSTANDING%%%50000.00%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%52000.00%%%PRINCIPAL_OUTSTANDING%%%40000.00%%%INT_OUTSTANDING%%%8000.00%%%OTHER_AMT_OUTSTANDING%%%4000.00%%%CALC_DATE%%%2026-01-10%%%UNCONFIRM_GRACE%%%0%%%IS_EMPTY%%%0%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_DUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_DT%%%2026-01-05%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%15000.00%%%PRINCIPAL_OUTSTANDING%%%10000.00%%%INT_OUTSTANDING%%%3000.00%%%OTHER_AMT_OUTSTANDING%%%2000.00%%%CALC_DATE%%%2026-01-10%%%IS_EMPTY%%%0%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PASTDUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PASTDUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAST_DUE_DT%%%2026-02-01%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_PAST_DUE%%%3000.00%%%PRINCIPAL_AMT_PAST_DUE%%%2000.00%%%INT_AMT_PAST_DUE%%%500.00%%%OTHER_AMT_PAST_DUE%%%500.00%%%CALC_DATE%%%2026-01-10%%%PRINCIPAL_MISSED_DATE%%%2026-01-20%%%INT_MISSED_DATE%%%2026-01-25%%%IS_EMPTY%%%0%%%MISS_FACT%%%Y%%%DAYS_PAST_DUE%%%30%%%REPAID_MISS_DURATION%%%15%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAYMT_DATE%%%2026-02-01%%%PAYMT_AMT%%%5000.00%%%PRINCIPAL_PAYMT_AMT%%%3000.00%%%INT_PAYMT_AMT%%%1000.00%%%OTHER_PAYMT_AMT%%%1000.00%%%TOTAL_AMT%%%5000.00%%%PRINCIPAL_TOTAL_AMT%%%3000.00%%%INT_TOTAL_AMT%%%1000.00%%%OTHER_TOTAL_AMT%%%1000.00%%%AMT_KEEP_CODE%%%AK01%%%TERMS_DUE_CODE%%%TD01%%%DAYS_PAST_DUE%%%30%%%CALC_DATE%%%2026-01-10%%%LAST_MISS_PAY_SUM%%%500.00%%%PAY_SUM_24%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_MONTHAVERPAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_MONTHAVERPAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AVER_PAYMT_AMT%%%5000%%%CALC_DATE%%%2026-01-10%%%SUM_TOTAL%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_SOURCENONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SOURCENONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SRC_NON_MONET_OBLIG%%%Source Non-Monetary%%%SRC_NON_MONET_OBLIG_CODE%%%SNM01%%%SRC_NON_MONET_OBLIG_OBJECT%%%Object description%%%SRC_NON_MONET_OBLIG_DT%%%2026-01-10%%%SRC_NON_MONET_OBLIG_CODE_IDENT%%%IDENT-001"));
|
||||
case "RU_SUBJECTNONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBJECTNONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SUBJ_NON_MONET_OBLIG%%%Subject NM%%%SUBJ_NON_MONET_OBLIG_OBJECT%%%Object NM%%%SUBJ_NON_MONET_OBLIG_REGUL%%%Regulation%%%SUBJ_NON_MONET_OBLIG_ADVERSE_CODE%%%1%%%RECEIVEDPROP_CODE%%%RP01"));
|
||||
case "RU_COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLATERAL_CODE%%%COL01%%%COLLATERAL_ID%%%COL-ID-001%%%COLLATERAL_AGREEMENT_DT%%%2026-01-10%%%COLLATERAL_VALUE%%%100000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_ENCUM%%%0%%%COLLATERAL_EXPIRATION_DATE%%%2028-01-10%%%COLLATERAL_FACT_EXPIRATION_DATE%%%%%%COLLATERAL_END_REASON%%%ER01%%%COLLATERALCOMM_AMT%%%95000.00%%%COLLATERALCONT_CNT%%%1%%%COLLATERAL_VALUE_TYPE%%%VT01%%%LOCATION%%%Moscow %%%ACTUAL_COST%%%90000.00%%%CALC_DATE%%%2026-01-10%%%HAS_BLOCKS%%%Y%%%VERSION%%%1"));
|
||||
case "RU_COLLATERAL_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%PARENT_SERIAL_NUM%%%100%%%COLLATERAL_VALUE%%%50000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_VALUE_TYPE%%%VT01"));
|
||||
case "RU_GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GUARANTEE_VOLUME%%%30000.00%%%CURRENCY_CODE%%%RUB%%%GUARANTEE_AGREEMENT_DT%%%2026-01-10%%%GUARANTEE_EXPIRATION_DATE%%%2025-01-10%%%GUARANTEE_FACT_EXPIRATION_DATE%%%%%%GUARANTEE_END_REASON%%%ER01%%%OLD_GUAR_NUM%%%OLD-GUAR-001"));
|
||||
case "RU_INDEPGUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_INDEPGUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INDEP_GUARANTEE_UUID%%%770e8400-e29b-41d4-a716-446655440002%%%INDEP_GUARANTEE_VOLUME%%%35000.00%%%CURRENCY_CODE%%%RUB%%%INDEP_GUARANTEE_DT%%%2026-01-10%%%INDEP_GUARANTEE_EXPIRATION_DATE%%%2025-06-10%%%INDEP_GUARANTEE_FACT_EXPIRATION_DATE%%%%%%INDEP_GUARANTEE_END_REASON%%%ER01%%%OLD_INDEPGUAR_NUM%%%OLD-IND-001"));
|
||||
case "RU_COLLATINSURED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATINSURED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INSUR_LIMIT%%%100000%%%CURRENCY_CODE%%%RUB%%%HAS_FRANCHISE%%%1%%%INSUR_START_DT%%%2026-01-10%%%INSUR_END_DT%%%2028-01-10%%%INSUR_FACT_END_DT%%%%%%INSUR_END_REASON%%%ER01%%%COLLATERAL_ID%%%COL-ID-001%%%VERSION%%%1"));
|
||||
case "RU_COLLATREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLAT_REPAY_CODE%%%CRC01%%%COLLAT_REPAY_DT%%%2026-06-01%%%COLLAT_REPAY_AMT%%%5000.00%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_GUARANTEEREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTEEREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_TO_REPAY%%%20000.00%%%GUARANTEE_REPAY_AMT%%%5000.00%%%GUARANTEE_REPAY_KEEP_CODE%%%1%%%GUARANTEE_DATE%%%2026-06-01"));
|
||||
case "RU_OBLIGTERMINATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGTERMINATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%LOAN_INDICATOR%%%1%%%LOAN_INDICATOR_DT%%%2026-06-01"));
|
||||
case "RU_SUBMITHOLD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBMITHOLD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HOLD_CODE%%%HLD01%%%HOLD_DT%%%2026-01-10"));
|
||||
case "RU_ACQUIRERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_CODE%%%RC01%%%RIGHT_OF_CLAIM_RUS%%%1%%%RIGHT_OF_CLAIM_FULLNAME%%%OOO Romashka%%%RIGHT_OF_CLAIM_NAME%%%Romashka%%%RIGHT_OF_CLAIM_OTHER_NAME%%%Romashka Ltd%%%RIGHT_OF_CLAIM_LEI%%%LEI1234567890%%%RIGHT_OF_CLAIM_REG_NUM%%%1234567890%%%RIGHT_OF_CLAIM_TAX_CODE%%%1%%%RIGHT_OF_CLAIM_TAX_NUM%%%1234567890%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAX_EXTRA%%%extra_tax"));
|
||||
case "RU_ACQUIRERINDIVID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERINDIVID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_LAST_NAME%%%Ivanov%%%RIGHT_OF_CLAIM_FIRST_NAME%%%Ivan%%%RIGHT_OF_CLAIM_MIDDLE_NAME%%%Ivanovich%%%RIGHT_OF_CLAIM_BIRTH_DT%%%1980-01-01%%%RIGHT_OF_CLAIM_PLACE_OF_BIRTH%%%Moscow%%%RIGHT_OF_CLAIM_TAXPAYER_ID_CODE%%%1%%%RIGHT_OF_CLAIM_TAXPAYER_ID%%%1234567890%%%RIGHT_OF_CLAIM_SNILS%%%123-456-789%%%RIGHT_OF_CLAIM_ID_TYPE%%%01%%%RIGHT_OF_CLAIM_OTHER_ID%%%other-id%%%RIGHT_OF_CLAIM_ID_SERIES%%%AB%%%RIGHT_OF_CLAIM_ID_NUM%%%123456%%%RIGHT_OF_CLAIM_ID_ISSUE_DT%%%2020-01-01%%%RIGHT_OF_CLAIM_ID_ISSUE_AUTHORITY%%%MVD%%%RIGHT_OF_CLAIM_ID_DIV_CODE%%%770-001%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAXPAYER_ID_EXTRA%%%extra123"));
|
||||
case "RU_SERVICECO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SERVICECO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SERV_RUS%%%1%%%SERV_FULL_NAME%%%ServiceCo Full%%%SERV_SHORT_NAME%%%ServiceCo%%%SERV_OTHER_NAME%%%ServCo%%%SERV_REG_NUM%%%1234567890%%%SERV_TAXPAYER_ID_CODE%%%1%%%SERV_TAXPAYER_ID%%%1234567890%%%SERV_START_DT%%%2026-01-01%%%SERV_END_DT%%%2025-01-01%%%SERV_EMITENT_NAME%%%Emitent Name%%%SERV_EMITENT_REG_NUM%%%EM123456%%%SERV_TAXPAYER_ID_CODE_EXTRA%%%extra_tax"));
|
||||
case "RU_OBLIGACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OBLIG_ACCOUNT_CODE%%%1%%%INT_RATE%%%12.50%%%OFFBALANCE_AMT%%%5000.00%%%PREFEREN_FINANC%%%1%%%PREFEREN_FINANC_INFO%%%Pref info%%%MAX_INTEREST%%%25.00%%%CALC_DATE%%%2026-01-10%%%VERSION%%%1"));
|
||||
case "RU_LEGALRECORD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_LEGALRECORD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_COURT_ACT%%%1%%%COURT_ACT_DT%%%2026-01-10%%%COURT_ACT_NUM%%%CA-001%%%RESOLUTION%%%Resolved%%%COURT_ACT_EFFECT_CODE%%%1%%%LAWSUIT_CODE%%%LS01%%%SUM_TOTAL%%%5000.00%%%INFO%%%Legal info%%%VERSION%%%1"));
|
||||
case "RU_OBLIGSRCBANKRUPT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCBANKRUPT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SB_START_OUTSTANDING%%%80000.00%%%SB_START_DT%%%2026-01-01%%%SB_END_OUTSTANDING%%%75000.00%%%SB_END_DT%%%2026-06-01%%%SB_LAST_PAY_OUTSTANDING%%%10000.00%%%SB_LAST_PAYMT_DT%%%2026-05-15%%%SB_TRANSFER_CODE%%%1%%%SB_LOAN_INDICATOR%%%1%%%SB_LOAN_INDICATOR_REASON%%%R01%%%SB_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_OBLIGSRCLIQUID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCLIQUID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SL_START_OUTSTANDING%%%90000.00%%%SL_START_DT%%%2026-01-01%%%SL_BALANCE_OUTSTANDING%%%85000.00%%%SL_BALANCE_DT%%%2026-06-01%%%SL_LAST_PAY_OUTSTANDING%%%12000.00%%%SL_LAST_PAYMT_DT%%%2026-05-15%%%SL_TRANSFER_CODE%%%1%%%SL_LOAN_INDICATOR%%%1%%%SL_LOAN_INDICATOR_REASON%%%LR01%%%SL_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_AMOUNT_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMOUNT_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%ENSURED_AMT%%%120000.00%%%COMMITCURR_CODE%%%RUB%%%COMMIT_CODE%%%CC01%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%LIABILITY_LIMIT%%%LIMIT01"));
|
||||
case "RU_CONTRACT_TERMS_CHANGES" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CONTRACT_TERMS_CHANGES%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%TERMS_CHANGE_CODE%%%TC01%%%TERMS_CHANGE_DESC%%%Change desc 1%%%CHANGING_DATE%%%2026-03-01"));
|
||||
case "RU_ALL_ARREARS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ALL_ARREARS%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByGUTDFAndPassport() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"NORM-004",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "RU_UID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_UID%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%ACCT_NUM%%%ACCT-111%%%CRC_SEARCH%%%123456%%%HEADER_REPORTING_DT%%%2026-01-15%%%OPENED_DT%%%2026-01-01%%%REF_UID%%%REF-UID-001%%%VERSION%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01%%%LAST_RECEIVED%%%2026-01-01 00:00:00.0%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_APPLICATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OBLIGPARTTAKE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
case "RU_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_BANKRUPTCY_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%PARENT_SERIAL_NUM%%%100%%%STAGE_CODE%%%BLK01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://block1"));
|
||||
case "RU_SETTLED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OTHERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
case "RU_CAPABILITY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
case "RU_DEBT_BURDEN_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_TRADE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_TRADE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OWNER_INDIC%%%OWN01%%%OPENED_DT%%%2026-01-01%%%TRADE_TYPE_CODE%%%TT01%%%LOAN_KIND_CODE%%%LK01%%%ACCT_TYPE%%%consumer%%%IS_CONSUMER_LOAN%%%1%%%HAS_CARD%%%1%%%IS_NOVATION%%%0%%%IS_MONEY_SOURCE%%%0%%%IS_MONEY_BORROWER%%%0%%%CLOSE_DT%%%%%%OBTAINPART_CRED%%%1%%%CREDIT_LINE%%%1%%%INTERESTRATE_FLOAT%%%0%%%TRANSPART_CRED%%%0%%%TRANSPART_CRED_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_DATE%%%2026-01-10%%%LENDERTYPE_CODE%%%LT01%%%CREDIT_LINE_CODE%%%CL01%%%REPAYMENT_FACT%%%Y%%%TRANSFER_FACT%%%N%%%PARTNER_FINANCING_FACT%%%N%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_ACCOUNT_AMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACCOUNT_AMT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_LIMIT%%%150000.00%%%CURRENCY_CODE%%%RUB%%%ENSURED_AMT%%%140000.00%%%COMMITCURR_CODE%%%RUB%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_CODE%%%CMT01%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_COBORROWER" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COBORROWER%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_SOLIDARY%%%1%%%SOLIDARY_NUM%%%2%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT_CONDITION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT_CONDITION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PRINCIPAL_TERMS_AMT%%%1500.00%%%PRINCIPAL_TERMS_AMT_DT%%%2026-01-10%%%INTEREST_TERMS_AMT%%%500.00%%%INTEREST_TERMS_AMT_DT%%%2026-01-10%%%TERMS_FREQUENCY%%%M %%%MIN_PAYMT%%%1000.00%%%GRACE_START_DT%%%2026-01-01%%%GRACE_END_DT%%%2026-07-01%%%INTEREST_PAYMENT_DUE_DATE%%%2026-08-15%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_OVERALLVAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OVERALLVAL%%%FID%%%111%%%SERIAL_NUM%%%1067%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_TOTAL_AMT%%%150.000%%%CREDIT_TOTAL_MONETARY_AMT%%%150000.00%%%CREDIT_TOTAL_AMT_DATE%%%2026-01-10%%%MAX_PERCENT_COST%%%25.000%%%MAX_COST%%%5000.00%%%MAX_PERCENT_CASH%%%30.000%%%MAX_PERCENT_CASHLESS%%%20.000%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_AMENDMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMENDMENT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AMEND_DATE%%%2026-01-10%%%AMEND_TYPE%%%AM01%%%SPEC_TYPE%%%SP01%%%OTHER_DESC%%%Description%%%START_DT%%%2026-01-10%%%PLAN_END_DT%%%2026-06-10%%%FACT_END_DT%%%%%%END_REASON%%%ER01%%%CUR_RATE%%%12.5000"));
|
||||
case "RU_FUNDDATE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_FUNDDATE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%FUND_DATE%%%2026-01-10%%%TRANCHE_NUM%%%1%%%START_AMT_OUTSTANDING%%%100000.00%%%VERSION%%%1"));
|
||||
case "RU_ARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_AMT_OUTSTANDING%%%50000.00%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%52000.00%%%PRINCIPAL_OUTSTANDING%%%40000.00%%%INT_OUTSTANDING%%%8000.00%%%OTHER_AMT_OUTSTANDING%%%4000.00%%%CALC_DATE%%%2026-01-10%%%UNCONFIRM_GRACE%%%0%%%IS_EMPTY%%%0%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_DUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_DT%%%2026-01-05%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%15000.00%%%PRINCIPAL_OUTSTANDING%%%10000.00%%%INT_OUTSTANDING%%%3000.00%%%OTHER_AMT_OUTSTANDING%%%2000.00%%%CALC_DATE%%%2026-01-10%%%IS_EMPTY%%%0%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PASTDUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PASTDUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAST_DUE_DT%%%2026-02-01%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_PAST_DUE%%%3000.00%%%PRINCIPAL_AMT_PAST_DUE%%%2000.00%%%INT_AMT_PAST_DUE%%%500.00%%%OTHER_AMT_PAST_DUE%%%500.00%%%CALC_DATE%%%2026-01-10%%%PRINCIPAL_MISSED_DATE%%%2026-01-20%%%INT_MISSED_DATE%%%2026-01-25%%%IS_EMPTY%%%0%%%MISS_FACT%%%Y%%%DAYS_PAST_DUE%%%30%%%REPAID_MISS_DURATION%%%15%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAYMT_DATE%%%2026-02-01%%%PAYMT_AMT%%%5000.00%%%PRINCIPAL_PAYMT_AMT%%%3000.00%%%INT_PAYMT_AMT%%%1000.00%%%OTHER_PAYMT_AMT%%%1000.00%%%TOTAL_AMT%%%5000.00%%%PRINCIPAL_TOTAL_AMT%%%3000.00%%%INT_TOTAL_AMT%%%1000.00%%%OTHER_TOTAL_AMT%%%1000.00%%%AMT_KEEP_CODE%%%AK01%%%TERMS_DUE_CODE%%%TD01%%%DAYS_PAST_DUE%%%30%%%CALC_DATE%%%2026-01-10%%%LAST_MISS_PAY_SUM%%%500.00%%%PAY_SUM_24%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_MONTHAVERPAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_MONTHAVERPAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AVER_PAYMT_AMT%%%5000%%%CALC_DATE%%%2026-01-10%%%SUM_TOTAL%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_SOURCENONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SOURCENONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SRC_NON_MONET_OBLIG%%%Source Non-Monetary%%%SRC_NON_MONET_OBLIG_CODE%%%SNM01%%%SRC_NON_MONET_OBLIG_OBJECT%%%Object description%%%SRC_NON_MONET_OBLIG_DT%%%2026-01-10%%%SRC_NON_MONET_OBLIG_CODE_IDENT%%%IDENT-001"));
|
||||
case "RU_SUBJECTNONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBJECTNONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SUBJ_NON_MONET_OBLIG%%%Subject NM%%%SUBJ_NON_MONET_OBLIG_OBJECT%%%Object NM%%%SUBJ_NON_MONET_OBLIG_REGUL%%%Regulation%%%SUBJ_NON_MONET_OBLIG_ADVERSE_CODE%%%1%%%RECEIVEDPROP_CODE%%%RP01"));
|
||||
case "RU_COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLATERAL_CODE%%%COL01%%%COLLATERAL_ID%%%COL-ID-001%%%COLLATERAL_AGREEMENT_DT%%%2026-01-10%%%COLLATERAL_VALUE%%%100000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_ENCUM%%%0%%%COLLATERAL_EXPIRATION_DATE%%%2028-01-10%%%COLLATERAL_FACT_EXPIRATION_DATE%%%%%%COLLATERAL_END_REASON%%%ER01%%%COLLATERALCOMM_AMT%%%95000.00%%%COLLATERALCONT_CNT%%%1%%%COLLATERAL_VALUE_TYPE%%%VT01%%%LOCATION%%%Moscow %%%ACTUAL_COST%%%90000.00%%%CALC_DATE%%%2026-01-10%%%HAS_BLOCKS%%%Y%%%VERSION%%%1"));
|
||||
case "RU_COLLATERAL_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%PARENT_SERIAL_NUM%%%100%%%COLLATERAL_VALUE%%%50000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_VALUE_TYPE%%%VT01"));
|
||||
case "RU_GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GUARANTEE_VOLUME%%%30000.00%%%CURRENCY_CODE%%%RUB%%%GUARANTEE_AGREEMENT_DT%%%2026-01-10%%%GUARANTEE_EXPIRATION_DATE%%%2025-01-10%%%GUARANTEE_FACT_EXPIRATION_DATE%%%%%%GUARANTEE_END_REASON%%%ER01%%%OLD_GUAR_NUM%%%OLD-GUAR-001"));
|
||||
case "RU_INDEPGUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_INDEPGUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INDEP_GUARANTEE_UUID%%%770e8400-e29b-41d4-a716-446655440002%%%INDEP_GUARANTEE_VOLUME%%%35000.00%%%CURRENCY_CODE%%%RUB%%%INDEP_GUARANTEE_DT%%%2026-01-10%%%INDEP_GUARANTEE_EXPIRATION_DATE%%%2025-06-10%%%INDEP_GUARANTEE_FACT_EXPIRATION_DATE%%%%%%INDEP_GUARANTEE_END_REASON%%%ER01%%%OLD_INDEPGUAR_NUM%%%OLD-IND-001"));
|
||||
case "RU_COLLATINSURED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATINSURED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INSUR_LIMIT%%%100000%%%CURRENCY_CODE%%%RUB%%%HAS_FRANCHISE%%%1%%%INSUR_START_DT%%%2026-01-10%%%INSUR_END_DT%%%2028-01-10%%%INSUR_FACT_END_DT%%%%%%INSUR_END_REASON%%%ER01%%%COLLATERAL_ID%%%COL-ID-001%%%VERSION%%%1"));
|
||||
case "RU_COLLATREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLAT_REPAY_CODE%%%CRC01%%%COLLAT_REPAY_DT%%%2026-06-01%%%COLLAT_REPAY_AMT%%%5000.00%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_GUARANTEEREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTEEREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_TO_REPAY%%%20000.00%%%GUARANTEE_REPAY_AMT%%%5000.00%%%GUARANTEE_REPAY_KEEP_CODE%%%1%%%GUARANTEE_DATE%%%2026-06-01"));
|
||||
case "RU_OBLIGTERMINATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGTERMINATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%LOAN_INDICATOR%%%1%%%LOAN_INDICATOR_DT%%%2026-06-01"));
|
||||
case "RU_SUBMITHOLD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBMITHOLD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HOLD_CODE%%%HLD01%%%HOLD_DT%%%2026-01-10"));
|
||||
case "RU_ACQUIRERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_CODE%%%RC01%%%RIGHT_OF_CLAIM_RUS%%%1%%%RIGHT_OF_CLAIM_FULLNAME%%%OOO Romashka%%%RIGHT_OF_CLAIM_NAME%%%Romashka%%%RIGHT_OF_CLAIM_OTHER_NAME%%%Romashka Ltd%%%RIGHT_OF_CLAIM_LEI%%%LEI1234567890%%%RIGHT_OF_CLAIM_REG_NUM%%%1234567890%%%RIGHT_OF_CLAIM_TAX_CODE%%%1%%%RIGHT_OF_CLAIM_TAX_NUM%%%1234567890%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAX_EXTRA%%%extra_tax"));
|
||||
case "RU_ACQUIRERINDIVID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERINDIVID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_LAST_NAME%%%Ivanov%%%RIGHT_OF_CLAIM_FIRST_NAME%%%Ivan%%%RIGHT_OF_CLAIM_MIDDLE_NAME%%%Ivanovich%%%RIGHT_OF_CLAIM_BIRTH_DT%%%1980-01-01%%%RIGHT_OF_CLAIM_PLACE_OF_BIRTH%%%Moscow%%%RIGHT_OF_CLAIM_TAXPAYER_ID_CODE%%%1%%%RIGHT_OF_CLAIM_TAXPAYER_ID%%%1234567890%%%RIGHT_OF_CLAIM_SNILS%%%123-456-789%%%RIGHT_OF_CLAIM_ID_TYPE%%%01%%%RIGHT_OF_CLAIM_OTHER_ID%%%other-id%%%RIGHT_OF_CLAIM_ID_SERIES%%%AB%%%RIGHT_OF_CLAIM_ID_NUM%%%123456%%%RIGHT_OF_CLAIM_ID_ISSUE_DT%%%2020-01-01%%%RIGHT_OF_CLAIM_ID_ISSUE_AUTHORITY%%%MVD%%%RIGHT_OF_CLAIM_ID_DIV_CODE%%%770-001%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAXPAYER_ID_EXTRA%%%extra123"));
|
||||
case "RU_SERVICECO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SERVICECO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SERV_RUS%%%1%%%SERV_FULL_NAME%%%ServiceCo Full%%%SERV_SHORT_NAME%%%ServiceCo%%%SERV_OTHER_NAME%%%ServCo%%%SERV_REG_NUM%%%1234567890%%%SERV_TAXPAYER_ID_CODE%%%1%%%SERV_TAXPAYER_ID%%%1234567890%%%SERV_START_DT%%%2026-01-01%%%SERV_END_DT%%%2025-01-01%%%SERV_EMITENT_NAME%%%Emitent Name%%%SERV_EMITENT_REG_NUM%%%EM123456%%%SERV_TAXPAYER_ID_CODE_EXTRA%%%extra_tax"));
|
||||
case "RU_OBLIGACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OBLIG_ACCOUNT_CODE%%%1%%%INT_RATE%%%12.50%%%OFFBALANCE_AMT%%%5000.00%%%PREFEREN_FINANC%%%1%%%PREFEREN_FINANC_INFO%%%Pref info%%%MAX_INTEREST%%%25.00%%%CALC_DATE%%%2026-01-10%%%VERSION%%%1"));
|
||||
case "RU_LEGALRECORD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_LEGALRECORD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_COURT_ACT%%%1%%%COURT_ACT_DT%%%2026-01-10%%%COURT_ACT_NUM%%%CA-001%%%RESOLUTION%%%Resolved%%%COURT_ACT_EFFECT_CODE%%%1%%%LAWSUIT_CODE%%%LS01%%%SUM_TOTAL%%%5000.00%%%INFO%%%Legal info%%%VERSION%%%1"));
|
||||
case "RU_OBLIGSRCBANKRUPT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCBANKRUPT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SB_START_OUTSTANDING%%%80000.00%%%SB_START_DT%%%2026-01-01%%%SB_END_OUTSTANDING%%%75000.00%%%SB_END_DT%%%2026-06-01%%%SB_LAST_PAY_OUTSTANDING%%%10000.00%%%SB_LAST_PAYMT_DT%%%2026-05-15%%%SB_TRANSFER_CODE%%%1%%%SB_LOAN_INDICATOR%%%1%%%SB_LOAN_INDICATOR_REASON%%%R01%%%SB_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_OBLIGSRCLIQUID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCLIQUID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SL_START_OUTSTANDING%%%90000.00%%%SL_START_DT%%%2026-01-01%%%SL_BALANCE_OUTSTANDING%%%85000.00%%%SL_BALANCE_DT%%%2026-06-01%%%SL_LAST_PAY_OUTSTANDING%%%12000.00%%%SL_LAST_PAYMT_DT%%%2026-05-15%%%SL_TRANSFER_CODE%%%1%%%SL_LOAN_INDICATOR%%%1%%%SL_LOAN_INDICATOR_REASON%%%LR01%%%SL_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_AMOUNT_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMOUNT_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%ENSURED_AMT%%%120000.00%%%COMMITCURR_CODE%%%RUB%%%COMMIT_CODE%%%CC01%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%LIABILITY_LIMIT%%%LIMIT01"));
|
||||
case "RU_CONTRACT_TERMS_CHANGES" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CONTRACT_TERMS_CHANGES%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%TERMS_CHANGE_CODE%%%TC01%%%TERMS_CHANGE_DESC%%%Change desc 1%%%CHANGING_DATE%%%2026-03-01"));
|
||||
case "RU_ALL_ARREARS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ALL_ARREARS%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,219 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class InformationTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private InformationTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByOLD_APP_NUM() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.OLD_APP_NUM;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"APP-001",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("INFORMATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("INFORMATION%%%FID%%%111%%%SERIAL_NUM%%%100%%%APP_NUM%%%APP-001%%%APP_DATE%%%2026-01-01%%%CREDITOR_TYPE%%%1%%%TYPE_FLAG%%%1%%%LOAN_TYPE%%%1%%%SHIPMENT_WAY%%%01%%%FLAG_OF_APPROVAL%%%Y%%%APPROVAL_EXPR_DTE%%%2026-06-01%%%REJECTED_AMT%%%10000%%%REJ_AMT_CUR%%%RUB%%%REJECTION_DTE%%%%%%REJECTION_REASON%%%01%%%AGREEMENT_NUM%%%AG-001%%%APP_LOAN_TYP%%%1%%%DEFAULT_FLAG%%%Y%%%LOAN_RETURNED_IND%%%N%%%OLD_APP_NUM%%%OLD-001%%%CANCELLATION_FLAG%%%N%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesBySERIAL_NUM_APP() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.SERIAL_NUM_APP;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"100",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("INFORMATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("INFORMATION%%%FID%%%111%%%SERIAL_NUM%%%100%%%APP_NUM%%%APP-001%%%APP_DATE%%%2026-01-01%%%CREDITOR_TYPE%%%1%%%TYPE_FLAG%%%1%%%LOAN_TYPE%%%1%%%SHIPMENT_WAY%%%01%%%FLAG_OF_APPROVAL%%%Y%%%APPROVAL_EXPR_DTE%%%2026-06-01%%%REJECTED_AMT%%%10000%%%REJ_AMT_CUR%%%RUB%%%REJECTION_DTE%%%%%%REJECTION_REASON%%%01%%%AGREEMENT_NUM%%%AG-001%%%APP_LOAN_TYP%%%1%%%DEFAULT_FLAG%%%Y%%%LOAN_RETURNED_IND%%%N%%%OLD_APP_NUM%%%OLD-001%%%CANCELLATION_FLAG%%%N%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("INFORMATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("INFORMATION%%%FID%%%111%%%SERIAL_NUM%%%100%%%APP_NUM%%%APP-001%%%APP_DATE%%%2026-01-01%%%CREDITOR_TYPE%%%1%%%TYPE_FLAG%%%1%%%LOAN_TYPE%%%1%%%SHIPMENT_WAY%%%01%%%FLAG_OF_APPROVAL%%%Y%%%APPROVAL_EXPR_DTE%%%2026-06-01%%%REJECTED_AMT%%%10000%%%REJ_AMT_CUR%%%RUB%%%REJECTION_DTE%%%%%%REJECTION_REASON%%%01%%%AGREEMENT_NUM%%%AG-001%%%APP_LOAN_TYP%%%1%%%DEFAULT_FLAG%%%Y%%%LOAN_RETURNED_IND%%%N%%%OLD_APP_NUM%%%OLD-001%%%CANCELLATION_FLAG%%%N%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("INFORMATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("INFORMATION%%%FID%%%111%%%SERIAL_NUM%%%100%%%APP_NUM%%%APP-001%%%APP_DATE%%%2026-01-01%%%CREDITOR_TYPE%%%1%%%TYPE_FLAG%%%1%%%LOAN_TYPE%%%1%%%SHIPMENT_WAY%%%01%%%FLAG_OF_APPROVAL%%%Y%%%APPROVAL_EXPR_DTE%%%2026-06-01%%%REJECTED_AMT%%%10000%%%REJ_AMT_CUR%%%RUB%%%REJECTION_DTE%%%%%%REJECTION_REASON%%%01%%%AGREEMENT_NUM%%%AG-001%%%APP_LOAN_TYP%%%1%%%DEFAULT_FLAG%%%Y%%%LOAN_RETURNED_IND%%%N%%%OLD_APP_NUM%%%OLD-001%%%CANCELLATION_FLAG%%%N%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class LegalTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private LegalTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("LEGAL")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("LEGAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILING_NUMBER%%%FL-001%%%COURT%%%Court A%%%REPORTED_DT%%%2026-01-15%%%DCSN_DTE%%%2026-01-10%%%SATISFIED_DT%%%%%%PLAINTIFF%%%Plaintiff A%%%RESOL_TXT%%%Resolved text%%%SRC_COUNTRY_CODE%%%RU%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.TUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("LEGAL")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("LEGAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILING_NUMBER%%%FL-001%%%COURT%%%Court A%%%REPORTED_DT%%%2026-01-15%%%DCSN_DTE%%%2026-01-10%%%SATISFIED_DT%%%%%%PLAINTIFF%%%Plaintiff A%%%RESOL_TXT%%%Resolved text%%%SRC_COUNTRY_CODE%%%RU%%%MEMBER_CODE%%%QQ66WW%%%FILE_SINCE_DT%%%2026-01-15%%%LAST_UPDATED_DT%%%2026-01-15 00:00:00.0%%%FREEZE_FLAG%%%0%%%SUPPRESS_FLAG%%%0%%%SUPPRESS_STR_DT%%%%%%SUPPRESS_END_DT%%%%%%INDIC_CRC%%%11111"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,219 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuApplicationTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuApplicationTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByAPPLICATION_NUMBER() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.APPLICATION_NUMBER;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"APP-001",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_APPLICATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByOLD_APP_NUM() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.OLD_APP_NUM;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"OLD-APP-001",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_APPLICATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_APPLICATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_APPLICATION")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuBankruptcyTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuBankruptcyTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_BANKRUPTCY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_BANKRUPTCY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuCapabilityTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuCapabilityTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_CAPABILITY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_CAPABILITY")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuDebtBurdenInfoTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuDebtBurdenInfoTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_DEBT_BURDEN_INFO")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_DEBT_BURDEN_INFO")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuObligPartTakeTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuObligPartTakeTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_OBLIGPARTTAKE")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_OBLIGPARTTAKE")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuOtherLegalTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuOtherLegalTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_OTHERLEGAL")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_OTHERLEGAL")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,145 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuSettledTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuSettledTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_SETTLED")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
if (tableName.equals("RU_SETTLED")) {
|
||||
assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
} else {
|
||||
fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,543 @@
|
|||
package ru.nbch.indicsearchservice.loader;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.fail;
|
||||
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import javax.sql.DataSource;
|
||||
import org.h2.tools.RunScript;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.test.context.ActiveProfiles;
|
||||
import ru.nbch.indicsearchservice.config.settings.ApplicationSettings;
|
||||
import ru.nbch.indicsearchservice.model.TableMetaData;
|
||||
import ru.nbch.indicsearchservice.model.enums.DataType;
|
||||
import ru.nbch.indicsearchservice.model.enums.SearchParameter;
|
||||
import ru.nbch.indicsearchservice.util.TableMetaDataUtil;
|
||||
|
||||
@SpringBootTest
|
||||
@ActiveProfiles("test")
|
||||
class RuUidTableLoaderTest {
|
||||
@Autowired
|
||||
private ApplicationSettings settings;
|
||||
@Autowired
|
||||
@Qualifier("indicDataSource")
|
||||
private DataSource indicDataSource;
|
||||
@Autowired
|
||||
private RuUidTableLoader loader;
|
||||
@Autowired
|
||||
private TableMetaDataUtil tableMetaDataUtil;
|
||||
|
||||
private final Set<Path> createdFiles = new HashSet<>();
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
settings.setStorageDirectory(Path.of("src/test/resources/storage").toFile());
|
||||
settings.getJobCleaner().setEnabled(false);
|
||||
|
||||
try (Connection connection = indicDataSource.getConnection()) {
|
||||
RunScript.execute(connection, new FileReader(new ClassPathResource("sql/indic/indic.sql").getFile()));
|
||||
} catch (SQLException | IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@AfterEach
|
||||
void tearDown() {
|
||||
createdFiles.forEach(f -> {
|
||||
try {
|
||||
Files.deleteIfExists(f);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByUUID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.UUID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"550e8400-e29b-41d4-a716-446655440000",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "RU_UID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_UID%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%ACCT_NUM%%%ACCT-111%%%CRC_SEARCH%%%123456%%%HEADER_REPORTING_DT%%%2026-01-15%%%OPENED_DT%%%2026-01-01%%%REF_UID%%%REF-UID-001%%%VERSION%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01%%%LAST_RECEIVED%%%2026-01-01 00:00:00.0%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_APPLICATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OBLIGPARTTAKE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
case "RU_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_BANKRUPTCY_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%PARENT_SERIAL_NUM%%%100%%%STAGE_CODE%%%BLK01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://block1"));
|
||||
case "RU_SETTLED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OTHERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
case "RU_CAPABILITY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
case "RU_DEBT_BURDEN_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_TRADE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_TRADE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OWNER_INDIC%%%OWN01%%%OPENED_DT%%%2026-01-01%%%TRADE_TYPE_CODE%%%TT01%%%LOAN_KIND_CODE%%%LK01%%%ACCT_TYPE%%%consumer%%%IS_CONSUMER_LOAN%%%1%%%HAS_CARD%%%1%%%IS_NOVATION%%%0%%%IS_MONEY_SOURCE%%%0%%%IS_MONEY_BORROWER%%%0%%%CLOSE_DT%%%%%%OBTAINPART_CRED%%%1%%%CREDIT_LINE%%%1%%%INTERESTRATE_FLOAT%%%0%%%TRANSPART_CRED%%%0%%%TRANSPART_CRED_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_DATE%%%2026-01-10%%%LENDERTYPE_CODE%%%LT01%%%CREDIT_LINE_CODE%%%CL01%%%REPAYMENT_FACT%%%Y%%%TRANSFER_FACT%%%N%%%PARTNER_FINANCING_FACT%%%N%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_ACCOUNT_AMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACCOUNT_AMT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_LIMIT%%%150000.00%%%CURRENCY_CODE%%%RUB%%%ENSURED_AMT%%%140000.00%%%COMMITCURR_CODE%%%RUB%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_CODE%%%CMT01%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_COBORROWER" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COBORROWER%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_SOLIDARY%%%1%%%SOLIDARY_NUM%%%2%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT_CONDITION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT_CONDITION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PRINCIPAL_TERMS_AMT%%%1500.00%%%PRINCIPAL_TERMS_AMT_DT%%%2026-01-10%%%INTEREST_TERMS_AMT%%%500.00%%%INTEREST_TERMS_AMT_DT%%%2026-01-10%%%TERMS_FREQUENCY%%%M %%%MIN_PAYMT%%%1000.00%%%GRACE_START_DT%%%2026-01-01%%%GRACE_END_DT%%%2026-07-01%%%INTEREST_PAYMENT_DUE_DATE%%%2026-08-15%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_OVERALLVAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OVERALLVAL%%%FID%%%111%%%SERIAL_NUM%%%1067%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_TOTAL_AMT%%%150.000%%%CREDIT_TOTAL_MONETARY_AMT%%%150000.00%%%CREDIT_TOTAL_AMT_DATE%%%2026-01-10%%%MAX_PERCENT_COST%%%25.000%%%MAX_COST%%%5000.00%%%MAX_PERCENT_CASH%%%30.000%%%MAX_PERCENT_CASHLESS%%%20.000%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_AMENDMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMENDMENT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AMEND_DATE%%%2026-01-10%%%AMEND_TYPE%%%AM01%%%SPEC_TYPE%%%SP01%%%OTHER_DESC%%%Description%%%START_DT%%%2026-01-10%%%PLAN_END_DT%%%2026-06-10%%%FACT_END_DT%%%%%%END_REASON%%%ER01%%%CUR_RATE%%%12.5000"));
|
||||
case "RU_FUNDDATE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_FUNDDATE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%FUND_DATE%%%2026-01-10%%%TRANCHE_NUM%%%1%%%START_AMT_OUTSTANDING%%%100000.00%%%VERSION%%%1"));
|
||||
case "RU_ARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_AMT_OUTSTANDING%%%50000.00%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%52000.00%%%PRINCIPAL_OUTSTANDING%%%40000.00%%%INT_OUTSTANDING%%%8000.00%%%OTHER_AMT_OUTSTANDING%%%4000.00%%%CALC_DATE%%%2026-01-10%%%UNCONFIRM_GRACE%%%0%%%IS_EMPTY%%%0%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_DUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_DT%%%2026-01-05%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%15000.00%%%PRINCIPAL_OUTSTANDING%%%10000.00%%%INT_OUTSTANDING%%%3000.00%%%OTHER_AMT_OUTSTANDING%%%2000.00%%%CALC_DATE%%%2026-01-10%%%IS_EMPTY%%%0%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PASTDUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PASTDUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAST_DUE_DT%%%2026-02-01%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_PAST_DUE%%%3000.00%%%PRINCIPAL_AMT_PAST_DUE%%%2000.00%%%INT_AMT_PAST_DUE%%%500.00%%%OTHER_AMT_PAST_DUE%%%500.00%%%CALC_DATE%%%2026-01-10%%%PRINCIPAL_MISSED_DATE%%%2026-01-20%%%INT_MISSED_DATE%%%2026-01-25%%%IS_EMPTY%%%0%%%MISS_FACT%%%Y%%%DAYS_PAST_DUE%%%30%%%REPAID_MISS_DURATION%%%15%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAYMT_DATE%%%2026-02-01%%%PAYMT_AMT%%%5000.00%%%PRINCIPAL_PAYMT_AMT%%%3000.00%%%INT_PAYMT_AMT%%%1000.00%%%OTHER_PAYMT_AMT%%%1000.00%%%TOTAL_AMT%%%5000.00%%%PRINCIPAL_TOTAL_AMT%%%3000.00%%%INT_TOTAL_AMT%%%1000.00%%%OTHER_TOTAL_AMT%%%1000.00%%%AMT_KEEP_CODE%%%AK01%%%TERMS_DUE_CODE%%%TD01%%%DAYS_PAST_DUE%%%30%%%CALC_DATE%%%2026-01-10%%%LAST_MISS_PAY_SUM%%%500.00%%%PAY_SUM_24%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_MONTHAVERPAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_MONTHAVERPAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AVER_PAYMT_AMT%%%5000%%%CALC_DATE%%%2026-01-10%%%SUM_TOTAL%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_SOURCENONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SOURCENONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SRC_NON_MONET_OBLIG%%%Source Non-Monetary%%%SRC_NON_MONET_OBLIG_CODE%%%SNM01%%%SRC_NON_MONET_OBLIG_OBJECT%%%Object description%%%SRC_NON_MONET_OBLIG_DT%%%2026-01-10%%%SRC_NON_MONET_OBLIG_CODE_IDENT%%%IDENT-001"));
|
||||
case "RU_SUBJECTNONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBJECTNONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SUBJ_NON_MONET_OBLIG%%%Subject NM%%%SUBJ_NON_MONET_OBLIG_OBJECT%%%Object NM%%%SUBJ_NON_MONET_OBLIG_REGUL%%%Regulation%%%SUBJ_NON_MONET_OBLIG_ADVERSE_CODE%%%1%%%RECEIVEDPROP_CODE%%%RP01"));
|
||||
case "RU_COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLATERAL_CODE%%%COL01%%%COLLATERAL_ID%%%COL-ID-001%%%COLLATERAL_AGREEMENT_DT%%%2026-01-10%%%COLLATERAL_VALUE%%%100000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_ENCUM%%%0%%%COLLATERAL_EXPIRATION_DATE%%%2028-01-10%%%COLLATERAL_FACT_EXPIRATION_DATE%%%%%%COLLATERAL_END_REASON%%%ER01%%%COLLATERALCOMM_AMT%%%95000.00%%%COLLATERALCONT_CNT%%%1%%%COLLATERAL_VALUE_TYPE%%%VT01%%%LOCATION%%%Moscow %%%ACTUAL_COST%%%90000.00%%%CALC_DATE%%%2026-01-10%%%HAS_BLOCKS%%%Y%%%VERSION%%%1"));
|
||||
case "RU_COLLATERAL_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%PARENT_SERIAL_NUM%%%100%%%COLLATERAL_VALUE%%%50000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_VALUE_TYPE%%%VT01"));
|
||||
case "RU_GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GUARANTEE_VOLUME%%%30000.00%%%CURRENCY_CODE%%%RUB%%%GUARANTEE_AGREEMENT_DT%%%2026-01-10%%%GUARANTEE_EXPIRATION_DATE%%%2025-01-10%%%GUARANTEE_FACT_EXPIRATION_DATE%%%%%%GUARANTEE_END_REASON%%%ER01%%%OLD_GUAR_NUM%%%OLD-GUAR-001"));
|
||||
case "RU_INDEPGUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_INDEPGUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INDEP_GUARANTEE_UUID%%%770e8400-e29b-41d4-a716-446655440002%%%INDEP_GUARANTEE_VOLUME%%%35000.00%%%CURRENCY_CODE%%%RUB%%%INDEP_GUARANTEE_DT%%%2026-01-10%%%INDEP_GUARANTEE_EXPIRATION_DATE%%%2025-06-10%%%INDEP_GUARANTEE_FACT_EXPIRATION_DATE%%%%%%INDEP_GUARANTEE_END_REASON%%%ER01%%%OLD_INDEPGUAR_NUM%%%OLD-IND-001"));
|
||||
case "RU_COLLATINSURED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATINSURED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INSUR_LIMIT%%%100000%%%CURRENCY_CODE%%%RUB%%%HAS_FRANCHISE%%%1%%%INSUR_START_DT%%%2026-01-10%%%INSUR_END_DT%%%2028-01-10%%%INSUR_FACT_END_DT%%%%%%INSUR_END_REASON%%%ER01%%%COLLATERAL_ID%%%COL-ID-001%%%VERSION%%%1"));
|
||||
case "RU_COLLATREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLAT_REPAY_CODE%%%CRC01%%%COLLAT_REPAY_DT%%%2026-06-01%%%COLLAT_REPAY_AMT%%%5000.00%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_GUARANTEEREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTEEREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_TO_REPAY%%%20000.00%%%GUARANTEE_REPAY_AMT%%%5000.00%%%GUARANTEE_REPAY_KEEP_CODE%%%1%%%GUARANTEE_DATE%%%2026-06-01"));
|
||||
case "RU_OBLIGTERMINATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGTERMINATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%LOAN_INDICATOR%%%1%%%LOAN_INDICATOR_DT%%%2026-06-01"));
|
||||
case "RU_SUBMITHOLD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBMITHOLD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HOLD_CODE%%%HLD01%%%HOLD_DT%%%2026-01-10"));
|
||||
case "RU_ACQUIRERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_CODE%%%RC01%%%RIGHT_OF_CLAIM_RUS%%%1%%%RIGHT_OF_CLAIM_FULLNAME%%%OOO Romashka%%%RIGHT_OF_CLAIM_NAME%%%Romashka%%%RIGHT_OF_CLAIM_OTHER_NAME%%%Romashka Ltd%%%RIGHT_OF_CLAIM_LEI%%%LEI1234567890%%%RIGHT_OF_CLAIM_REG_NUM%%%1234567890%%%RIGHT_OF_CLAIM_TAX_CODE%%%1%%%RIGHT_OF_CLAIM_TAX_NUM%%%1234567890%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAX_EXTRA%%%extra_tax"));
|
||||
case "RU_ACQUIRERINDIVID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERINDIVID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_LAST_NAME%%%Ivanov%%%RIGHT_OF_CLAIM_FIRST_NAME%%%Ivan%%%RIGHT_OF_CLAIM_MIDDLE_NAME%%%Ivanovich%%%RIGHT_OF_CLAIM_BIRTH_DT%%%1980-01-01%%%RIGHT_OF_CLAIM_PLACE_OF_BIRTH%%%Moscow%%%RIGHT_OF_CLAIM_TAXPAYER_ID_CODE%%%1%%%RIGHT_OF_CLAIM_TAXPAYER_ID%%%1234567890%%%RIGHT_OF_CLAIM_SNILS%%%123-456-789%%%RIGHT_OF_CLAIM_ID_TYPE%%%01%%%RIGHT_OF_CLAIM_OTHER_ID%%%other-id%%%RIGHT_OF_CLAIM_ID_SERIES%%%AB%%%RIGHT_OF_CLAIM_ID_NUM%%%123456%%%RIGHT_OF_CLAIM_ID_ISSUE_DT%%%2020-01-01%%%RIGHT_OF_CLAIM_ID_ISSUE_AUTHORITY%%%MVD%%%RIGHT_OF_CLAIM_ID_DIV_CODE%%%770-001%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAXPAYER_ID_EXTRA%%%extra123"));
|
||||
case "RU_SERVICECO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SERVICECO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SERV_RUS%%%1%%%SERV_FULL_NAME%%%ServiceCo Full%%%SERV_SHORT_NAME%%%ServiceCo%%%SERV_OTHER_NAME%%%ServCo%%%SERV_REG_NUM%%%1234567890%%%SERV_TAXPAYER_ID_CODE%%%1%%%SERV_TAXPAYER_ID%%%1234567890%%%SERV_START_DT%%%2026-01-01%%%SERV_END_DT%%%2025-01-01%%%SERV_EMITENT_NAME%%%Emitent Name%%%SERV_EMITENT_REG_NUM%%%EM123456%%%SERV_TAXPAYER_ID_CODE_EXTRA%%%extra_tax"));
|
||||
case "RU_OBLIGACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OBLIG_ACCOUNT_CODE%%%1%%%INT_RATE%%%12.50%%%OFFBALANCE_AMT%%%5000.00%%%PREFEREN_FINANC%%%1%%%PREFEREN_FINANC_INFO%%%Pref info%%%MAX_INTEREST%%%25.00%%%CALC_DATE%%%2026-01-10%%%VERSION%%%1"));
|
||||
case "RU_LEGALRECORD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_LEGALRECORD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_COURT_ACT%%%1%%%COURT_ACT_DT%%%2026-01-10%%%COURT_ACT_NUM%%%CA-001%%%RESOLUTION%%%Resolved%%%COURT_ACT_EFFECT_CODE%%%1%%%LAWSUIT_CODE%%%LS01%%%SUM_TOTAL%%%5000.00%%%INFO%%%Legal info%%%VERSION%%%1"));
|
||||
case "RU_OBLIGSRCBANKRUPT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCBANKRUPT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SB_START_OUTSTANDING%%%80000.00%%%SB_START_DT%%%2026-01-01%%%SB_END_OUTSTANDING%%%75000.00%%%SB_END_DT%%%2026-06-01%%%SB_LAST_PAY_OUTSTANDING%%%10000.00%%%SB_LAST_PAYMT_DT%%%2026-05-15%%%SB_TRANSFER_CODE%%%1%%%SB_LOAN_INDICATOR%%%1%%%SB_LOAN_INDICATOR_REASON%%%R01%%%SB_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_OBLIGSRCLIQUID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCLIQUID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SL_START_OUTSTANDING%%%90000.00%%%SL_START_DT%%%2026-01-01%%%SL_BALANCE_OUTSTANDING%%%85000.00%%%SL_BALANCE_DT%%%2026-06-01%%%SL_LAST_PAY_OUTSTANDING%%%12000.00%%%SL_LAST_PAYMT_DT%%%2026-05-15%%%SL_TRANSFER_CODE%%%1%%%SL_LOAN_INDICATOR%%%1%%%SL_LOAN_INDICATOR_REASON%%%LR01%%%SL_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_AMOUNT_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMOUNT_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%ENSURED_AMT%%%120000.00%%%COMMITCURR_CODE%%%RUB%%%COMMIT_CODE%%%CC01%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%LIABILITY_LIMIT%%%LIMIT01"));
|
||||
case "RU_CONTRACT_TERMS_CHANGES" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CONTRACT_TERMS_CHANGES%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%TERMS_CHANGE_CODE%%%TC01%%%TERMS_CHANGE_DESC%%%Change desc 1%%%CHANGING_DATE%%%2026-03-01"));
|
||||
case "RU_ALL_ARREARS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ALL_ARREARS%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByACCT_NUM() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.ACCT_NUM;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"ACCT-111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "RU_UID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_UID%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%ACCT_NUM%%%ACCT-111%%%CRC_SEARCH%%%123456%%%HEADER_REPORTING_DT%%%2026-01-15%%%OPENED_DT%%%2026-01-01%%%REF_UID%%%REF-UID-001%%%VERSION%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01%%%LAST_RECEIVED%%%2026-01-01 00:00:00.0%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_APPLICATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OBLIGPARTTAKE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
case "RU_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_BANKRUPTCY_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%PARENT_SERIAL_NUM%%%100%%%STAGE_CODE%%%BLK01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://block1"));
|
||||
case "RU_SETTLED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OTHERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
case "RU_CAPABILITY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
case "RU_DEBT_BURDEN_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_TRADE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_TRADE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OWNER_INDIC%%%OWN01%%%OPENED_DT%%%2026-01-01%%%TRADE_TYPE_CODE%%%TT01%%%LOAN_KIND_CODE%%%LK01%%%ACCT_TYPE%%%consumer%%%IS_CONSUMER_LOAN%%%1%%%HAS_CARD%%%1%%%IS_NOVATION%%%0%%%IS_MONEY_SOURCE%%%0%%%IS_MONEY_BORROWER%%%0%%%CLOSE_DT%%%%%%OBTAINPART_CRED%%%1%%%CREDIT_LINE%%%1%%%INTERESTRATE_FLOAT%%%0%%%TRANSPART_CRED%%%0%%%TRANSPART_CRED_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_DATE%%%2026-01-10%%%LENDERTYPE_CODE%%%LT01%%%CREDIT_LINE_CODE%%%CL01%%%REPAYMENT_FACT%%%Y%%%TRANSFER_FACT%%%N%%%PARTNER_FINANCING_FACT%%%N%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_ACCOUNT_AMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACCOUNT_AMT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_LIMIT%%%150000.00%%%CURRENCY_CODE%%%RUB%%%ENSURED_AMT%%%140000.00%%%COMMITCURR_CODE%%%RUB%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_CODE%%%CMT01%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_COBORROWER" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COBORROWER%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_SOLIDARY%%%1%%%SOLIDARY_NUM%%%2%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT_CONDITION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT_CONDITION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PRINCIPAL_TERMS_AMT%%%1500.00%%%PRINCIPAL_TERMS_AMT_DT%%%2026-01-10%%%INTEREST_TERMS_AMT%%%500.00%%%INTEREST_TERMS_AMT_DT%%%2026-01-10%%%TERMS_FREQUENCY%%%M %%%MIN_PAYMT%%%1000.00%%%GRACE_START_DT%%%2026-01-01%%%GRACE_END_DT%%%2026-07-01%%%INTEREST_PAYMENT_DUE_DATE%%%2026-08-15%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_OVERALLVAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OVERALLVAL%%%FID%%%111%%%SERIAL_NUM%%%1067%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_TOTAL_AMT%%%150.000%%%CREDIT_TOTAL_MONETARY_AMT%%%150000.00%%%CREDIT_TOTAL_AMT_DATE%%%2026-01-10%%%MAX_PERCENT_COST%%%25.000%%%MAX_COST%%%5000.00%%%MAX_PERCENT_CASH%%%30.000%%%MAX_PERCENT_CASHLESS%%%20.000%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_AMENDMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMENDMENT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AMEND_DATE%%%2026-01-10%%%AMEND_TYPE%%%AM01%%%SPEC_TYPE%%%SP01%%%OTHER_DESC%%%Description%%%START_DT%%%2026-01-10%%%PLAN_END_DT%%%2026-06-10%%%FACT_END_DT%%%%%%END_REASON%%%ER01%%%CUR_RATE%%%12.5000"));
|
||||
case "RU_FUNDDATE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_FUNDDATE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%FUND_DATE%%%2026-01-10%%%TRANCHE_NUM%%%1%%%START_AMT_OUTSTANDING%%%100000.00%%%VERSION%%%1"));
|
||||
case "RU_ARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_AMT_OUTSTANDING%%%50000.00%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%52000.00%%%PRINCIPAL_OUTSTANDING%%%40000.00%%%INT_OUTSTANDING%%%8000.00%%%OTHER_AMT_OUTSTANDING%%%4000.00%%%CALC_DATE%%%2026-01-10%%%UNCONFIRM_GRACE%%%0%%%IS_EMPTY%%%0%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_DUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_DT%%%2026-01-05%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%15000.00%%%PRINCIPAL_OUTSTANDING%%%10000.00%%%INT_OUTSTANDING%%%3000.00%%%OTHER_AMT_OUTSTANDING%%%2000.00%%%CALC_DATE%%%2026-01-10%%%IS_EMPTY%%%0%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PASTDUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PASTDUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAST_DUE_DT%%%2026-02-01%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_PAST_DUE%%%3000.00%%%PRINCIPAL_AMT_PAST_DUE%%%2000.00%%%INT_AMT_PAST_DUE%%%500.00%%%OTHER_AMT_PAST_DUE%%%500.00%%%CALC_DATE%%%2026-01-10%%%PRINCIPAL_MISSED_DATE%%%2026-01-20%%%INT_MISSED_DATE%%%2026-01-25%%%IS_EMPTY%%%0%%%MISS_FACT%%%Y%%%DAYS_PAST_DUE%%%30%%%REPAID_MISS_DURATION%%%15%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAYMT_DATE%%%2026-02-01%%%PAYMT_AMT%%%5000.00%%%PRINCIPAL_PAYMT_AMT%%%3000.00%%%INT_PAYMT_AMT%%%1000.00%%%OTHER_PAYMT_AMT%%%1000.00%%%TOTAL_AMT%%%5000.00%%%PRINCIPAL_TOTAL_AMT%%%3000.00%%%INT_TOTAL_AMT%%%1000.00%%%OTHER_TOTAL_AMT%%%1000.00%%%AMT_KEEP_CODE%%%AK01%%%TERMS_DUE_CODE%%%TD01%%%DAYS_PAST_DUE%%%30%%%CALC_DATE%%%2026-01-10%%%LAST_MISS_PAY_SUM%%%500.00%%%PAY_SUM_24%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_MONTHAVERPAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_MONTHAVERPAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AVER_PAYMT_AMT%%%5000%%%CALC_DATE%%%2026-01-10%%%SUM_TOTAL%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_SOURCENONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SOURCENONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SRC_NON_MONET_OBLIG%%%Source Non-Monetary%%%SRC_NON_MONET_OBLIG_CODE%%%SNM01%%%SRC_NON_MONET_OBLIG_OBJECT%%%Object description%%%SRC_NON_MONET_OBLIG_DT%%%2026-01-10%%%SRC_NON_MONET_OBLIG_CODE_IDENT%%%IDENT-001"));
|
||||
case "RU_SUBJECTNONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBJECTNONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SUBJ_NON_MONET_OBLIG%%%Subject NM%%%SUBJ_NON_MONET_OBLIG_OBJECT%%%Object NM%%%SUBJ_NON_MONET_OBLIG_REGUL%%%Regulation%%%SUBJ_NON_MONET_OBLIG_ADVERSE_CODE%%%1%%%RECEIVEDPROP_CODE%%%RP01"));
|
||||
case "RU_COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLATERAL_CODE%%%COL01%%%COLLATERAL_ID%%%COL-ID-001%%%COLLATERAL_AGREEMENT_DT%%%2026-01-10%%%COLLATERAL_VALUE%%%100000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_ENCUM%%%0%%%COLLATERAL_EXPIRATION_DATE%%%2028-01-10%%%COLLATERAL_FACT_EXPIRATION_DATE%%%%%%COLLATERAL_END_REASON%%%ER01%%%COLLATERALCOMM_AMT%%%95000.00%%%COLLATERALCONT_CNT%%%1%%%COLLATERAL_VALUE_TYPE%%%VT01%%%LOCATION%%%Moscow %%%ACTUAL_COST%%%90000.00%%%CALC_DATE%%%2026-01-10%%%HAS_BLOCKS%%%Y%%%VERSION%%%1"));
|
||||
case "RU_COLLATERAL_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%PARENT_SERIAL_NUM%%%100%%%COLLATERAL_VALUE%%%50000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_VALUE_TYPE%%%VT01"));
|
||||
case "RU_GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GUARANTEE_VOLUME%%%30000.00%%%CURRENCY_CODE%%%RUB%%%GUARANTEE_AGREEMENT_DT%%%2026-01-10%%%GUARANTEE_EXPIRATION_DATE%%%2025-01-10%%%GUARANTEE_FACT_EXPIRATION_DATE%%%%%%GUARANTEE_END_REASON%%%ER01%%%OLD_GUAR_NUM%%%OLD-GUAR-001"));
|
||||
case "RU_INDEPGUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_INDEPGUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INDEP_GUARANTEE_UUID%%%770e8400-e29b-41d4-a716-446655440002%%%INDEP_GUARANTEE_VOLUME%%%35000.00%%%CURRENCY_CODE%%%RUB%%%INDEP_GUARANTEE_DT%%%2026-01-10%%%INDEP_GUARANTEE_EXPIRATION_DATE%%%2025-06-10%%%INDEP_GUARANTEE_FACT_EXPIRATION_DATE%%%%%%INDEP_GUARANTEE_END_REASON%%%ER01%%%OLD_INDEPGUAR_NUM%%%OLD-IND-001"));
|
||||
case "RU_COLLATINSURED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATINSURED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INSUR_LIMIT%%%100000%%%CURRENCY_CODE%%%RUB%%%HAS_FRANCHISE%%%1%%%INSUR_START_DT%%%2026-01-10%%%INSUR_END_DT%%%2028-01-10%%%INSUR_FACT_END_DT%%%%%%INSUR_END_REASON%%%ER01%%%COLLATERAL_ID%%%COL-ID-001%%%VERSION%%%1"));
|
||||
case "RU_COLLATREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLAT_REPAY_CODE%%%CRC01%%%COLLAT_REPAY_DT%%%2026-06-01%%%COLLAT_REPAY_AMT%%%5000.00%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_GUARANTEEREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTEEREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_TO_REPAY%%%20000.00%%%GUARANTEE_REPAY_AMT%%%5000.00%%%GUARANTEE_REPAY_KEEP_CODE%%%1%%%GUARANTEE_DATE%%%2026-06-01"));
|
||||
case "RU_OBLIGTERMINATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGTERMINATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%LOAN_INDICATOR%%%1%%%LOAN_INDICATOR_DT%%%2026-06-01"));
|
||||
case "RU_SUBMITHOLD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBMITHOLD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HOLD_CODE%%%HLD01%%%HOLD_DT%%%2026-01-10"));
|
||||
case "RU_ACQUIRERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_CODE%%%RC01%%%RIGHT_OF_CLAIM_RUS%%%1%%%RIGHT_OF_CLAIM_FULLNAME%%%OOO Romashka%%%RIGHT_OF_CLAIM_NAME%%%Romashka%%%RIGHT_OF_CLAIM_OTHER_NAME%%%Romashka Ltd%%%RIGHT_OF_CLAIM_LEI%%%LEI1234567890%%%RIGHT_OF_CLAIM_REG_NUM%%%1234567890%%%RIGHT_OF_CLAIM_TAX_CODE%%%1%%%RIGHT_OF_CLAIM_TAX_NUM%%%1234567890%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAX_EXTRA%%%extra_tax"));
|
||||
case "RU_ACQUIRERINDIVID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERINDIVID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_LAST_NAME%%%Ivanov%%%RIGHT_OF_CLAIM_FIRST_NAME%%%Ivan%%%RIGHT_OF_CLAIM_MIDDLE_NAME%%%Ivanovich%%%RIGHT_OF_CLAIM_BIRTH_DT%%%1980-01-01%%%RIGHT_OF_CLAIM_PLACE_OF_BIRTH%%%Moscow%%%RIGHT_OF_CLAIM_TAXPAYER_ID_CODE%%%1%%%RIGHT_OF_CLAIM_TAXPAYER_ID%%%1234567890%%%RIGHT_OF_CLAIM_SNILS%%%123-456-789%%%RIGHT_OF_CLAIM_ID_TYPE%%%01%%%RIGHT_OF_CLAIM_OTHER_ID%%%other-id%%%RIGHT_OF_CLAIM_ID_SERIES%%%AB%%%RIGHT_OF_CLAIM_ID_NUM%%%123456%%%RIGHT_OF_CLAIM_ID_ISSUE_DT%%%2020-01-01%%%RIGHT_OF_CLAIM_ID_ISSUE_AUTHORITY%%%MVD%%%RIGHT_OF_CLAIM_ID_DIV_CODE%%%770-001%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAXPAYER_ID_EXTRA%%%extra123"));
|
||||
case "RU_SERVICECO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SERVICECO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SERV_RUS%%%1%%%SERV_FULL_NAME%%%ServiceCo Full%%%SERV_SHORT_NAME%%%ServiceCo%%%SERV_OTHER_NAME%%%ServCo%%%SERV_REG_NUM%%%1234567890%%%SERV_TAXPAYER_ID_CODE%%%1%%%SERV_TAXPAYER_ID%%%1234567890%%%SERV_START_DT%%%2026-01-01%%%SERV_END_DT%%%2025-01-01%%%SERV_EMITENT_NAME%%%Emitent Name%%%SERV_EMITENT_REG_NUM%%%EM123456%%%SERV_TAXPAYER_ID_CODE_EXTRA%%%extra_tax"));
|
||||
case "RU_OBLIGACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OBLIG_ACCOUNT_CODE%%%1%%%INT_RATE%%%12.50%%%OFFBALANCE_AMT%%%5000.00%%%PREFEREN_FINANC%%%1%%%PREFEREN_FINANC_INFO%%%Pref info%%%MAX_INTEREST%%%25.00%%%CALC_DATE%%%2026-01-10%%%VERSION%%%1"));
|
||||
case "RU_LEGALRECORD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_LEGALRECORD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_COURT_ACT%%%1%%%COURT_ACT_DT%%%2026-01-10%%%COURT_ACT_NUM%%%CA-001%%%RESOLUTION%%%Resolved%%%COURT_ACT_EFFECT_CODE%%%1%%%LAWSUIT_CODE%%%LS01%%%SUM_TOTAL%%%5000.00%%%INFO%%%Legal info%%%VERSION%%%1"));
|
||||
case "RU_OBLIGSRCBANKRUPT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCBANKRUPT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SB_START_OUTSTANDING%%%80000.00%%%SB_START_DT%%%2026-01-01%%%SB_END_OUTSTANDING%%%75000.00%%%SB_END_DT%%%2026-06-01%%%SB_LAST_PAY_OUTSTANDING%%%10000.00%%%SB_LAST_PAYMT_DT%%%2026-05-15%%%SB_TRANSFER_CODE%%%1%%%SB_LOAN_INDICATOR%%%1%%%SB_LOAN_INDICATOR_REASON%%%R01%%%SB_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_OBLIGSRCLIQUID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCLIQUID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SL_START_OUTSTANDING%%%90000.00%%%SL_START_DT%%%2026-01-01%%%SL_BALANCE_OUTSTANDING%%%85000.00%%%SL_BALANCE_DT%%%2026-06-01%%%SL_LAST_PAY_OUTSTANDING%%%12000.00%%%SL_LAST_PAYMT_DT%%%2026-05-15%%%SL_TRANSFER_CODE%%%1%%%SL_LOAN_INDICATOR%%%1%%%SL_LOAN_INDICATOR_REASON%%%LR01%%%SL_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_AMOUNT_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMOUNT_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%ENSURED_AMT%%%120000.00%%%COMMITCURR_CODE%%%RUB%%%COMMIT_CODE%%%CC01%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%LIABILITY_LIMIT%%%LIMIT01"));
|
||||
case "RU_CONTRACT_TERMS_CHANGES" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CONTRACT_TERMS_CHANGES%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%TERMS_CHANGE_CODE%%%TC01%%%TERMS_CHANGE_DESC%%%Change desc 1%%%CHANGING_DATE%%%2026-03-01"));
|
||||
case "RU_ALL_ARREARS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ALL_ARREARS%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchBy_shouldCreateTableFilesByFID() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.FID;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchBy(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
"111",
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "RU_UID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_UID%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%ACCT_NUM%%%ACCT-111%%%CRC_SEARCH%%%123456%%%HEADER_REPORTING_DT%%%2026-01-15%%%OPENED_DT%%%2026-01-01%%%REF_UID%%%REF-UID-001%%%VERSION%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01%%%LAST_RECEIVED%%%2026-01-01 00:00:00.0%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_APPLICATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OBLIGPARTTAKE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
case "RU_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_BANKRUPTCY_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%PARENT_SERIAL_NUM%%%100%%%STAGE_CODE%%%BLK01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://block1"));
|
||||
case "RU_SETTLED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OTHERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
case "RU_CAPABILITY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
case "RU_DEBT_BURDEN_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_TRADE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_TRADE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OWNER_INDIC%%%OWN01%%%OPENED_DT%%%2026-01-01%%%TRADE_TYPE_CODE%%%TT01%%%LOAN_KIND_CODE%%%LK01%%%ACCT_TYPE%%%consumer%%%IS_CONSUMER_LOAN%%%1%%%HAS_CARD%%%1%%%IS_NOVATION%%%0%%%IS_MONEY_SOURCE%%%0%%%IS_MONEY_BORROWER%%%0%%%CLOSE_DT%%%%%%OBTAINPART_CRED%%%1%%%CREDIT_LINE%%%1%%%INTERESTRATE_FLOAT%%%0%%%TRANSPART_CRED%%%0%%%TRANSPART_CRED_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_DATE%%%2026-01-10%%%LENDERTYPE_CODE%%%LT01%%%CREDIT_LINE_CODE%%%CL01%%%REPAYMENT_FACT%%%Y%%%TRANSFER_FACT%%%N%%%PARTNER_FINANCING_FACT%%%N%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_ACCOUNT_AMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACCOUNT_AMT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_LIMIT%%%150000.00%%%CURRENCY_CODE%%%RUB%%%ENSURED_AMT%%%140000.00%%%COMMITCURR_CODE%%%RUB%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_CODE%%%CMT01%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_COBORROWER" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COBORROWER%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_SOLIDARY%%%1%%%SOLIDARY_NUM%%%2%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT_CONDITION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT_CONDITION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PRINCIPAL_TERMS_AMT%%%1500.00%%%PRINCIPAL_TERMS_AMT_DT%%%2026-01-10%%%INTEREST_TERMS_AMT%%%500.00%%%INTEREST_TERMS_AMT_DT%%%2026-01-10%%%TERMS_FREQUENCY%%%M %%%MIN_PAYMT%%%1000.00%%%GRACE_START_DT%%%2026-01-01%%%GRACE_END_DT%%%2026-07-01%%%INTEREST_PAYMENT_DUE_DATE%%%2026-08-15%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_OVERALLVAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OVERALLVAL%%%FID%%%111%%%SERIAL_NUM%%%1067%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_TOTAL_AMT%%%150.000%%%CREDIT_TOTAL_MONETARY_AMT%%%150000.00%%%CREDIT_TOTAL_AMT_DATE%%%2026-01-10%%%MAX_PERCENT_COST%%%25.000%%%MAX_COST%%%5000.00%%%MAX_PERCENT_CASH%%%30.000%%%MAX_PERCENT_CASHLESS%%%20.000%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_AMENDMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMENDMENT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AMEND_DATE%%%2026-01-10%%%AMEND_TYPE%%%AM01%%%SPEC_TYPE%%%SP01%%%OTHER_DESC%%%Description%%%START_DT%%%2026-01-10%%%PLAN_END_DT%%%2026-06-10%%%FACT_END_DT%%%%%%END_REASON%%%ER01%%%CUR_RATE%%%12.5000"));
|
||||
case "RU_FUNDDATE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_FUNDDATE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%FUND_DATE%%%2026-01-10%%%TRANCHE_NUM%%%1%%%START_AMT_OUTSTANDING%%%100000.00%%%VERSION%%%1"));
|
||||
case "RU_ARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_AMT_OUTSTANDING%%%50000.00%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%52000.00%%%PRINCIPAL_OUTSTANDING%%%40000.00%%%INT_OUTSTANDING%%%8000.00%%%OTHER_AMT_OUTSTANDING%%%4000.00%%%CALC_DATE%%%2026-01-10%%%UNCONFIRM_GRACE%%%0%%%IS_EMPTY%%%0%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_DUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_DT%%%2026-01-05%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%15000.00%%%PRINCIPAL_OUTSTANDING%%%10000.00%%%INT_OUTSTANDING%%%3000.00%%%OTHER_AMT_OUTSTANDING%%%2000.00%%%CALC_DATE%%%2026-01-10%%%IS_EMPTY%%%0%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PASTDUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PASTDUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAST_DUE_DT%%%2026-02-01%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_PAST_DUE%%%3000.00%%%PRINCIPAL_AMT_PAST_DUE%%%2000.00%%%INT_AMT_PAST_DUE%%%500.00%%%OTHER_AMT_PAST_DUE%%%500.00%%%CALC_DATE%%%2026-01-10%%%PRINCIPAL_MISSED_DATE%%%2026-01-20%%%INT_MISSED_DATE%%%2026-01-25%%%IS_EMPTY%%%0%%%MISS_FACT%%%Y%%%DAYS_PAST_DUE%%%30%%%REPAID_MISS_DURATION%%%15%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAYMT_DATE%%%2026-02-01%%%PAYMT_AMT%%%5000.00%%%PRINCIPAL_PAYMT_AMT%%%3000.00%%%INT_PAYMT_AMT%%%1000.00%%%OTHER_PAYMT_AMT%%%1000.00%%%TOTAL_AMT%%%5000.00%%%PRINCIPAL_TOTAL_AMT%%%3000.00%%%INT_TOTAL_AMT%%%1000.00%%%OTHER_TOTAL_AMT%%%1000.00%%%AMT_KEEP_CODE%%%AK01%%%TERMS_DUE_CODE%%%TD01%%%DAYS_PAST_DUE%%%30%%%CALC_DATE%%%2026-01-10%%%LAST_MISS_PAY_SUM%%%500.00%%%PAY_SUM_24%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_MONTHAVERPAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_MONTHAVERPAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AVER_PAYMT_AMT%%%5000%%%CALC_DATE%%%2026-01-10%%%SUM_TOTAL%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_SOURCENONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SOURCENONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SRC_NON_MONET_OBLIG%%%Source Non-Monetary%%%SRC_NON_MONET_OBLIG_CODE%%%SNM01%%%SRC_NON_MONET_OBLIG_OBJECT%%%Object description%%%SRC_NON_MONET_OBLIG_DT%%%2026-01-10%%%SRC_NON_MONET_OBLIG_CODE_IDENT%%%IDENT-001"));
|
||||
case "RU_SUBJECTNONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBJECTNONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SUBJ_NON_MONET_OBLIG%%%Subject NM%%%SUBJ_NON_MONET_OBLIG_OBJECT%%%Object NM%%%SUBJ_NON_MONET_OBLIG_REGUL%%%Regulation%%%SUBJ_NON_MONET_OBLIG_ADVERSE_CODE%%%1%%%RECEIVEDPROP_CODE%%%RP01"));
|
||||
case "RU_COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLATERAL_CODE%%%COL01%%%COLLATERAL_ID%%%COL-ID-001%%%COLLATERAL_AGREEMENT_DT%%%2026-01-10%%%COLLATERAL_VALUE%%%100000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_ENCUM%%%0%%%COLLATERAL_EXPIRATION_DATE%%%2028-01-10%%%COLLATERAL_FACT_EXPIRATION_DATE%%%%%%COLLATERAL_END_REASON%%%ER01%%%COLLATERALCOMM_AMT%%%95000.00%%%COLLATERALCONT_CNT%%%1%%%COLLATERAL_VALUE_TYPE%%%VT01%%%LOCATION%%%Moscow %%%ACTUAL_COST%%%90000.00%%%CALC_DATE%%%2026-01-10%%%HAS_BLOCKS%%%Y%%%VERSION%%%1"));
|
||||
case "RU_COLLATERAL_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%PARENT_SERIAL_NUM%%%100%%%COLLATERAL_VALUE%%%50000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_VALUE_TYPE%%%VT01"));
|
||||
case "RU_GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GUARANTEE_VOLUME%%%30000.00%%%CURRENCY_CODE%%%RUB%%%GUARANTEE_AGREEMENT_DT%%%2026-01-10%%%GUARANTEE_EXPIRATION_DATE%%%2025-01-10%%%GUARANTEE_FACT_EXPIRATION_DATE%%%%%%GUARANTEE_END_REASON%%%ER01%%%OLD_GUAR_NUM%%%OLD-GUAR-001"));
|
||||
case "RU_INDEPGUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_INDEPGUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INDEP_GUARANTEE_UUID%%%770e8400-e29b-41d4-a716-446655440002%%%INDEP_GUARANTEE_VOLUME%%%35000.00%%%CURRENCY_CODE%%%RUB%%%INDEP_GUARANTEE_DT%%%2026-01-10%%%INDEP_GUARANTEE_EXPIRATION_DATE%%%2025-06-10%%%INDEP_GUARANTEE_FACT_EXPIRATION_DATE%%%%%%INDEP_GUARANTEE_END_REASON%%%ER01%%%OLD_INDEPGUAR_NUM%%%OLD-IND-001"));
|
||||
case "RU_COLLATINSURED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATINSURED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INSUR_LIMIT%%%100000%%%CURRENCY_CODE%%%RUB%%%HAS_FRANCHISE%%%1%%%INSUR_START_DT%%%2026-01-10%%%INSUR_END_DT%%%2028-01-10%%%INSUR_FACT_END_DT%%%%%%INSUR_END_REASON%%%ER01%%%COLLATERAL_ID%%%COL-ID-001%%%VERSION%%%1"));
|
||||
case "RU_COLLATREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLAT_REPAY_CODE%%%CRC01%%%COLLAT_REPAY_DT%%%2026-06-01%%%COLLAT_REPAY_AMT%%%5000.00%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_GUARANTEEREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTEEREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_TO_REPAY%%%20000.00%%%GUARANTEE_REPAY_AMT%%%5000.00%%%GUARANTEE_REPAY_KEEP_CODE%%%1%%%GUARANTEE_DATE%%%2026-06-01"));
|
||||
case "RU_OBLIGTERMINATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGTERMINATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%LOAN_INDICATOR%%%1%%%LOAN_INDICATOR_DT%%%2026-06-01"));
|
||||
case "RU_SUBMITHOLD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBMITHOLD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HOLD_CODE%%%HLD01%%%HOLD_DT%%%2026-01-10"));
|
||||
case "RU_ACQUIRERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_CODE%%%RC01%%%RIGHT_OF_CLAIM_RUS%%%1%%%RIGHT_OF_CLAIM_FULLNAME%%%OOO Romashka%%%RIGHT_OF_CLAIM_NAME%%%Romashka%%%RIGHT_OF_CLAIM_OTHER_NAME%%%Romashka Ltd%%%RIGHT_OF_CLAIM_LEI%%%LEI1234567890%%%RIGHT_OF_CLAIM_REG_NUM%%%1234567890%%%RIGHT_OF_CLAIM_TAX_CODE%%%1%%%RIGHT_OF_CLAIM_TAX_NUM%%%1234567890%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAX_EXTRA%%%extra_tax"));
|
||||
case "RU_ACQUIRERINDIVID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERINDIVID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_LAST_NAME%%%Ivanov%%%RIGHT_OF_CLAIM_FIRST_NAME%%%Ivan%%%RIGHT_OF_CLAIM_MIDDLE_NAME%%%Ivanovich%%%RIGHT_OF_CLAIM_BIRTH_DT%%%1980-01-01%%%RIGHT_OF_CLAIM_PLACE_OF_BIRTH%%%Moscow%%%RIGHT_OF_CLAIM_TAXPAYER_ID_CODE%%%1%%%RIGHT_OF_CLAIM_TAXPAYER_ID%%%1234567890%%%RIGHT_OF_CLAIM_SNILS%%%123-456-789%%%RIGHT_OF_CLAIM_ID_TYPE%%%01%%%RIGHT_OF_CLAIM_OTHER_ID%%%other-id%%%RIGHT_OF_CLAIM_ID_SERIES%%%AB%%%RIGHT_OF_CLAIM_ID_NUM%%%123456%%%RIGHT_OF_CLAIM_ID_ISSUE_DT%%%2020-01-01%%%RIGHT_OF_CLAIM_ID_ISSUE_AUTHORITY%%%MVD%%%RIGHT_OF_CLAIM_ID_DIV_CODE%%%770-001%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAXPAYER_ID_EXTRA%%%extra123"));
|
||||
case "RU_SERVICECO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SERVICECO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SERV_RUS%%%1%%%SERV_FULL_NAME%%%ServiceCo Full%%%SERV_SHORT_NAME%%%ServiceCo%%%SERV_OTHER_NAME%%%ServCo%%%SERV_REG_NUM%%%1234567890%%%SERV_TAXPAYER_ID_CODE%%%1%%%SERV_TAXPAYER_ID%%%1234567890%%%SERV_START_DT%%%2026-01-01%%%SERV_END_DT%%%2025-01-01%%%SERV_EMITENT_NAME%%%Emitent Name%%%SERV_EMITENT_REG_NUM%%%EM123456%%%SERV_TAXPAYER_ID_CODE_EXTRA%%%extra_tax"));
|
||||
case "RU_OBLIGACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OBLIG_ACCOUNT_CODE%%%1%%%INT_RATE%%%12.50%%%OFFBALANCE_AMT%%%5000.00%%%PREFEREN_FINANC%%%1%%%PREFEREN_FINANC_INFO%%%Pref info%%%MAX_INTEREST%%%25.00%%%CALC_DATE%%%2026-01-10%%%VERSION%%%1"));
|
||||
case "RU_LEGALRECORD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_LEGALRECORD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_COURT_ACT%%%1%%%COURT_ACT_DT%%%2026-01-10%%%COURT_ACT_NUM%%%CA-001%%%RESOLUTION%%%Resolved%%%COURT_ACT_EFFECT_CODE%%%1%%%LAWSUIT_CODE%%%LS01%%%SUM_TOTAL%%%5000.00%%%INFO%%%Legal info%%%VERSION%%%1"));
|
||||
case "RU_OBLIGSRCBANKRUPT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCBANKRUPT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SB_START_OUTSTANDING%%%80000.00%%%SB_START_DT%%%2026-01-01%%%SB_END_OUTSTANDING%%%75000.00%%%SB_END_DT%%%2026-06-01%%%SB_LAST_PAY_OUTSTANDING%%%10000.00%%%SB_LAST_PAYMT_DT%%%2026-05-15%%%SB_TRANSFER_CODE%%%1%%%SB_LOAN_INDICATOR%%%1%%%SB_LOAN_INDICATOR_REASON%%%R01%%%SB_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_OBLIGSRCLIQUID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCLIQUID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SL_START_OUTSTANDING%%%90000.00%%%SL_START_DT%%%2026-01-01%%%SL_BALANCE_OUTSTANDING%%%85000.00%%%SL_BALANCE_DT%%%2026-06-01%%%SL_LAST_PAY_OUTSTANDING%%%12000.00%%%SL_LAST_PAYMT_DT%%%2026-05-15%%%SL_TRANSFER_CODE%%%1%%%SL_LOAN_INDICATOR%%%1%%%SL_LOAN_INDICATOR_REASON%%%LR01%%%SL_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_AMOUNT_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMOUNT_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%ENSURED_AMT%%%120000.00%%%COMMITCURR_CODE%%%RUB%%%COMMIT_CODE%%%CC01%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%LIABILITY_LIMIT%%%LIMIT01"));
|
||||
case "RU_CONTRACT_TERMS_CHANGES" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CONTRACT_TERMS_CHANGES%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%TERMS_CHANGE_CODE%%%TC01%%%TERMS_CHANGE_DESC%%%Change desc 1%%%CHANGING_DATE%%%2026-03-01"));
|
||||
case "RU_ALL_ARREARS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ALL_ARREARS%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void searchById_shouldCreateTableFiles() throws IOException {
|
||||
DataType dataType = DataType.GUTDF;
|
||||
SearchParameter searchParameter = SearchParameter.PASSPORT;
|
||||
|
||||
UUID id = UUID.randomUUID();
|
||||
Map<String, Path> tableFileMap = new ConcurrentHashMap<>();
|
||||
Map<String, TableMetaData> tableMetaDataMap = tableMetaDataUtil.prepareTableMetaData(dataType, searchParameter);
|
||||
|
||||
loader.searchById(
|
||||
id,
|
||||
dataType,
|
||||
searchParameter,
|
||||
Set.of(111),
|
||||
"QQ66WW",
|
||||
tableFileMap,
|
||||
tableMetaDataMap
|
||||
);
|
||||
|
||||
assertThat(tableFileMap.size()).isNotZero();
|
||||
createdFiles.addAll(tableFileMap.values());
|
||||
|
||||
for (Map.Entry<String, Path> entry : tableFileMap.entrySet()) {
|
||||
String tableName = entry.getKey();
|
||||
Path filePath = entry.getValue();
|
||||
|
||||
List<String> lines = Files.readAllLines(filePath);
|
||||
|
||||
switch (tableName) {
|
||||
case "RU_UID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_UID%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%UUID%%%550e8400-e29b-41d4-a716-446655440000%%%ACCT_NUM%%%ACCT-111%%%CRC_SEARCH%%%123456%%%HEADER_REPORTING_DT%%%2026-01-15%%%OPENED_DT%%%2026-01-01%%%REF_UID%%%REF-UID-001%%%VERSION%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01%%%LAST_RECEIVED%%%2026-01-01 00:00:00.0%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_APPLICATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_APPLICATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%REQUESTED_FLAG_INDICATOR_CODE%%%RF01%%%REQUESTED_AMT%%%50000.00%%%REQUESTED_CURRENCY_CODE%%%RUB%%%APPLICATION_NUMBER%%%APP-001%%%APPLICATION_DATE%%%2026-01-10%%%CREDITOR_TYPE_CODE%%%CT01%%%APPLICATION_SHIPMENT_CODE%%%AS01%%%APPROVAL_EXPIRE_DATE%%%2026-06-10%%%REJECTED_DATE%%%%%%REJECTED_REASON_CODE%%%RR01%%%OLD_APP_NUM%%%OLD-APP-001%%%CRC_SEARCH%%%123456%%%CANCELLATION_FLAG%%%N%%%CANCELLATION_TSP%%%%%%CONSIDERATION_SHIPMENT_DATE%%%2026-01-12%%%TRANSIT_DATE%%%2026-01-13%%%HEADER_REPORTING_DT%%%2026-01-15%%%REQUESTLOAN_CODE%%%RLC01%%%CONSIDERATION_SHIPMENT_CODE%%%CSC01%%%APPLICATION_CODE%%%AC01%%%LOAN_SUM%%%48000.00%%%VERSION%%%1%%%DEAL_FLAG%%%1%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OBLIGPARTTAKE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGPARTTAKE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%FLAG_INDICATOR_CODE%%%FL01%%%APPROVED_LOAN_TYPE_CODE%%%LT01%%%AGREEMENT_NUMBER%%%AGR-111%%%FUND_DT%%%2026-01-10%%%DEFAULT_FLAG%%%0%%%LOAN_INDICATOR%%%1%%%OLD_OBLIG_NUM%%%OLD-111%%%CANCELLATION_FLAG%%%N%%%HEADER_REPORTING_DT%%%2026-01-15"));
|
||||
case "RU_BANKRUPTCY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY%%%FID%%%111%%%SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CASE_NUM%%%CASE-111%%%STAGE_CODE%%%STG01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://link%%%ILLEG_ACT_CODE%%%0%%%ILLEG_ACT_INFO_DT%%%%%%FICTITIOUS_ACT_CODE%%%0%%%FICTITIOUS_ACT_DT%%%%%%ADDITIONAL_INFO%%%Additional info%%%MEMBER_BC_START%%%2026-01-01%%%MEMBER_BC_END%%%2026-07-01%%%HEADER_REPORTING_DT%%%2026-01-15%%%ILLEG_ACT_INFO_DT_EXTRA%%%extra1%%%FICTITIOUS_ACT_DT_EXTRA%%%extra2%%%HAS_BLOCKS%%%Y"));
|
||||
case "RU_BANKRUPTCY_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_BANKRUPTCY_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%PARENT_SERIAL_NUM%%%100%%%STAGE_CODE%%%BLK01%%%PROCEDURE_INCLUSION_DT%%%2026-01-10%%%PROCEDURE_LINK%%%http://block1"));
|
||||
case "RU_SETTLED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SETTLED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CLOSE_DT%%%2026-12-31%%%IS_SETTLED%%%1%%%SETTLE_DT%%%2026-06-01%%%RESUME_DT%%%%%%HEADER_REPORTING_DT%%%2026-01-15%%%REAL_MEMBERCODE%%%REAL001 %%%SOURCE_CODE%%%01"));
|
||||
case "RU_OTHERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OTHERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%DEBT_CODE%%%DC01%%%COURT_NAME%%%Court A%%%COURT_ACT_NUM%%%ACT-001%%%COURT_ACT_DT%%%2026-01-10%%%RESOLUTION%%%Resolution text%%%EXEC_NUM%%%EX-001%%%COLLECT_END%%%2026-12-31%%%COLLECT_FIRST_AMT%%%5000.00%%%COLLECT_AMT%%%4500.00%%%CALC_DT%%%2026-06-01%%%COLLECT_REGULAR_AMT%%%500.00%%%FREQUENCY_CODE%%%FQ01%%%COLLECT_CURRENCY%%%RUB%%%HEADER_REPORTING_DT%%%2026-01-15%%%VERSION%%%1"));
|
||||
case "RU_CAPABILITY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CAPABILITY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%CAPABILITY%%%1%%%INCAP_DECISION_DT%%%2026-01-10%%%INCAP_DECISION_NUM%%%INC-001%%%INCAP_COURT_NAME%%%Court A%%%CAP_DECISION_DT%%%2026-06-01%%%CAP_DECISION_NUM%%%CAP-001%%%CAP_COURT_NAME%%%Court B"));
|
||||
case "RU_DEBT_BURDEN_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DEBT_BURDEN_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%MEMBER_CODE%%%QQ66WW %%%REPORTED_DT%%%2026-01-15%%%LOAD_RANGE%%%LR01%%%LOAD_CALC_DATE%%%2026-01-10%%%INCOME_INFO%%%II01%%%INCOME_INFO_SOURCE%%%SRC01%%%LOAD_FACT%%%Y%%%LOAD_CALCULATION_FACT%%%Y%%%DEAL_UID%%%550e8400-e29b-41d4-a716-446655440000%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_TRADE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_TRADE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OWNER_INDIC%%%OWN01%%%OPENED_DT%%%2026-01-01%%%TRADE_TYPE_CODE%%%TT01%%%LOAN_KIND_CODE%%%LK01%%%ACCT_TYPE%%%consumer%%%IS_CONSUMER_LOAN%%%1%%%HAS_CARD%%%1%%%IS_NOVATION%%%0%%%IS_MONEY_SOURCE%%%0%%%IS_MONEY_BORROWER%%%0%%%CLOSE_DT%%%%%%OBTAINPART_CRED%%%1%%%CREDIT_LINE%%%1%%%INTERESTRATE_FLOAT%%%0%%%TRANSPART_CRED%%%0%%%TRANSPART_CRED_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_DATE%%%2026-01-10%%%LENDERTYPE_CODE%%%LT01%%%CREDIT_LINE_CODE%%%CL01%%%REPAYMENT_FACT%%%Y%%%TRANSFER_FACT%%%N%%%PARTNER_FINANCING_FACT%%%N%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_ACCOUNT_AMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACCOUNT_AMT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_LIMIT%%%150000.00%%%CURRENCY_CODE%%%RUB%%%ENSURED_AMT%%%140000.00%%%COMMITCURR_CODE%%%RUB%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%COMMIT_CODE%%%CMT01%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_COBORROWER" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COBORROWER%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_SOLIDARY%%%1%%%SOLIDARY_NUM%%%2%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT_CONDITION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT_CONDITION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PRINCIPAL_TERMS_AMT%%%1500.00%%%PRINCIPAL_TERMS_AMT_DT%%%2026-01-10%%%INTEREST_TERMS_AMT%%%500.00%%%INTEREST_TERMS_AMT_DT%%%2026-01-10%%%TERMS_FREQUENCY%%%M %%%MIN_PAYMT%%%1000.00%%%GRACE_START_DT%%%2026-01-01%%%GRACE_END_DT%%%2026-07-01%%%INTEREST_PAYMENT_DUE_DATE%%%2026-08-15%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_OVERALLVAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OVERALLVAL%%%FID%%%111%%%SERIAL_NUM%%%1067%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%CREDIT_TOTAL_AMT%%%150.000%%%CREDIT_TOTAL_MONETARY_AMT%%%150000.00%%%CREDIT_TOTAL_AMT_DATE%%%2026-01-10%%%MAX_PERCENT_COST%%%25.000%%%MAX_COST%%%5000.00%%%MAX_PERCENT_CASH%%%30.000%%%MAX_PERCENT_CASHLESS%%%20.000%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_AMENDMENT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMENDMENT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AMEND_DATE%%%2026-01-10%%%AMEND_TYPE%%%AM01%%%SPEC_TYPE%%%SP01%%%OTHER_DESC%%%Description%%%START_DT%%%2026-01-10%%%PLAN_END_DT%%%2026-06-10%%%FACT_END_DT%%%%%%END_REASON%%%ER01%%%CUR_RATE%%%12.5000"));
|
||||
case "RU_FUNDDATE" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_FUNDDATE%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%FUND_DATE%%%2026-01-10%%%TRANCHE_NUM%%%1%%%START_AMT_OUTSTANDING%%%100000.00%%%VERSION%%%1"));
|
||||
case "RU_ARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_AMT_OUTSTANDING%%%50000.00%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%52000.00%%%PRINCIPAL_OUTSTANDING%%%40000.00%%%INT_OUTSTANDING%%%8000.00%%%OTHER_AMT_OUTSTANDING%%%4000.00%%%CALC_DATE%%%2026-01-10%%%UNCONFIRM_GRACE%%%0%%%IS_EMPTY%%%0%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_DUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_DUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%START_DT%%%2026-01-05%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_OUTSTANDING%%%15000.00%%%PRINCIPAL_OUTSTANDING%%%10000.00%%%INT_OUTSTANDING%%%3000.00%%%OTHER_AMT_OUTSTANDING%%%2000.00%%%CALC_DATE%%%2026-01-10%%%IS_EMPTY%%%0%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PASTDUEARREAR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PASTDUEARREAR%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAST_DUE_DT%%%2026-02-01%%%LAST_PAYMENT_DUE_CODE%%%1%%%AMT_PAST_DUE%%%3000.00%%%PRINCIPAL_AMT_PAST_DUE%%%2000.00%%%INT_AMT_PAST_DUE%%%500.00%%%OTHER_AMT_PAST_DUE%%%500.00%%%CALC_DATE%%%2026-01-10%%%PRINCIPAL_MISSED_DATE%%%2026-01-20%%%INT_MISSED_DATE%%%2026-01-25%%%IS_EMPTY%%%0%%%MISS_FACT%%%Y%%%DAYS_PAST_DUE%%%30%%%REPAID_MISS_DURATION%%%15%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_PAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_PAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%PAYMT_DATE%%%2026-02-01%%%PAYMT_AMT%%%5000.00%%%PRINCIPAL_PAYMT_AMT%%%3000.00%%%INT_PAYMT_AMT%%%1000.00%%%OTHER_PAYMT_AMT%%%1000.00%%%TOTAL_AMT%%%5000.00%%%PRINCIPAL_TOTAL_AMT%%%3000.00%%%INT_TOTAL_AMT%%%1000.00%%%OTHER_TOTAL_AMT%%%1000.00%%%AMT_KEEP_CODE%%%AK01%%%TERMS_DUE_CODE%%%TD01%%%DAYS_PAST_DUE%%%30%%%CALC_DATE%%%2026-01-10%%%LAST_MISS_PAY_SUM%%%500.00%%%PAY_SUM_24%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_MONTHAVERPAYMT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_MONTHAVERPAYMT%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%AVER_PAYMT_AMT%%%5000%%%CALC_DATE%%%2026-01-10%%%SUM_TOTAL%%%60000.00%%%VERSION%%%1%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_SOURCENONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SOURCENONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SRC_NON_MONET_OBLIG%%%Source Non-Monetary%%%SRC_NON_MONET_OBLIG_CODE%%%SNM01%%%SRC_NON_MONET_OBLIG_OBJECT%%%Object description%%%SRC_NON_MONET_OBLIG_DT%%%2026-01-10%%%SRC_NON_MONET_OBLIG_CODE_IDENT%%%IDENT-001"));
|
||||
case "RU_SUBJECTNONMONETOBLIG" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBJECTNONMONETOBLIG%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SUBJ_NON_MONET_OBLIG%%%Subject NM%%%SUBJ_NON_MONET_OBLIG_OBJECT%%%Object NM%%%SUBJ_NON_MONET_OBLIG_REGUL%%%Regulation%%%SUBJ_NON_MONET_OBLIG_ADVERSE_CODE%%%1%%%RECEIVEDPROP_CODE%%%RP01"));
|
||||
case "RU_COLLATERAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLATERAL_CODE%%%COL01%%%COLLATERAL_ID%%%COL-ID-001%%%COLLATERAL_AGREEMENT_DT%%%2026-01-10%%%COLLATERAL_VALUE%%%100000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_ENCUM%%%0%%%COLLATERAL_EXPIRATION_DATE%%%2028-01-10%%%COLLATERAL_FACT_EXPIRATION_DATE%%%%%%COLLATERAL_END_REASON%%%ER01%%%COLLATERALCOMM_AMT%%%95000.00%%%COLLATERALCONT_CNT%%%1%%%COLLATERAL_VALUE_TYPE%%%VT01%%%LOCATION%%%Moscow %%%ACTUAL_COST%%%90000.00%%%CALC_DATE%%%2026-01-10%%%HAS_BLOCKS%%%Y%%%VERSION%%%1"));
|
||||
case "RU_COLLATERAL_BLOCKS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATERAL_BLOCKS%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%PARENT_SERIAL_NUM%%%100%%%COLLATERAL_VALUE%%%50000.00%%%CURRENCY_CODE%%%RUB%%%COLLATERAL_DATE%%%2026-01-10%%%COLLATERAL_VALUE_TYPE%%%VT01"));
|
||||
case "RU_GUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%GUARANTEE_VOLUME%%%30000.00%%%CURRENCY_CODE%%%RUB%%%GUARANTEE_AGREEMENT_DT%%%2026-01-10%%%GUARANTEE_EXPIRATION_DATE%%%2025-01-10%%%GUARANTEE_FACT_EXPIRATION_DATE%%%%%%GUARANTEE_END_REASON%%%ER01%%%OLD_GUAR_NUM%%%OLD-GUAR-001"));
|
||||
case "RU_INDEPGUARANTOR" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_INDEPGUARANTOR%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INDEP_GUARANTEE_UUID%%%770e8400-e29b-41d4-a716-446655440002%%%INDEP_GUARANTEE_VOLUME%%%35000.00%%%CURRENCY_CODE%%%RUB%%%INDEP_GUARANTEE_DT%%%2026-01-10%%%INDEP_GUARANTEE_EXPIRATION_DATE%%%2025-06-10%%%INDEP_GUARANTEE_FACT_EXPIRATION_DATE%%%%%%INDEP_GUARANTEE_END_REASON%%%ER01%%%OLD_INDEPGUAR_NUM%%%OLD-IND-001"));
|
||||
case "RU_COLLATINSURED" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATINSURED%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%INSUR_LIMIT%%%100000%%%CURRENCY_CODE%%%RUB%%%HAS_FRANCHISE%%%1%%%INSUR_START_DT%%%2026-01-10%%%INSUR_END_DT%%%2028-01-10%%%INSUR_FACT_END_DT%%%%%%INSUR_END_REASON%%%ER01%%%COLLATERAL_ID%%%COL-ID-001%%%VERSION%%%1"));
|
||||
case "RU_COLLATREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_COLLATREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%COLLAT_REPAY_CODE%%%CRC01%%%COLLAT_REPAY_DT%%%2026-06-01%%%COLLAT_REPAY_AMT%%%5000.00%%%FILE_DT%%%2026-01-01 00:00:00.0%%%RECORD_POS%%%1%%%RECORD_POS_3_2%%%2"));
|
||||
case "RU_GUARANTEEREPAY" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_GUARANTEEREPAY%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%GUARANTEE_TO_REPAY%%%20000.00%%%GUARANTEE_REPAY_AMT%%%5000.00%%%GUARANTEE_REPAY_KEEP_CODE%%%1%%%GUARANTEE_DATE%%%2026-06-01"));
|
||||
case "RU_OBLIGTERMINATION" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGTERMINATION%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%LOAN_INDICATOR%%%1%%%LOAN_INDICATOR_DT%%%2026-06-01"));
|
||||
case "RU_SUBMITHOLD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SUBMITHOLD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HOLD_CODE%%%HLD01%%%HOLD_DT%%%2026-01-10"));
|
||||
case "RU_ACQUIRERLEGAL" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERLEGAL%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_CODE%%%RC01%%%RIGHT_OF_CLAIM_RUS%%%1%%%RIGHT_OF_CLAIM_FULLNAME%%%OOO Romashka%%%RIGHT_OF_CLAIM_NAME%%%Romashka%%%RIGHT_OF_CLAIM_OTHER_NAME%%%Romashka Ltd%%%RIGHT_OF_CLAIM_LEI%%%LEI1234567890%%%RIGHT_OF_CLAIM_REG_NUM%%%1234567890%%%RIGHT_OF_CLAIM_TAX_CODE%%%1%%%RIGHT_OF_CLAIM_TAX_NUM%%%1234567890%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAX_EXTRA%%%extra_tax"));
|
||||
case "RU_ACQUIRERINDIVID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ACQUIRERINDIVID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%RIGHT_OF_CLAIM_LAST_NAME%%%Ivanov%%%RIGHT_OF_CLAIM_FIRST_NAME%%%Ivan%%%RIGHT_OF_CLAIM_MIDDLE_NAME%%%Ivanovich%%%RIGHT_OF_CLAIM_BIRTH_DT%%%1980-01-01%%%RIGHT_OF_CLAIM_PLACE_OF_BIRTH%%%Moscow%%%RIGHT_OF_CLAIM_TAXPAYER_ID_CODE%%%1%%%RIGHT_OF_CLAIM_TAXPAYER_ID%%%1234567890%%%RIGHT_OF_CLAIM_SNILS%%%123-456-789%%%RIGHT_OF_CLAIM_ID_TYPE%%%01%%%RIGHT_OF_CLAIM_OTHER_ID%%%other-id%%%RIGHT_OF_CLAIM_ID_SERIES%%%AB%%%RIGHT_OF_CLAIM_ID_NUM%%%123456%%%RIGHT_OF_CLAIM_ID_ISSUE_DT%%%2020-01-01%%%RIGHT_OF_CLAIM_ID_ISSUE_AUTHORITY%%%MVD%%%RIGHT_OF_CLAIM_ID_DIV_CODE%%%770-001%%%RIGHT_OF_CLAIM_DT%%%2026-01-01%%%RIGHT_OF_CLAIM_TAXPAYER_ID_EXTRA%%%extra123"));
|
||||
case "RU_SERVICECO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_SERVICECO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SERV_RUS%%%1%%%SERV_FULL_NAME%%%ServiceCo Full%%%SERV_SHORT_NAME%%%ServiceCo%%%SERV_OTHER_NAME%%%ServCo%%%SERV_REG_NUM%%%1234567890%%%SERV_TAXPAYER_ID_CODE%%%1%%%SERV_TAXPAYER_ID%%%1234567890%%%SERV_START_DT%%%2026-01-01%%%SERV_END_DT%%%2025-01-01%%%SERV_EMITENT_NAME%%%Emitent Name%%%SERV_EMITENT_REG_NUM%%%EM123456%%%SERV_TAXPAYER_ID_CODE_EXTRA%%%extra_tax"));
|
||||
case "RU_OBLIGACCOUNT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGACCOUNT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%OBLIG_ACCOUNT_CODE%%%1%%%INT_RATE%%%12.50%%%OFFBALANCE_AMT%%%5000.00%%%PREFEREN_FINANC%%%1%%%PREFEREN_FINANC_INFO%%%Pref info%%%MAX_INTEREST%%%25.00%%%CALC_DATE%%%2026-01-10%%%VERSION%%%1"));
|
||||
case "RU_LEGALRECORD" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_LEGALRECORD%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%HAS_COURT_ACT%%%1%%%COURT_ACT_DT%%%2026-01-10%%%COURT_ACT_NUM%%%CA-001%%%RESOLUTION%%%Resolved%%%COURT_ACT_EFFECT_CODE%%%1%%%LAWSUIT_CODE%%%LS01%%%SUM_TOTAL%%%5000.00%%%INFO%%%Legal info%%%VERSION%%%1"));
|
||||
case "RU_OBLIGSRCBANKRUPT" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCBANKRUPT%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SB_START_OUTSTANDING%%%80000.00%%%SB_START_DT%%%2026-01-01%%%SB_END_OUTSTANDING%%%75000.00%%%SB_END_DT%%%2026-06-01%%%SB_LAST_PAY_OUTSTANDING%%%10000.00%%%SB_LAST_PAYMT_DT%%%2026-05-15%%%SB_TRANSFER_CODE%%%1%%%SB_LOAN_INDICATOR%%%1%%%SB_LOAN_INDICATOR_REASON%%%R01%%%SB_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_OBLIGSRCLIQUID" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_OBLIGSRCLIQUID%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%SL_START_OUTSTANDING%%%90000.00%%%SL_START_DT%%%2026-01-01%%%SL_BALANCE_OUTSTANDING%%%85000.00%%%SL_BALANCE_DT%%%2026-06-01%%%SL_LAST_PAY_OUTSTANDING%%%12000.00%%%SL_LAST_PAYMT_DT%%%2026-05-15%%%SL_TRANSFER_CODE%%%1%%%SL_LOAN_INDICATOR%%%1%%%SL_LOAN_INDICATOR_REASON%%%LR01%%%SL_ARR_CURRENCY%%%RUB"));
|
||||
case "RU_AMOUNT_INFO" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_AMOUNT_INFO%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%ENSURED_AMT%%%120000.00%%%COMMITCURR_CODE%%%RUB%%%COMMIT_CODE%%%CC01%%%AMT_DATE%%%2026-01-10%%%COMMIT_UUID%%%550e8400-e29b-41d4-a716-446655440000%%%LIABILITY_LIMIT%%%LIMIT01"));
|
||||
case "RU_CONTRACT_TERMS_CHANGES" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_CONTRACT_TERMS_CHANGES%%%FID%%%111%%%SERIAL_NUM%%%1000%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15%%%TERMS_CHANGE_CODE%%%TC01%%%TERMS_CHANGE_DESC%%%Change desc 1%%%CHANGING_DATE%%%2026-03-01"));
|
||||
case "RU_ALL_ARREARS" -> assertThat(lines)
|
||||
.isEqualTo(List.of("RU_ALL_ARREARS%%%FID%%%111%%%SERIAL_NUM%%%100%%%ACC_SERIAL_NUM%%%100%%%FILE_SINCE_DT%%%2026-01-01%%%LAST_UPDATED_DT%%%2026-01-01 00:00:00.0%%%REPORTED_DT%%%2026-01-15"));
|
||||
default -> fail("Table " + tableName + " not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -123,7 +123,7 @@ class IndicSearchProcessorTest {
|
|||
|
||||
@Test
|
||||
void export_shouldExportAsJson() throws IOException {
|
||||
UUID uuid = UUID.fromString("75c56eaf-3e15-4faa-8525-79a59d3cf0ac");
|
||||
UUID uuid = UUID.fromString("d5b00112-59b5-451f-9385-9fe70145407d");
|
||||
|
||||
SearchJob job = new SearchJob(
|
||||
uuid,
|
||||
|
|
|
|||
|
|
@ -1380,8 +1380,11 @@ VALUES
|
|||
|
||||
INSERT INTO INDIC.ID(FID, SERIAL_NUM, ID_TYPE, SER_NUM, ID_NUM, ISS_DTE, ISS_AUTH_NME, ISS_LOC_NME, ISSUE_COUNTRY, ID_NORM, SPSD_SERIAL_NUM, SRC_COUNTRY_CODE, MEMBER_CODE, FILE_SINCE_DT, LAST_UPDATED_DT, FREEZE_FLAG, SUPPRESS_FLAG, SUPPRESS_STR_DT, SUPPRESS_END_DT, VALIDITY_INDICATOR, REPORTED_DT, ID_TYPE2, IS_PREV_ID, OKSM, OTHER_COUNTRY, OTHER_ID, DIV_CODE, VALID_TO, TRACKED, SPECTAX_CODE, FOREIGNER_CODE, VERSION, IS_CHECKED, ID_HASH2, REPORTED_TIME, REPORTED_TZ)
|
||||
VALUES
|
||||
(111, 100, '01', 'AB123', 'ID-111-100', '2020-01-01', 'Authority', 'Location', 'RU', 'NORM-001', 10, 'RU', 'QQ66WW', '2026-01-01', '2026-01-01 00:00:00', 0, 0, NULL, NULL, 'Y', '2026-01-01', 'PASSPORT', 0, '643', NULL, 'other-id', '7700001', '2030-01-01', 1, 123, 'FGN01', 1, 1, 1234567890, '12:00:00', 3),
|
||||
(222, 200, '02', 'CD456', 'ID-222-200', '2020-02-01', 'Authority2', 'Location2', 'US', 'NORM-002', 20, 'US', 'QQ77WW', '2026-02-01', '2026-02-01 00:00:00', 0, 0, NULL, NULL, 'Y', '2026-02-01', 'DRVLIC', 0, '840', NULL, 'other-id2', '7700002', '2031-02-01', 2, 456, 'FGN02', 1, 0, 9876543210, '15:30:00', 5);
|
||||
(111, 100, '34', 'AB123', 'ID-111-100', '2020-01-01', 'Authority', 'Location', 'RU', 'NORM-001', 10, 'RU', 'QQ66WW', '2026-01-01', '2026-01-01 00:00:00', 0, 0, NULL, NULL, 'Y', '2026-01-01', 'PASSPORT', 0, '643', NULL, 'other-id', '7700001', '2030-01-01', 1, 123, 'FGN01', 1, 1, 1234567890, '12:00:00', 3),
|
||||
(111, 100, '10', 'AB123', 'ID-111-100', '2020-01-01', 'Authority', 'Location', 'RU', 'NORM-002', 10, 'RU', 'QQ66WW', '2026-01-01', '2026-01-01 00:00:00', 0, 0, NULL, NULL, 'Y', '2026-01-01', 'PASSPORT', 0, '643', NULL, 'other-id', '7700001', '2030-01-01', 1, 123, 'FGN01', 1, 1, 1234567890, '12:00:00', 3),
|
||||
(111, 100, '34', 'AB123', 'ID-111-100', '2020-01-01', 'Authority', 'Location', 'RU', 'NORM-003', 10, 'RU', 'QQ66WW', '2026-01-01', '2026-01-01 00:00:00', 0, 0, NULL, NULL, 'Y', '2026-01-01', 'PASSPORT', 0, '643', NULL, 'other-id', '7700001', '2030-01-01', 1, 123, 'FGN01', 1, 1, 1234567890, '12:00:00', 3),
|
||||
(111, 100, '21', 'AB123', 'ID-111-100', '2020-01-01', 'Authority', 'Location', 'RU', 'NORM-004', 10, 'RU', 'QQ66WW', '2026-01-01', '2026-01-01 00:00:00', 0, 0, NULL, NULL, 'Y', '2026-01-01', 'PASSPORT', 0, '643', NULL, 'other-id', '7700001', '2030-01-01', 1, 123, 'FGN01', 1, 1, 1234567890, '12:00:00', 3),
|
||||
(222, 200, '02', 'CD456', 'ID-222-200', '2020-02-01', 'Authority2', 'Location2', 'US', 'NORM-005', 20, 'US', 'QQ77WW', '2026-02-01', '2026-02-01 00:00:00', 0, 0, NULL, NULL, 'Y', '2026-02-01', 'DRVLIC', 0, '840', NULL, 'other-id2', '7700002', '2031-02-01', 2, 456, 'FGN02', 1, 0, 9876543210, '15:30:00', 5);
|
||||
|
||||
INSERT INTO INDIC.INFORMATION(FID, SERIAL_NUM, APP_NUM, APP_DATE, CREDITOR_TYPE, TYPE_FLAG, LOAN_TYPE, SHIPMENT_WAY, FLAG_OF_APPROVAL, APPROVAL_EXPR_DTE, REJECTED_AMT, REJ_AMT_CUR, REJECTION_DTE, REJECTION_REASON, AGREEMENT_NUM, APP_LOAN_TYP, DEFAULT_FLAG, LOAN_RETURNED_IND, OLD_APP_NUM, CANCELLATION_FLAG, MEMBER_CODE, FILE_SINCE_DT, LAST_UPDATED_DT, FREEZE_FLAG, SUPPRESS_FLAG, SUPPRESS_STR_DT, SUPPRESS_END_DT, INDIC_CRC)
|
||||
VALUES
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue