1
0

perf: 优化财务数据的采集和显示

This commit is contained in:
2025-09-15 13:56:07 +08:00
parent 4cc7d2344f
commit 9f781ce794
16 changed files with 229 additions and 865 deletions

View File

@@ -1,95 +0,0 @@
package com.lanyuanxiaoyao.leopard.core.entity;
import com.lanyuanxiaoyao.leopard.core.Constants;
import com.lanyuanxiaoyao.service.template.entity.SimpleEntity;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.FieldNameConstants;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
/**
* 资产负债表
*/
@Setter
@Getter
@ToString(callSuper = true)
@FieldNameConstants
@Entity
@DynamicUpdate
@DynamicInsert
@EntityListeners(AuditingEntityListener.class)
@Table(name = Constants.DATABASE_PREFIX + "balance_sheet")
public class BalanceSheet extends SimpleEntity {
@ManyToOne
private Stock stock;
@Comment("年报年度")
private Integer year;
@Comment("原始名称total_share描述期末总股本")
private Double endingTotalShares;
@Comment("原始名称cap_rese描述资本公积金")
private Double capitalSurplus;
@Comment("原始名称undistr_porfit描述未分配利润")
private Double undistributedProfit;
@Comment("原始名称money_cap描述货币资金")
private Double monetaryFunds;
@Comment("原始名称accounts_receiv描述应收账款")
private Double accountsReceivable;
@Comment("原始名称inventories描述存货")
private Double inventories;
@Comment("原始名称total_cur_assets描述流动资产合计")
private Double totalCurrentAssets;
@Comment("原始名称lt_eqt_invest描述长期股权投资")
private Double longTermEquityInvestments;
@Comment("原始名称lt_rec描述长期应收款")
private Double longTermReceivables;
@Comment("原始名称fix_assets描述固定资产")
private Double fixedAssets;
@Comment("原始名称r_and_d描述研发支出")
private Double researchAndDevelopmentExpenditures;
@Comment("原始名称goodwill描述商誉")
private Double goodwill;
@Comment("原始名称total_nca描述非流动资产合计")
private Double totalNonCurrentAssets;
@Comment("原始名称total_assets描述资产总计")
private Double totalAssets;
@Comment("原始名称lt_borr描述长期借款")
private Double longTermBorrowings;
@Comment("原始名称st_borr描述短期借款")
private Double shortTermBorrowings;
@Comment("原始名称acct_payable描述应付账款")
private Double accountsPayable;
@Comment("原始名称adv_receipts描述预收款项")
private Double advancesReceived;
@Comment("原始名称total_cur_liab描述流动负债合计")
private Double totalCurrentLiabilities;
@Comment("原始名称total_ncl描述非流动负债合计")
private Double totalNonCurrentLiabilities;
@Comment("原始名称total_liab描述负债合计")
private Double totalLiabilities;
@Comment("原始名称total_hldr_eqy_exc_min_int描述股东权益合计(不含少数股东权益)")
private Double totalShareholdersEquityExcludingMinorityInterest;
@Comment("原始名称total_hldr_eqy_inc_min_int描述股东权益合计(含少数股东权益)")
private Double totalShareholdersEquityIncludingMinorityInterest;
@Comment("原始名称total_liab_hldr_eqy描述负债及股东权益总计")
private Double totalLiabilitiesAndShareholdersEquity;
@Comment("原始名称acc_receivable描述应收款项")
private Double receivables;
@Comment("原始名称payables描述应付款项")
private Double payables;
@Comment("原始名称accounts_receiv_bill描述应收票据及应收账款")
private Double notesAndAccountsReceivable;
@Comment("原始名称accounts_pay描述应付票据及应付账款")
private Double notesAndAccountsPayable;
@Comment("原始名称oth_rcv_total描述其他应收款(合计)(元)")
private Double otherReceivablesTotal;
@Comment("原始名称fix_assets_total描述固定资产(合计)(元)")
private Double fixedAssetsTotal;
}

View File

