package com.muchinfo.mtp3century.service;

import com.muchinfo.mtp3century.utils.AjaxResult;
import com.muchinfo.mtp3common.vo.PageResult;
import com.muchinfo.mtp3pojos.entity.ReportPlateformpp;
import com.muchinfo.mtp3pojos.entity.ReportTaaccount;
import com.muchinfo.mtp3pojos.vo.reportform.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface IReportFormService {
    AjaxResult<ShareAmountQueryResult> selectShareAmount(ShareAmountQueryParam param, HttpServletRequest request);

    AjaxResult<RefUserResult> queryRefUserSelect(String searchcode, HttpServletRequest request);

    PageResult<TradeQueryResult> queryTrade(TradeQueryParam param, HttpServletRequest request);

    PageResult<OrgReportQueryResult> orgReportQuery(OrgReportQueryParam param, HttpServletRequest request);

    AjaxResult orgReportQueryExport(OrgReportQueryParam param, HttpServletRequest request);

    PageResult<InvestorReportQueryResult> investorReportQuery(InvestorReportQueryParam param, HttpServletRequest request);

    AjaxResult<ReportTaaccount> taaccountReportQuery(TaAccountReportParam param, HttpServletRequest request);

    PageResult<HolderTotalResult> holdertotalquery(TaAccountReportParam param, HttpServletRequest request);

    PageResult<WrPositionResult> wrpositionquery(TaAccountReportParam param, HttpServletRequest request);

    PageResult<TradeReportQueryResult> tradequery(TaAccountReportParam param, HttpServletRequest request);

    AjaxResult<ReportPlateformpp> accountppquery(TaAccountReportParam param, HttpServletRequest request);

    AjaxResult<TAAccountChildrenSelect> queryTAAccountChildrenSelect(String searchcode, HttpServletRequest request);

    PageResult<CusBankReportResult> cusbank(CusBankReportParam param, HttpServletRequest request);

    AjaxResult cusbankexport(CusBankReportParam param, HttpServletRequest request);

    PageResult<ManageDivReportResult> managediv(CusBankReportParam param, HttpServletRequest request);

    AjaxResult managedivexport(CusBankReportParam param, HttpServletRequest request);

    AjaxResult investorReportExport(InvestorReportQueryParam param, HttpServletRequest request);

    AjaxResult investorReportOrgExport(InvestorReportQueryParam param, HttpServletRequest request);

    AjaxResult rerun(String startDate, String endDate, HttpServletRequest request);

    AjaxResult<Map<Long, List<GoodsReportResult>>> daygoodscount(GoodsReportParam param, HttpServletRequest request);

    AjaxResult goodscountexport(GoodsReportParam param, HttpServletRequest request);

    AjaxResult<ShareAmountQueryResult> shareAmountQueryPlat(ShareAmountQueryParam param, HttpServletRequest request);

    PageResult<ReckonDivideOrderDetailResult> queryDODPage(ReckonDivideOrderDetailParam param, HttpServletRequest request);
}
