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 = "cashflow_vip"
URL = "https://tushare.pro/document/2?doc_id=44"
ARGS = {
    "ts_code": {
        "type": ColumnKind.STRING,
        "required": "N",
        "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 = "companycashflow"
KEY = "/tushare/companycashflow"
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="comp_type", kind=ColumnKind.STRING, desc="公司类型(1一般工商业2银行3保险4证券)"),
        ColumnInfo(name="report_type", kind=ColumnKind.STRING, desc="报表类型"),
        ColumnInfo(name="end_type", kind=ColumnKind.STRING, desc="报告期类型"),
        ColumnInfo(name="update_flag", kind=ColumnKind.STRING, desc="更新标志(1最新）"),
        ColumnInfo(name="net_profit", kind=ColumnKind.FLOAT, desc="净利润"),
        ColumnInfo(name="finan_exp", kind=ColumnKind.FLOAT, desc="财务费用"),
        ColumnInfo(name="c_fr_sale_sg", kind=ColumnKind.FLOAT, desc="销售商品、提供劳务收到的现金"),
        ColumnInfo(name="recp_tax_rends", kind=ColumnKind.FLOAT, desc="收到的税费返还"),
        ColumnInfo(name="n_depos_incr_fi", kind=ColumnKind.FLOAT, desc="客户存款和同业存放款项净增加额"),
        ColumnInfo(name="n_incr_loans_cb", kind=ColumnKind.FLOAT, desc="向中央银行借款净增加额"),
        ColumnInfo(name="n_inc_borr_oth_fi", kind=ColumnKind.FLOAT, desc="向其他金融机构拆入资金净增加额"),
        ColumnInfo(name="prem_fr_orig_contr", kind=ColumnKind.FLOAT, desc="收到原保险合同保费取得的现金"),
        ColumnInfo(name="n_incr_insured_dep", kind=ColumnKind.FLOAT, desc="保户储金净增加额"),
        ColumnInfo(name="n_reinsur_prem", kind=ColumnKind.FLOAT, desc="收到再保业务现金净额"),
        ColumnInfo(name="n_incr_disp_tfa", kind=ColumnKind.FLOAT, desc="处置交易性金融资产净增加额"),
        ColumnInfo(name="ifc_cash_incr", kind=ColumnKind.FLOAT, desc="收取利息和手续费净增加额"),
        ColumnInfo(name="n_incr_disp_faas", kind=ColumnKind.FLOAT, desc="处置可供出售金融资产净增加额"),
        ColumnInfo(name="n_incr_loans_oth_bank", kind=ColumnKind.FLOAT, desc="拆入资金净增加额"),
        ColumnInfo(name="n_cap_incr_repur", kind=ColumnKind.FLOAT, desc="回购业务资金净增加额"),
        ColumnInfo(name="c_fr_oth_operate_a", kind=ColumnKind.FLOAT, desc="收到其他与经营活动有关的现金"),
        ColumnInfo(name="c_inf_fr_operate_a", kind=ColumnKind.FLOAT, desc="经营活动现金流入小计"),
        ColumnInfo(name="c_paid_goods_s", kind=ColumnKind.FLOAT, desc="购买商品、接受劳务支付的现金"),
        ColumnInfo(name="c_paid_to_for_empl", kind=ColumnKind.FLOAT, desc="支付给职工以及为职工支付的现金"),
        ColumnInfo(name="c_paid_for_taxes", kind=ColumnKind.FLOAT, desc="支付的各项税费"),
        ColumnInfo(name="n_incr_clt_loan_adv", kind=ColumnKind.FLOAT, desc="客户贷款及垫款净增加额"),
        ColumnInfo(name="n_incr_dep_cbob", kind=ColumnKind.FLOAT, desc="存放央行和同业款项净增加额"),
        ColumnInfo(name="c_pay_claims_orig_inco", kind=ColumnKind.FLOAT, desc="支付原保险合同赔付款项的现金"),
        ColumnInfo(name="pay_handling_chrg", kind=ColumnKind.FLOAT, desc="支付手续费的现金"),
        ColumnInfo(name="pay_comm_insur_plcy", kind=ColumnKind.FLOAT, desc="支付保单红利的现金"),
        ColumnInfo(name="oth_cash_pay_oper_act", kind=ColumnKind.FLOAT, desc="支付其他与经营活动有关的现金"),
        ColumnInfo(name="st_cash_out_act", kind=ColumnKind.FLOAT, desc="经营活动现金流出小计"),
        ColumnInfo(name="n_cashflow_act", kind=ColumnKind.FLOAT, desc="经营活动产生的现金流量净额"),
        ColumnInfo(name="oth_recp_ral_inv_act", kind=ColumnKind.FLOAT, desc="收到其他与投资活动有关的现金"),
        ColumnInfo(name="c_disp_withdrwl_invest", kind=ColumnKind.FLOAT, desc="收回投资收到的现金"),
        ColumnInfo(name="c_recp_return_invest", kind=ColumnKind.FLOAT, desc="取得投资收益收到的现金"),
        ColumnInfo(
            name="n_recp_disp_fiolta", kind=ColumnKind.FLOAT, desc="处置固定资产、无形资产和其他长期资产收回的现金净额"
        ),
        ColumnInfo(name="n_recp_disp_sobu", kind=ColumnKind.FLOAT, desc="处置子公司及其他营业单位收到的现金净额"),
        ColumnInfo(name="stot_inflows_inv_act", kind=ColumnKind.FLOAT, desc="投资活动现金流入小计"),
        ColumnInfo(
            name="c_pay_acq_const_fiolta", kind=ColumnKind.FLOAT, desc="购建固定资产、无形资产和其他长期资产支付的现金"
        ),
        ColumnInfo(name="c_paid_invest", kind=ColumnKind.FLOAT, desc="投资支付的现金"),
        ColumnInfo(name="n_disp_subs_oth_biz", kind=ColumnKind.FLOAT, desc="取得子公司及其他营业单位支付的现金净额"),
        ColumnInfo(name="oth_pay_ral_inv_act", kind=ColumnKind.FLOAT, desc="支付其他与投资活动有关的现金"),
        ColumnInfo(name="n_incr_pledge_loan", kind=ColumnKind.FLOAT, desc="质押贷款净增加额"),
        ColumnInfo(name="stot_out_inv_act", kind=ColumnKind.FLOAT, desc="投资活动现金流出小计"),
        ColumnInfo(name="n_cashflow_inv_act", kind=ColumnKind.FLOAT, desc="投资活动产生的现金流量净额"),
        ColumnInfo(name="c_recp_borrow", kind=ColumnKind.FLOAT, desc="取得借款收到的现金"),
        ColumnInfo(name="proc_issue_bonds", kind=ColumnKind.FLOAT, desc="发行债券收到的现金"),
        ColumnInfo(name="oth_cash_recp_ral_fnc_act", kind=ColumnKind.FLOAT, desc="收到其他与筹资活动有关的现金"),
        ColumnInfo(name="stot_cash_in_fnc_act", kind=ColumnKind.FLOAT, desc="筹资活动现金流入小计"),
        ColumnInfo(name="free_cashflow", kind=ColumnKind.FLOAT, desc="企业自由现金流量"),
        ColumnInfo(name="c_prepay_amt_borr", kind=ColumnKind.FLOAT, desc="偿还债务支付的现金"),
        ColumnInfo(name="c_pay_dist_dpcp_int_exp", kind=ColumnKind.FLOAT, desc="分配股利、利润或偿付利息支付的现金"),
        ColumnInfo(
            name="incl_dvd_profit_paid_sc_ms", kind=ColumnKind.FLOAT, desc="其中:子公司支付给少数股东的股利、利润"
        ),
        ColumnInfo(name="oth_cashpay_ral_fnc_act", kind=ColumnKind.FLOAT, desc="支付其他与筹资活动有关的现金"),
        ColumnInfo(name="stot_cashout_fnc_act", kind=ColumnKind.FLOAT, desc="筹资活动现金流出小计"),
        ColumnInfo(name="n_cash_flows_fnc_act", kind=ColumnKind.FLOAT, desc="筹资活动产生的现金流量净额"),
        ColumnInfo(name="eff_fx_flu_cash", kind=ColumnKind.FLOAT, desc="汇率变动对现金的影响"),
        ColumnInfo(name="n_incr_cash_cash_equ", kind=ColumnKind.FLOAT, desc="现金及现金等价物净增加额"),
        ColumnInfo(name="c_cash_equ_beg_period", kind=ColumnKind.FLOAT, desc="期初现金及现金等价物余额"),
        ColumnInfo(name="c_cash_equ_end_period", kind=ColumnKind.FLOAT, desc="期末现金及现金等价物余额"),
        ColumnInfo(name="c_recp_cap_contrib", kind=ColumnKind.FLOAT, desc="吸收投资收到的现金"),
        ColumnInfo(name="incl_cash_rec_saims", kind=ColumnKind.FLOAT, desc="其中:子公司吸收少数股东投资收到的现金"),
        ColumnInfo(name="uncon_invest_loss", kind=ColumnKind.FLOAT, desc="未确认投资损失"),
        ColumnInfo(name="prov_depr_assets", kind=ColumnKind.FLOAT, desc="加:资产减值准备"),
        ColumnInfo(
            name="depr_fa_coga_dpba", kind=ColumnKind.FLOAT, desc="固定资产折旧、油气资产折耗、生产性生物资产折旧"
        ),
        ColumnInfo(name="amort_intang_assets", kind=ColumnKind.FLOAT, desc="无形资产摊销"),
        ColumnInfo(name="lt_amort_deferred_exp", kind=ColumnKind.FLOAT, desc="长期待摊费用摊销"),
        ColumnInfo(name="decr_deferred_exp", kind=ColumnKind.FLOAT, desc="待摊费用减少"),
        ColumnInfo(name="incr_acc_exp", kind=ColumnKind.FLOAT, desc="预提费用增加"),
        ColumnInfo(name="loss_disp_fiolta", kind=ColumnKind.FLOAT, desc="处置固定、无形资产和其他长期资产的损失"),
        ColumnInfo(name="loss_scr_fa", kind=ColumnKind.FLOAT, desc="固定资产报废损失"),
        ColumnInfo(name="loss_fv_chg", kind=ColumnKind.FLOAT, desc="公允价值变动损失"),
        ColumnInfo(name="invest_loss", kind=ColumnKind.FLOAT, desc="投资损失"),
        ColumnInfo(name="decr_def_inc_tax_assets", kind=ColumnKind.FLOAT, desc="递延所得税资产减少"),
        ColumnInfo(name="incr_def_inc_tax_liab", kind=ColumnKind.FLOAT, desc="递延所得税负债增加"),
        ColumnInfo(name="decr_inventories", kind=ColumnKind.FLOAT, desc="存货的减少"),
        ColumnInfo(name="decr_oper_payable", kind=ColumnKind.FLOAT, desc="经营性应收项目的减少"),
        ColumnInfo(name="incr_oper_payable", kind=ColumnKind.FLOAT, desc="经营性应付项目的增加"),
        ColumnInfo(name="others", kind=ColumnKind.FLOAT, desc="其他"),
        ColumnInfo(name="im_net_cashflow_oper_act", kind=ColumnKind.FLOAT, desc="经营活动产生的现金流量净额(间接法)"),
        ColumnInfo(name="conv_debt_into_cap", kind=ColumnKind.FLOAT, desc="债务转为资本"),
        ColumnInfo(name="conv_copbonds_due_within_1y", kind=ColumnKind.FLOAT, desc="一年内到期的可转换公司债券"),
        ColumnInfo(name="fa_fnc_leases", kind=ColumnKind.FLOAT, desc="融资租入固定资产"),
        ColumnInfo(name="im_n_incr_cash_equ", kind=ColumnKind.FLOAT, desc="现金及现金等价物净增加额(间接法)"),
        ColumnInfo(name="net_dism_capital_add", kind=ColumnKind.FLOAT, desc="拆出资金净增加额"),
        ColumnInfo(name="net_cash_rece_sec", kind=ColumnKind.FLOAT, desc="代理买卖证券收到的现金净额(元)"),
        ColumnInfo(name="credit_impa_loss", kind=ColumnKind.FLOAT, desc="信用减值损失"),
        ColumnInfo(name="use_right_asset_dep", kind=ColumnKind.FLOAT, desc="使用权资产折旧"),
        ColumnInfo(name="oth_loss_asset", kind=ColumnKind.FLOAT, desc="其他资产减值损失"),
        ColumnInfo(name="end_bal_cash", kind=ColumnKind.FLOAT, desc="现金的期末余额"),
        ColumnInfo(name="beg_bal_cash", kind=ColumnKind.FLOAT, desc="减:现金的期初余额"),
        ColumnInfo(name="end_bal_cash_equ", kind=ColumnKind.FLOAT, desc="加:现金等价物的期末余额"),
        ColumnInfo(name="beg_bal_cash_equ", 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="comp_type", kind=ColumnKind.STRING, desc="公司类型(1一般工商业2银行3保险4证券)"),
        ColumnInfo(name="report_type", kind=ColumnKind.STRING, desc="报表类型"),
        ColumnInfo(name="end_type", kind=ColumnKind.STRING, desc="报告期类型"),
        ColumnInfo(name="update_flag", kind=ColumnKind.STRING, desc="更新标志(1最新）"),
        ColumnInfo(name="net_profit", kind=ColumnKind.FLOAT, desc="净利润"),
        ColumnInfo(name="finan_exp", kind=ColumnKind.FLOAT, desc="财务费用"),
        ColumnInfo(name="c_fr_sale_sg", kind=ColumnKind.FLOAT, desc="销售商品、提供劳务收到的现金"),
        ColumnInfo(name="recp_tax_rends", kind=ColumnKind.FLOAT, desc="收到的税费返还"),
        ColumnInfo(name="n_depos_incr_fi", kind=ColumnKind.FLOAT, desc="客户存款和同业存放款项净增加额"),
        ColumnInfo(name="n_incr_loans_cb", kind=ColumnKind.FLOAT, desc="向中央银行借款净增加额"),
        ColumnInfo(name="n_inc_borr_oth_fi", kind=ColumnKind.FLOAT, desc="向其他金融机构拆入资金净增加额"),
        ColumnInfo(name="prem_fr_orig_contr", kind=ColumnKind.FLOAT, desc="收到原保险合同保费取得的现金"),
        ColumnInfo(name="n_incr_insured_dep", kind=ColumnKind.FLOAT, desc="保户储金净增加额"),
        ColumnInfo(name="n_reinsur_prem", kind=ColumnKind.FLOAT, desc="收到再保业务现金净额"),
        ColumnInfo(name="n_incr_disp_tfa", kind=ColumnKind.FLOAT, desc="处置交易性金融资产净增加额"),
        ColumnInfo(name="ifc_cash_incr", kind=ColumnKind.FLOAT, desc="收取利息和手续费净增加额"),
        ColumnInfo(name="n_incr_disp_faas", kind=ColumnKind.FLOAT, desc="处置可供出售金融资产净增加额"),
        ColumnInfo(name="n_incr_loans_oth_bank", kind=ColumnKind.FLOAT, desc="拆入资金净增加额"),
        ColumnInfo(name="n_cap_incr_repur", kind=ColumnKind.FLOAT, desc="回购业务资金净增加额"),
        ColumnInfo(name="c_fr_oth_operate_a", kind=ColumnKind.FLOAT, desc="收到其他与经营活动有关的现金"),
        ColumnInfo(name="c_inf_fr_operate_a", kind=ColumnKind.FLOAT, desc="经营活动现金流入小计"),
        ColumnInfo(name="c_paid_goods_s", kind=ColumnKind.FLOAT, desc="购买商品、接受劳务支付的现金"),
        ColumnInfo(name="c_paid_to_for_empl", kind=ColumnKind.FLOAT, desc="支付给职工以及为职工支付的现金"),
        ColumnInfo(name="c_paid_for_taxes", kind=ColumnKind.FLOAT, desc="支付的各项税费"),
        ColumnInfo(name="n_incr_clt_loan_adv", kind=ColumnKind.FLOAT, desc="客户贷款及垫款净增加额"),
        ColumnInfo(name="n_incr_dep_cbob", kind=ColumnKind.FLOAT, desc="存放央行和同业款项净增加额"),
        ColumnInfo(name="c_pay_claims_orig_inco", kind=ColumnKind.FLOAT, desc="支付原保险合同赔付款项的现金"),
        ColumnInfo(name="pay_handling_chrg", kind=ColumnKind.FLOAT, desc="支付手续费的现金"),
        ColumnInfo(name="pay_comm_insur_plcy", kind=ColumnKind.FLOAT, desc="支付保单红利的现金"),
        ColumnInfo(name="oth_cash_pay_oper_act", kind=ColumnKind.FLOAT, desc="支付其他与经营活动有关的现金"),
        ColumnInfo(name="st_cash_out_act", kind=ColumnKind.FLOAT, desc="经营活动现金流出小计"),
        ColumnInfo(name="n_cashflow_act", kind=ColumnKind.FLOAT, desc="经营活动产生的现金流量净额"),
        ColumnInfo(name="oth_recp_ral_inv_act", kind=ColumnKind.FLOAT, desc="收到其他与投资活动有关的现金"),
        ColumnInfo(name="c_disp_withdrwl_invest", kind=ColumnKind.FLOAT, desc="收回投资收到的现金"),
        ColumnInfo(name="c_recp_return_invest", kind=ColumnKind.FLOAT, desc="取得投资收益收到的现金"),
        ColumnInfo(
            name="n_recp_disp_fiolta", kind=ColumnKind.FLOAT, desc="处置固定资产、无形资产和其他长期资产收回的现金净额"
        ),
        ColumnInfo(name="n_recp_disp_sobu", kind=ColumnKind.FLOAT, desc="处置子公司及其他营业单位收到的现金净额"),
        ColumnInfo(name="stot_inflows_inv_act", kind=ColumnKind.FLOAT, desc="投资活动现金流入小计"),
        ColumnInfo(
            name="c_pay_acq_const_fiolta", kind=ColumnKind.FLOAT, desc="购建固定资产、无形资产和其他长期资产支付的现金"
        ),
        ColumnInfo(name="c_paid_invest", kind=ColumnKind.FLOAT, desc="投资支付的现金"),
        ColumnInfo(name="n_disp_subs_oth_biz", kind=ColumnKind.FLOAT, desc="取得子公司及其他营业单位支付的现金净额"),
        ColumnInfo(name="oth_pay_ral_inv_act", kind=ColumnKind.FLOAT, desc="支付其他与投资活动有关的现金"),
        ColumnInfo(name="n_incr_pledge_loan", kind=ColumnKind.FLOAT, desc="质押贷款净增加额"),
        ColumnInfo(name="stot_out_inv_act", kind=ColumnKind.FLOAT, desc="投资活动现金流出小计"),
        ColumnInfo(name="n_cashflow_inv_act", kind=ColumnKind.FLOAT, desc="投资活动产生的现金流量净额"),
        ColumnInfo(name="c_recp_borrow", kind=ColumnKind.FLOAT, desc="取得借款收到的现金"),
        ColumnInfo(name="proc_issue_bonds", kind=ColumnKind.FLOAT, desc="发行债券收到的现金"),
        ColumnInfo(name="oth_cash_recp_ral_fnc_act", kind=ColumnKind.FLOAT, desc="收到其他与筹资活动有关的现金"),
        ColumnInfo(name="stot_cash_in_fnc_act", kind=ColumnKind.FLOAT, desc="筹资活动现金流入小计"),
        ColumnInfo(name="free_cashflow", kind=ColumnKind.FLOAT, desc="企业自由现金流量"),
        ColumnInfo(name="c_prepay_amt_borr", kind=ColumnKind.FLOAT, desc="偿还债务支付的现金"),
        ColumnInfo(name="c_pay_dist_dpcp_int_exp", kind=ColumnKind.FLOAT, desc="分配股利、利润或偿付利息支付的现金"),
        ColumnInfo(
            name="incl_dvd_profit_paid_sc_ms", kind=ColumnKind.FLOAT, desc="其中:子公司支付给少数股东的股利、利润"
        ),
        ColumnInfo(name="oth_cashpay_ral_fnc_act", kind=ColumnKind.FLOAT, desc="支付其他与筹资活动有关的现金"),
        ColumnInfo(name="stot_cashout_fnc_act", kind=ColumnKind.FLOAT, desc="筹资活动现金流出小计"),
        ColumnInfo(name="n_cash_flows_fnc_act", kind=ColumnKind.FLOAT, desc="筹资活动产生的现金流量净额"),
        ColumnInfo(name="eff_fx_flu_cash", kind=ColumnKind.FLOAT, desc="汇率变动对现金的影响"),
        ColumnInfo(name="n_incr_cash_cash_equ", kind=ColumnKind.FLOAT, desc="现金及现金等价物净增加额"),
        ColumnInfo(name="c_cash_equ_beg_period", kind=ColumnKind.FLOAT, desc="期初现金及现金等价物余额"),
        ColumnInfo(name="c_cash_equ_end_period", kind=ColumnKind.FLOAT, desc="期末现金及现金等价物余额"),
        ColumnInfo(name="c_recp_cap_contrib", kind=ColumnKind.FLOAT, desc="吸收投资收到的现金"),
        ColumnInfo(name="incl_cash_rec_saims", kind=ColumnKind.FLOAT, desc="其中:子公司吸收少数股东投资收到的现金"),
        ColumnInfo(name="uncon_invest_loss", kind=ColumnKind.FLOAT, desc="未确认投资损失"),
        ColumnInfo(name="prov_depr_assets", kind=ColumnKind.FLOAT, desc="加:资产减值准备"),
        ColumnInfo(
            name="depr_fa_coga_dpba", kind=ColumnKind.FLOAT, desc="固定资产折旧、油气资产折耗、生产性生物资产折旧"
        ),
        ColumnInfo(name="amort_intang_assets", kind=ColumnKind.FLOAT, desc="无形资产摊销"),
        ColumnInfo(name="lt_amort_deferred_exp", kind=ColumnKind.FLOAT, desc="长期待摊费用摊销"),
        ColumnInfo(name="decr_deferred_exp", kind=ColumnKind.FLOAT, desc="待摊费用减少"),
        ColumnInfo(name="incr_acc_exp", kind=ColumnKind.FLOAT, desc="预提费用增加"),
        ColumnInfo(name="loss_disp_fiolta", kind=ColumnKind.FLOAT, desc="处置固定、无形资产和其他长期资产的损失"),
        ColumnInfo(name="loss_scr_fa", kind=ColumnKind.FLOAT, desc="固定资产报废损失"),
        ColumnInfo(name="loss_fv_chg", kind=ColumnKind.FLOAT, desc="公允价值变动损失"),
        ColumnInfo(name="invest_loss", kind=ColumnKind.FLOAT, desc="投资损失"),
        ColumnInfo(name="decr_def_inc_tax_assets", kind=ColumnKind.FLOAT, desc="递延所得税资产减少"),
        ColumnInfo(name="incr_def_inc_tax_liab", kind=ColumnKind.FLOAT, desc="递延所得税负债增加"),
        ColumnInfo(name="decr_inventories", kind=ColumnKind.FLOAT, desc="存货的减少"),
        ColumnInfo(name="decr_oper_payable", kind=ColumnKind.FLOAT, desc="经营性应收项目的减少"),
        ColumnInfo(name="incr_oper_payable", kind=ColumnKind.FLOAT, desc="经营性应付项目的增加"),
        ColumnInfo(name="others", kind=ColumnKind.FLOAT, desc="其他"),
        ColumnInfo(name="im_net_cashflow_oper_act", kind=ColumnKind.FLOAT, desc="经营活动产生的现金流量净额(间接法)"),
        ColumnInfo(name="conv_debt_into_cap", kind=ColumnKind.FLOAT, desc="债务转为资本"),
        ColumnInfo(name="conv_copbonds_due_within_1y", kind=ColumnKind.FLOAT, desc="一年内到期的可转换公司债券"),
        ColumnInfo(name="fa_fnc_leases", kind=ColumnKind.FLOAT, desc="融资租入固定资产"),
        ColumnInfo(name="im_n_incr_cash_equ", kind=ColumnKind.FLOAT, desc="现金及现金等价物净增加额(间接法)"),
        ColumnInfo(name="net_dism_capital_add", kind=ColumnKind.FLOAT, desc="拆出资金净增加额"),
        ColumnInfo(name="net_cash_rece_sec", kind=ColumnKind.FLOAT, desc="代理买卖证券收到的现金净额(元)"),
        ColumnInfo(name="credit_impa_loss", kind=ColumnKind.FLOAT, desc="信用减值损失"),
        ColumnInfo(name="use_right_asset_dep", kind=ColumnKind.FLOAT, desc="使用权资产折旧"),
        ColumnInfo(name="oth_loss_asset", kind=ColumnKind.FLOAT, desc="其他资产减值损失"),
        ColumnInfo(name="end_bal_cash", kind=ColumnKind.FLOAT, desc="现金的期末余额"),
        ColumnInfo(name="beg_bal_cash", kind=ColumnKind.FLOAT, desc="减:现金的期初余额"),
        ColumnInfo(name="end_bal_cash_equ", kind=ColumnKind.FLOAT, desc="加:现金等价物的期末余额"),
        ColumnInfo(name="beg_bal_cash_equ", kind=ColumnKind.FLOAT, desc="减:现金等价物的期初余额"),
    ],
)