@@ -1,61 +0,0 @@
package com.lanyuanxiaoyao.leopard.core.entity;
import com.lanyuanxiaoyao.leopard.core.Constants;
import com.lanyuanxiaoyao.service.template.entity.SimpleEntity;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.FieldNameConstants;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
/**
* 现金流量表
*/
@Setter
@Getter
@ToString(callSuper = true)
@FieldNameConstants
@Entity
@DynamicUpdate
@DynamicInsert
@EntityListeners(AuditingEntityListener.class)
@Table(name = Constants.DATABASE_PREFIX + "cash_flow")
public class CashFlow extends SimpleEntity {
@ManyToOne
private Stock stock;
@Comment("年报年度")
private Integer year;
@Comment("原始名称net_profit描述净利润")
private Double netProfit;
@Comment("原始名称finan_exp描述财务费用")
private Double financialExpense;
@Comment("原始名称c_fr_sale_sg描述销售商品、提供劳务收到的现金")
private Double cashReceivedFromSalesAndServices;
@Comment("原始名称c_inf_fr_operate_a描述经营活动现金流入小计")
private Double subtotalOfCashInflowsFromOperatingActivities;
@Comment("原始名称c_paid_to_for_empl描述支付给职工以及为职工支付的现金")
private Double cashPaidToAndForEmployees;
@Comment("原始名称c_paid_for_taxes描述支付的各项税费")
private Double cashPaidForVariousTaxes;
@Comment("原始名称n_cashflow_act描述经营活动产生的现金流量净额")
private Double netCashFlowFromOperatingActivities;
@Comment("原始名称stot_inflows_inv_act描述投资活动现金流入小计")
private Double subtotalOfCashInflowsFromInvestingActivities;
@Comment("原始名称c_pay_acq_const_fiolta描述购置固定资产、无形资产和其他长期资产支付的现金")
private Double cashPaidForLongTermAssets;
@Comment("原始名称stot_out_inv_act描述投资活动现金流出小计")
private Double subtotalOfCashOutflowsFromInvestingActivities;
@Comment("原始名称stot_cashout_fnc_act描述筹资活动现金流出小计")
private Double subtotalOfCashOutflowsFromFinancingActivities;
@Comment("原始名称c_cash_equ_beg_period描述期初现金及现金等价物余额")
private Double beginningBalanceOfCashAndCashEquivalents;
@Comment("原始名称c_cash_equ_end_period描述期末现金及现金等价物余额")
private Double endingBalanceOfCashAndCashEquivalents;
}

View File

