cuixinpeng пре 2 година
родитељ
комит
fc975b40d7

+ 1 - 1
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -458,7 +458,7 @@ public class SysUserController extends BaseController {
     @ApiOperation(value = "获取可选业务员列表")
     @ApiOperation(value = "获取可选业务员列表")
     @GetMapping(value = "/getAllUsers")
     @GetMapping(value = "/getAllUsers")
     public HttpResult getAllUsers(@RequestParam(required = false) String userId) {
     public HttpResult getAllUsers(@RequestParam(required = false) String userId) {
-        List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId);
+        List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId,"20");
         return HttpResult.ok(userList);
         return HttpResult.ok(userList);
 
 
     }
     }

+ 2 - 2
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -147,13 +147,13 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 
     String selectSql = "SELECT u.* FROM sys_user u " +
     String selectSql = "SELECT u.* FROM sys_user u " +
             "LEFT JOIN sys_user_role sur ON sur.user_id = u.id " +
             "LEFT JOIN sys_user_role sur ON sur.user_id = u.id " +
-            " WHERE sur.role_id IN ('20') and u.status=1 " +
+            " WHERE sur.role_id = #{roleId} and u.status=1 " +
             "<if test='userId!=\"\" '>" +
             "<if test='userId!=\"\" '>" +
             "   and u.id=#{userId} " +
             "   and u.id=#{userId} " +
             "</if> " ;
             "</if> " ;
 
 
     @Select({"<script>",selectSql,"</script>"})
     @Select({"<script>",selectSql,"</script>"})
-    List<SysUser> findAllAgentRoleUser(@Param("userId") String userId);
+    List<SysUser> findAllAgentRoleUser(@Param("userId") String userId,@Param("roleId") String roleId);
 }
 }
 
 
 
 

+ 1 - 1
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -101,7 +101,7 @@ public interface SysUserService extends IService<SysUser> {
 
 
     public List<SysUser> getAllUsers(String userId);
     public List<SysUser> getAllUsers(String userId);
 
 
-    public List<SysUser> findAllAgentRoleUser(String deptId);
+    public List<SysUser> findAllAgentRoleUser(String userId,String roleId);
 }
 }
 
 
 
 

+ 2 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -504,8 +504,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
     }
 
 
     @Override
     @Override
-    public List<SysUser> findAllAgentRoleUser(String deptId) {
-        return super.baseMapper.findAllAgentRoleUser(deptId);
+    public List<SysUser> findAllAgentRoleUser(String userId,String roleId) {
+        return super.baseMapper.findAllAgentRoleUser(userId,roleId);
     }
     }
 }
 }
 
 

+ 167 - 13
src/main/java/com/ydtech/modules/fee/service/impl/FeeRuleSchemeServiceImpl.java

@@ -20,10 +20,7 @@ import com.ydtech.modules.ins.model.vo.QuoteRespVo;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsAreaCompany;
 import com.ydtech.modules.order.entity.InsFeeOrder;
 import com.ydtech.modules.order.entity.InsFeeOrder;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.InsOrders;
-import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
-import com.ydtech.modules.order.entity.vo.OrderFeeVo;
-import com.ydtech.modules.order.entity.vo.QueryOrderFeeResultVo;
-import com.ydtech.modules.order.entity.vo.QueryOrderFeeVo;
+import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsAreaCompanyService;
 import com.ydtech.modules.order.service.InsFeeOrderService;
 import com.ydtech.modules.order.service.InsFeeOrderService;
 import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsOrdersService;
