瀏覽代碼

对账单小计金额取小数点后两位

fgd 1 年之前
父節點
當前提交
dae8caa3ff

+ 6 - 2
sd-business/src/main/java/com/sd/business/service/statement/impl/StatementOfAccountServiceImpl.java

@@ -50,6 +50,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ThreadPoolExecutor;
@@ -280,8 +281,9 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                                 .add(item.getManagementFee())
                         )
                         .build())
-                .peek(item -> item.setSubtotal(ObjectUtil.equals(item.getQuantity(), BigDecimal.ZERO) ? item.getUnitPrice() : item.getQuantity().multiply(item.getUnitPrice())))
+                .peek(item -> item.setSubtotal(item.getQuantity().multiply(item.getUnitPrice()).setScale(2, RoundingMode.HALF_UP)))
                 .peek(item -> item.setTotal(item.getSubtotal()))
+                .peek(item -> item.setUnitPrice(item.getUnitPrice().setScale(2, RoundingMode.HALF_UP)))
                 .collect(Collectors.toList());
 
         // 查询赠品sku
@@ -362,6 +364,7 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                                 .add(item.getDeliveryMaterialsFeeSummary())
                                 .add(item.getPackingLaborSummary())
                                 .add(item.getManagementFeeSummary())
+                                .setScale(2, RoundingMode.HALF_UP)
                 ))
                 .peek(item -> item.setTotal(item.getSubtotal()))
                 .collect(Collectors.toList());
@@ -601,7 +604,8 @@ public class StatementOfAccountServiceImpl extends ServiceImpl<StatementOfAccoun
                             .add(item.getManagementFee()));
                     return skuSpec;
                 })
-                .peek(item -> item.setSubtotal(item.getQuantity().multiply(item.getUnitPrice())))
+                .peek(item -> item.setSubtotal(item.getQuantity().multiply(item.getUnitPrice()).setScale(2, RoundingMode.HALF_UP)))
+                .peek(item -> item.setUnitPrice(item.getUnitPrice().setScale(2, RoundingMode.HALF_UP)))
                 .collect(Collectors.toList());
 
         skuSpecService.attributeAssign(skuSpecList, DocumentByOrderVo.SkuSpec::getSkuSpecId, (item, skuSpec) -> {

二進制
sd-starter/src/main/resources/template/orderDocument.xlsx