diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java index c0b81b28..919bfd8d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/ComplexQueryService.java @@ -28,6 +28,7 @@ public interface ComplexQueryService { /** * 导出综合查询工程机具使用列表 * @param bean + * @return */ List exportProjUsingRecord(ProjUsingRecord bean); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java index 4554e0e5..afff8b6d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.*; import java.util.stream.Collectors; @@ -55,11 +56,11 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { @Override public List exportProjUsingRecord(ProjUsingRecord bean) { // 使用 BigDecimal 常量初始化 - BigDecimal totalLeaseNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalBackNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalUsNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalUsPrice = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal totalTotalPrice = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); + BigDecimal totalLeaseNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalBackNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalUsNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalUsPrice = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP); + BigDecimal totalTotalPrice = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP); List list = complexQueryMapper.getProjUsingRecordList(bean); if (CollectionUtils.isNotEmpty(list)) { ProjUsingRecord projUsingRecord = new ProjUsingRecord(); @@ -71,11 +72,11 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { totalTotalPrice = totalTotalPrice.add(record.getTotalPrice()); } // 设置 ProjUsingDto 总结数据 - projUsingRecord.setLeaseNum(totalLeaseNum.setScale(3, BigDecimal.ROUND_HALF_UP)); - projUsingRecord.setBackNum(totalBackNum.setScale(3, BigDecimal.ROUND_HALF_UP)); - projUsingRecord.setUsNum(totalUsNum.setScale(3, BigDecimal.ROUND_HALF_UP)); - projUsingRecord.setUsPrice(totalUsPrice.setScale(2, BigDecimal.ROUND_HALF_UP)); - projUsingRecord.setTotalPrice(totalTotalPrice.setScale(2, BigDecimal.ROUND_HALF_UP)); + projUsingRecord.setLeaseNum(totalLeaseNum.setScale(3, RoundingMode.HALF_UP)); + projUsingRecord.setBackNum(totalBackNum.setScale(3, RoundingMode.HALF_UP)); + projUsingRecord.setUsNum(totalUsNum.setScale(3, RoundingMode.HALF_UP)); + projUsingRecord.setUsPrice(totalUsPrice.setScale(2, RoundingMode.HALF_UP)); + projUsingRecord.setTotalPrice(totalTotalPrice.setScale(2, RoundingMode.HALF_UP)); projUsingRecord.setUnit("合计"); list.add(0,projUsingRecord); } @@ -162,16 +163,16 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { */ @Override public List getRetainedEquipmentList(RetainedEquipmentInfo bean) { - BigDecimal totalPrice = BigDecimal.ZERO.setScale(2, BigDecimal.ROUND_HALF_UP); - BigDecimal totalStoreNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalUsNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalRepairNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalInputNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalRepairInputNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal totalAllNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal fiveReplacementNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal tenReplacementNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); - BigDecimal tenPlusReplacementNum = BigDecimal.ZERO.setScale(3, BigDecimal.ROUND_HALF_UP); + BigDecimal totalPrice = BigDecimal.ZERO.setScale(2, RoundingMode.HALF_UP); + BigDecimal totalStoreNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalUsNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalRepairNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalInputNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalRepairInputNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalAllNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal fiveReplacementNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal tenReplacementNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal tenPlusReplacementNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); String fiveReplacementRate = "0%"; String tenReplacementRate = "0%"; String tenPlusReplacementRate = "0%"; @@ -189,7 +190,7 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { tenPlusReplacementNum = tenPlusReplacementNum.add(retainedEquipmentInfo.getTenPlusReplacementNum()); BigDecimal equipmentPrice = retainedEquipmentInfo.getAllNum() .multiply(retainedEquipmentInfo.getBuyPrice()) - .divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP); + .divide(new BigDecimal(10000), 2, RoundingMode.HALF_UP); totalPrice = totalPrice.add(equipmentPrice); BigDecimal allNum = retainedEquipmentInfo.getAllNum(); if (allNum.compareTo(BigDecimal.ZERO) == 0) { @@ -198,17 +199,17 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { tenPlusReplacementRate = "0%"; } else { fiveReplacementRate = retainedEquipmentInfo.getFiveReplacementNum() - .divide(allNum, 4, BigDecimal.ROUND_HALF_DOWN) + .divide(allNum, 4, RoundingMode.HALF_DOWN) .multiply(new BigDecimal(100)) - .setScale(2, BigDecimal.ROUND_HALF_UP) + "%"; + .setScale(2, RoundingMode.HALF_UP) + "%"; tenReplacementRate = retainedEquipmentInfo.getTenReplacementNum() - .divide(allNum, 4, BigDecimal.ROUND_HALF_DOWN) + .divide(allNum, 4, RoundingMode.HALF_DOWN) .multiply(new BigDecimal(100)) - .setScale(2, BigDecimal.ROUND_HALF_UP) + "%"; + .setScale(2, RoundingMode.HALF_UP) + "%"; tenPlusReplacementRate = retainedEquipmentInfo.getTenPlusReplacementNum() - .divide(allNum, 4, BigDecimal.ROUND_HALF_DOWN) + .divide(allNum, 4, RoundingMode.HALF_DOWN) .multiply(new BigDecimal(100)) - .setScale(2, BigDecimal.ROUND_HALF_UP) + "%"; + .setScale(2, RoundingMode.HALF_UP) + "%"; } retainedEquipmentInfo.setTotalPrice(equipmentPrice); retainedEquipmentInfo.setFiveReplacementRate(fiveReplacementRate); @@ -221,17 +222,17 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { tenPlusReplacementRate = "0%"; } else { fiveReplacementRate = fiveReplacementNum - .divide(totalAllNum, 4, BigDecimal.ROUND_HALF_DOWN) + .divide(totalAllNum, 4, RoundingMode.HALF_DOWN) .multiply(new BigDecimal(100)) - .setScale(2, BigDecimal.ROUND_HALF_UP) + "%"; + .setScale(2, RoundingMode.HALF_UP) + "%"; tenReplacementRate = tenReplacementNum - .divide(totalAllNum, 4, BigDecimal.ROUND_HALF_DOWN) + .divide(totalAllNum, 4, RoundingMode.HALF_DOWN) .multiply(new BigDecimal(100)) - .setScale(2, BigDecimal.ROUND_HALF_UP) + "%"; + .setScale(2, RoundingMode.HALF_UP) + "%"; tenPlusReplacementRate = tenPlusReplacementNum - .divide(totalAllNum, 4, BigDecimal.ROUND_HALF_DOWN) + .divide(totalAllNum, 4, RoundingMode.HALF_DOWN) .multiply(new BigDecimal(100)) - .setScale(2, BigDecimal.ROUND_HALF_UP) + "%"; + .setScale(2, RoundingMode.HALF_UP) + "%"; } if (bean.getIsExport() == 0) { RetainedEquipmentInfo retainedEquipmentInfo = new RetainedEquipmentInfo();