计算站点日报, 实付金额大于0小于结算金额, 按照实付金额汇总

This commit is contained in:
Guoqs
2025-06-23 16:36:47 +08:00
parent dcb09557b7
commit a81b1392d1
4 changed files with 28 additions and 5 deletions

View File

@@ -22,6 +22,7 @@ import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.stream.Stream;
@Slf4j
public class YKCUtils {
@@ -474,4 +475,17 @@ public class YKCUtils {
return stationIdList;
}
/**
* 两个BigDecimal, 取出大于0的最小值
* @param settleAmount 结算金额
* @param actualReceivedAmount 实收金额
*/
public static BigDecimal getMinBigDecimal(BigDecimal settleAmount, BigDecimal actualReceivedAmount) {
BigDecimal minValue = Stream.of(settleAmount, actualReceivedAmount)
.filter(v -> v.compareTo(BigDecimal.ZERO) > 0) // 过滤出大于 0 的值
.min(BigDecimal::compareTo) // 取最小值
.orElse(settleAmount); // 如果没有大于 0 的值,则返回结算金额
return minValue;
}
}