Explorar el Código

1. 财务添加新合伙人费用展示

785834757 hace 9 meses
padre
commit
dfec733aef

+ 9 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysUserBaseVO.java

@@ -138,4 +138,13 @@ public class SysUserBaseVO {
     @ApiModelProperty(value = "合伙人等级;1,2,3,4,5")
     private Integer level;
 
+    @ApiModelProperty(value = "新合伙人标志")
+    private String newApp;
+
+    @ApiModelProperty(value = "是否是合伙人")
+    // 0 不是合伙人
+    // 1 新合伙人
+    // 2 旧合伙人
+    private Integer isPartner;
+
 }

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

@@ -2652,11 +2652,26 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         List<String> userIds = userList.stream()
                 .filter(user -> !StringUtils.isNullOrEmpty(user) && StringUtils.isNotEmpty(user.getId()))
                 .map(SysUser::getId).collect(Collectors.toList());
-
-        return allUsersByHospitality.stream()
+        List<SysUserBaseVO> collect = allUsersByHospitality.stream()
                 .filter(allUser -> !StringUtils.isNullOrEmpty(allUser) && StringUtils.isNotEmpty(allUser.getLeaderId())
                         && userIds.contains(allUser.getLeaderId()))
                 .collect(Collectors.toList());
+
+        collect.forEach(item->{
+            if(item.getNewApp().equals("1")){
+                item.setIsPartner(1);
+            }else {
+                List<SysPartner> sysPartners = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>()
+                        .eq(SysPartner::getUserId, item.getUserId()));
+                if (sysPartners.isEmpty()) {
+                    item.setIsPartner(0);
+                } else {
+                    item.setIsPartner(2);
+                }
+            }
+        });
+
+        return collect;
     }
 
     /**

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

@@ -549,4 +549,7 @@ public class OrderVo implements Serializable {
     @ApiModelProperty("向阳花评分")
     private String xyhGrade;
 
+    @ApiModelProperty("新合伙人费用")
+    private JSONArray newPartnerFee;
+
 }

+ 89 - 2
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -1202,9 +1202,55 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             PtlAgreementProductCostsNew ptlAgreementProductCostsNew =
                     ptlAgreementProductCostsNewService.getById(insFeeOrderNew.getCostsId());
             List<QueryOrderFeeResultVo> orderFeeVoList = feeRuleSchemeService.convertOrderFeeVoData(insFeeOrderNew);
+
+            List<FeeOrderNewVo.RetailFee> retailFees = new ArrayList<>();
+            // 判断出单人员是否是新合伙人
+            if(sysUser.getNewApp() == 1){
+                // 查询新合伙人的费用
+                List<PartnerPremiumDetails> partnerPremiumDetails = partnerPremiumDetailsMapper.selectList(new LambdaQueryWrapper<PartnerPremiumDetails>()
+                        .eq(PartnerPremiumDetails::getCompanyId, companyId)
+                        .orderByAsc(PartnerPremiumDetails::getSource));
+                JSONArray partners = new JSONArray();
+                partnerPremiumDetails.forEach(item->{
+                    if(item.getSource() < 5) {
+                        Integer source = item.getSource();
+                        FeeOrderNewVo.RetailFee retailFee= new FeeOrderNewVo.RetailFee();
+                        String level = "";
+                        switch (item.getSource()) {
+                            case 1:
+                                level = "创始人佣金(新)";
+                                break;
+                            case 2:
+                                level = "管理人佣金(新)";
+                                break;
+                            case 3:
+                                level = "合伙人佣金(新)";
+                                break;
+                            case 4:
+                                level = "工作室佣金(新)";
+                                break;
+                            default:
+                                level = "未知";
+                                break;
+                        }
+                        SysUser userById = sysUserService.getById(item.getUserId());
+                        retailFee.setInsuranceType(level);
+                        retailFee.setUserName(userById.getName() + "(" + userById.getId() + ")");
+                        retailFee.setJqRetailProportion(new BigDecimal(item.getProportional()));
+                        retailFee.setSyRetailProportion(new BigDecimal(item.getProportional()));
+                        retailFee.setNoRetailProportion(new BigDecimal(item.getProportional()));
+                        retailFee.setJqRetailPremiums(insFeeOrderNew.getJqPremium().multiply(new BigDecimal(item.getProportional()).divide(new BigDecimal(100))));
+                        retailFee.setSyRetailPremiums(insFeeOrderNew.getSyPremium().multiply(new BigDecimal(item.getProportional()).divide(new BigDecimal(100))));
+                        retailFee.setNoRetailPremiums(insFeeOrderNew.getNoPremium().multiply(new BigDecimal(item.getProportional()).divide(new BigDecimal(100))));
+                        retailFees.add(retailFee);
+                    }
+                });
+                orderAndAreaCompany.setNewPartnerFee(partners);
+            }
+
             orderAndAreaCompany.setOrderFeeResult(orderFeeVoList);
             FeeOrderNewVo feeOrderNewVo = feeRuleSchemeService.newConvertOrderFeeVoData(insFeeOrderNew, ptlAgreementProductCostsNew);
-
+            feeOrderNewVo.getRetailFee().addAll(0,retailFees);
             feeOrderNewVo.setFeeId(insFeeOrderNew.getId());
             orderAndAreaCompany.setFeeOrderNewVo(feeOrderNewVo);
             //计算总和
@@ -1913,6 +1959,47 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         }
         orderAndAreaCompany.setMobile(sysUser.getMobile());
         orderAndAreaCompany.setDeptAreaInfo(areaInfo);
+
+        List<DistributionLevelVo> distributionLevelVoList = new ArrayList<>();
+        // 判断出单人员是否是新合伙人
+        if(sysUser.getNewApp() == 1){
+            // 查询新合伙人的费用
+            List<PartnerPremiumDetails> partnerPremiumDetails = partnerPremiumDetailsMapper.selectList(new LambdaQueryWrapper<PartnerPremiumDetails>()
+                    .eq(PartnerPremiumDetails::getCompanyId, companyId)
+                    .orderByAsc(PartnerPremiumDetails::getSource));
+            JSONArray partners = new JSONArray();
+            partnerPremiumDetails.forEach(item->{
+                if(item.getSource() < 5) {
+                    Integer source = item.getSource();
+                    DistributionLevelVo distributionLevelVo = new DistributionLevelVo();
+                    String level = "";
+                    switch (item.getSource()) {
+                        case 1:
+                            level = "创始人佣金(新)";
+                            break;
+                        case 2:
+                            level = "管理人佣金(新)";
+                            break;
+                        case 3:
+                            level = "合伙人佣金(新)";
+                            break;
+                        case 4:
+                            level = "工作室佣金(新)";
+                            break;
+                        default:
+                            level = "未知";
+                            break;
+                    }
+                    SysUser userById = sysUserService.getById(item.getUserId());
+                    distributionLevelVo.setDistributionLevel(level);
+                    distributionLevelVo.setUserName(userById.getName() + "(" + userById.getId() + ")");
+                    distributionLevelVo.setDistributionRatio(new BigDecimal(item.getProportional()));
+                    distributionLevelVo.setAmount(item.getExtractFee());
+                    distributionLevelVoList.add(distributionLevelVo);
+                }
+            });
+            orderAndAreaCompany.setNewPartnerFee(partners);
+        }
         //推荐人信息查询
         EsmUserReferrer esmUserReferrer = esmUserReferrerService.getById(orderAndAreaCompany.getUserid());
         if (esmUserReferrer != null) {
@@ -1990,7 +2077,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                     .map(FeeOrderNewVo.ExportFee::getTotalAmount)
                     .reduce(BigDecimal.ZERO, BigDecimal::add);
             orderAndAreaCompany.setSumFee(sum.toString());
-            List<DistributionLevelVo> distributionLevelVoList = feeRuleSchemeService.converDistrbutionData(insFeeOrderNew);
+            distributionLevelVoList.addAll(feeRuleSchemeService.converDistrbutionData(insFeeOrderNew));
             orderAndAreaCompany.setDistributionLevelVoList(distributionLevelVoList);
             if (ptlAgreementProductCostsNew != null) {
                 // add by  hxl  2024-05-14  显示费用信息

+ 1 - 0
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -886,6 +886,7 @@
         su.mobile,
         su.leader_id,
         su.leader_name,
+        su.new_app,
         su.status,
         su.identity,
         sd.id as deptId,