1
0

feat: 增加财务指标显示

This commit is contained in:
2025-09-15 18:42:36 +08:00
parent b569d62a25
commit 697a58a0e4
3 changed files with 161 additions and 22 deletions

View File

@@ -66,9 +66,28 @@ public class StockController extends SimpleControllerSupport<Stock, Void, StockC
.orElse(new IncomeItem()),
financeIndicator
.map(fi -> new CashFlowItem(
NumberHelper.formatFinanceDouble(fi.getNetProfit())
NumberHelper.formatFinanceDouble(fi.getNetProfit()),
NumberHelper.formatFinanceDouble(fi.getCashFlowFromOperatingActivities()),
NumberHelper.formatFinanceDouble(fi.getCashFlowFromInvestingActivities()),
NumberHelper.formatFinanceDouble(fi.getCashFlowFromFinancingActivities())
))
.orElse(new CashFlowItem())
.orElse(new CashFlowItem()),
financeIndicator
.map(fi -> new IndicateItem(
NumberHelper.formatFinanceDouble(fi.getCurrentRatio()),
NumberHelper.formatFinanceDouble(fi.getQuickRatio()),
NumberHelper.formatFinanceDouble(fi.getReturnOnEquity()),
NumberHelper.formatFinanceDouble(fi.getReturnOnAssets()),
NumberHelper.formatFinanceDouble(fi.getAccountsReceivableTurnover()),
NumberHelper.formatDaysDouble(fi.getDaysAccountsReceivableTurnover()),
NumberHelper.formatFinanceDouble(fi.getInventoryTurnover()),
NumberHelper.formatDaysDouble(fi.getDaysInventoryTurnover()),
NumberHelper.formatFinanceDouble(fi.getFixedAssetsTurnover()),
NumberHelper.formatDaysDouble(fi.getDaysFixedAssetsTurnover()),
NumberHelper.formatFinanceDouble(fi.getTotalAssetsTurnover()),
NumberHelper.formatDaysDouble(fi.getDaysTotalAssetsTurnover())
))
.orElse(new IndicateItem())
));
}
@@ -125,7 +144,8 @@ public class StockController extends SimpleControllerSupport<Stock, Void, StockC
Integer year,
BalanceSheetItem balanceSheet,
IncomeItem income,
CashFlowItem cashFlow
CashFlowItem cashFlow,
IndicateItem indicate
) {
}
@@ -172,10 +192,48 @@ public class StockController extends SimpleControllerSupport<Stock, Void, StockC
}
public record CashFlowItem(
String netProfit
String netProfit,
String cashFlowFromOperatingActivities,
String cashFlowFromInvestingActivities,
String cashFlowFromFinancingActivities
) {
public CashFlowItem() {
this(
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE
);
}
}
public record IndicateItem(
String currentRatio,
String quickRatio,
String roe,
String roa,
String accountsReceivableTurnover,
String daysAccountsReceivableTurnover,
String inventoryTurnover,
String daysInventoryTurnover,
String fixedAssetsTurnover,
String daysFixedAssetsTurnover,
String totalAssetsTurnover,
String daysTotalAssetsTurnover
) {
public IndicateItem() {
this(
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE,
NumberHelper.FINANCE_NULL_DOUBLE
);
}

View File

@@ -28,6 +28,13 @@ public class NumberHelper {
return value < 0 ? "-" + result : result;
}
public static String formatDaysDouble(Double value) {
if (ObjectUtil.isNull(value)) {
return FINANCE_NULL_DOUBLE;
}
return NumberUtil.decimalFormat("#", value);
}
public static String formatPercentageDouble(Double value) {
if (ObjectUtil.isNull(value)) {
return null;