from __future__ import annotations

from xfintech.data.common.paginate import Paginate
from xfintech.fabric.column.info import ColumnInfo
from xfintech.fabric.column.kind import ColumnKind
from xfintech.fabric.table.info import TableInfo

PROVIDER = "tushare"
SOURCE_NAME = "balancesheet_vip"
URL = "https://tushare.pro/document/2?doc_id=36"
ARGS = {
    "ts_code": {
        "type": ColumnKind.STRING,
        "required": "Y",
        "desc": "股票代码",
    },
    "start_date": {
        "type": ColumnKind.STRING,
        "required": "N",
        "desc": "开始日期(YYYYMMDD)",
    },
    "end_date": {
        "type": ColumnKind.STRING,
        "required": "N",
        "desc": "结束日期(YYYYMMDD)",
    },
    "year": {
        "type": ColumnKind.STRING,
        "required": "N",
        "desc": "年份(YYYY)",
    },
    "period": {
        "type": ColumnKind.STRING,
        "required": "N",
        "desc": "季度(1,2,3,4), 例：2025-1 表示第一季度",
    },
    "comp_type": {
        "type": ColumnKind.STRING,
        "required": "N",
        "desc": "公司类型(1一般工商业2银行3保险4证券)",
    },
    "report_type": {
        "type": ColumnKind.STRING,
        "required": "N",
        "desc": "报表类型",
    },
}

