package com.ydtech.modules.fee.service; import com.ydtech.modules.fee.dto.vo.ReCalcuLateProportion; import com.ydtech.modules.fee.dto.vo.RetailProportion; import com.ydtech.modules.ins.model.vo.QuoteRespVo; import com.ydtech.modules.order.entity.InsAreaCompany; import com.ydtech.modules.order.entity.InsOrders; import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo; import com.ydtech.modules.order.entity.vo.QueryOrderFeeResultVo; import com.ydtech.modules.order.entity.vo.QueryOrderFeeVo; import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsExport; import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew; import java.math.BigDecimal; import java.util.List; /** * 该类中只要包含费用的一些相关接口 * 跟单费用的获取、跟单费用的拆分等 */ public interface FeeRuleSchemeNewService { /** * 总处理费用匹配方法 * @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 insAreaCompany * @param insOrders */ void verificationCostFactor(InsAreaCompany insAreaCompany, InsOrders insOrders, StringBuilder logs); /** * 查找匹配承保规则的因子 * * @param insAreaCompany * @param insOrders */ void verificationRuleFactor(InsAreaCompany insAreaCompany, InsOrders insOrders); /** * 重新计算费用 * * @param costsProportion * @param deptProportion * @param retailProportion * @param retailLevel * @param ptlAgreementProductCostsExport * @param originalRetailProportion * @param type * @return */ ReCalcuLateProportion recalculateProportion(BigDecimal costsProportion, BigDecimal deptProportion, BigDecimal retailProportion, BigDecimal taxRadio, Integer retailLevel, PtlAgreementProductCostsExport ptlAgreementProductCostsExport, RetailProportion originalRetailProportion, String type, BigDecimal enterProportion ); /** * 计算费用因子 * * @param costsId */ void calcCosts(String costsId, InsAreaCompany insAreaCompany); void calcCostsTest(String costsId, InsAreaCompany insAreaCompany); /** * 计算费用因子 外部订单录入使用 * * @param costsNew * @param insAreaCompany */ void calcCostsExternal(PtlAgreementProductCostsNew costsNew, InsAreaCompany insAreaCompany); /** * 电销计算费用 * * @param costsNew * @param insAreaCompany */ void calcCostsExternalTelemarketing(PtlAgreementProductCostsNew costsNew, InsAreaCompany insAreaCompany); }