| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package com.ydtech.modules.fee.service;
- import com.ydtech.modules.ins.model.vo.QuoteRespVo;
- import com.ydtech.modules.order.entity.vo.*;
- 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<QueryOrderFeeResultVo> 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
- */
- 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
- */
- FeeOrderNewVo.ExportFee calcExportFee(BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal entranceTotalProportion,
- BigDecimal deptTotalProportion, BigDecimal retailTotalProportion, BigDecimal taxRate, BigDecimal enterProportion);
- /**
- * 计算分销费用
- *
- * @param jqPremiums
- * @param jqProportion
- * @param syPremiums
- * @param syProportion
- * @param noPremiums
- * @param noProportion
- * @param jqRetailProportion
- */
- FeeOrderNewVo.RetailFee calcRetail(BigDecimal jqPremiums, BigDecimal jqProportion, BigDecimal syPremiums, BigDecimal syProportion, BigDecimal noPremiums,
- BigDecimal noProportion, BigDecimal jqRetailProportion, BigDecimal syRetailProportion, BigDecimal noRetailProportion);
- FeeOrderNewVo newConvertOrderFeeVoData(InsFeeOrderNew insFeeOrderNew, PtlAgreementProductCostsNew ptlAgreementProductCostsNew);
- FeeOrderNewVo.EntranceFee assignEntranceFee(String title, BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion,
- BigDecimal costsProportion, BigDecimal superviseCostsPremiums, BigDecimal otherCostsPremiums,
- BigDecimal costsPremiums);
- FeeOrderNewVo.DeptManagerFee assignDeptFee(String title, BigDecimal level1Proportion, BigDecimal level1Premium,
- BigDecimal level2Proportion, BigDecimal level2Premium,
- BigDecimal level3Proportion, BigDecimal level3Premium,
- BigDecimal level4Proportion, BigDecimal level4Premium,
- BigDecimal level5Proportion, BigDecimal level5Premium,
- BigDecimal profitMarginPremiums,
- BigDecimal externalProportion, BigDecimal externalPremiums
- );
- FeeOrderNewVo.ExportFee assignExportFee(String title, BigDecimal premium, BigDecimal superviseCostsProportion, BigDecimal otherCostsProportion,
- BigDecimal superviseCostsPremiums, BigDecimal otherCostsPremiums
- );
- /**
- * 推算比例是否正确
- *
- * @param entranceFee 入口
- * @param deptManagerFee 机构管理
- * @param exportFee 出口
- * @param retailRadio 分销比例
- * @param premiums 保费
- * @return
- */
- boolean calculateProportion(FeeOrderNewVo.EntranceFee entranceFee, FeeOrderNewVo.DeptManagerFee deptManagerFee, FeeOrderNewVo.ExportFee exportFee, BigDecimal retailRadio, BigDecimal taxRadio, BigDecimal premiums);
- List<DistributionLevelVo> converDistrbutionData(InsFeeOrderNew insFeeOrderNew);
- }
|