@@ -1269,11 +1266,10 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
 
 
     public QueryOrderFeeVo queryFeeOrderInfo(String companyId){
     public QueryOrderFeeVo queryFeeOrderInfo(String companyId){
         QueryOrderFeeVo queryOrderFeeVo = new QueryOrderFeeVo();
         QueryOrderFeeVo queryOrderFeeVo = new QueryOrderFeeVo();
+        QueryOrderCommissionVo orderCommissionVo = new QueryOrderCommissionVo();
         OrderFeeVo jqOrderFeeVo = new OrderFeeVo();
         OrderFeeVo jqOrderFeeVo = new OrderFeeVo();
         OrderFeeVo syOrderFeeVo = new OrderFeeVo();
         OrderFeeVo syOrderFeeVo = new OrderFeeVo();
         OrderFeeVo fcOrderFeeVo = new OrderFeeVo();
         OrderFeeVo fcOrderFeeVo = new OrderFeeVo();
-        BigDecimal jqFeePremium = new BigDecimal(0);
-        BigDecimal syFeePremium = new BigDecimal(0);
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
         InsAreaCompany insAreaCompany = insAreaCompanyService.getByIdIsExist(companyId);
         InsFeeOrder insFeeOrder = insFeeOrderService.getByInsOrderNo(insAreaCompany.getId());
         InsFeeOrder insFeeOrder = insFeeOrderService.getByInsOrderNo(insAreaCompany.getId());
 
 
@@ -1284,14 +1280,17 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 jqOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getJqCostsProportion()));
                 jqOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getJqCostsProportion()));
                 jqOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getJqSuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums().subtract(insFeeOrder.getJqSuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums())+"元");
                 jqOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getJqSuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums().subtract(insFeeOrder.getJqSuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums())+"元");
                 jqOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getJqSuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getJqCostsProportion().subtract(insFeeOrder.getJqSuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getJqCostsProportion()));
                 jqOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getJqSuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getJqCostsProportion().subtract(insFeeOrder.getJqSuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getJqCostsProportion()));
-                jqFeePremium = insFeeOrder.getJqCostsPremiums();
+                /*出单员手续费比例=总费用比例-各级管理费-各级分销费-溢出费*/
+                orderCommissionVo = getQueryOrderCommission(orderCommissionVo,insFeeOrder,"JQ");
+
             }else if(insFeeOrder.getSyPremium()!=null && insFeeOrder.getSyPremium().doubleValue()>0  && insFeeOrder.getJqPremium()!=null && insFeeOrder.getJqPremium().doubleValue()==0){//当为单商业务时
             }else if(insFeeOrder.getSyPremium()!=null && insFeeOrder.getSyPremium().doubleValue()>0  && insFeeOrder.getJqPremium()!=null && insFeeOrder.getJqPremium().doubleValue()==0){//当为单商业务时
                 syOrderFeeVo = packageOrderFeeInfoOne(insFeeOrder);
                 syOrderFeeVo = packageOrderFeeInfoOne(insFeeOrder);
                 syOrderFeeVo.setCostsPremiums(convertToString(insFeeOrder.getSyCostsPremiums()));
                 syOrderFeeVo.setCostsPremiums(convertToString(insFeeOrder.getSyCostsPremiums()));
                 syOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getSyCostsProportion()));
                 syOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getSyCostsProportion()));
                 syOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getSySuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums().subtract(insFeeOrder.getSySuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums())+"元");
                 syOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getSySuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums().subtract(insFeeOrder.getSySuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums())+"元");
                 syOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getSySuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getSyCostsProportion().subtract(insFeeOrder.getSySuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getSyCostsProportion()));
                 syOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getSySuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getSyCostsProportion().subtract(insFeeOrder.getSySuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getSyCostsProportion()));