# Exported constants
NAME = "companydebt"
KEY = "/tushare/companydebt"
PAGINATE = Paginate(
    pagesize=1000,
    pagelimit=1000,
)
SOURCE = TableInfo(
    name=SOURCE_NAME,
    desc="A股资产负债表数据（tushare格式）",
    meta={
        "provider": PROVIDER,
        "source": SOURCE_NAME,
        "url": URL,
        "args": ARGS,
        "type": "partitioned",
        "scale": "crosssection",
    },
    columns=[
        ColumnInfo(name="ts_code", kind=ColumnKind.STRING, desc="TS股票代码"),
        ColumnInfo(name="ann_date", kind=ColumnKind.STRING, desc="公告日期"),
        ColumnInfo(name="f_ann_date", kind=ColumnKind.STRING, desc="实际公告日期"),
        ColumnInfo(name="end_date", kind=ColumnKind.STRING, desc="报告期"),
        ColumnInfo(name="report_type", kind=ColumnKind.STRING, desc="报表类型"),
        ColumnInfo(name="comp_type", kind=ColumnKind.STRING, desc="公司类型(1一般工商业2银行3保险4证券)"),
        ColumnInfo(name="end_type", kind=ColumnKind.STRING, desc="报告期类型"),
        ColumnInfo(name="update_flag", kind=ColumnKind.STRING, desc="更新标识"),
        ColumnInfo(name="total_share", kind=ColumnKind.FLOAT, desc="期末总股本"),
        ColumnInfo(name="cap_rese", kind=ColumnKind.FLOAT, desc="资本公积金"),
        ColumnInfo(name="undistr_porfit", kind=ColumnKind.FLOAT, desc="未分配利润"),
        ColumnInfo(name="surplus_rese", kind=ColumnKind.FLOAT, desc="盈余公积金"),
        ColumnInfo(name="special_rese", kind=ColumnKind.FLOAT, desc="专项储备"),
        ColumnInfo(name="money_cap", kind=ColumnKind.FLOAT, desc="货币资金"),
        ColumnInfo(name="trad_asset", kind=ColumnKind.FLOAT, desc="交易性金融资产"),
        ColumnInfo(name="notes_receiv", kind=ColumnKind.FLOAT, desc="应收票据"),
        ColumnInfo(name="accounts_receiv", kind=ColumnKind.FLOAT, desc="应收账款"),
        ColumnInfo(name="oth_receiv", kind=ColumnKind.FLOAT, desc="其他应收款"),
        ColumnInfo(name="prepayment", kind=ColumnKind.FLOAT, desc="预付款项"),
        ColumnInfo(name="div_receiv", kind=ColumnKind.FLOAT, desc="应收股利"),
        ColumnInfo(name="int_receiv", kind=ColumnKind.FLOAT, desc="应收利息"),
        ColumnInfo(name="inventories", kind=ColumnKind.FLOAT, desc="存货"),
        ColumnInfo(name="amor_exp", kind=ColumnKind.FLOAT, desc="待摊费用"),
        ColumnInfo(name="nca_within_1y", kind=ColumnKind.FLOAT, desc="一年内到期的非流动资产"),
        ColumnInfo(name="sett_rsrv", kind=ColumnKind.FLOAT, desc="结算备付金"),
        ColumnInfo(name="loanto_oth_bank_fi", kind=ColumnKind.FLOAT, desc="拆出资金"),
        ColumnInfo(name="premium_receiv", kind=ColumnKind.FLOAT, desc="应收保费"),
        ColumnInfo(name="reinsur_receiv", kind=ColumnKind.FLOAT, desc="应收分保账款"),
        ColumnInfo(name="reinsur_res_receiv", kind=ColumnKind.FLOAT, desc="应收分保合同准备金"),
        ColumnInfo(name="pur_resale_fa", kind=ColumnKind.FLOAT, desc="买入返售金融资产"),
        ColumnInfo(name="oth_cur_assets", kind=ColumnKind.FLOAT, desc="其他流动资产"),
        ColumnInfo(name="total_cur_assets", kind=ColumnKind.FLOAT, desc="流动资产合计"),
        ColumnInfo(name="fa_avail_for_sale", kind=ColumnKind.FLOAT, desc="可供出售金融资产"),
        ColumnInfo(name="htm_invest", kind=ColumnKind.FLOAT, desc="持有至到期投资"),
        ColumnInfo(name="lt_eqt_invest", kind=ColumnKind.FLOAT, desc="长期股权投资"),
        ColumnInfo(name="invest_real_estate", kind=ColumnKind.FLOAT, desc="投资性房地产"),
        ColumnInfo(name="time_deposits", kind=ColumnKind.FLOAT, desc="定期存款"),
        ColumnInfo(name="oth_assets", kind=ColumnKind.FLOAT, desc="其他资产"),
        ColumnInfo(name="lt_rec", kind=ColumnKind.FLOAT, desc="长期应收款"),
        ColumnInfo(name="fix_assets", kind=ColumnKind.FLOAT, desc="固定资产"),
        ColumnInfo(name="cip", kind=ColumnKind.FLOAT, desc="在建工程"),
        ColumnInfo(name="const_materials", kind=ColumnKind.FLOAT, desc="工程物资"),
        ColumnInfo(name="fixed_assets_disp", kind=ColumnKind.FLOAT, desc="固定资产清理"),
        ColumnInfo(name="produc_bio_assets", kind=ColumnKind.FLOAT, desc="生产性生物资产"),
        ColumnInfo(name="oil_and_gas_assets", kind=ColumnKind.FLOAT, desc="油气资产"),
        ColumnInfo(name="intan_assets", kind=ColumnKind.FLOAT, desc="无形资产"),
        ColumnInfo(name="r_and_d", kind=ColumnKind.FLOAT, desc="研发支出"),
        ColumnInfo(name="goodwill", kind=ColumnKind.FLOAT, desc="商誉"),
        ColumnInfo(name="lt_amor_exp", kind=ColumnKind.FLOAT, desc="长期待摊费用"),
        ColumnInfo(name="defer_tax_assets", kind=ColumnKind.FLOAT, desc="递延所得税资产"),
        ColumnInfo(name="decr_in_disbur", kind=ColumnKind.FLOAT, desc="发放贷款及垫款"),
        ColumnInfo(name="oth_nca", kind=ColumnKind.FLOAT, desc="其他非流动资产"),
        ColumnInfo(name="total_nca", kind=ColumnKind.FLOAT, desc="非流动资产合计"),
        ColumnInfo(name="cash_reser_cb", kind=ColumnKind.FLOAT, desc="现金及存放中央银行款项"),
        ColumnInfo(name="depos_in_oth_bfi", kind=ColumnKind.FLOAT, desc="存放同业和其它金融机构款项"),
        ColumnInfo(name="prec_metals", kind=ColumnKind.FLOAT, desc="贵金属"),
        ColumnInfo(name="deriv_assets", kind=ColumnKind.FLOAT, desc="衍生金融资产"),
        ColumnInfo(name="rr_reins_une_prem", kind=ColumnKind.FLOAT, desc="应收分保未到期责任准备金"),
        ColumnInfo(name="rr_reins_outstd_cla", kind=ColumnKind.FLOAT, desc="应收分保未决赔款准备金"),
        ColumnInfo(name="rr_reins_lins_liab", kind=ColumnKind.FLOAT, desc="应收分保寿险责任准备金"),
        ColumnInfo(name="rr_reins_lthins_liab", kind=ColumnKind.FLOAT, desc="应收分保长期健康险责任准备金"),
        ColumnInfo(name="refund_depos", kind=ColumnKind.FLOAT, desc="存出保证金"),
        ColumnInfo(name="ph_pledge_loans", kind=ColumnKind.FLOAT, desc="保户质押贷款"),
        ColumnInfo(name="refund_cap_depos", kind=ColumnKind.FLOAT, desc="存出资本保证金"),
        ColumnInfo(name="indep_acct_assets", kind=ColumnKind.FLOAT, desc="独立账户资产"),
        ColumnInfo(name="client_depos", kind=ColumnKind.FLOAT, desc="其中：客户资金存款"),
        ColumnInfo(name="client_prov", kind=ColumnKind.FLOAT, desc="其中：客户备付金"),
        ColumnInfo(name="transac_seat_fee", kind=ColumnKind.FLOAT, desc="其中:交易席位费"),
        ColumnInfo(name="invest_as_receiv", kind=ColumnKind.FLOAT, desc="应收款项类投资"),
        ColumnInfo(name="total_assets", kind=ColumnKind.FLOAT, desc="资产总计"),
        ColumnInfo(name="lt_borr", kind=ColumnKind.FLOAT, desc="长期借款"),
        ColumnInfo(name="st_borr", kind=ColumnKind.FLOAT, desc="短期借款"),
        ColumnInfo(name="cb_borr", kind=ColumnKind.FLOAT, desc="向中央银行借款"),
        ColumnInfo(name="depos_ib_deposits", kind=ColumnKind.FLOAT, desc="吸收存款及同业存放"),
        ColumnInfo(name="loan_oth_bank", kind=ColumnKind.FLOAT, desc="拆入资金"),
        ColumnInfo(name="trading_fl", kind=ColumnKind.FLOAT, desc="交易性金融负债"),
        ColumnInfo(name="notes_payable", kind=ColumnKind.FLOAT, desc="应付票据"),
        ColumnInfo(name="acct_payable", kind=ColumnKind.FLOAT, desc="应付账款"),
        ColumnInfo(name="adv_receipts", kind=ColumnKind.FLOAT, desc="预收款项"),
        ColumnInfo(name="sold_for_repur_fa", kind=ColumnKind.FLOAT, desc="卖出回购金融资产款"),
        ColumnInfo(name="comm_payable", kind=ColumnKind.FLOAT, desc="应付手续费及佣金"),
        ColumnInfo(name="payroll_payable", kind=ColumnKind.FLOAT, desc="应付职工薪酬"),
        ColumnInfo(name="taxes_payable", kind=ColumnKind.FLOAT, desc="应交税费"),
        ColumnInfo(name="int_payable", kind=ColumnKind.FLOAT, desc="应付利息"),
        ColumnInfo(name="div_payable", kind=ColumnKind.FLOAT, desc="应付股利"),
        ColumnInfo(name="oth_payable", kind=ColumnKind.FLOAT, desc="其他应付款"),
        ColumnInfo(name="acc_exp", kind=ColumnKind.FLOAT, desc="预提费用"),
        ColumnInfo(name="deferred_inc", kind=ColumnKind.FLOAT, desc="递延收益"),
        ColumnInfo(name="st_bonds_payable", kind=ColumnKind.FLOAT, desc="应付短期债券"),
        ColumnInfo(name="payable_to_reinsurer", kind=ColumnKind.FLOAT, desc="应付分保账款"),
        ColumnInfo(name="rsrv_insur_cont", kind=ColumnKind.FLOAT, desc="保险合同准备金"),
        ColumnInfo(name="acting_trading_sec", kind=ColumnKind.FLOAT, desc="代理买卖证券款"),
        ColumnInfo(name="acting_uw_sec", kind=ColumnKind.FLOAT, desc="代理承销证券款"),
        ColumnInfo(name="non_cur_liab_due_1y", kind=ColumnKind.FLOAT, desc="一年内到期的非流动负债"),
        ColumnInfo(name="oth_cur_liab", kind=ColumnKind.FLOAT, desc="其他流动负债"),
        ColumnInfo(name="total_cur_liab", kind=ColumnKind.FLOAT, desc="流动负债合计"),
        ColumnInfo(name="bond_payable", kind=ColumnKind.FLOAT, desc="应付债券"),
        ColumnInfo(name="lt_payable", kind=ColumnKind.FLOAT, desc="长期应付款"),
        ColumnInfo(name="specific_payables", kind=ColumnKind.FLOAT, desc="专项应付款"),
        ColumnInfo(name="estimated_liab", kind=ColumnKind.FLOAT, desc="预计负债"),
        ColumnInfo(name="defer_tax_liab", kind=ColumnKind.FLOAT, desc="递延所得税负债"),
        ColumnInfo(name="defer_inc_non_cur_liab", kind=ColumnKind.FLOAT, desc="递延收益-非流动负债"),
        ColumnInfo(name="oth_ncl", kind=ColumnKind.FLOAT, desc="其他非流动负债"),
        ColumnInfo(name="total_ncl", kind=ColumnKind.FLOAT, desc="非流动负债合计"),
        ColumnInfo(name="depos_oth_bfi", kind=ColumnKind.FLOAT, desc="同业和其它金融机构存放款项"),
        ColumnInfo(name="deriv_liab", kind=ColumnKind.FLOAT, desc="衍生金融负债"),
        ColumnInfo(name="depos", kind=ColumnKind.FLOAT, desc="吸收存款"),
        ColumnInfo(name="agency_bus_liab", kind=ColumnKind.FLOAT, desc="代理业务负债"),
        ColumnInfo(name="oth_liab", kind=ColumnKind.FLOAT, desc="其他负债"),
        ColumnInfo(name="prem_receiv_adva", kind=ColumnKind.FLOAT, desc="预收保费"),
        ColumnInfo(name="depos_received", kind=ColumnKind.FLOAT, desc="存入保证金"),
        ColumnInfo(name="ph_invest", kind=ColumnKind.FLOAT, desc="保户储金及投资款"),
        ColumnInfo(name="reser_une_prem", kind=ColumnKind.FLOAT, desc="未到期责任准备金"),
        ColumnInfo(name="reser_outstd_claims", kind=ColumnKind.FLOAT, desc="未决赔款准备金"),
        ColumnInfo(name="reser_lins_liab", kind=ColumnKind.FLOAT, desc="寿险责任准备金"),
        ColumnInfo(name="reser_lthins_liab", kind=ColumnKind.FLOAT, desc="长期健康险责任准备金"),
        ColumnInfo(name="indept_acc_liab", kind=ColumnKind.FLOAT, desc="独立账户负债"),
        ColumnInfo(name="pledge_borr", kind=ColumnKind.FLOAT, desc="其中:质押借款"),
        ColumnInfo(name="indem_payable", kind=ColumnKind.FLOAT, desc="应付赔付款"),
        ColumnInfo(name="policy_div_payable", kind=ColumnKind.FLOAT, desc="应付保单红利"),
        ColumnInfo(name="total_liab", kind=ColumnKind.FLOAT, desc="负债合计"),
        ColumnInfo(name="treasury_share", kind=ColumnKind.FLOAT, desc="减:库存股"),
        ColumnInfo(name="ordin_risk_reser", kind=ColumnKind.FLOAT, desc="一般风险准备"),
        ColumnInfo(name="forex_differ", kind=ColumnKind.FLOAT, desc="外币报表折算差额"),
        ColumnInfo(name="invest_loss_unconf", kind=ColumnKind.FLOAT, desc="未确认的投资损失"),
        ColumnInfo(name="minority_int", kind=ColumnKind.FLOAT, desc="少数股东权益"),
        ColumnInfo(name="total_hldr_eqy_exc_min_int", kind=ColumnKind.FLOAT, desc="股东权益合计(不含少数股东权益)"),
        ColumnInfo(name="total_hldr_eqy_inc_min_int", kind=ColumnKind.FLOAT, desc="股东权益合计(含少数股东权益)"),
        ColumnInfo(name="total_liab_hldr_eqy", kind=ColumnKind.FLOAT, desc="负债及股东权益总计"),
        ColumnInfo(name="lt_payroll_payable", kind=ColumnKind.FLOAT, desc="长期应付职工薪酬"),
        ColumnInfo(name="oth_comp_income", kind=ColumnKind.FLOAT, desc="其他综合收益"),
        ColumnInfo(name="oth_eqt_tools", kind=ColumnKind.FLOAT, desc="其他权益工具"),
        ColumnInfo(name="oth_eqt_tools_p_shr", kind=ColumnKind.FLOAT, desc="其他权益工具(优先股)"),
        ColumnInfo(name="lending_funds", kind=ColumnKind.FLOAT, desc="融出资金"),
        ColumnInfo(name="acc_receivable", kind=ColumnKind.FLOAT, desc="应收款项"),
        ColumnInfo(name="st_fin_payable", kind=ColumnKind.FLOAT, desc="应付短期融资款"),
        ColumnInfo(name="payables", kind=ColumnKind.FLOAT, desc="应付款项"),
        ColumnInfo(name="hfs_assets", kind=ColumnKind.FLOAT, desc="持有待售的资产"),
        ColumnInfo(name="hfs_sales", kind=ColumnKind.FLOAT, desc="持有待售的负债"),
        ColumnInfo(name="cost_fin_assets", kind=ColumnKind.FLOAT, desc="以摊余成本计量的金融资产"),
        ColumnInfo(
            name="fair_value_fin_assets", kind=ColumnKind.FLOAT, desc="以公允价值计量且其变动计入其他综合收益的金融资产"
        ),
        ColumnInfo(name="cip_total", kind=ColumnKind.FLOAT, desc="在建工程(合计)(元)"),
        ColumnInfo(name="oth_pay_total", kind=ColumnKind.FLOAT, desc="其他应付款(合计)(元)"),
        ColumnInfo(name="long_pay_total", kind=ColumnKind.FLOAT, desc="长期应付款(合计)(元)"),
        ColumnInfo(name="debt_invest", kind=ColumnKind.FLOAT, desc="债权投资(元)"),
        ColumnInfo(name="oth_debt_invest", kind=ColumnKind.FLOAT, desc="其他债权投资(元)"),
        ColumnInfo(name="oth_eq_invest", kind=ColumnKind.FLOAT, desc="其他权益工具投资(元)"),
        ColumnInfo(name="oth_illiq_fin_assets", kind=ColumnKind.FLOAT, desc="其他非流动金融资产(元)"),
        ColumnInfo(name="oth_eq_ppbond", kind=ColumnKind.FLOAT, desc="其他权益工具:永续债(元)"),
        ColumnInfo(name="receiv_financing", kind=ColumnKind.FLOAT, desc="应收款项融资"),
        ColumnInfo(name="use_right_assets", kind=ColumnKind.FLOAT, desc="使用权资产"),
        ColumnInfo(name="lease_liab", kind=ColumnKind.FLOAT, desc="租赁负债"),
        ColumnInfo(name="contract_assets", kind=ColumnKind.FLOAT, desc="合同资产"),
        ColumnInfo(name="contract_liab", kind=ColumnKind.FLOAT, desc="合同负债"),
        ColumnInfo(name="accounts_receiv_bill", kind=ColumnKind.FLOAT, desc="应收票据及应收账款"),
        ColumnInfo(name="accounts_pay", kind=ColumnKind.FLOAT, desc="应付票据及应付账款"),
        ColumnInfo(name="oth_rcv_total", kind=ColumnKind.FLOAT, desc="其他应收款(合计)（元）"),
        ColumnInfo(name="fix_assets_total", kind=ColumnKind.FLOAT, desc="固定资产(合计)(元)"),
    ],
)
TARGET = TableInfo(
    name=NAME,
    desc="A股资产负债表数据（xfintech格式）",
    meta={
        "key": KEY,
        "name": NAME,
        "type": "partitioned",
        "scale": "crosssection",
    },
    columns=[
        ColumnInfo(name="code", kind=ColumnKind.STRING, desc="TS代码"),
        ColumnInfo(name="date", kind=ColumnKind.STRING, desc="报告期日期(YYYY-MM-DD)"),
        ColumnInfo(name="datecode", kind=ColumnKind.STRING, desc="报告期日期码(YYYYMMDD)"),
        ColumnInfo(name="ann_date", kind=ColumnKind.STRING, desc="公告日期"),
        ColumnInfo(name="f_ann_date", kind=ColumnKind.STRING, desc="实际公告日期"),
        ColumnInfo(name="end_date", kind=ColumnKind.STRING, desc="报告期"),
        ColumnInfo(name="report_type", kind=ColumnKind.STRING, desc="报表类型"),
        ColumnInfo(name="comp_type", kind=ColumnKind.STRING, desc="公司类型(1一般工商业2银行3保险4证券)"),
        ColumnInfo(name="end_type", kind=ColumnKind.STRING, desc="报告期类型"),
        ColumnInfo(name="update_flag", kind=ColumnKind.STRING, desc="更新标识"),
        ColumnInfo(name="total_share", kind=ColumnKind.FLOAT, desc="期末总股本"),
        ColumnInfo(name="cap_rese", kind=ColumnKind.FLOAT, desc="资本公积金"),
        ColumnInfo(name="undistr_porfit", kind=ColumnKind.FLOAT, desc="未分配利润"),
        ColumnInfo(name="surplus_rese", kind=ColumnKind.FLOAT, desc="盈余公积金"),
        ColumnInfo(name="special_rese", kind=ColumnKind.FLOAT, desc="专项储备"),
        ColumnInfo(name="money_cap", kind=ColumnKind.FLOAT, desc="货币资金"),
        ColumnInfo(name="trad_asset", kind=ColumnKind.FLOAT, desc="交易性金融资产"),
        ColumnInfo(name="notes_receiv", kind=ColumnKind.FLOAT, desc="应收票据"),
        ColumnInfo(name="accounts_receiv", kind=ColumnKind.FLOAT, desc="应收账款"),
        ColumnInfo(name="oth_receiv", kind=ColumnKind.FLOAT, desc="其他应收款"),
        ColumnInfo(name="prepayment", kind=ColumnKind.FLOAT, desc="预付款项"),
        ColumnInfo(name="div_receiv", kind=ColumnKind.FLOAT, desc="应收股利"),
        ColumnInfo(name="int_receiv", kind=ColumnKind.FLOAT, desc="应收利息"),
        ColumnInfo(name="inventories", kind=ColumnKind.FLOAT, desc="存货"),
        ColumnInfo(name="amor_exp", kind=ColumnKind.FLOAT, desc="待摊费用"),
        ColumnInfo(name="nca_within_1y", kind=ColumnKind.FLOAT, desc="一年内到期的非流动资产"),
        ColumnInfo(name="sett_rsrv", kind=ColumnKind.FLOAT, desc="结算备付金"),
        ColumnInfo(name="loanto_oth_bank_fi", kind=ColumnKind.FLOAT, desc="拆出资金"),
        ColumnInfo(name="premium_receiv", kind=ColumnKind.FLOAT, desc="应收保费"),
        ColumnInfo(name="reinsur_receiv", kind=ColumnKind.FLOAT, desc="应收分保账款"),
        ColumnInfo(name="reinsur_res_receiv", kind=ColumnKind.FLOAT, desc="应收分保合同准备金"),
        ColumnInfo(name="pur_resale_fa", kind=ColumnKind.FLOAT, desc="买入返售金融资产"),
        ColumnInfo(name="oth_cur_assets", kind=ColumnKind.FLOAT, desc="其他流动资产"),
        ColumnInfo(name="total_cur_assets", kind=ColumnKind.FLOAT, desc="流动资产合计"),
        ColumnInfo(name="fa_avail_for_sale", kind=ColumnKind.FLOAT, desc="可供出售金融资产"),
        ColumnInfo(name="htm_invest", kind=ColumnKind.FLOAT, desc="持有至到期投资"),
        ColumnInfo(name="lt_eqt_invest", kind=ColumnKind.FLOAT, desc="长期股权投资"),
        ColumnInfo(name="invest_real_estate", kind=ColumnKind.FLOAT, desc="投资性房地产"),
        ColumnInfo(name="time_deposits", kind=ColumnKind.FLOAT, desc="定期存款"),
        ColumnInfo(name="oth_assets", kind=ColumnKind.FLOAT, desc="其他资产"),
        ColumnInfo(name="lt_rec", kind=ColumnKind.FLOAT, desc="长期应收款"),
        ColumnInfo(name="fix_assets", kind=ColumnKind.FLOAT, desc="固定资产"),
        ColumnInfo(name="cip", kind=ColumnKind.FLOAT, desc="在建工程"),
        ColumnInfo(name="const_materials", kind=ColumnKind.FLOAT, desc="工程物资"),
        ColumnInfo(name="fixed_assets_disp", kind=ColumnKind.FLOAT, desc="固定资产清理"),
        ColumnInfo(name="produc_bio_assets", kind=ColumnKind.FLOAT, desc="生产性生物资产"),
        ColumnInfo(name="oil_and_gas_assets", kind=ColumnKind.FLOAT, desc="油气资产"),
        ColumnInfo(name="intan_assets", kind=ColumnKind.FLOAT, desc="无形资产"),
        ColumnInfo(name="r_and_d", kind=ColumnKind.FLOAT, desc="研发支出"),
        ColumnInfo(name="goodwill", kind=ColumnKind.FLOAT, desc="商誉"),
        ColumnInfo(name="lt_amor_exp", kind=ColumnKind.FLOAT, desc="长期待摊费用"),
        ColumnInfo(name="defer_tax_assets", kind=ColumnKind.FLOAT, desc="递延所得税资产"),
        ColumnInfo(name="decr_in_disbur", kind=ColumnKind.FLOAT, desc="发放贷款及垫款"),
        ColumnInfo(name="oth_nca", kind=ColumnKind.FLOAT, desc="其他非流动资产"),
        ColumnInfo(name="total_nca", kind=ColumnKind.FLOAT, desc="非流动资产合计"),
        ColumnInfo(name="cash_reser_cb", kind=ColumnKind.FLOAT, desc="现金及存放中央银行款项"),
        ColumnInfo(name="depos_in_oth_bfi", kind=ColumnKind.FLOAT, desc="存放同业和其它金融机构款项"),
        ColumnInfo(name="prec_metals", kind=ColumnKind.FLOAT, desc="贵金属"),
        ColumnInfo(name="deriv_assets", kind=ColumnKind.FLOAT, desc="衍生金融资产"),
        ColumnInfo(name="rr_reins_une_prem", kind=ColumnKind.FLOAT, desc="应收分保未到期责任准备金"),
        ColumnInfo(name="rr_reins_outstd_cla", kind=ColumnKind.FLOAT, desc="应收分保未决赔款准备金"),
        ColumnInfo(name="rr_reins_lins_liab", kind=ColumnKind.FLOAT, desc="应收分保寿险责任准备金"),
        ColumnInfo(name="rr_reins_lthins_liab", kind=ColumnKind.FLOAT, desc="应收分保长期健康险责任准备金"),
        ColumnInfo(name="refund_depos", kind=ColumnKind.FLOAT, desc="存出保证金"),
        ColumnInfo(name="ph_pledge_loans", kind=ColumnKind.FLOAT, desc="保户质押贷款"),
        ColumnInfo(name="refund_cap_depos", kind=ColumnKind.FLOAT, desc="存出资本保证金"),
        ColumnInfo(name="indep_acct_assets", kind=ColumnKind.FLOAT, desc="独立账户资产"),
        ColumnInfo(name="client_depos", kind=ColumnKind.FLOAT, desc="其中：客户资金存款"),
        ColumnInfo(name="client_prov", kind=ColumnKind.FLOAT, desc="其中：客户备付金"),
        ColumnInfo(name="transac_seat_fee", kind=ColumnKind.FLOAT, desc="其中:交易席位费"),
        ColumnInfo(name="invest_as_receiv", kind=ColumnKind.FLOAT, desc="应收款项类投资"),
        ColumnInfo(name="total_assets", kind=ColumnKind.FLOAT, desc="资产总计"),
        ColumnInfo(name="lt_borr", kind=ColumnKind.FLOAT, desc="长期借款"),
        ColumnInfo(name="st_borr", kind=ColumnKind.FLOAT, desc="短期借款"),
        ColumnInfo(name="cb_borr", kind=ColumnKind.FLOAT, desc="向中央银行借款"),
        ColumnInfo(name="depos_ib_deposits", kind=ColumnKind.FLOAT, desc="吸收存款及同业存放"),
        ColumnInfo(name="loan_oth_bank", kind=ColumnKind.FLOAT, desc="拆入资金"),
        ColumnInfo(name="trading_fl", kind=ColumnKind.FLOAT, desc="交易性金融负债"),
        ColumnInfo(name="notes_payable", kind=ColumnKind.FLOAT, desc="应付票据"),
        ColumnInfo(name="acct_payable", kind=ColumnKind.FLOAT, desc="应付账款"),
        ColumnInfo(name="adv_receipts", kind=ColumnKind.FLOAT, desc="预收款项"),
        ColumnInfo(name="sold_for_repur_fa", kind=ColumnKind.FLOAT, desc="卖出回购金融资产款"),
        ColumnInfo(name="comm_payable", kind=ColumnKind.FLOAT, desc="应付手续费及佣金"),
        ColumnInfo(name="payroll_payable", kind=ColumnKind.FLOAT, desc="应付职工薪酬"),
        ColumnInfo(name="taxes_payable", kind=ColumnKind.FLOAT, desc="应交税费"),
        ColumnInfo(name="int_payable", kind=ColumnKind.FLOAT, desc="应付利息"),
        ColumnInfo(name="div_payable", kind=ColumnKind.FLOAT, desc="应付股利"),
        ColumnInfo(name="oth_payable", kind=ColumnKind.FLOAT, desc="其他应付款"),
        ColumnInfo(name="acc_exp", kind=ColumnKind.FLOAT, desc="预提费用"),
        ColumnInfo(name="deferred_inc", kind=ColumnKind.FLOAT, desc="递延收益"),
        ColumnInfo(name="st_bonds_payable", kind=ColumnKind.FLOAT, desc="应付短期债券"),
        ColumnInfo(name="payable_to_reinsurer", kind=ColumnKind.FLOAT, desc="应付分保账款"),
        ColumnInfo(name="rsrv_insur_cont", kind=ColumnKind.FLOAT, desc="保险合同准备金"),
        ColumnInfo(name="acting_trading_sec", kind=ColumnKind.FLOAT, desc="代理买卖证券款"),
        ColumnInfo(name="acting_uw_sec", kind=ColumnKind.FLOAT, desc="代理承销证券款"),
        ColumnInfo(name="non_cur_liab_due_1y", kind=ColumnKind.FLOAT, desc="一年内到期的非流动负债"),
        ColumnInfo(name="oth_cur_liab", kind=ColumnKind.FLOAT, desc="其他流动负债"),
        ColumnInfo(name="total_cur_liab", kind=ColumnKind.FLOAT, desc="流动负债合计"),
        ColumnInfo(name="bond_payable", kind=ColumnKind.FLOAT, desc="应付债券"),
        ColumnInfo(name="lt_payable", kind=ColumnKind.FLOAT, desc="长期应付款"),
        ColumnInfo(name="specific_payables", kind=ColumnKind.FLOAT, desc="专项应付款"),
        ColumnInfo(name="estimated_liab", kind=ColumnKind.FLOAT, desc="预计负债"),
        ColumnInfo(name="defer_tax_liab", kind=ColumnKind.FLOAT, desc="递延所得税负债"),
        ColumnInfo(name="defer_inc_non_cur_liab", kind=ColumnKind.FLOAT, desc="递延收益-非流动负债"),
        ColumnInfo(name="oth_ncl", kind=ColumnKind.FLOAT, desc="其他非流动负债"),
        ColumnInfo(name="total_ncl", kind=ColumnKind.FLOAT, desc="非流动负债合计"),
        ColumnInfo(name="depos_oth_bfi", kind=ColumnKind.FLOAT, desc="同业和其它金融机构存放款项"),
        ColumnInfo(name="deriv_liab", kind=ColumnKind.FLOAT, desc="衍生金融负债"),
        ColumnInfo(name="depos", kind=ColumnKind.FLOAT, desc="吸收存款"),
        ColumnInfo(name="agency_bus_liab", kind=ColumnKind.FLOAT, desc="代理业务负债"),
        ColumnInfo(name="oth_liab", kind=ColumnKind.FLOAT, desc="其他负债"),
        ColumnInfo(name="prem_receiv_adva", kind=ColumnKind.FLOAT, desc="预收保费"),
        ColumnInfo(name="depos_received", kind=ColumnKind.FLOAT, desc="存入保证金"),
        ColumnInfo(name="ph_invest", kind=ColumnKind.FLOAT, desc="保户储金及投资款"),
        ColumnInfo(name="reser_une_prem", kind=ColumnKind.FLOAT, desc="未到期责任准备金"),
        ColumnInfo(name="reser_outstd_claims", kind=ColumnKind.FLOAT, desc="未决赔款准备金"),
        ColumnInfo(name="reser_lins_liab", kind=ColumnKind.FLOAT, desc="寿险责任准备金"),
        ColumnInfo(name="reser_lthins_liab", kind=ColumnKind.FLOAT, desc="长期健康险责任准备金"),
        ColumnInfo(name="indept_acc_liab", kind=ColumnKind.FLOAT, desc="独立账户负债"),
        ColumnInfo(name="pledge_borr", kind=ColumnKind.FLOAT, desc="其中:质押借款"),
        ColumnInfo(name="indem_payable", kind=ColumnKind.FLOAT, desc="应付赔付款"),
        ColumnInfo(name="policy_div_payable", kind=ColumnKind.FLOAT, desc="应付保单红利"),
        ColumnInfo(name="total_liab", kind=ColumnKind.FLOAT, desc="负债合计"),
        ColumnInfo(name="treasury_share", kind=ColumnKind.FLOAT, desc="减:库存股"),
        ColumnInfo(name="ordin_risk_reser", kind=ColumnKind.FLOAT, desc="一般风险准备"),
        ColumnInfo(name="forex_differ", kind=ColumnKind.FLOAT, desc="外币报表折算差额"),
        ColumnInfo(name="invest_loss_unconf", kind=ColumnKind.FLOAT, desc="未确认的投资损失"),
        ColumnInfo(name="minority_int", kind=ColumnKind.FLOAT, desc="少数股东权益"),
        ColumnInfo(name="total_hldr_eqy_exc_min_int", kind=ColumnKind.FLOAT, desc="股东权益合计(不含少数股东权益)"),
        ColumnInfo(name="total_hldr_eqy_inc_min_int", kind=ColumnKind.FLOAT, desc="股东权益合计(含少数股东权益)"),
        ColumnInfo(name="total_liab_hldr_eqy", kind=ColumnKind.FLOAT, desc="负债及股东权益总计"),
        ColumnInfo(name="lt_payroll_payable", kind=ColumnKind.FLOAT, desc="长期应付职工薪酬"),
        ColumnInfo(name="oth_comp_income", kind=ColumnKind.FLOAT, desc="其他综合收益"),
        ColumnInfo(name="oth_eqt_tools", kind=ColumnKind.FLOAT, desc="其他权益工具"),
        ColumnInfo(name="oth_eqt_tools_p_shr", kind=ColumnKind.FLOAT, desc="其他权益工具(优先股)"),
        ColumnInfo(name="lending_funds", kind=ColumnKind.FLOAT, desc="融出资金"),
        ColumnInfo(name="acc_receivable", kind=ColumnKind.FLOAT, desc="应收款项"),
        ColumnInfo(name="st_fin_payable", kind=ColumnKind.FLOAT, desc="应付短期融资款"),
        ColumnInfo(name="payables", kind=ColumnKind.FLOAT, desc="应付款项"),
        ColumnInfo(name="hfs_assets", kind=ColumnKind.FLOAT, desc="持有待售的资产"),
        ColumnInfo(name="hfs_sales", kind=ColumnKind.FLOAT, desc="持有待售的负债"),
        ColumnInfo(name="cost_fin_assets", kind=ColumnKind.FLOAT, desc="以摊余成本计量的金融资产"),
        ColumnInfo(
            name="fair_value_fin_assets", kind=ColumnKind.FLOAT, desc="以公允价值计量且其变动计入其他综合收益的金融资产"
        ),
        ColumnInfo(name="cip_total", kind=ColumnKind.FLOAT, desc="在建工程(合计)(元)"),
        ColumnInfo(name="oth_pay_total", kind=ColumnKind.FLOAT, desc="其他应付款(合计)(元)"),
        ColumnInfo(name="long_pay_total", kind=ColumnKind.FLOAT, desc="长期应付款(合计)(元)"),
        ColumnInfo(name="debt_invest", kind=ColumnKind.FLOAT, desc="债权投资(元)"),
        ColumnInfo(name="oth_debt_invest", kind=ColumnKind.FLOAT, desc="其他债权投资(元)"),
        ColumnInfo(name="oth_eq_invest", kind=ColumnKind.FLOAT, desc="其他权益工具投资(元)"),
        ColumnInfo(name="oth_illiq_fin_assets", kind=ColumnKind.FLOAT, desc="其他非流动金融资产(元)"),
        ColumnInfo(name="oth_eq_ppbond", kind=ColumnKind.FLOAT, desc="其他权益工具:永续债(元)"),
        ColumnInfo(name="receiv_financing", kind=ColumnKind.FLOAT, desc="应收款项融资"),
        ColumnInfo(name="use_right_assets", kind=ColumnKind.FLOAT, desc="使用权资产"),
        ColumnInfo(name="lease_liab", kind=ColumnKind.FLOAT, desc="租赁负债"),
        ColumnInfo(name="contract_assets", kind=ColumnKind.FLOAT, desc="合同资产"),
        ColumnInfo(name="contract_liab", kind=ColumnKind.FLOAT, desc="合同负债"),
        ColumnInfo(name="accounts_receiv_bill", kind=ColumnKind.FLOAT, desc="应收票据及应收账款"),
        ColumnInfo(name="accounts_pay", kind=ColumnKind.FLOAT, desc="应付票据及应付账款"),
        ColumnInfo(name="oth_rcv_total", kind=ColumnKind.FLOAT, desc="其他应收款(合计)（元）"),
        ColumnInfo(name="fix_assets_total", kind=ColumnKind.FLOAT, desc="固定资产(合计)(元)"),
    ],
)
