Commit 8af5cb04 by zhangxingmin

push

parent f0f7e31b
......@@ -155,6 +155,11 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
* @param commissionExpectedPage
* @return
*/
/**
* 应收款管理列表查询(新版混合结果)
* @param commissionExpectedPage 预计来佣分页对象
* @return 混合主从记录的分页结果
*/
@Override
public Page<CommissionExpectedNewVO> getCommissionExpectedVONewPage(Page<CommissionExpected> commissionExpectedPage) {
List<CommissionExpected> commissionExpectedList = commissionExpectedPage.getRecords();
......@@ -220,113 +225,128 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
}
resultPage.setRecords(mixedRecords);
// 回填对账公司名称(类似 enrichReceivableReportWithCompanyName)
// 回填对账公司名称
enrichCommissionExpectedNewVOWithCompanyName(resultPage);
return resultPage;
}
/**
* 构建主记录(预计来佣,type=1)
* 参考 getCommissionExpectedVOPage 的填充逻辑
* 当实佣率 >= 产品对应来佣率时,待入账金额设置为0
* 构建主记录(预计来佣)
* 计算:实佣率(realRate) = 累积已入账比例(paidRatio)
* 达成率缺口(gapRate) = 1 - (实佣率 / 产品来佣率)
* 实收金额(realAmount) = 累积已入账金额(paidAmount)
* 本次入账比例(revenueRatio) 不适用,设为null
*/
private CommissionExpectedNewVO buildMainVo(CommissionExpected expected,
Map<String, Policy> policyMap,
Map<String, PolicyFollow> policyFollowMap) {
CommissionExpectedNewVO vo = new CommissionExpectedNewVO();
BeanUtils.copyProperties(expected, vo);
// 入账年月(估):取预计来佣日期
vo.setCommissionDateMonth(expected.getCommissionDate());
vo.setType(1);
// 主记录编号:优先使用应收款编号,若为空则用业务ID
vo.setNo(StringUtils.isNotBlank(expected.getReceivableNo()) ? expected.getReceivableNo() : expected.getCommissionExpectedBizId());
// 填充保单相关信息(与 getCommissionExpectedVOPage 一致)
// 填充保单信息
Policy policy = policyMap.get(expected.getPolicyNo());
if (policy != null) {
vo.setPremium(policy.getPaymentPremium());
vo.setPolicyCurrency(policy.getCurrency());
vo.setInsuranceCompany(policy.getInsuranceCompany());
vo.setReconciliationCompany(policy.getReconciliationCompany()); // 临时名称,后续通过公司服务回填
vo.setReconciliationCompany(policy.getReconciliationCompany());
}
// 填充产品计划信息(优先使用 PolicyFollow 中的产品名称)
PolicyFollow policyFollow = policyFollowMap.get(expected.getPolicyNo());
if (policyFollow != null) {
vo.setProductName(policyFollow.getProductName());
vo.setProductLaunchBizId(policyFollow.getProductLaunchBizId());
// vo.setProductLaunchBizId(policyFollow.getProductLaunchBizId());
}
// 获取累计已入账金额、比例(来自预计来佣表)
// 累积数据
BigDecimal paidAmount = ObjectUtils.defaultIfNull(expected.getPaidAmount(), BigDecimal.ZERO);
BigDecimal paidRatio = ObjectUtils.defaultIfNull(expected.getPaidRatio(), BigDecimal.ZERO);
if (expected.getCommissionRatio() != null) {
// 关联保单应收单(有预期来佣比例)
vo.setPaidRatio(paidRatio);
vo.setPaidAmount(paidAmount);
// vo.setPaidAmount(paidAmount);
vo.setRealAmount(paidAmount); // 实收金额(累积)
vo.setExpectedAmount(expected.getExpectedAmount());
// 产品来佣率
BigDecimal commissionRatio = expected.getCommissionRatio();
vo.setCommissionRatio(commissionRatio);
if (commissionRatio != null && commissionRatio.compareTo(BigDecimal.ZERO) != 0) {
// 实佣率 = paidRatio
vo.setRealRate(paidRatio);
// 达成率缺口 = 1 - 实佣率/产品来佣率
BigDecimal gap = BigDecimal.ONE.subtract(paidRatio.divide(commissionRatio, 4, RoundingMode.HALF_UP));
vo.setGapRate(gap.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : gap);
// 本次入账比例(主记录无意义)
vo.setRevenueRatio(null);
} else {
vo.setRealRate(BigDecimal.ZERO);
vo.setGapRate(BigDecimal.ZERO);
}
// 累计实佣率是否已达标(实佣率 >= 产品来佣率)
if (paidRatio.compareTo(expected.getCommissionRatio()) >= 0) {
// 已达标或超额,待入账金额/比例归零
vo.setPendingRatio(BigDecimal.ZERO);
// 待入账金额(已实现归零逻辑)
if (commissionRatio != null && paidRatio.compareTo(commissionRatio) >= 0) {
vo.setPendingAmount(BigDecimal.ZERO);
} else {
// 未达标,正常计算待入账
vo.setPendingRatio(expected.getCommissionRatio().subtract(paidRatio));
// vo.setPendingRatio(BigDecimal.ZERO);
} else if (commissionRatio != null) {
// vo.setPendingRatio(commissionRatio.subtract(paidRatio));
if (expected.getExpectedAmount() != null) {
vo.setPendingAmount(expected.getExpectedAmount().subtract(paidAmount));
}
}
} else {
// 非关联保单应收单(无来佣比例,直接按金额差计算)
vo.setPaidAmount(paidAmount);
// 非关联类型
if (expected.getAmount() != null) {
BigDecimal pending = expected.getAmount().subtract(paidAmount);
if (pending.compareTo(BigDecimal.ZERO) <= 0) {
// 已入账金额 >= 预计金额,待入账归零
vo.setPendingAmount(BigDecimal.ZERO);
} else {
vo.setPendingAmount(pending);
}
vo.setPendingAmount(pending.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : pending);
}
}
return vo;
}
/**
* 构建从记录(实际来佣,type=2)
* 参考 getCommissionVOPage 的填充逻辑
* 构建从记录(实际来佣)
* 计算:实佣率(realRate) = 本次实佣率(currentCommissionRatio)
* 本次入账比例(revenueRatio) = 本次实佣率 / 产品来佣率(若产品来佣率存在)
* 达成率缺口(gapRate) = 1 - (累积实佣率 / 产品来佣率) // 累积实佣率从主记录获取
*/
private CommissionExpectedNewVO buildSubVo(Commission commission,
Map<String, Policy> policyMap,
Map<String, PolicyFollow> policyFollowMap,
CommissionExpectedNewVO mainVo) {
// 从主记录复制公共字段
CommissionExpectedNewVO vo = new CommissionExpectedNewVO();
// 从主记录复制公共字段(排除特有字段)
BeanUtils.copyProperties(mainVo, vo, "type", "no",
"realReconciliationYearMonth", "realCommissionDate", "realExchangeRate",
"realAmount", "realCurrentCommissionRatio", "realUpdateTime", "realUpdaterName");
// 覆盖实际记录自己的字段
vo.setRealReconciliationYearMonth(commission.getReconciliationYearMonth());
vo.setRealCommissionDate(commission.getCommissionDate());
"realAmount", "realCurrentCommissionRatio", "realUpdateTime", "realUpdaterName",
"realRate", "gapRate", "revenueRatio", "realRemark");
// 基本实际字段
vo.setRealReconciliationYearMonth(
StringUtils.isNotBlank(commission.getReconciliationYearMonth()) ?
commission.getReconciliationYearMonth().replace("-", "") : "");
// vo.setRealCommissionDate(commission.getCommissionDate());
vo.setRealExchangeRate(commission.getExchangeRate());
vo.setRealAmount(commission.getAmount());
vo.setRealCurrentCommissionRatio(commission.getCurrentCommissionRatio());
vo.setRealUpdateTime(commission.getUpdateTime());
vo.setRealUpdaterName(commission.getUpdaterId());
vo.setRealRemark(commission.getRemark());
// 覆盖公共业务字段
vo.setAmount(commission.getAmount());
vo.setCommissionDate(commission.getCommissionDate());
// vo.setAmount(commission.getAmount());
// vo.setCommissionDate(commission.getCommissionDate());
vo.setCommissionPeriod(commission.getCommissionPeriod());
vo.setCommissionName(commission.getCommissionName());
vo.setCommissionType(commission.getCommissionType());
vo.setCurrency(commission.getCurrency());
vo.setRemark(commission.getRemark());
// vo.setCommissionType(commission.getCommissionType());
// vo.setCurrency(commission.getCurrency());
// vo.setRemark(commission.getRemark());
vo.setPolicyNo(commission.getPolicyNo());
// 重新从 policyMap 获取保单信息以确保准确性
// 重新获取保单信息
Policy policy = policyMap.get(commission.getPolicyNo());
if (policy != null) {
vo.setPremium(policy.getPaymentPremium());
......@@ -337,7 +357,25 @@ public class CommissionExpectedServiceImpl extends ServiceImpl<CommissionExpecte
PolicyFollow policyFollow = policyFollowMap.get(commission.getPolicyNo());
if (policyFollow != null) {
vo.setProductName(policyFollow.getProductName());
vo.setProductLaunchBizId(policyFollow.getProductLaunchBizId());
// vo.setProductLaunchBizId(policyFollow.getProductLaunchBizId());
}
// 计算比率字段
BigDecimal currentRatio = commission.getCurrentCommissionRatio(); // 本次实佣率
BigDecimal productRatio = mainVo.getCommissionRatio(); // 产品来佣率(从主记录来)
vo.setRealRate(currentRatio); // 实佣率(本次)
if (productRatio != null && productRatio.compareTo(BigDecimal.ZERO) != 0) {
// 本次入账比例 = 本次实佣率 / 产品来佣率
BigDecimal revenue = currentRatio.divide(productRatio, 4, RoundingMode.HALF_UP);
vo.setRevenueRatio(revenue.compareTo(BigDecimal.ONE) > 0 ? BigDecimal.ONE : revenue);
// 本次达成率缺口 = 1 - (实佣率(本次) / 产品来佣率)
BigDecimal cumulativePaidRatio = currentRatio != null ? currentRatio : BigDecimal.ZERO;
BigDecimal gap = BigDecimal.ONE.subtract(cumulativePaidRatio.divide(productRatio, 4, RoundingMode.HALF_UP));
vo.setGapRate(gap.compareTo(BigDecimal.ZERO) < 0 ? BigDecimal.ZERO : gap);
} else {
vo.setRevenueRatio(null);
vo.setGapRate(BigDecimal.ZERO);
}
return vo;
......
......@@ -17,32 +17,17 @@ import java.util.List;
@Schema(description = "预计来佣响应")
public class CommissionExpectedNewVO implements Serializable {
//===========公共字段=============
//来佣类型:1-预计(预计来佣表记录) 2-实际(保单来佣表记录)
private Integer type;
/**
* 编号 规则: 预计来佣表记录作为主记录,保单来佣表记录作为从记录,主记录比如生产编号为A267897 从记录第一条为A267897-1 第二条为A267897-2
* 是否实收:1-预计(预计来佣记录) 2-实收(保单来佣表记录)*
*/
private String no;
//===========以下是预计来佣表记录=============
/**
* 预计来佣id
*/
@Schema(description = "预计来佣id")
private Long id;
private Integer type;
/**
* 预计来佣业务id
* 组编号(应收单编号)*
*/
@Schema(description = "预计来佣业务id")
private String commissionExpectedBizId;
private String no;
/**
* 应收账款编号
*/
@Schema(description = "应收账款编号")
private String receivableNo;
//===========以下是预计来佣记录=============
/**
* 应收款类型 R=关联保单应收单 U=非关联保单应收单
......@@ -51,272 +36,336 @@ public class CommissionExpectedNewVO implements Serializable {
private String commissionBizType;
/**
* 保单号
* 预计来佣-保单号
*/
@Schema(description = "保单号")
private String policyNo;
/**
* 期交保费
*/
@Schema(description = "期交保费")
private Object premium;
/**
* 保单币种
*/
@Schema(description = "保单币种")
private String policyCurrency;
/**
* 产品计划名称
*/
@Schema(description = "产品计划名称")
private String productName;
/**
* 保险公司业务ID
*/
@Schema(description = "保险公司业务ID")
private String insuranceCompanyBizId;
/**
* 保险公司
*/
@Schema(description = "保险公司")
private String insuranceCompany;
/**
* 产品上架信息表唯一业务ID
*/
@Schema(description = "产品计划: 产品上架信息表唯一业务ID")
private String productLaunchBizId;
/**
* 对账公司
* 预计来佣-对账公司
*/
@Schema(description = "对账公司")
private String reconciliationCompany;
/**
* 对账公司业务ID
* 预计来佣-对账公司业务ID
*/
@Schema(description = "对账公司业务ID")
private String reconciliationCompanyBizId;
/**
* 佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
* 预计来佣-入账状态 0=待入账 1=完成入账 2=部分入账 3=已失效
*/
@Schema(description = "入账状态 0=待入账 1=完成入账 2=部分入账 3=已失效 字典值: csf_expected_commission_status")
private String status;
/**
* 预计来佣-佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)
*/
@Schema(description = "佣金期数(1=第一年; 2=第二年; 3=第三年; 4=第四年; 5=第五年)")
private Integer commissionPeriod;
/**
* 总来佣期数
* 预计来佣-总来佣期数
*/
@Schema(description = "总来佣期数")
private Integer totalPeriod;
/**
* 来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
* 预计来佣-来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
*/
@Schema(description = "来佣名称(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
private String commissionName;
/**
* 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
* 预计来佣-入账年月(估) * (预计来佣日期)
*/
@Schema(description = "来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
private String commissionType;
@Schema(description = "入账年月(估)")
@JsonFormat(pattern = "yyyyMM", timezone = "GMT+8")
private Date commissionDateMonth;
/**
* 预计入账比例 (%)
* 入账检核记录-入账检核年月 yyyyMM(入账年月(实))
*/
@Schema(description = "预计入账比例 (%)")
private BigDecimal commissionRatio;
@Schema(description = "入账检核年月 yyyyMM")
private String realReconciliationYearMonth;
/**
* 预计入账金额
* 预计来佣-已入账来佣比例 (%) ( 累积已入账比例)
*/
@Schema(description = "预计入账金额 HKD(如果不关联保单,就没有预计入账比例,此时记录预计入账金额)")
private BigDecimal amount;
@Schema(description = "已入账来佣比例 (%)")
private BigDecimal paidRatio;
/**
* 来佣币种
* 预计来佣-预计入账比例 (%)(产品对应来佣率)
*/
@Schema(description = "来佣币种")
private String currency;
@Schema(description = "预计入账比例 (%)")
private BigDecimal commissionRatio;
/**
* 预计来佣日期
* 入账检核记录-实佣率(入账金额/结算汇率/期交保费) *
* 如果这里是否实收是预计:realRate统计当前预计下面的实际来拥记录的实佣率累加和
* 如果这里是否实收是实收:realRate取realCurrentCommissionRatio赋值
*/
@Schema(description = "预计来佣日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date commissionDate;
@Schema(description = "实佣率")
private BigDecimal realRate;
/**
* 入账状态 0=待入账 1=完成入账 2=部分入账 3=已失效
* 达成率缺口(1-实佣率/产品对应来佣率)*
*/
@Schema(description = "入账状态 0=待入账 1=完成入账 2=部分入账 3=已失效 字典值: csf_expected_commission_status")
private String status;
@Schema(description = "实佣率")
private BigDecimal gapRate;
/**
* 设置入账状态-修改理由
* 入账检核记录-当前结算汇率(结算汇率(实))
*/
@Schema(description = "设置入账状态-修改理由")
private String statusDesc;
@Schema(description = "当前结算汇率")
private BigDecimal realExchangeRate;
/**
* 预计入账金额(HKD
* 入账检核记录-来佣金额(已入账金额)(预计类型需要统计累计和值
*/
@Schema(description = "预计入账金额(HKD)")
private BigDecimal expectedAmount;
private BigDecimal realAmount;
/**
* 结算汇率(估
* 入账检核记录-本次入账比例(实佣率/产品对应来佣率
*/
@Schema(description = "结算汇率(估)")
private BigDecimal defaultExchangeRate;
private BigDecimal revenueRatio;
/**
* 已入账来佣金额(HKD)
* 预计来佣-待入账金额
*/
@Schema(description = "已入账来佣金额(HKD)")
private BigDecimal paidAmount;
@Schema(description = "待入账金额")
private BigDecimal pendingAmount;
/**
* 已入账来佣比例 (%)
* 预计来佣-预计入账金额(HKD)
*/
@Schema(description = "已入账来佣比例 (%)")
private BigDecimal paidRatio;
@Schema(description = "预计入账金额(HKD)")
private BigDecimal expectedAmount;
/**
* 待入账金额
* 预计来佣-结算汇率(估)
*/
@Schema(description = "待入账金额")
private BigDecimal pendingAmount;
@Schema(description = "结算汇率(估)")
private BigDecimal defaultExchangeRate;
/**
* 待入账比例
* 预计来佣-保险公司
*/
@Schema(description = "待入账比例")
private BigDecimal pendingRatio;
@Schema(description = "保险公司")
private String insuranceCompany;
/**
* 已入账来佣列表
* 预计来佣-产品计划名称
*/
@Schema(description = "已入账来佣列表")
private List<Commission> commissionList;
@Schema(description = "产品计划名称")
private String productName;
/**
* 通用备注
* 预计来佣-保单币种
*/
@Schema(description = "备注")
private String remark;
@Schema(description = "保单币种")
private String policyCurrency;
/**
* 创建人ID
* 预计来佣-期交保费
*/
@Schema(description = "创建人ID")
private String creatorId;
@Schema(description = "期交保费")
private Object premium;
/**
* 更新人ID
* 入账检核记录-通用备注
*/
@Schema(description = "更新人ID")
private String updaterId;
@Schema(description = "备注")
private String realRemark;
/**
* 创建时间
* 入账检核记录-更新人名称
*/
@Schema(description = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
private String realUpdaterName;
/**
* 更新时间
* 入账检核记录-更新时间
*/
@Schema(description = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date updateTime;
private Date realUpdateTime;
//===========以下是入账检核(保单来佣)记录=============
/**
* 入账检核记录-入账检核年月 yyyy-MM
*/
@Schema(description = "入账检核年月 yyyy-MM")
private String realReconciliationYearMonth;
/**
* 入账检核记录-来佣日期(入账日实)
*/
@Schema(description = "来佣日期(入账日实)")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date realCommissionDate;
/**
* 入账检核记录-当前结算汇率(结算汇率(实))
*/
@Schema(description = "当前结算汇率")
private BigDecimal realExchangeRate;
/**
* 来佣金额(入账金额)
*/
@Schema(description = "来佣金额")
private BigDecimal realAmount;
// /**
// * 预计来佣id
// */
// @Schema(description = "预计来佣id")
// private Long id;
//
// /**
// * 预计来佣业务id
// */
// @Schema(description = "预计来佣业务id")
// private String commissionExpectedBizId;
//
// /**
// * 应收账款编号
// */
// @Schema(description = "应收账款编号")
// private String receivableNo;
//
// /**
// * 应收款类型 R=关联保单应收单 U=非关联保单应收单
// */
// @Schema(description = "应收款类型 R=关联保单应收单 U=非关联保单应收单")
// private String commissionBizType;
//
// /**
// * 保险公司业务ID
// */
// @Schema(description = "保险公司业务ID")
// private String insuranceCompanyBizId;
//
// /**
// * 产品上架信息表唯一业务ID
// */
// @Schema(description = "产品计划: 产品上架信息表唯一业务ID")
// private String productLaunchBizId;
//
// /**
// * 来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)
// */
// @Schema(description = "来佣类型(1:销售拥金;2:销售奖金;3:销售津贴;4:续期佣金;5:服务津贴;等等)")
// private String commissionType;
//
// /**
// * 预计入账金额
// */
// @Schema(description = "预计入账金额 HKD(如果不关联保单,就没有预计入账比例,此时记录预计入账金额)")
// private BigDecimal amount;
//
// /**
// * 来佣币种
// */
// @Schema(description = "来佣币种")
// private String currency;
//
// /**
// * 预计来佣日期
// */
// @Schema(description = "预计来佣日期")
// @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
// private Date commissionDate;
//
// /**
// * 设置入账状态-修改理由
// */
// @Schema(description = "设置入账状态-修改理由")
// private String statusDesc;
//
// /**
// * 已入账来佣金额(HKD)
// */
// @Schema(description = "已入账来佣金额(HKD)")
// private BigDecimal paidAmount;
//
// /**
// * 待入账比例
// */
// @Schema(description = "待入账比例")
// private BigDecimal pendingRatio;
//
// /**
// * 已入账来佣列表
// */
// @Schema(description = "已入账来佣列表")
// private List<Commission> commissionList;
//
// /**
// * 通用备注
// */
// @Schema(description = "备注")
// private String remark;
//
// /**
// * 创建人ID
// */
// @Schema(description = "创建人ID")
// private String creatorId;
//
// /**
// * 更新人ID
// */
// @Schema(description = "更新人ID")
// private String updaterId;
//
// /**
// * 创建时间
// */
// @Schema(description = "创建时间")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private Date createTime;
//
// /**
// * 更新时间
// */
// @Schema(description = "更新时间")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
// private Date updateTime;
//
//
// //===========以下是入账检核(保单来佣)记录=============
//
// /**
// * 入账检核记录-来佣日期(入账日实)
// */
// @Schema(description = "来佣日期(入账日实)")
// @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
// private Date realCommissionDate;
//
/**
* 当前来佣比例 (实佣率=实际入账金额/结算汇率/每期保费)(入账比例)
*/
@Schema(description = "当前来佣比例 (实佣率=实际入账金额/结算汇率/每期保费)")
private BigDecimal realCurrentCommissionRatio;
/**
* 更新人ID
*/
private String realUpdaterName;
/**
* 更新时间
*/
@Schema(description = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date realUpdateTime;
private static final long serialVersionUID = 1L;
/**
* 对象转封装类
*
* @param commissionExpected
* @return
*/
public static CommissionExpectedNewVO objToVo(CommissionExpected commissionExpected) {
if (commissionExpected == null) {
return null;
}
CommissionExpectedNewVO commissionVO = new CommissionExpectedNewVO();
BeanUtils.copyProperties(commissionExpected, commissionVO);
BigDecimal paidAmount1 = ObjectUtils.defaultIfNull(commissionExpected.getPaidAmount(), BigDecimal.ZERO);
BigDecimal paidRatio1 = ObjectUtils.defaultIfNull(commissionExpected.getPaidRatio(), BigDecimal.ZERO);
// 待入账比例、待入账金额
if (commissionExpected.getCommissionRatio() != null) {
commissionVO.setPaidRatio(paidRatio1);
commissionVO.setPendingRatio(commissionExpected.getCommissionRatio().subtract(paidRatio1));
if (commissionExpected.getExpectedAmount() != null) {
commissionVO.setPaidAmount(paidAmount1);
commissionVO.setPendingAmount(commissionExpected.getExpectedAmount().subtract(paidAmount1));
}
return commissionVO;
} else {
commissionVO.setPaidAmount(paidAmount1);
commissionVO.setPendingAmount(commissionExpected.getAmount().subtract(paidAmount1));
return commissionVO;
}
}
// /**
// * 对象转封装类
// *
// * @param commissionExpected
// * @return
// */
// public static CommissionExpectedNewVO objToVo(CommissionExpected commissionExpected) {
// if (commissionExpected == null) {
// return null;
// }
// CommissionExpectedNewVO commissionVO = new CommissionExpectedNewVO();
// BeanUtils.copyProperties(commissionExpected, commissionVO);
//
// BigDecimal paidAmount1 = ObjectUtils.defaultIfNull(commissionExpected.getPaidAmount(), BigDecimal.ZERO);
// BigDecimal paidRatio1 = ObjectUtils.defaultIfNull(commissionExpected.getPaidRatio(), BigDecimal.ZERO);
//
// // 待入账比例、待入账金额
// if (commissionExpected.getCommissionRatio() != null) {
// commissionVO.setPaidRatio(paidRatio1);
// commissionVO.setPendingRatio(commissionExpected.getCommissionRatio().subtract(paidRatio1));
// if (commissionExpected.getExpectedAmount() != null) {
// commissionVO.setPaidAmount(paidAmount1);
// commissionVO.setPendingAmount(commissionExpected.getExpectedAmount().subtract(paidAmount1));
// }
// return commissionVO;
// } else {
// commissionVO.setPaidAmount(paidAmount1);
// commissionVO.setPendingAmount(commissionExpected.getAmount().subtract(paidAmount1));
//
// return commissionVO;
// }
// }
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment