package com.dhcc.finance.main.service;

import java.util.List;
import java.util.Map;

import com.dhcc.common.model.CurrencyMeta;
import com.dhcc.common.model.response.RestfulResponse;
import com.dhcc.finance.main.domain.CwBdRecordGlorgbook;
import com.dhcc.finance.main.model.FundsFlowInfo;
import com.dhcc.finance.main.model.ThirdPmProjectChild;
import com.dhcc.finance.main.model.VoucherRequestInfo;

/**
 * 功能描述：财务对外接口（完善一些逻辑）
 * @author dml
 * @date 2019年7月18日 下午3:35:27
 * @修改日志：
 */
public interface FinanceForThirdSupplyService {
	
	/**
	 * 功能描述：生成账套信息
	 * @param thirdPrdFqmjInfo
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author dml
	 * @date 2019年6月4日 下午3:14:38
	 * @修改日志：
	 */
	RestfulResponse<Object, CurrencyMeta> createGlorgbookInfo(ThirdPmProjectChild thirdPmProjectChild);
	
	/**
	 * 功能描述 记录流水记录表
	 *@param fundsFlowInfoList
	 *@param voucherRequestInfo
	 *@param cacheMap
	 *@return RestfulResponse<Object,CurrencyMeta>
	 *@author huangpeng
	 * @param string 
	 *@date 2019年7月30日 下午3:58:45
	 *修改日志:
	 */
	RestfulResponse<List<String>, CurrencyMeta> insertRecordAccountForStart(
			List<FundsFlowInfo> fundsFlowInfoList,VoucherRequestInfo voucherRequestInfo,String string, Map<String, String> cacheMap);
	
	/**
	 * 功能描述  记账批次号记录
	 *@param voucherRequestInfo
	 *@return RestfulResponse<Object,CurrencyMeta>
	 *@author huangpeng
	 *@date 2019年8月20日 上午10:06:38
	 *修改日志:
	 */
	RestfulResponse<Object, CurrencyMeta> insertRecordForBatch(VoucherRequestInfo voucherRequestInfo);
	
	/**
	 * 功能描述：批量建账
	 * @param thirdPmProjectChildList
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author dml
	 * @date 2020年3月9日 下午4:05:40
	 * @修改日志：
	 */
	RestfulResponse<List<CwBdRecordGlorgbook>, CurrencyMeta> createGlorgbookInfoBatch(List<CwBdRecordGlorgbook> cwBdRecordGlorgbookList);
}
