This commit is contained in:
parent
fb6c9bfc51
commit
d35c87033d
|
|
@ -28,6 +28,7 @@ public interface ComplexQueryService {
|
|||
/**
|
||||
* 导出综合查询工程机具使用列表
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
List<ProjUsingRecord> exportProjUsingRecord(ProjUsingRecord bean);
|
||||
|
||||
|
|
|
|||
|
|
@ -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<ProjUsingRecord> 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<ProjUsingRecord> 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<RetainedEquipmentInfo> 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();
|
||||
|
|
|
|||
Loading…
Reference in New Issue