fix(sales): 修复赠品判断逻辑

- 在 SoSaleOutPluginInitializerToC 和 SoSaleReturnPluginInitializerToC 类中
- 更新赠品判断逻辑,使用 setScale(2, BigDecimal.ROUND_HALF_UP) 进行金额比较- 确保金额为0 时正确识别为赠品
This commit is contained in:
liuy 2025-03-12 18:29:59 +08:00
parent 896dea23be
commit 0a5840bfe7
3 changed files with 6 additions and 6 deletions

View File

@ -1114,7 +1114,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
//判断是否为赠品
Boolean isblargessflag = false;
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
isblargessflag = true;
}
@ -2302,7 +2302,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
//判断是否为赠品
Boolean isblargessflag = false;
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
isblargessflag = true;
}
@ -2588,7 +2588,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
//判断是否为赠品如果金额为0则为赠品
Boolean isblargessflag = false;
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
isblargessflag = true;
}

View File

@ -828,7 +828,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
//判断是否为赠品
Boolean isblargessflag = false;
if ("0".equals(goodsRertunSonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
if ("0".equals(goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
isblargessflag = true;
}

View File

@ -36,8 +36,8 @@ public class SoSaleReturnPluginInitializerToCTest {
public void startImplement() {
// soSaleReturnPluginInitializerToC.startImplement(null, null);
try {
// String code = "LETS-RE2025022000001336";
// soSaleReturnPluginInitializerToC.startImplementByCode(code, "tran");
String code = "LETS-RE2025022000001336";
soSaleReturnPluginInitializerToC.startImplementByCode(code, "stock");
} catch (Exception e) {
e.printStackTrace();
}