package ru.nbch.indicsearchservice.repository.indic;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.cursor.Cursor;
import ru.nbch.indicsearchservice.repository.MyBatisRepository;

@Mapper
public interface IndicMapper extends MyBatisRepository {
    List<LinkedHashMap<String, String>> getTableColumnsByTableNames(List<String> tables);

    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuUid(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuApplication(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuObligPartTake(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuBankruptcy(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuSettled(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuOtherLegal(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuCapability(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuDebtBurdenInfo(Set<Integer> fids);

    Cursor<LinkedHashMap<String, Object>> findAllByMemberCodeFromRuUid(String memberCode);
    Cursor<LinkedHashMap<String, Object>> findAllByMemberCodeFromRuApplication(String memberCode);
    Cursor<LinkedHashMap<String, Object>> findFidsByOgrnFromId(String idNorm);
    Cursor<LinkedHashMap<String, Object>> findFidsByPassportFromId(String idNorm);

    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuTrade(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuAccountAmt(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuAcquirerIndivid(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuAcquirerLegal(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuAllArrears(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuAmendment(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuAmountInfo(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuArrear(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuBankruptcyBlocks(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuCoborrower(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuCollateral(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuCollateralBlocks(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuCollatInsured(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuCollatRepay(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuContractTermsChanges(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuDueArrear(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuFundDate(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuGuaranteeRepay(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuGuarantor(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuIndepGuarantor(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuLegalRecord(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuMonthAverPaymt(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuObligAccount(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuObligsRcBankrupt(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuObligsRcLiquid(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuObligTermination(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuOverallval(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuPastDueArrear(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuPaymtCondition(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuPaymt(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuServiceCo(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuSourceNonMonetOblig(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuSubjectNonMonetOblig(Set<Integer> fids);
    Cursor<LinkedHashMap<String, Object>> findAllByFidsFromRuSubmitHold(Set<Integer> fids);
}
