## Opt - 重写左右区结余逻辑(调整网体来源&结余逻辑)

This commit is contained in:
sangelxiu1 2025-10-23 11:47:15 +08:00
parent 307fd28849
commit 16ae61ce90
3 changed files with 20 additions and 15 deletions

View File

@ -227,10 +227,11 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
if (result.compareTo(BigDecimal.ZERO) >= 0) {
// 如果结果大于等于0直接设置aBalance
updateVO.setABalance(result);
updateVO.setBBalance(nowSettleVO.getBBalance());
} else {
// 如果结果小于0aBalance设为0bBalance设为差额绝对值
updateVO.setABalance(BigDecimal.ZERO);
updateVO.setBBalance(result.abs());
updateVO.setBBalance(nowSettleVO.getABalance().add(pendingPV));
}
// }else if(EPlaceDept.RIGHT_DEPT.getValue() == baseSettleVO.getPlaceDep()){
} else {
@ -240,10 +241,11 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
if (result.compareTo(BigDecimal.ZERO) >= 0) {
// 如果结果大于等于0直接设置bBalance
updateVO.setBBalance(result);
updateVO.setABalance(nowSettleVO.getABalance());
} else {
// 如果结果小于0bBalance设为0aBalance设为差额绝对值
updateVO.setBBalance(BigDecimal.ZERO);
updateVO.setABalance(result.abs());
updateVO.setABalance(nowSettleVO.getBBalance().add(pendingPV));
}
}
baseSettleVO = nowSettleVO;

View File

@ -16,6 +16,7 @@ public class CuMemberSettleVO implements Serializable {
private Integer level;
private Long pkMember;
private Long pkParent;
private Long pkPlaceParent;
private Integer placeDept;
private String memberCode;
private String memberName;

View File

@ -1324,24 +1324,26 @@
</select>
<select id="getParentMemberList" resultType="com.hzs.bonus.achieve.vo.CuMemberSettleVO">
SELECT
*
settle.A_BALANCE AS aBalance,
settle.B_BALANCE AS bBalance,
tree.*
FROM
(
SELECT
LEVEL,
cm.period,
cm.pk_member as pkMember,
cm.pk_parent as pkParent,
cm.place_Dept as placeDept,
cm.member_Code as memberCode,
cm.member_Name as memberName,
cm.a_Balance as aBalance,
cm.b_Balance as bBalance
SELECT LEVEL
,
period,
pk_member AS pkMember,
pk_parent AS pkParent,
PK_PLACE_PARENT AS pkPlaceParent,
place_Dept AS placeDept,
member_Code AS memberCode,
member_Name AS memberName
FROM
${targetTable} cm START WITH cm.pk_member = #{pkMember} CONNECT BY cm.PK_MEMBER = PRIOR cm.PK_PARENT
( SELECT * FROM ${sourceTable} WHERE period = #{period} ) START WITH pk_member = #{pkMember} CONNECT BY PK_MEMBER = PRIOR PK_PLACE_PARENT
ORDER BY
LEVEL
)
) tree
LEFT JOIN ${targetTable} settle ON tree.pkMember = settle.pk_member
</select>
<update id="batchUpdateBalance">
MERGE INTO ${targetTable} t