-                syFeePremium = insFeeOrder.getSyCostsPremiums();
+                /*出单员手续费比例=总费用比例-各级管理费-各级分销费-溢出费*/
+                orderCommissionVo = getQueryOrderCommission(orderCommissionVo,insFeeOrder,"SY");
             }else if(insFeeOrder.getJqPremium()!=null && insFeeOrder.getJqPremium().doubleValue()>0 && insFeeOrder.getSyPremium()!=null && insFeeOrder.getSyPremium().doubleValue()>0){//当为交商业务时
             }else if(insFeeOrder.getJqPremium()!=null && insFeeOrder.getJqPremium().doubleValue()>0 && insFeeOrder.getSyPremium()!=null && insFeeOrder.getSyPremium().doubleValue()>0){//当为交商业务时
                 QueryOrderFeeVo queryOrderFeeVoTemp = packageOrderFeeInfoAll(insFeeOrder);
                 QueryOrderFeeVo queryOrderFeeVoTemp = packageOrderFeeInfoAll(insFeeOrder);
                 //获取交强险费用明细
                 //获取交强险费用明细
@@ -1300,25 +1299,180 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
                 jqOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getJqCostsProportion()));
                 jqOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getJqCostsProportion()));
                 jqOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getJqSuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums().subtract(insFeeOrder.getJqSuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums())+"元");
                 jqOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getJqSuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums().subtract(insFeeOrder.getJqSuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getJqCostsPremiums())+"元");
                 jqOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getJqSuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getJqCostsProportion().subtract(insFeeOrder.getJqSuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getJqCostsProportion()));
                 jqOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getJqSuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getJqCostsProportion().subtract(insFeeOrder.getJqSuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getJqCostsProportion()));
-                jqFeePremium = insFeeOrder.getJqCostsPremiums();
                 //获取商业险费用明细
                 //获取商业险费用明细
                 syOrderFeeVo = queryOrderFeeVoTemp.getSyCoderFeeVo();
                 syOrderFeeVo = queryOrderFeeVoTemp.getSyCoderFeeVo();
                 syOrderFeeVo.setCostsPremiums(convertToString(insFeeOrder.getSyCostsPremiums()));
                 syOrderFeeVo.setCostsPremiums(convertToString(insFeeOrder.getSyCostsPremiums()));
                 syOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getSyCostsProportion()));
                 syOrderFeeVo.setCostsProportion(convertToString(insFeeOrder.getSyCostsProportion()));
                 syOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getSySuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums().subtract(insFeeOrder.getSySuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums())+"元");
                 syOrderFeeVo.setCostsPremiumsAll(convertToString(insFeeOrder.getSySuperviseCostsPremiums())+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums().subtract(insFeeOrder.getSySuperviseCostsPremiums()))+"元 / "+convertToString(insFeeOrder.getSyCostsPremiums())+"元");
                 syOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getSySuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getSyCostsProportion().subtract(insFeeOrder.getSySuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getSyCostsProportion()));
                 syOrderFeeVo.setCostsProportionAll(convertToString(insFeeOrder.getSySuperviseCostsProportion())+" / "+convertToString(insFeeOrder.getSyCostsProportion().subtract(insFeeOrder.getSySuperviseCostsProportion()))+" / "+convertToString(insFeeOrder.getSyCostsProportion()));
-                syFeePremium = insFeeOrder.getSyCostsPremiums();
-
+                /*出单员手续费比例=总费用比例-各级管理费-各级分销费-溢出费*/
+                orderCommissionVo = getQueryOrderCommission(orderCommissionVo,insFeeOrder,"ALL");
             }
             }
-            BigDecimal totallFeePremium = jqFeePremium.add(syFeePremium);
             queryOrderFeeVo.setJqCoderFeeVo(jqOrderFeeVo);
             queryOrderFeeVo.setJqCoderFeeVo(jqOrderFeeVo);
             queryOrderFeeVo.setSyCoderFeeVo(syOrderFeeVo);
             queryOrderFeeVo.setSyCoderFeeVo(syOrderFeeVo);
             queryOrderFeeVo.setFcCoderFeeVo(fcOrderFeeVo);
             queryOrderFeeVo.setFcCoderFeeVo(fcOrderFeeVo);
-            queryOrderFeeVo.setTotalFeePremium(totallFeePremium.toString());
+            queryOrderFeeVo.setOrderCommissionVo(orderCommissionVo);
         }
         }
         return queryOrderFeeVo;
         return queryOrderFeeVo;
     }
     }
 
 
+    private QueryOrderCommissionVo getQueryOrderCommission(QueryOrderCommissionVo orderCommissionVo,InsFeeOrder insFeeOrder,String businessType){
+        /**
+         *单保交商时,insFeeOrder 存的就是单交商的各级管理费及分销费
+         *同保交商时,insFeeOrder 存的金额是交商总金额,需要扣减
+         */
+        /*出单员手续费比例=总费用比例-各级管理费-各级分销费-溢出费*/
+        if("JQ".equals(businessType)){
+            BigDecimal costsPremiums = insFeeOrder.getJqCostsPremiums();
+            BigDecimal costsProportion = insFeeOrder.getJqCostsProportion();
+            BigDecimal totalCostsProportion = getCostsProportion(insFeeOrder);
+            BigDecimal totalCostsPremiums = getCostsPremiumsOne(insFeeOrder);
+            if(insFeeOrder.getJqSpilloverPremiums()!=null){
+                totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getJqSpilloverPremiums());
+            }
+            if(insFeeOrder.getJqSpilloverProportion()!=null){
+                totalCostsProportion = totalCostsProportion.add(insFeeOrder.getJqSpilloverProportion());
+            }
+            BigDecimal userCostsPremiums = costsPremiums.subtract(totalCostsPremiums);
+            BigDecimal userCostsProportion = costsProportion.subtract(totalCostsProportion);
+            orderCommissionVo.setJqFeePremium(userCostsPremiums.toString());
+            orderCommissionVo.setJqFeeRate(userCostsProportion.toString());
+            orderCommissionVo.setTotalFeePremium(userCostsPremiums.toString());
+        }else if("SY".equals(businessType)){
+            BigDecimal costsPremiums = insFeeOrder.getSyCostsPremiums();
+            BigDecimal costsProportion = insFeeOrder.getSyCostsProportion();
+            BigDecimal totalCostsProportion = getCostsProportion(insFeeOrder);
+            BigDecimal totalCostsPremiums = getCostsPremiumsOne(insFeeOrder);
+            if(insFeeOrder.getSySpilloverPremiums()!=null){
+                totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getSySpilloverPremiums());
+            }
+            if(insFeeOrder.getSySpilloverProportion()!=null){
+                totalCostsProportion = totalCostsProportion.add(insFeeOrder.getSySpilloverProportion());
+            }
+            BigDecimal userCostsPremiums = costsPremiums.subtract(totalCostsPremiums);
+            BigDecimal userCostsProportion = costsProportion.subtract(totalCostsProportion);
+            orderCommissionVo.setSyFeePremium(userCostsPremiums.toString());
+            orderCommissionVo.setSyFeeRate(userCostsProportion.toString());
+            orderCommissionVo.setTotalFeePremium(userCostsPremiums.toString());
+        }else if("ALL".equals(businessType)){
+            BigDecimal jqCostsPremiums = insFeeOrder.getJqCostsPremiums();
+            BigDecimal jqCostsProportion = insFeeOrder.getJqCostsProportion();
+            BigDecimal syCostsPremiums = insFeeOrder.getSyCostsPremiums();
+            BigDecimal syCostsProportion = insFeeOrder.getSyCostsProportion();
+            BigDecimal totalCostsProportion = getCostsProportion(insFeeOrder);
+            BigDecimal jqTotalCostsProportion = totalCostsProportion;
+            BigDecimal syTotalCostsProportion = totalCostsProportion;
+            HashMap<String,BigDecimal> costsPremiumsMap = getCostsPremiumsAll(insFeeOrder);
+            BigDecimal jqTotalCostsPremiums = costsPremiumsMap.get("JQ");
+            if(insFeeOrder.getJqSpilloverPremiums()!=null){
+                jqTotalCostsPremiums = jqTotalCostsPremiums.add(insFeeOrder.getJqSpilloverPremiums());
+            }
+            if(insFeeOrder.getJqSpilloverProportion()!=null){
+                jqTotalCostsProportion = jqTotalCostsProportion.add(insFeeOrder.getJqSpilloverProportion());
+            }
+            BigDecimal syTotalCostsPremiums = costsPremiumsMap.get("SY");
+            if(insFeeOrder.getJqSpilloverPremiums()!=null){
+                syTotalCostsPremiums = syTotalCostsPremiums.add(insFeeOrder.getJqSpilloverPremiums());
+            }
+            if(insFeeOrder.getJqSpilloverProportion()!=null){
+                syTotalCostsProportion = syTotalCostsProportion.add(insFeeOrder.getJqSpilloverProportion());
+            }
+            BigDecimal jqUserCostsPremiums = jqCostsPremiums.subtract(jqTotalCostsPremiums);
+            BigDecimal jqUserCostsProportion = jqCostsProportion.subtract(jqTotalCostsProportion);
+            BigDecimal syUserCostsPremiums = syCostsPremiums.subtract(syTotalCostsPremiums);
+            BigDecimal syUserCostsProportion = syCostsProportion.subtract(syTotalCostsProportion);
+            orderCommissionVo.setJqFeePremium(jqUserCostsPremiums.toString());
+            orderCommissionVo.setJqFeeRate(jqUserCostsProportion.toString());
+            orderCommissionVo.setSyFeePremium(syUserCostsPremiums.toString());
+            orderCommissionVo.setSyFeeRate(syUserCostsProportion.toString());
+            orderCommissionVo.setTotalFeePremium(jqUserCostsPremiums.add(syUserCostsPremiums).toString());
+        }
+        return orderCommissionVo;
+    }
+    private HashMap<String,BigDecimal> getCostsPremiumsAll(InsFeeOrder insFeeOrder){
+        HashMap<String,BigDecimal> costsPremiumsMap = new HashMap<>();
+        InsFeeOrder jqInsFeeOrderTemp = new InsFeeOrder();
+        //先利用交强费重算费用
+        jqInsFeeOrderTemp.setFirstDeptPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getFirstDeptProportion()));
+        jqInsFeeOrderTemp.setSecondDeptPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getSecondDeptProportion()));
+        jqInsFeeOrderTemp.setThirdDeptPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getThirdDeptProportion()));
+        jqInsFeeOrderTemp.setForthDeptPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getForthDeptProportion()));
+        jqInsFeeOrderTemp.setFifthDeptPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getFifthDeptProportion()));
+        jqInsFeeOrderTemp.setFirstRetailPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getFirstRetailProportion()));
+        jqInsFeeOrderTemp.setSecondRetailPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getSecondRetailProportion()));
+        jqInsFeeOrderTemp.setThirdRetailPremiums(getPremium(insFeeOrder.getJqNoTaxPremium(),insFeeOrder.getThirdRetailProportion()));
+        BigDecimal jqCostsPremiums = getCostsPremiumsOne(jqInsFeeOrderTemp);
+        costsPremiumsMap.put("JQ",jqCostsPremiums);
+        //再利用总费-交强费,得出商业费
+        InsFeeOrder syInsFeeOrderTemp = new InsFeeOrder();
+        syInsFeeOrderTemp.setFirstDeptPremiums(getPremiumForSubtract(insFeeOrder.getFirstDeptPremiums(),jqInsFeeOrderTemp.getFirstDeptPremiums()));
+        syInsFeeOrderTemp.setSecondDeptPremiums(getPremiumForSubtract(insFeeOrder.getSecondDeptPremiums(),jqInsFeeOrderTemp.getSecondDeptPremiums()));
+        syInsFeeOrderTemp.setThirdDeptPremiums(getPremiumForSubtract(insFeeOrder.getThirdDeptPremiums(),jqInsFeeOrderTemp.getThirdDeptPremiums()));
+        syInsFeeOrderTemp.setForthDeptPremiums(getPremiumForSubtract(insFeeOrder.getForthDeptPremiums(),jqInsFeeOrderTemp.getForthDeptPremiums()));
+        syInsFeeOrderTemp.setFifthDeptPremiums(getPremiumForSubtract(insFeeOrder.getFifthDeptPremiums(),jqInsFeeOrderTemp.getFifthDeptPremiums()));
+        syInsFeeOrderTemp.setFirstRetailPremiums(getPremiumForSubtract(insFeeOrder.getFirstRetailPremiums(),jqInsFeeOrderTemp.getFirstRetailPremiums()));
+        syInsFeeOrderTemp.setSecondRetailPremiums(getPremiumForSubtract(insFeeOrder.getSecondRetailPremiums(),jqInsFeeOrderTemp.getSecondRetailPremiums()));
+        syInsFeeOrderTemp.setThirdRetailPremiums(getPremiumForSubtract(insFeeOrder.getThirdRetailPremiums(),jqInsFeeOrderTemp.getThirdRetailPremiums()));
+        BigDecimal syCostsPremiums = getCostsPremiumsOne(syInsFeeOrderTemp);
+        costsPremiumsMap.put("SY",syCostsPremiums);
+        return costsPremiumsMap;
+    }
+    private BigDecimal getCostsProportion(InsFeeOrder insFeeOrder){
+        BigDecimal totalCostsProportion = new BigDecimal(0);
+        if(insFeeOrder.getFirstDeptProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getFirstDeptProportion());
+        }
+        if(insFeeOrder.getSecondDeptProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getSecondDeptProportion());
+        }
+        if(insFeeOrder.getThirdDeptProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getThirdDeptProportion());
+        }
+        if(insFeeOrder.getForthDeptProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getForthDeptProportion());
+        }
+        if(insFeeOrder.getFifthDeptProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getFifthDeptProportion());
+        }
+        if(insFeeOrder.getFirstRetailProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getFirstRetailProportion());
+        }
+        if(insFeeOrder.getSecondRetailProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getSecondRetailProportion());
+        }
+        if(insFeeOrder.getThirdRetailProportion()!=null){
+            totalCostsProportion = totalCostsProportion.add(insFeeOrder.getThirdRetailProportion());
+        }
+        return totalCostsProportion;
+    }
+    private BigDecimal getCostsPremiumsOne(InsFeeOrder insFeeOrder){
+        BigDecimal totalCostsPremiums = new BigDecimal(0);
+        if(insFeeOrder.getFirstDeptPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getFirstDeptPremiums());
+        }
+        if(insFeeOrder.getSecondDeptPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getSecondDeptPremiums());
+        }
+        if(insFeeOrder.getThirdDeptPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getThirdDeptPremiums());
+        }
+        if(insFeeOrder.getForthDeptPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getForthDeptPremiums());
+        }
+        if(insFeeOrder.getFifthDeptPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getFifthDeptPremiums());
+        }
+        if(insFeeOrder.getFirstRetailPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getFirstRetailPremiums());
+        }
+        if(insFeeOrder.getSecondRetailPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getSecondRetailPremiums());
+        }
+        if(insFeeOrder.getThirdRetailPremiums()!=null){
+            totalCostsPremiums = totalCostsPremiums.add(insFeeOrder.getThirdRetailPremiums());
+        }
+        return totalCostsPremiums;
+    }
     //把取出的费用信息转换为页面需要展示的数据
     //把取出的费用信息转换为页面需要展示的数据
     public List<QueryOrderFeeResultVo> convertOrderFeeVoData(QueryOrderFeeVo orderFeeVo) {
     public List<QueryOrderFeeResultVo> convertOrderFeeVoData(QueryOrderFeeVo orderFeeVo) {
         List<QueryOrderFeeResultVo> resultList=new ArrayList<>();
         List<QueryOrderFeeResultVo> resultList=new ArrayList<>();

+ 2 - 1
src/main/java/com/ydtech/modules/fnc/controller/CarSettleController.java

@@ -77,7 +77,8 @@ public class CarSettleController extends BaseController {
                 .eq(StringUtils.isNotEmpty(orderNo),"orderno",orderNo)
                 .eq(StringUtils.isNotEmpty(orderNo),"orderno",orderNo)
                 .eq("orderstatus","3").list();//3已承保
                 .eq("orderstatus","3").list();//3已承保
         if(areaList!=null && areaList.size()>0){
         if(areaList!=null && areaList.size()>0){
-            return insOrdersService.getByCompanyId(areaList.get(0).getId());
+            String userId = getUserId();
+            return insOrdersService.getByCompanyId(areaList.get(0).getId(),userId);
         }else{
         }else{
             return HttpResult.error("订单号有误-未承保");
             return HttpResult.error("订单号有误-未承保");
         }
         }

+ 2 - 1
src/main/java/com/ydtech/modules/order/controller/InsOrdersController.java

@@ -129,7 +129,8 @@ public class InsOrdersController extends BaseController {
     @PostMapping("/getByCompanyId")
     @PostMapping("/getByCompanyId")
     @ApiOperation(value = "通过子订单查询订单信息")
     @ApiOperation(value = "通过子订单查询订单信息")
     public HttpResult<OrderVo> getByCompanyId(@RequestSingleParam(value = "companyId") String companyId) {
     public HttpResult<OrderVo> getByCompanyId(@RequestSingleParam(value = "companyId") String companyId) {
-        return this.insOrdersService.getByCompanyId(companyId);
+        String userId = getUserId();
+        return this.insOrdersService.getByCompanyId(companyId,userId);
     }
     }
 
 
     @PostMapping("/getAccidentalDriving")
     @PostMapping("/getAccidentalDriving")

+ 1 - 1
src/main/java/com/ydtech/modules/order/entity/vo/OrderVo.java

@@ -344,6 +344,6 @@ public class OrderVo implements Serializable {
     /**
     /**
      * 单条费用信息
      * 单条费用信息
      */
      */
-    private QueryOrderFeeVo queryOrderFeeVo;
+    private QueryOrderCommissionVo orderCommissionVo;
 
 
 }
 }

+ 55 - 0
src/main/java/com/ydtech/modules/order/entity/vo/QueryOrderCommissionVo.java

@@ -0,0 +1,55 @@
+package com.ydtech.modules.order.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 存放页面单独展示的出单员手续费信息
+ * @Author: CXP
+ * @Date: 2023/10/14 20:18
+ */
+@Data
+public class QueryOrderCommissionVo implements Serializable {
+
+    private static final long serialVersionUID = 5353382043575510168L;
+
+    /**
+     * 交强手续费比例
+     */
+    @JsonProperty("jqFeeRate")
+    private String jqFeeRate;
+    /**
+     *交强手续费
+     */
+    @JsonProperty("jqFeePremium")
+    private String jqFeePremium;
+    /**
+     *商业手续费比例
+     */
+    @JsonProperty("syFeeRate")
+    private String syFeeRate;
+    /**
+     *商业手续费
+     */
+    @JsonProperty("syFeePremium")
+    private String syFeePremium;
+    /**
+     *非车手续费比例
+     */
+    @JsonProperty("fcFeeRate")
+    private String fcFeeRate;
+    /**
+     *非车手续费
+     */
+    @JsonProperty("fcFeePremium")
+    private String fcFeePremium;
+    /**
+     *总手续费
+     */
+    @JsonProperty("totalFeePremium")
+    private String totalFeePremium;
+
+
+}

+ 2 - 2
src/main/java/com/ydtech/modules/order/entity/vo/QueryOrderFeeVo.java

@@ -20,8 +20,8 @@ public class QueryOrderFeeVo implements Serializable {
     private OrderFeeVo syCoderFeeVo;
     private OrderFeeVo syCoderFeeVo;
     @JsonProperty("fcCoderFeeVo")
     @JsonProperty("fcCoderFeeVo")
     private OrderFeeVo fcCoderFeeVo;
     private OrderFeeVo fcCoderFeeVo;
-    @JsonProperty("totalFeePremium")
-    private String totalFeePremium;
+    @JsonProperty("orderCommissionVo")
+    private QueryOrderCommissionVo orderCommissionVo;
 
 
 
 
 }
 }

+ 1 - 1
src/main/java/com/ydtech/modules/order/service/InsOrdersService.java

@@ -72,7 +72,7 @@ public interface InsOrdersService extends IService<InsOrders> {
      * @param companyId
      * @param companyId
      * @return
      * @return
      */
      */
-    HttpResult<OrderVo> getByCompanyId(String companyId);
+    HttpResult<OrderVo> getByCompanyId(String companyId,String userId);
 
 
     /**
     /**
      * 查询订单和子订单
      * 查询订单和子订单

+ 9 - 6
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -317,7 +317,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
 
 
 
     @Override
     @Override
-    public HttpResult<OrderVo> getByCompanyId(@NotBlank(message = "子订单不能为空") String companyId) {
+    public HttpResult<OrderVo> getByCompanyId(@NotBlank(message = "子订单不能为空") String companyId,String userId) {
         OrderVo orderAndAreaCompany = baseMapper.getOrderAndAreaCompany(companyId);
         OrderVo orderAndAreaCompany = baseMapper.getOrderAndAreaCompany(companyId);
 
 
         YaExtendInfoDto yaExtendInfoDto = new YaExtendInfoDto();
         YaExtendInfoDto yaExtendInfoDto = new YaExtendInfoDto();
@@ -331,7 +331,6 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             yaExtendInfoDto = MapToYaExtendInfoDto.INSTANCE.mapToYaExtendInfoDto(stringStringMap);
             yaExtendInfoDto = MapToYaExtendInfoDto.INSTANCE.mapToYaExtendInfoDto(stringStringMap);
             orderAndAreaCompany.setExtendInfo(yaExtendInfoDto);
             orderAndAreaCompany.setExtendInfo(yaExtendInfoDto);
         }
         }
-
         InsAreaCompany iac = insAreaCompanyService.getById(companyId);
         InsAreaCompany iac = insAreaCompanyService.getById(companyId);
         //保费因素
         //保费因素
         yaExtendInfoDto.setAccidentInfoStr(iac.getAccidentStrInfo());
         yaExtendInfoDto.setAccidentInfoStr(iac.getAccidentStrInfo());
@@ -342,10 +341,14 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
 
         //新增费用明细信息
         //新增费用明细信息
         QueryOrderFeeVo queryOrderFeeVo = feeRuleSchemeService.queryFeeOrderInfo(companyId);
         QueryOrderFeeVo queryOrderFeeVo = feeRuleSchemeService.queryFeeOrderInfo(companyId);
-        orderAndAreaCompany.setQueryOrderFeeVo(queryOrderFeeVo);
-        List<QueryOrderFeeResultVo> orderFeeVoList = feeRuleSchemeService.convertOrderFeeVoData(queryOrderFeeVo);
-        if (!orderFeeVoList.isEmpty()) {
-            orderAndAreaCompany.setOrderFeeResult(orderFeeVoList);
+        orderAndAreaCompany.setOrderCommissionVo(queryOrderFeeVo.getOrderCommissionVo());
+        //判断当前登录人员是否为后线人员,来决定是否返回总费用详情信息
+        List<SysUser> userList = sysUserService.findAllAgentRoleUser(userId,"22");
+        if(userList!=null && userList.size()>0){
+            List<QueryOrderFeeResultVo> orderFeeVoList = feeRuleSchemeService.convertOrderFeeVoData(queryOrderFeeVo);
+            if (!orderFeeVoList.isEmpty()) {
+                orderAndAreaCompany.setOrderFeeResult(orderFeeVoList);
+            }
         }
         }
         //查询费用审核状态
         //查询费用审核状态
         List<InsFeeAudit> feeAuditList = insFeeAuditService.query().eq("ins_order_no", companyId).list();
         List<InsFeeAudit> feeAuditList = insFeeAuditService.query().eq("ins_order_no", companyId).list();