package com.tenwa.reckon.executor; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOTransaction; import com.amarsoft.are.util.json.JSONObject; import com.tenwa.reckon.bean.ConditionBean; import com.tenwa.reckon.bean.FundRentPlanBean; import com.tenwa.reckon.bean.TabCalBean; import java.io.InputStream; import java.util.Map; public interface Transaction { /** * * @param 组装商务报价 */ public String run(); public void runTrans( JBOTransaction tx ) throws Exception; public FundRentPlanBean createRentPlan(TabCalBean bean,JBOTransaction tx) throws Exception; public void createFundPlan(FundRentPlanBean rentPlan, TabCalBean bean,JBOTransaction tx) throws Exception; public String createCashFlow(TabCalBean bean,JBOTransaction tx) throws Exception; /** * 如果是已知租金算法推导年利率,需要调用该方法,倒退出年利率 * @throws Exception */ public void preHandle(ConditionBean cb,TabCalBean bean) throws Exception; public void callBack(JSONObject jsonObject,ConditionBean cb,TabCalBean bean,FundRentPlanBean rentPlan,Boolean flag,JBOTransaction tx) throws Exception; /** * Excel导入,需要判断是否进行商务条件的保存 * @return * @throws Exception */ public String checkIsSaveCondition() throws Exception; /** * 删除已知租金和已知本金规则 * @return */ public String runDelteKnowing() throws Exception; public String runOnhire(); public String checkKnowingConfig() throws Exception; public String updateCashFlow() throws Exception; /** * 租金计划休眠 * @return */ public String runRentdormant(JBOTransaction tx) throws Exception; /** * 租金计划变更 * @return */ public String runRentChange() throws Exception; public String cancelRentChange(JBOTransaction tx) throws Exception; public String checkIsRentChange() throws Exception; /** * 中途终止操作 * @return * */ public String runTerminate() throws Exception; public int importRentPlan(String fileName,InputStream sourceFile,MapsourceMap) throws Exception; public void createFundPlanTerminate(FundRentPlanBean rentPlan, TabCalBean bean,JBOTransaction tx,BizObject bo) throws Exception; }