|
|
@@ -1120,203 +1120,203 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
return feeSchemeReqDto;
|
|
|
}
|
|
|
|
|
|
- public void dealFeeOrderInfo(BaseQuoteInfoVo quoteInfoVo, QuoteRespVo quoteRespVo, String agreementId, String businessNo) {
|
|
|
- BigDecimal jqNoTaxPremium = new BigDecimal(0);
|
|
|
- BigDecimal syNoTaxPremium = new BigDecimal(0);
|
|
|
- InsOrders insOrders = insOrdersService.getById(quoteRespVo.getOrderno());
|
|
|
- List<AccidentResponseVo> accidentList = quoteRespVo.getAccident();
|
|
|
- /*BigDecimal accidentActualPremium = new BigDecimal(0);
|
|
|
- for(AccidentResponseVo accidentResponseVo: accidentList){
|
|
|
- accidentActualPremium = new BigDecimal(accidentResponseVo.getActualPremium());
|
|
|
- }*/
|
|
|
- FeeSchemeReqDto feeSchemeReqDto = this.getFeeSchemeInfo(quoteInfoVo, quoteRespVo, agreementId, insOrders.getProductid());
|
|
|
- matchTheUndwrtRules(feeSchemeReqDto);
|
|
|
- FeeSchemeResDto feeSchemeResDto = this.matchTheAppropriateFees(feeSchemeReqDto);
|
|
|
- InsFeeOrder insFeeOrder = new InsFeeOrder(feeSchemeReqDto, feeSchemeResDto, businessNo);
|
|
|
- PtlAgreement agreement = ptlAgreementService.getById(agreementId);
|
|
|
- //先通过含税保费计算出不含税保费 公式 总保费/(1+增值税率) 目前增值税率是0.06
|
|
|
- if (insFeeOrder.getJqPremium().doubleValue() > 0) {
|
|
|
- //默认用含税保费计算
|
|
|
- jqNoTaxPremium = insFeeOrder.getJqPremium();
|
|
|
- //如果协议中配置为不含税结算时,计算不含税保费
|
|
|
- if (StringUtils.isNotEmpty(agreement.getWithTax()) && "否".equals(agreement.getWithTax())) {
|
|
|
- jqNoTaxPremium = insFeeOrder.getJqPremium().divide(new BigDecimal(1 + 0.06), BigDecimal.ROUND_HALF_UP, 2);
|
|
|
- }
|
|
|
- insFeeOrder.setJqNoTaxPremium(jqNoTaxPremium);
|
|
|
- //交强险总费用
|
|
|
- insFeeOrder.setJqCostsPremiums(getPremium(jqNoTaxPremium, insFeeOrder.getJqCostsProportion()));
|
|
|
- //监管费比例
|
|
|
- if ("1".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
- insFeeOrder.setJqSuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getJqNewCarCostsProportion()));
|
|
|
- } else if ("0".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
- insFeeOrder.setJqSuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getJqOldCarCostsProportion()));
|
|
|
- } else {
|
|
|
- insFeeOrder.setJqSuperviseCostsProportion(new BigDecimal(0));
|
|
|
- }
|
|
|
- //监管费
|
|
|
- insFeeOrder.setJqSuperviseCostsPremiums(getPremium(jqNoTaxPremium, insFeeOrder.getJqSuperviseCostsProportion()));
|
|
|
- //溢出费比例 先搁置放0
|
|
|
- insFeeOrder.setJqSpilloverProportion(new BigDecimal(feeSchemeResDto.getJqSpilloverProportion()));
|
|
|
- //溢出费 先搁置放0
|
|
|
- insFeeOrder.setJqSpilloverPremiums(getPremium(jqNoTaxPremium, insFeeOrder.getJqSpilloverProportion()));
|
|
|
- }
|
|
|
- if (insFeeOrder.getSyPremium().doubleValue() > 0) {
|
|
|
- //默认用含税保费计算
|
|
|
- syNoTaxPremium = insFeeOrder.getSyPremium();
|
|
|
- //如果协议中配置为不含税结算时,计算不含税保费
|
|
|
- if (StringUtils.isNotEmpty(agreement.getWithTax()) && "否".equals(agreement.getWithTax())) {
|
|
|
- syNoTaxPremium = insFeeOrder.getSyPremium().divide(BigDecimal.valueOf(1 + 0.06), BigDecimal.ROUND_HALF_UP, 2);
|
|
|
- }
|
|
|
- insFeeOrder.setSyNoTaxPremium(syNoTaxPremium);
|
|
|
- //商业险总费用
|
|
|
- insFeeOrder.setSyCostsPremiums(getPremium(syNoTaxPremium, insFeeOrder.getSyCostsProportion()));
|
|
|
- //监管费比例
|
|
|
- if ("1".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
- insFeeOrder.setSySuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getSyNewCarCostsProportion()));
|
|
|
- } else if ("0".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
- insFeeOrder.setSySuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getSyOldCarCostsProportion()));
|
|
|
- } else {
|
|
|
- insFeeOrder.setSySuperviseCostsProportion(new BigDecimal(0));
|
|
|
- }
|
|
|
- //监管费
|
|
|
- insFeeOrder.setSySuperviseCostsPremiums(getPremium(syNoTaxPremium, insFeeOrder.getSySuperviseCostsProportion()));
|
|
|
- //溢出费比例 先搁置放0
|
|
|
- insFeeOrder.setSySpilloverProportion(new BigDecimal(feeSchemeResDto.getSySpilloverProportion()));
|
|
|
- //溢出费 先搁置放0
|
|
|
- insFeeOrder.setSySpilloverPremiums(getPremium(syNoTaxPremium, insFeeOrder.getSySpilloverProportion()));
|
|
|
- }
|
|
|
-
|
|
|
- if (jqNoTaxPremium.doubleValue() > 0 || syNoTaxPremium.doubleValue() > 0) {
|
|
|
- BigDecimal totalNoTaxPremium = jqNoTaxPremium.add(syNoTaxPremium);
|
|
|
- SysUser sysUser = sysUserService.findByUserId(insOrders.getUserid());
|
|
|
- /**
|
|
|
- * 机构管理费比例逻辑
|
|
|
- * 当前出单员的机构编码找他的上一级就是五级
|
|
|
- * 机构层级划分方式
|
|
|
- * 99 总公司 一级
|
|
|
- * 9914山西分公司 二级
|
|
|
- * 991401太原中支 三级
|
|
|
- * 99140105小店中支 四级
|
|
|
- * 9914010501 营销服务部 五级
|
|
|
- * 1团队 无机构层级
|
|
|
- */
|
|
|
-
|
|
|
- //判断出单员归属机构层级
|
|
|
- String parentId = sysUser.getDeptId();
|
|
|
- String comlevel = "";
|
|
|
- do {//循环操作
|
|
|
- SysDept sysDeptTemp = sysDeptService.getById(parentId);
|
|
|
- if (sysDeptTemp != null && StringUtils.isNotEmpty(sysDeptTemp.getParentId())) {
|
|
|
- parentId = sysDeptTemp.getParentId();
|
|
|
- } else {
|
|
|
- break;
|
|
|
- }
|
|
|
- if (StringUtils.isEmpty(sysDeptTemp.getComlevel())) {
|
|
|
- continue;
|
|
|
- } else {
|
|
|
- comlevel = sysDeptTemp.getComlevel();
|
|
|
- }
|
|
|
- //当机构层级为五级的时候,获取所有的机构费用比例
|
|
|
- if (sysDeptTemp != null && "5".equals(sysDeptTemp.getComlevel())) {
|
|
|
- //五级机构管理费用比例
|
|
|
- insFeeOrder.setFifthDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeFifth()));
|
|
|
- insFeeOrder.setFifthDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getFifthDeptProportion()));
|
|
|
- //四级机构管理费用比例
|
|
|
- insFeeOrder.setForthDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeForth()));
|
|
|
- insFeeOrder.setForthDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getForthDeptProportion()));
|
|
|
- //三级机构管理费用比例
|
|
|
- insFeeOrder.setThirdDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeThird()));
|
|
|
- insFeeOrder.setThirdDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getThirdDeptProportion()));
|
|
|
- //二级机构管理费用比例
|
|
|
- insFeeOrder.setSecondDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeSecond()));
|
|
|
- insFeeOrder.setSecondDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getSecondDeptProportion()));
|
|
|
- //一级机构管理费用比例
|
|
|
- insFeeOrder.setFirstDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFee()));
|
|
|
- insFeeOrder.setFirstDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getFirstDeptProportion()));
|
|
|
- //取到第一层级时结束
|
|
|
- break;
|
|
|
- }
|
|
|
- } while (!"1".equals(comlevel));
|
|
|
-
|
|
|
- //一级分销比例 推荐人
|
|
|
- //二级分销比例
|
|
|
- //三级分销比例
|
|
|
- /**
|
|
|
- * 分销一级、二级、三级存值取团队配置的分销佣金比例,若该团队走三级分销模式,当前出单员出单时,跟单的分销取值方式为:
|
|
|
- * 根据出单员的推荐人向上找三级,若可以找到,则跟单存一、二、三分销比例;
|
|
|
- * 若向上只能找到一级或者二级,则跟单存一级或者一级、二级
|
|
|
- * 比如 A 1 B 2 C 3 D 若D出单 则给 C 3个 B 2个 A 1个;C出单给 B 3个 A 2个
|
|
|
- * 第一步,先判断团队配置的分销模式
|
|
|
- * 第二步,根据分销模式找上级存值相应分销比例
|
|
|
- * 第三步,仅有一个上级的情况分销比例存啥
|
|
|
- */
|
|
|
- List<EsmRetail> esmRetailList = esmRetailService.selectList(" where t.deptid=? and t.status = '1' ",
|
|
|
- new Object[]{sysUser.getDeptId()});
|
|
|
-
|
|
|
- if (esmRetailList != null && !esmRetailList.isEmpty()) {
|
|
|
- EsmRetail esmRetail = esmRetailList.get(0);
|
|
|
- if (esmRetail != null) {
|
|
|
- int cycleIndex = 0;
|
|
|
- if ("3".equals(esmRetail.getRetailtype())) {//团队配置了三级分销模式
|
|
|
- cycleIndex = 3;
|
|
|
- } else if ("2".equals(esmRetail.getRetailtype())) {//团队配置了二级分销模式
|
|
|
- cycleIndex = 2;
|
|
|
- } else if ("1".equals(esmRetail.getRetailtype())) {//团队配置了一级分销模式
|
|
|
- cycleIndex = 1;
|
|
|
- } else if ("0".equals(esmRetail.getRetailtype())) {//团队没有配置分销模式
|
|
|
- cycleIndex = 0;
|
|
|
- }
|
|
|
-
|
|
|
- //利用当前工号,循环向上找推荐人
|
|
|
- String userId = sysUser.getId();
|
|
|
- int breakCycle = 99999999;
|
|
|
- for (int i = 0; i <= cycleIndex; i++) {
|
|
|
- EsmUserReferrer userReferrer = esmUserReferrerService.getById(userId);
|
|
|
- if (userReferrer.getReferrerId().equals(userReferrer.getId())) {//团队长,没有上级
|
|
|
- //跳出循环
|
|
|
- breakCycle = i;
|
|
|
- break;
|
|
|
- } else {
|
|
|
- userId = userReferrer.getReferrerId();
|
|
|
- }
|
|
|
- }
|
|
|
- //breakCycle是3,当前工号的上级的上级的上级就是团队长
|
|
|
- //breakCycle是2,当前工号的上级的上级就是团队长
|
|
|
- //breakCycle是1,当前工号的上级就是团队长
|
|
|
- //breakCycle是0,当前工号就是团队长
|
|
|
-
|
|
|
- if ("3".equals(esmRetail.getRetailtype())) {//团队配置了三级分销模式
|
|
|
- if (breakCycle == 99999999 || breakCycle == 3) {
|
|
|
- insFeeOrder.setFirstRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate1()));
|
|
|
- insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
- insFeeOrder.setThirdRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate3()));
|
|
|
- } else if (breakCycle == 2) {
|
|
|
- insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
- insFeeOrder.setThirdRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate3()));
|
|
|
- } else if (breakCycle == 1) {
|
|
|
- insFeeOrder.setThirdRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate3()));
|
|
|
- }
|
|
|
- } else if ("2".equals(esmRetail.getRetailtype())) {//团队配置了二级分销模式
|
|
|
- if (breakCycle == 99999999 || breakCycle == 3 || breakCycle == 2) {
|
|
|
- insFeeOrder.setFirstRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate1()));
|
|
|
- insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
- } else if (breakCycle == 1) {
|
|
|
- insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
- }
|
|
|
- } else if ("1".equals(esmRetail.getRetailtype())) {//团队配置了一级分销模式
|
|
|
- if (breakCycle == 99999999 || breakCycle == 3 || breakCycle == 2 || breakCycle == 1) {
|
|
|
- insFeeOrder.setFirstRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate1()));
|
|
|
- }
|
|
|
- }
|
|
|
- insFeeOrder.setFirstRetailPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getFirstRetailProportion()));
|
|
|
- insFeeOrder.setSecondRetailPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getSecondRetailProportion()));
|
|
|
- insFeeOrder.setThirdRetailPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getThirdRetailProportion()));
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- insFeeOrderService.insertCompanyAndOrders(insFeeOrder);
|
|
|
- }
|
|
|
+// public void dealFeeOrderInfo(BaseQuoteInfoVo quoteInfoVo, QuoteRespVo quoteRespVo, String agreementId, String businessNo) {
|
|
|
+// BigDecimal jqNoTaxPremium = new BigDecimal(0);
|
|
|
+// BigDecimal syNoTaxPremium = new BigDecimal(0);
|
|
|
+// InsOrders insOrders = insOrdersService.getById(quoteRespVo.getOrderno());
|
|
|
+// List<AccidentResponseVo> accidentList = quoteRespVo.getAccident();
|
|
|
+// /*BigDecimal accidentActualPremium = new BigDecimal(0);
|
|
|
+// for(AccidentResponseVo accidentResponseVo: accidentList){
|
|
|
+// accidentActualPremium = new BigDecimal(accidentResponseVo.getActualPremium());
|
|
|
+// }*/
|
|
|
+// FeeSchemeReqDto feeSchemeReqDto = this.getFeeSchemeInfo(quoteInfoVo, quoteRespVo, agreementId, insOrders.getProductid());
|
|
|
+// matchTheUndwrtRules(feeSchemeReqDto);
|
|
|
+// FeeSchemeResDto feeSchemeResDto = this.matchTheAppropriateFees(feeSchemeReqDto);
|
|
|
+// InsFeeOrder insFeeOrder = new InsFeeOrder(feeSchemeReqDto, feeSchemeResDto, businessNo);
|
|
|
+// PtlAgreement agreement = ptlAgreementService.getById(agreementId);
|
|
|
+// //先通过含税保费计算出不含税保费 公式 总保费/(1+增值税率) 目前增值税率是0.06
|
|
|
+// if (insFeeOrder.getJqPremium().doubleValue() > 0) {
|
|
|
+// //默认用含税保费计算
|
|
|
+// jqNoTaxPremium = insFeeOrder.getJqPremium();
|
|
|
+// //如果协议中配置为不含税结算时,计算不含税保费
|
|
|
+// if (StringUtils.isNotEmpty(agreement.getWithTax()) && "否".equals(agreement.getWithTax())) {
|
|
|
+// jqNoTaxPremium = insFeeOrder.getJqPremium().divide(new BigDecimal(1 + 0.06), BigDecimal.ROUND_HALF_UP, 2);
|
|
|
+// }
|
|
|
+// insFeeOrder.setJqNoTaxPremium(jqNoTaxPremium);
|
|
|
+// //交强险总费用
|
|
|
+// insFeeOrder.setJqCostsPremiums(getPremium(jqNoTaxPremium, insFeeOrder.getJqCostsProportion()));
|
|
|
+// //监管费比例
|
|
|
+// if ("1".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
+// insFeeOrder.setJqSuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getJqNewCarCostsProportion()));
|
|
|
+// } else if ("0".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
+// insFeeOrder.setJqSuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getJqOldCarCostsProportion()));
|
|
|
+// } else {
|
|
|
+// insFeeOrder.setJqSuperviseCostsProportion(new BigDecimal(0));
|
|
|
+// }
|
|
|
+// //监管费
|
|
|
+// insFeeOrder.setJqSuperviseCostsPremiums(getPremium(jqNoTaxPremium, insFeeOrder.getJqSuperviseCostsProportion()));
|
|
|
+// //溢出费比例 先搁置放0
|
|
|
+// insFeeOrder.setJqSpilloverProportion(new BigDecimal(feeSchemeResDto.getJqSpilloverProportion()));
|
|
|
+// //溢出费 先搁置放0
|
|
|
+// insFeeOrder.setJqSpilloverPremiums(getPremium(jqNoTaxPremium, insFeeOrder.getJqSpilloverProportion()));
|
|
|
+// }
|
|
|
+// if (insFeeOrder.getSyPremium().doubleValue() > 0) {
|
|
|
+// //默认用含税保费计算
|
|
|
+// syNoTaxPremium = insFeeOrder.getSyPremium();
|
|
|
+// //如果协议中配置为不含税结算时,计算不含税保费
|
|
|
+// if (StringUtils.isNotEmpty(agreement.getWithTax()) && "否".equals(agreement.getWithTax())) {
|
|
|
+// syNoTaxPremium = insFeeOrder.getSyPremium().divide(BigDecimal.valueOf(1 + 0.06), BigDecimal.ROUND_HALF_UP, 2);
|
|
|
+// }
|
|
|
+// insFeeOrder.setSyNoTaxPremium(syNoTaxPremium);
|
|
|
+// //商业险总费用
|
|
|
+// insFeeOrder.setSyCostsPremiums(getPremium(syNoTaxPremium, insFeeOrder.getSyCostsProportion()));
|
|
|
+// //监管费比例
|
|
|
+// if ("1".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
+// insFeeOrder.setSySuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getSyNewCarCostsProportion()));
|
|
|
+// } else if ("0".equals(feeSchemeReqDto.getIsNewCar())) {
|
|
|
+// insFeeOrder.setSySuperviseCostsProportion(new BigDecimal(feeSchemeResDto.getSyOldCarCostsProportion()));
|
|
|
+// } else {
|
|
|
+// insFeeOrder.setSySuperviseCostsProportion(new BigDecimal(0));
|
|
|
+// }
|
|
|
+// //监管费
|
|
|
+// insFeeOrder.setSySuperviseCostsPremiums(getPremium(syNoTaxPremium, insFeeOrder.getSySuperviseCostsProportion()));
|
|
|
+// //溢出费比例 先搁置放0
|
|
|
+// insFeeOrder.setSySpilloverProportion(new BigDecimal(feeSchemeResDto.getSySpilloverProportion()));
|
|
|
+// //溢出费 先搁置放0
|
|
|
+// insFeeOrder.setSySpilloverPremiums(getPremium(syNoTaxPremium, insFeeOrder.getSySpilloverProportion()));
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (jqNoTaxPremium.doubleValue() > 0 || syNoTaxPremium.doubleValue() > 0) {
|
|
|
+// BigDecimal totalNoTaxPremium = jqNoTaxPremium.add(syNoTaxPremium);
|
|
|
+// SysUser sysUser = sysUserService.findByUserId(insOrders.getUserid());
|
|
|
+// /**
|
|
|
+// * 机构管理费比例逻辑
|
|
|
+// * 当前出单员的机构编码找他的上一级就是五级
|
|
|
+// * 机构层级划分方式
|
|
|
+// * 99 总公司 一级
|
|
|
+// * 9914山西分公司 二级
|
|
|
+// * 991401太原中支 三级
|
|
|
+// * 99140105小店中支 四级
|
|
|
+// * 9914010501 营销服务部 五级
|
|
|
+// * 1团队 无机构层级
|
|
|
+// */
|
|
|
+//
|
|
|
+// //判断出单员归属机构层级
|
|
|
+// String parentId = sysUser.getDeptId();
|
|
|
+// String comlevel = "";
|
|
|
+// do {//循环操作
|
|
|
+// SysDept sysDeptTemp = sysDeptService.getById(parentId);
|
|
|
+// if (sysDeptTemp != null && StringUtils.isNotEmpty(sysDeptTemp.getParentId())) {
|
|
|
+// parentId = sysDeptTemp.getParentId();
|
|
|
+// } else {
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// if (StringUtils.isEmpty(sysDeptTemp.getComlevel())) {
|
|
|
+// continue;
|
|
|
+// } else {
|
|
|
+// comlevel = sysDeptTemp.getComlevel();
|
|
|
+// }
|
|
|
+// //当机构层级为五级的时候,获取所有的机构费用比例
|
|
|
+// if (sysDeptTemp != null && "5".equals(sysDeptTemp.getComlevel())) {
|
|
|
+// //五级机构管理费用比例
|
|
|
+// insFeeOrder.setFifthDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeFifth()));
|
|
|
+// insFeeOrder.setFifthDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getFifthDeptProportion()));
|
|
|
+// //四级机构管理费用比例
|
|
|
+// insFeeOrder.setForthDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeForth()));
|
|
|
+// insFeeOrder.setForthDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getForthDeptProportion()));
|
|
|
+// //三级机构管理费用比例
|
|
|
+// insFeeOrder.setThirdDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeThird()));
|
|
|
+// insFeeOrder.setThirdDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getThirdDeptProportion()));
|
|
|
+// //二级机构管理费用比例
|
|
|
+// insFeeOrder.setSecondDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFeeSecond()));
|
|
|
+// insFeeOrder.setSecondDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getSecondDeptProportion()));
|
|
|
+// //一级机构管理费用比例
|
|
|
+// insFeeOrder.setFirstDeptProportion(BigDecimal.valueOf(sysDeptTemp.getManagementFee()));
|
|
|
+// insFeeOrder.setFirstDeptPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getFirstDeptProportion()));
|
|
|
+// //取到第一层级时结束
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// } while (!"1".equals(comlevel));
|
|
|
+//
|
|
|
+// //一级分销比例 推荐人
|
|
|
+// //二级分销比例
|
|
|
+// //三级分销比例
|
|
|
+// /**
|
|
|
+// * 分销一级、二级、三级存值取团队配置的分销佣金比例,若该团队走三级分销模式,当前出单员出单时,跟单的分销取值方式为:
|
|
|
+// * 根据出单员的推荐人向上找三级,若可以找到,则跟单存一、二、三分销比例;
|
|
|
+// * 若向上只能找到一级或者二级,则跟单存一级或者一级、二级
|
|
|
+// * 比如 A 1 B 2 C 3 D 若D出单 则给 C 3个 B 2个 A 1个;C出单给 B 3个 A 2个
|
|
|
+// * 第一步,先判断团队配置的分销模式
|
|
|
+// * 第二步,根据分销模式找上级存值相应分销比例
|
|
|
+// * 第三步,仅有一个上级的情况分销比例存啥
|
|
|
+// */
|
|
|
+// List<EsmRetail> esmRetailList = esmRetailService.selectList(" where t.deptid=? and t.status = '1' ",
|
|
|
+// new Object[]{sysUser.getDeptId()});
|
|
|
+//
|
|
|
+// if (esmRetailList != null && !esmRetailList.isEmpty()) {
|
|
|
+// EsmRetail esmRetail = esmRetailList.get(0);
|
|
|
+// if (esmRetail != null) {
|
|
|
+// int cycleIndex = 0;
|
|
|
+// if ("3".equals(esmRetail.getRetailtype())) {//团队配置了三级分销模式
|
|
|
+// cycleIndex = 3;
|
|
|
+// } else if ("2".equals(esmRetail.getRetailtype())) {//团队配置了二级分销模式
|
|
|
+// cycleIndex = 2;
|
|
|
+// } else if ("1".equals(esmRetail.getRetailtype())) {//团队配置了一级分销模式
|
|
|
+// cycleIndex = 1;
|
|
|
+// } else if ("0".equals(esmRetail.getRetailtype())) {//团队没有配置分销模式
|
|
|
+// cycleIndex = 0;
|
|
|
+// }
|
|
|
+//
|
|
|
+// //利用当前工号,循环向上找推荐人
|
|
|
+// String userId = sysUser.getId();
|
|
|
+// int breakCycle = 99999999;
|
|
|
+// for (int i = 0; i <= cycleIndex; i++) {
|
|
|
+// EsmUserReferrer userReferrer = esmUserReferrerService.getById(userId);
|
|
|
+// if (userReferrer.getReferrerId().equals(userReferrer.getId())) {//团队长,没有上级
|
|
|
+// //跳出循环
|
|
|
+// breakCycle = i;
|
|
|
+// break;
|
|
|
+// } else {
|
|
|
+// userId = userReferrer.getReferrerId();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// //breakCycle是3,当前工号的上级的上级的上级就是团队长
|
|
|
+// //breakCycle是2,当前工号的上级的上级就是团队长
|
|
|
+// //breakCycle是1,当前工号的上级就是团队长
|
|
|
+// //breakCycle是0,当前工号就是团队长
|
|
|
+//
|
|
|
+// if ("3".equals(esmRetail.getRetailtype())) {//团队配置了三级分销模式
|
|
|
+// if (breakCycle == 99999999 || breakCycle == 3) {
|
|
|
+// insFeeOrder.setFirstRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate1()));
|
|
|
+// insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
+// insFeeOrder.setThirdRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate3()));
|
|
|
+// } else if (breakCycle == 2) {
|
|
|
+// insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
+// insFeeOrder.setThirdRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate3()));
|
|
|
+// } else if (breakCycle == 1) {
|
|
|
+// insFeeOrder.setThirdRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate3()));
|
|
|
+// }
|
|
|
+// } else if ("2".equals(esmRetail.getRetailtype())) {//团队配置了二级分销模式
|
|
|
+// if (breakCycle == 99999999 || breakCycle == 3 || breakCycle == 2) {
|
|
|
+// insFeeOrder.setFirstRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate1()));
|
|
|
+// insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
+// } else if (breakCycle == 1) {
|
|
|
+// insFeeOrder.setSecondRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate2()));
|
|
|
+// }
|
|
|
+// } else if ("1".equals(esmRetail.getRetailtype())) {//团队配置了一级分销模式
|
|
|
+// if (breakCycle == 99999999 || breakCycle == 3 || breakCycle == 2 || breakCycle == 1) {
|
|
|
+// insFeeOrder.setFirstRetailProportion(BigDecimal.valueOf(esmRetail.getDisrate1()));
|
|
|
+// }
|
|
|
+// }
|
|
|
+// insFeeOrder.setFirstRetailPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getFirstRetailProportion()));
|
|
|
+// insFeeOrder.setSecondRetailPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getSecondRetailProportion()));
|
|
|
+// insFeeOrder.setThirdRetailPremiums(getPremium(totalNoTaxPremium, insFeeOrder.getThirdRetailProportion()));
|
|
|
+//
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// insFeeOrderService.insertCompanyAndOrders(insFeeOrder);
|
|
|
+// }
|
|
|
|
|
|
@Override
|
|
|
public QueryOrderFeeVo queryFeeOrderInfo(String companyId) {
|
|
|
@@ -2005,13 +2005,13 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
// resultList.add(feeResultVo9);
|
|
|
// return resultList;
|
|
|
// }
|
|
|
-
|
|
|
- /**
|
|
|
- * 按照组合单模式获取费用明细
|
|
|
- *
|
|
|
- * @param insFeeOrder
|
|
|
- * @return
|
|
|
- */
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * 按照组合单模式获取费用明细
|
|
|
+// *
|
|
|
+// * @param insFeeOrder
|
|
|
+// * @return
|
|
|
+// */
|
|
|
// private QueryOrderFeeVo packageOrderFeeInfoAll(InsFeeOrder insFeeOrder) {
|
|
|
// QueryOrderFeeVo queryOrderFeeVo = new QueryOrderFeeVo();
|
|
|
// InsFeeOrder jqInsFeeOrderTemp = new InsFeeOrder();
|
|
|
@@ -2071,12 +2071,12 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
// return queryOrderFeeVo;
|
|
|
// }
|
|
|
|
|
|
- /**
|
|
|
- * 按照单险种方式获取费用明细
|
|
|
- *
|
|
|
- * @param insFeeOrder
|
|
|
- * @return
|
|
|
- */
|
|
|
+// /**
|
|
|
+// * 按照单险种方式获取费用明细
|
|
|
+// *
|
|
|
+// * @param insFeeOrder
|
|
|
+// * @return
|
|
|
+// */
|
|
|
// private OrderFeeVo packageOrderFeeInfoOne(InsFeeOrder insFeeOrder) {
|
|
|
// OrderFeeVo orderFeeVo = new OrderFeeVo();
|
|
|
// orderFeeVo.setFirstDeptPremiums(convertToString(insFeeOrder.getFirstDeptPremiums()));
|