@@ -1,87 +0,0 @@
package com.lanyuanxiaoyao.leopard.core.entity;
import com.lanyuanxiaoyao.leopard.core.Constants;
import com.lanyuanxiaoyao.service.template.entity.SimpleEntity;
import jakarta.persistence.Entity;
import jakarta.persistence.EntityListeners;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.FieldNameConstants;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
/**
* 利润表
*/
@Setter
@Getter
@ToString(callSuper = true)
@FieldNameConstants
@Entity
@DynamicUpdate
@DynamicInsert
@EntityListeners(AuditingEntityListener.class)
@Table(name = Constants.DATABASE_PREFIX + "income")
public class Income extends SimpleEntity {
@ManyToOne
private Stock stock;
@Comment("年报年度")
private Integer year;
@Comment("原始名称basic_eps描述基本每股收益")
private Double basicEarningsPerShare;
@Comment("原始名称diluted_eps描述稀释每股收益")
private Double dilutedEarningsPerShare;
@Comment("原始名称total_revenue描述营业总收入")
private Double totalOperatingRevenue;
@Comment("原始名称revenue描述营业收入")
private Double operatingRevenue;
@Comment("原始名称total_cogs描述营业总成本")
private Double totalOperatingCost;
@Comment("原始名称oper_cost描述减:营业成本")
private Double operatingCost;
@Comment("原始名称sell_exp描述减:销售费用")
private Double sellingExpense;
@Comment("原始名称admin_exp描述减:管理费用")
private Double administrativeExpense;
@Comment("原始名称fin_exp描述减:财务费用")
private Double financialExpense;
@Comment("原始名称oper_exp描述营业支出")
private Double operatingExpense;
@Comment("原始名称operate_profit描述营业利润")
private Double operatingProfit;
@Comment("原始名称non_oper_income描述加:营业外收入")
private Double addNonOperatingIncome;
@Comment("原始名称non_oper_exp描述减:营业外支出")
private Double lessNonOperatingExpense;
@Comment("原始名称total_profit描述利润总额")
private Double totalProfit;
@Comment("原始名称income_tax描述所得税费用")
private Double incomeTaxExpense;
@Comment("原始名称n_income描述净利润(含少数股东损益)")
private Double netProfitIncludingMinorityInterest;
@Comment("原始名称n_income_attr_p描述净利润(不含少数股东损益)")
private Double netProfitExcludingMinorityInterest;
@Comment("原始名称compr_inc_attr_p描述归属于母公司(或股东)的综合收益总额")
private Double comprehensiveIncomeAttributableToParent;
@Comment("原始名称compr_inc_attr_m_s描述归属于少数股东的综合收益总额")
private Double comprehensiveIncomeAttributableToMinorityShareholders;
@Comment("原始名称ebit描述息税前利润")
private Double earningsBeforeInterestAndTax;
@Comment("原始名称undist_profit描述年初未分配利润")
private Double beginningUndistributedProfit;
@Comment("原始名称distable_profit描述可分配利润")
private Double distributableProfit;
@Comment("原始名称rd_exp描述研发费用")
private Double researchAndDevelopmentExpense;
@Comment("原始名称fin_exp_int_exp描述财务费用-利息费用")
private Double financialExpenseInterestExpense;
@Comment("原始名称continued_net_profit描述持续经营净利润")
private Double netProfitFromContinuingOperations;
@Comment("原始名称end_net_profit描述终止经营净利润")
private Double netProfitFromDiscontinuedOperations;
}

View File

@@ -61,18 +61,6 @@ public class Stock extends SimpleEntity {
@ToString.Exclude
private Set<Daily> dailies;
@OneToMany(mappedBy = "stock", cascade = CascadeType.REMOVE)
@ToString.Exclude
private Set<Income> incomes;
@OneToMany(mappedBy = "stock", cascade = CascadeType.REMOVE)
@ToString.Exclude
private Set<BalanceSheet> balanceSheets;
@OneToMany(mappedBy = "stock", cascade = CascadeType.REMOVE)
@ToString.Exclude
private Set<CashFlow> cashFlows;
@OneToMany(mappedBy = "stock", cascade = CascadeType.REMOVE)
@ToString.Exclude
private Set<FinanceIndicator> indicators;

View File

@@ -1,13 +0,0 @@
package com.lanyuanxiaoyao.leopard.core.repository;
import com.lanyuanxiaoyao.leopard.core.entity.BalanceSheet;
import com.lanyuanxiaoyao.service.template.repository.SimpleRepository;
import org.springframework.stereotype.Repository;
/**
* @author lanyuanxiaoyao
* @version 20250911
*/
@Repository
public interface BalanceSheetRepository extends SimpleRepository<BalanceSheet> {
}

View File

@@ -1,13 +0,0 @@
package com.lanyuanxiaoyao.leopard.core.repository;
import com.lanyuanxiaoyao.leopard.core.entity.CashFlow;
import com.lanyuanxiaoyao.service.template.repository.SimpleRepository;
import org.springframework.stereotype.Repository;
/**
* @author lanyuanxiaoyao
* @version 20250911
*/
@Repository
public interface CashFlowRepository extends SimpleRepository<CashFlow> {
}

View File

@@ -1,13 +0,0 @@
package com.lanyuanxiaoyao.leopard.core.repository;
import com.lanyuanxiaoyao.leopard.core.entity.Income;
import com.lanyuanxiaoyao.service.template.repository.SimpleRepository;
import org.springframework.stereotype.Repository;
/**
* @author lanyuanxiaoyao
* @version 20250911
*/
@Repository
public interface IncomeRepository extends SimpleRepository<Income> {
}