package com.dhcc.finance.main.service;

import com.dhcc.common.model.CurrencyMeta;
import com.dhcc.common.model.response.RestfulResponse;
import com.dhcc.finance.main.domain.CwBdGlorgbook;
import com.dhcc.finance.main.model.CwGlVoucherAndName;
import com.dhcc.finance.main.model.ThirdPmProjectChild;
import com.dhcc.finance.main.model.VoucherRequestInfo;
import com.dhcc.finance.main.model.XmlxAndBalance;

import java.util.List;

/**
 * 功能描述：财务对外接口
 *
 * @author dml
 * @date 2019年5月22日 下午3:15:31
 * @修改日志：
 */
public interface FinanceForThirdService {
    /**
     * 功能描述：生成凭证信息
     *
     * @param voucherRequestInfo
     * @return RestfulResponse<Object, CurrencyMeta>
     * @author dml
     * @date 2019年5月22日 下午3:20:58
     * @修改日志：
     */
    RestfulResponse<Object, CurrencyMeta> createVoucherInfo(VoucherRequestInfo voucherRequestInfo);

//	/**
//	 * 冲抹账接口
//	 * @param thirdBusiBenlistInfo
//	 * @return RestfulResponse<Object,CurrencyMeta>
//	 *@author huangpeng
//	 *@date 2019年5月24日 下午1:39:12
//	 *@修改日志：
//	 */
//	RestfulResponse<Object, CurrencyMeta> updateBusiBenlistInfoForBatch(FundsFlowInfo thirdBusiBenlistInfo);
//

    /**
     * 功能描述：生成账套信息
     *
     * @param thirdPrdFqmjInfo
     * @return RestfulResponse<Object, CurrencyMeta>
     * @author dml
     * @date 2019年6月4日 下午3:14:38
     * @修改日志：
     */
    RestfulResponse<Object, CurrencyMeta> createGlorgbookInfo(ThirdPmProjectChild thirdPmProjectChild);

    /**
     * 功能描述     查询新增账套接口
     *
     * @return RestfulResponse<Object, CurrencyMeta>
     * @author huangpeng
     * @date 2019年7月13日 上午11:22:28
     * 修改日志
     */
    RestfulResponse<List<CwBdGlorgbook>, CurrencyMeta> searchCwBdGlorgbookForNewAdd();

    /**
     * 功能描述  查询今日新增凭证接口
     *
     * @return RestfulResponse<List < CwGlVoucher>,CurrencyMeta>
     * @author huangpeng
     * @date 2019年7月13日 上午11:57:02
     * 修改日志
     */
    RestfulResponse<List<CwGlVoucherAndName>, CurrencyMeta> searchCwGlVoucherTodayAdd();

    /**
     * 功能描述：按照单一集合财产权查询实收信托
     *
     * @return RestfulResponse<List < XmlxAndBalance>,CurrencyMeta>
     * @author dml
     * @date 2019年11月17日 下午4:54:08
     * @修改日志：
     */
    public RestfulResponse<List<XmlxAndBalance>, CurrencyMeta> searchPaidInTrust();

    /**
     * 功能描述：按照单一集合财产权查询资产端规模
     *
     * @return RestfulResponse<List < XmlxAndBalance>,CurrencyMeta>
     * @author dml
     * @date 2019年11月17日 下午4:54:14
     * @修改日志：
     */
    public RestfulResponse<List<XmlxAndBalance>, CurrencyMeta> searchAssetScale();

    /**
     * 功能描述：批量建账接口
     *
     * @param thirdPmProjectChildList
     * @return RestfulResponse<Object, CurrencyMeta>
     * @author dml
     * @date 2020年3月9日 下午2:28:19
     * @修改日志：
     */
    RestfulResponse<Object, CurrencyMeta> createGlorgbookInfoBatch(List<ThirdPmProjectChild> thirdPmProjectChildList);

    /**
     * 功能描述:固有代垫生成凭证接口
     *
     * @param fundsFlowInfoGydds
     * @return RestfulResponse<Object, CurrencyMeta>
     * @author likai
     * @data 2020年4月15日下午3:18:46
     * 修改日志
     */
    RestfulResponse<Object, CurrencyMeta> createVoucherInfoGydd(String params);
}
