package com.ydtech.modules.fee.service; import com.ydtech.modules.ins.model.vo.QuoteRespVo; import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo; import com.ydtech.modules.order.entity.vo.FeeOrderNewVo; import com.ydtech.modules.order.entity.vo.QueryOrderFeeResultVo; import com.ydtech.modules.order.entity.vo.QueryOrderFeeVo; import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew; import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew; import java.math.BigDecimal; import java.util.List; /** * 该类中只要包含费用的一些相关接口 * 跟单费用的获取、跟单费用的拆分等 */ public interface FeeRuleSchemeService { /** * 总处理费用匹配方法 * @param quoteInfoVo * @param quoteRespVo * @param agreementId * @param businessNo */ // public void dealFeeOrderInfo(BaseQuoteInfoVo quoteInfoVo, QuoteRespVo quoteRespVo, String agreementId,String businessNo); /** * 查询费用明细 * @param companyId * @return */ public QueryOrderFeeVo queryFeeOrderInfo(String companyId); // public List convertOrderFeeVoData(QueryOrderFeeVo orderFeeVo); /** * 比较和更新总费用比例 * @param insOrderNo * @param jqCostsProportionStr * @param syCostsProportionStr */ void compareAndUpdateFeeOrderInfo(String insOrderNo ,String jqCostsProportionStr,String syCostsProportionStr,String dealUser); /** * 计算入口费用 * @param premium 保费 * @param superviseCostsProportion 手续费比例 * @param otherCostsProportion 跟单比例 */ FeeOrderNewVo.EntranceFee calcEntranceFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion, BigDecimal taxRate); /** * 计算机构管理费用 * @param premium 保费 * @param level1Proportion 一级比例 * @param level2Proportion 二级比例 * @param level3Proportion 三级比例 * @param level4Proportion 四级比例 * @param level5Proportion 五级比例 * @return */ public FeeOrderNewVo.DeptManagerFee calcDeptManagerFee(BigDecimal premium, BigDecimal level1Proportion,BigDecimal level2Proportion, BigDecimal level3Proportion,BigDecimal level4Proportion,BigDecimal level5Proportion); /** * 计算出口费用 * @param premium 保费 * @param superviseCostsProportion 出口手续费 * @param entranceTotalProportion 入口总比例 * @param deptTotalProportion 机构管理费总比例 * @param retailTotalProportion 分销总比例 * @param taxRate 税率 * @return */ public FeeOrderNewVo.ExportFee calcExportFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal entranceTotalProportion, BigDecimal deptTotalProportion,BigDecimal retailTotalProportion,BigDecimal taxRate); FeeOrderNewVo newConvertOrderFeeVoData(InsFeeOrderNew insFeeOrderNew, PtlAgreementProductCostsNew ptlAgreementProductCostsNew); }