package com.tenwa.loan.calc; import java.util.List; import java.util.Map; import com.amarsoft.are.jbo.BizObject; public interface FinancingCalculateService { /** * 新增、修改借款借据单,并测算还款计划 * @param model * @return 借款借据单 * @throws Exception */ public BizObject saveCalculateFundPlan(Map model) throws Exception; /** * 删除借款借据单信息,同时删除本金、利息计划 * @param model * @return * @throws Exception */ public Map removeFundPlan(Map model) throws Exception; /** * 保存借款借据单信息 * @param model * @return 借款借据单 * @throws Exception */ public BizObject saveLoanBillInfo(Map model) throws Exception; /** * 测算并保存本金还款计划 * @param billInfo 借款借据单 * @return 本金还款计划 * @throws Exception */ public List saveLoanCorpusPlan(BizObject billInfo) throws Exception; /** * 测算并保存利息还款计划 * @param billInfo 借款借据单 * @param corpusPlanList 本金还款计划 * @param lastDate 上次结息日 * @return 利息还款计划 * @throws Exception */ public List saveLoanInterestPlan(BizObject billInfo, List corpusPlanList, String lastDate) throws Exception; /** * 整合本金、利息还款计划 * @param billId 借款借据单 * @param lastDate 上次结息日 * @throws Exception */ public void saveLoanFundPlan(BizObject billId, String lastDate) throws Exception; /** * 测算调整后的利息 * @param billInfo 借款借据单 * @param lastDate 上次结息日 * @param docId 流水号 * @param modReason 变更模块 * @throws Exception */ public void updateLoanInterestPlan(BizObject billInfo, String lastDate, String docId, String modReason) throws Exception; /** * 测算调整后的利息 * @param billId 借款借据单ID * @param lastDate 上次结息日 * @param docId 流水号 * @param hisType 变更模块 * @throws Exception */ public void submitLoanInterestChange(String billId, String lastDate, String docId, String hisType) throws Exception; /** * 调息:根据央行基准利率信息ID计算出借款借据单的新利率并调整该借据单的利息 * @param billId 借款借据单ID * @param adjustId 央行基准利率信息ID * @param docId 调息流水号 * @throws Exception */ public void submitTransRate(String billId, String adjustId, String docId) throws Exception; /** * 根据调息记录ID回滚该调息记录,并修改原调息记录的状态 * @param adjustId 原调息记录ID * @param docId 回滚流水号 * @throws Exception */ public void submitTransRateRollback(String adjustId, String docId) throws Exception; /** * 校验提款单的总本金与借款金额是否一致 * @param billId * @throws Exception */ public void checkCorpusTotal(String billId) throws Exception; }