FeeRuleSchemeNewService.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. package com.ydtech.modules.fee.service;
  2. import com.ydtech.modules.fee.dto.vo.ReCalcuLateProportion;
  3. import com.ydtech.modules.fee.dto.vo.RetailProportion;
  4. import com.ydtech.modules.ins.model.vo.QuoteRespVo;
  5. import com.ydtech.modules.order.entity.InsAreaCompany;
  6. import com.ydtech.modules.order.entity.InsOrders;
  7. import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
  8. import com.ydtech.modules.order.entity.vo.QueryOrderFeeResultVo;
  9. import com.ydtech.modules.order.entity.vo.QueryOrderFeeVo;
  10. import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsExport;
  11. import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
  12. import java.math.BigDecimal;
  13. import java.util.List;
  14. /**
  15. * 该类中只要包含费用的一些相关接口
  16. * 跟单费用的获取、跟单费用的拆分等
  17. */
  18. public interface FeeRuleSchemeNewService {
  19. /**
  20. * 总处理费用匹配方法
  21. * @param quoteInfoVo
  22. * @param quoteRespVo
  23. * @param agreementId
  24. * @param businessNo
  25. */
  26. // public void dealFeeOrderInfo(BaseQuoteInfoVo quoteInfoVo, QuoteRespVo quoteRespVo, String agreementId,String businessNo);
  27. /**
  28. * 查询费用明细
  29. *
  30. * @param companyId
  31. * @return
  32. */
  33. public QueryOrderFeeVo queryFeeOrderInfo(String companyId);
  34. public List<QueryOrderFeeResultVo> convertOrderFeeVoData(QueryOrderFeeVo orderFeeVo);
  35. /**
  36. * 比较和更新总费用比例
  37. *
  38. * @param insOrderNo
  39. * @param jqCostsProportionStr
  40. * @param syCostsProportionStr
  41. */
  42. void compareAndUpdateFeeOrderInfo(String insOrderNo, String jqCostsProportionStr, String syCostsProportionStr, String dealUser);
  43. /**
  44. * 查找匹配的费用因子
  45. *
  46. * @param insAreaCompany
  47. * @param insOrders
  48. */
  49. void verificationCostFactor(InsAreaCompany insAreaCompany, InsOrders insOrders, StringBuilder logs);
  50. /**
  51. * 查找匹配承保规则的因子
  52. *
  53. * @param insAreaCompany
  54. * @param insOrders
  55. */
  56. void verificationRuleFactor(InsAreaCompany insAreaCompany, InsOrders insOrders);
  57. /**
  58. * 重新计算费用
  59. *
  60. * @param costsProportion
  61. * @param deptProportion
  62. * @param retailProportion
  63. * @param retailLevel
  64. * @param ptlAgreementProductCostsExport
  65. * @param originalRetailProportion
  66. * @param type
  67. * @return
  68. */
  69. ReCalcuLateProportion recalculateProportion(BigDecimal costsProportion,
  70. BigDecimal deptProportion,
  71. BigDecimal retailProportion,
  72. BigDecimal taxRadio,
  73. Integer retailLevel,
  74. PtlAgreementProductCostsExport ptlAgreementProductCostsExport,
  75. RetailProportion originalRetailProportion,
  76. String type,
  77. BigDecimal enterProportion
  78. );
  79. /**
  80. * 计算费用因子
  81. *
  82. * @param costsId
  83. */
  84. void calcCosts(String costsId, InsAreaCompany insAreaCompany);
  85. void calcCostsTest(String costsId, InsAreaCompany insAreaCompany);
  86. /**
  87. * 计算费用因子 外部订单录入使用
  88. *
  89. * @param costsNew
  90. * @param insAreaCompany
  91. */
  92. void calcCostsExternal(PtlAgreementProductCostsNew costsNew, InsAreaCompany insAreaCompany);
  93. /**
  94. * 电销计算费用
  95. *
  96. * @param costsNew
  97. * @param insAreaCompany
  98. */
  99. void calcCostsExternalTelemarketing(PtlAgreementProductCostsNew costsNew, InsAreaCompany insAreaCompany);
  100. }