Commit 0ecf8f3b by guanzhenshan

资产负债表增加环比图和导出

parent 82af317e
......@@ -438,6 +438,146 @@ namespace Bailun.DC.Services
}
/// <summary>
/// 获取固定时间的资产负债表明细
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public List<dc_balance_sheet> ListBalanceSheet(DateTime start, DateTime end)
{
var dt = new List<string>();
dt.Add(start.ToString("yyyy-MM-dd"));
dt.Add(end.ToString("yyyy-MM-dd"));
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
var sql = $"select * from dc_balance_sheet where statistical_time in ('{start.ToString("yyyy-MM-dd")}','{end.ToString("yyyy-MM-dd")}') order by statistical_time";
var list = new List<dc_balance_sheet>();
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
list = cn.Query<dc_balance_sheet>(sql).AsList();
if (list.Count < 2)
{
if (list.Count == 0)
{
list = new List<dc_balance_sheet>();
}
foreach (var item in dt)
{
var m = list.Where(a => a.statistical_time.ToString("yyyy-MM-dd") == item).FirstOrDefault();
if (m == null)
{
m = new dc_balance_sheet()
{
accounts_payable = 0,
accounts_receivable = 0,
advance_received = 0,
cl_count = 0,
cl_dividends_payable = 0,
cl_notes_payable = 0,
cl_oneyear_noncurrent_liabilities = 0,
cl_other_liabilities = 0,
cl_payable_interest = 0,
cl_trading_financ_liabilities = 0,
company_name = "",
company_value = 0,
count_assets = 0,
count_liabilities = 0,
count_liabilities_and_oe = 0,
fa_bill_receivable = 0,
fa_count = 0,
fa_dividends_receivable = 0,
fa_interest_receivable = 0,
fa_oneyear_noncurrent_assets = 0,
fa_other_assets = 0,
fa_trading_finan_asset = 0,
fixed_assets = 0,
inventory_amount = 0,
long_term_accounts_payable = 0,
monetary_fund = 0,
nca_avai_for_sale_fassets = 0,
nca_construction_in_process = 0,
nca_count = 0,
nca_deferred_tax_assets = 0,
nca_development_expenditure = 0,
nca_disposal_of_fixed_assets = 0,
nca_engineering_material = 0,
nca_goodwill = 0,
nca_heldon_investment = 0,
nca_intangible_assets = 0,
nca_investment_property = 0,
nca_longterm_equity_investment = 0,
nca_longterm_receivable = 0,
nca_longterm_unamortized_expenses = 0,
nca_oil_and_gas_assets = 0,
nca_other_assets = 0,
nca_productive_biological_asset = 0,
ncl_anticipation_liabilities = 0,
ncl_bonds_payable = 0,
ncl_count = 0,
ncl_deferred_income_tax_liabilities = 0,
ncl_longterm_loan = 0,
ncl_other_liabilities = 0,
ncl_special_payable = 0,
oe_capital_reserve = 0,
oe_count = 0,
oe_inventory_amount = 0,
oe_paicl_up_capital = 0,
oe_surplus_public_accumulation = 0,
oe_undistributed_profit = 0,
other_accounts_payable = 0,
other_accounts_receivable = 0,
payable_remuneration = 0,
prepayment = 0,
short_term_borrow = 0,
statistical_time = DateTime.Parse(item),
taxes_payable = 0,
update_time = DateTime.Now,
bank_account_balance = 0,
withdraw_amount = 0,
platform_balance = 0,
logistics_prepayment = 0,
finished_prepayment = 0,
semi_prepayment = 0,
fba_inventory_amount = 0,
not_fba_inventory_amount = 0,
fba_transfer_amount = 0,
not_fba_transfer_amount = 0,
semi_inventory_amount = 0,
semi_transfer_amount = 0,
logistics_accounts_payable = 0,
finished_accounts_payable = 0,
semi_accounts_payable = 0,
amount_borrowed = 0
};
list.Add(m);
}
}
}
return list.OrderBy(a => a.statistical_time).ToList();
}
}
#endregion
......
......@@ -2728,11 +2728,542 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}
/// <summary>
/// 资产负债表环比图表
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public ActionResult Index2Chart()
{
ViewBag.start = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
ViewBag.end = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
return View();
}
[HttpPost]
public JsonResult FinanceDebtChainChartJson(DateTime start, DateTime end)
{
try
{
var obj = new Services.FinanceReportServices().ListBalanceSheet(start, end);
var s = new List<string>() { "货币资金", "1.平台提现在途", "2.第三方平台余额", "3.银行帐号余额", "交易性金融资金", "应收票据", "应收账款", "1.借支金额", "预付款项", "1.预付成品供应商", "2.预付半成品供应商", "3.预付物流供应商", "应收利息", "应收股利", "其他应收款", "存货", "1.存货FBA仓在库", "2.存货非FBA仓在库", "3.存货FBA仓在途(非调拨计划)", "4.存货FBA仓在途(调拨计划)",
"5.存货非FBA仓在途(非调拨计划)","6.存货非FBA在途(调拨计划)","7.存货半成品在库","7.1百伦半成品在库","7.2哈倪曼半成品在库","8.存货半成品在途","8.1百伦半成品在途","8.2哈倪曼半成品在途","一年内到期的非流动资产","其他流动资产","流动资产合计","可供出售金融资产","持有至到期投资","长期应收款","长期股权投资","投资性房地产","固定资产","在建工程","工程物资","固定资产清理",
"生产性生物资产","油气资产","无形资产","开发支出","商誉","长期待摊费用","递延所得税资产","其他非流动资产","非流动资产合计","资产总计","短期借款","交易性金融负债","应付票据","应付账款","1.成品供应商","2.应付半成品供应商","3.应付物流供应商","预收款项","应付职工薪酬","应交税费",
"应付利息","应付股利","其他应付款","一年内到期的非流动负债","其他流动负债","流动负债合计","长期借款","应付债券","长期应付款","专项应付款","预计负债","递延所得税负债","其他非流动负债","非流动负债合计","负债合计","实收资本(股本)","资本公积","减:库存股","盈余公积","未分配利润",
"所有者权益(或股东权益)","负债和所有者权益(或股东权益)合计"
};
var val = new List<string>();
foreach (var m in obj)
{
m.cl_count = m.cl_count ?? 0;
m.cl_dividends_payable = m.cl_dividends_payable ?? 0;
m.cl_notes_payable = m.cl_notes_payable ?? 0;
m.cl_oneyear_noncurrent_liabilities = m.cl_oneyear_noncurrent_liabilities ?? 0;
m.cl_other_liabilities = m.cl_other_liabilities ?? 0;
m.cl_payable_interest = m.cl_payable_interest ?? 0;
m.cl_trading_financ_liabilities = m.cl_trading_financ_liabilities ?? 0;
m.count_assets = m.count_assets ?? 0;
m.count_liabilities = m.count_liabilities ?? 0;
m.count_liabilities_and_oe = m.count_liabilities_and_oe ?? 0;
m.fa_bill_receivable = m.fa_bill_receivable ?? 0;
m.fa_count = m.fa_count ?? 0;
m.fa_dividends_receivable = m.fa_dividends_receivable ?? 0;
m.fa_interest_receivable = m.fa_interest_receivable ?? 0;
m.fa_oneyear_noncurrent_assets = m.fa_oneyear_noncurrent_assets ?? 0;
m.fa_other_assets = m.fa_other_assets ?? 0;
m.fa_trading_finan_asset = m.fa_trading_finan_asset ?? 0;
m.nca_avai_for_sale_fassets = m.nca_avai_for_sale_fassets ?? 0;
m.nca_construction_in_process = m.nca_construction_in_process ?? 0;
m.nca_count = m.nca_count ?? 0;
m.nca_deferred_tax_assets = m.nca_deferred_tax_assets ?? 0;
m.nca_development_expenditure = m.nca_development_expenditure ?? 0;
m.nca_disposal_of_fixed_assets = m.nca_disposal_of_fixed_assets ?? 0;
m.nca_engineering_material = m.nca_engineering_material ?? 0;
m.nca_goodwill = m.nca_goodwill ?? 0;
m.nca_heldon_investment = m.nca_heldon_investment ?? 0;
m.nca_investment_property = m.nca_investment_property ?? 0;
m.nca_longterm_equity_investment = m.nca_longterm_equity_investment ?? 0;
m.nca_longterm_receivable = m.nca_longterm_receivable ?? 0;
m.nca_longterm_unamortized_expenses = m.nca_longterm_unamortized_expenses ?? 0;
m.nca_oil_and_gas_assets = m.nca_oil_and_gas_assets ?? 0;
m.nca_intangible_assets = m.nca_intangible_assets ?? 0;
m.nca_other_assets = m.nca_other_assets ?? 0;
m.nca_productive_biological_asset = m.nca_productive_biological_asset ?? 0;
m.ncl_anticipation_liabilities = m.ncl_anticipation_liabilities ?? 0;
m.ncl_bonds_payable = m.ncl_bonds_payable ?? 0;
m.ncl_count = m.ncl_count ?? 0;
m.ncl_deferred_income_tax_liabilities = m.ncl_deferred_income_tax_liabilities ?? 0;
m.ncl_longterm_loan = m.ncl_longterm_loan ?? 0;
m.ncl_other_liabilities = m.ncl_other_liabilities ?? 0;
m.ncl_special_payable = m.ncl_special_payable ?? 0;
m.oe_capital_reserve = m.oe_capital_reserve ?? 0;
m.oe_count = m.oe_count ?? 0;
m.oe_inventory_amount = m.oe_inventory_amount ?? 0;
m.oe_paicl_up_capital = m.oe_paicl_up_capital ?? 0;
m.oe_surplus_public_accumulation = m.oe_surplus_public_accumulation ?? 0;
m.oe_undistributed_profit = m.oe_undistributed_profit ?? 0;
m.bank_account_balance = m.bank_account_balance ?? 0;
m.withdraw_amount = m.withdraw_amount ?? 0;
m.platform_balance = m.platform_balance ?? 0;
m.logistics_prepayment = m.logistics_prepayment ?? 0;
m.finished_prepayment = m.finished_prepayment ?? 0;
m.semi_prepayment = m.semi_prepayment ?? 0;
m.fba_inventory_amount = m.fba_inventory_amount ?? 0;
m.not_fba_inventory_amount = m.not_fba_inventory_amount ?? 0;
m.fba_transfer_amount = m.fba_transfer_amount ?? 0;
m.not_fba_transfer_amount = m.not_fba_transfer_amount ?? 0;
m.semi_inventory_amount = m.semi_inventory_amount ?? 0;
m.semi_transfer_amount = m.semi_transfer_amount ?? 0;
m.fba_transfer_allot_amount = m.fba_transfer_allot_amount ?? 0;
m.not_fba_transfer_allot_amount = m.not_fba_transfer_allot_amount ?? 0;
m.fba_transfer_plan_amount = m.fba_transfer_plan_amount ?? 0;
m.not_fba_transfer_plan_amount = m.not_fba_transfer_plan_amount ?? 0;
m.fba_purchase_amount = m.fba_purchase_amount ?? 0;
m.not_fba_purchase_amount = m.not_fba_purchase_amount ?? 0;
m.semi_bailun_inventory_amount = m.semi_bailun_inventory_amount ?? 0;
m.semi_hani_inventory_amount = m.semi_hani_inventory_amount ?? 0;
m.semi_bailun_transfer_amount = m.semi_bailun_transfer_amount ?? 0;
m.semi_hani_transfer_amount = m.semi_hani_transfer_amount ?? 0;
m.logistics_accounts_payable = m.logistics_accounts_payable ?? 0;
m.finished_accounts_payable = m.finished_accounts_payable ?? 0;
m.semi_accounts_payable = m.semi_accounts_payable ?? 0;
//m.amount_borrowed = m.amount_borrowed; //借支金额
//Add by Allan at 2019-01-30 16:04
m.prepayment = Math.Abs(m.prepayment);
//流动资产合计
m.fa_count = m.monetary_fund + m.fa_trading_finan_asset + m.fa_bill_receivable + m.accounts_receivable + m.prepayment + m.fa_interest_receivable + m.fa_dividends_receivable + m.other_accounts_receivable + m.inventory_amount + m.fa_oneyear_noncurrent_assets + m.fa_other_assets;
//非流动资产合计
m.nca_count = m.nca_avai_for_sale_fassets + m.nca_heldon_investment + m.nca_longterm_receivable + m.nca_longterm_equity_investment + m.nca_investment_property + m.fixed_assets + m.nca_construction_in_process + m.nca_engineering_material + m.nca_disposal_of_fixed_assets + m.nca_productive_biological_asset + m.nca_oil_and_gas_assets + m.nca_intangible_assets + m.nca_development_expenditure + m.nca_goodwill + m.nca_longterm_unamortized_expenses + m.nca_deferred_tax_assets + m.nca_other_assets;
//资产总计
m.count_assets = m.fa_count + m.nca_count;
//流动负债合计
m.cl_count = m.short_term_borrow + m.cl_trading_financ_liabilities + m.cl_notes_payable + m.accounts_payable + m.advance_received + m.payable_remuneration + m.taxes_payable + m.cl_payable_interest + m.cl_dividends_payable + m.other_accounts_payable + m.cl_oneyear_noncurrent_liabilities + m.cl_other_liabilities;
//非流动负债合计
m.ncl_count = m.ncl_longterm_loan + m.ncl_bonds_payable + m.long_term_accounts_payable + m.ncl_special_payable + m.ncl_anticipation_liabilities + m.ncl_deferred_income_tax_liabilities + m.ncl_other_liabilities;
//负债合计
m.count_liabilities = m.cl_count + m.ncl_count;
//所有者权益(或股东权益)合计
m.oe_count = m.oe_paicl_up_capital + m.oe_capital_reserve + m.oe_inventory_amount + m.oe_surplus_public_accumulation + m.oe_undistributed_profit;
//负债和所有者权益(或股东权益)总计
m.count_liabilities_and_oe = m.count_liabilities + m.oe_count;
}
val.Add((obj[0].monetary_fund == 0 ? 0 : (obj[1].monetary_fund - obj[0].monetary_fund) / obj[0].monetary_fund * 100).ToString("N2"));
val.Add((obj[0].withdraw_amount.Value == 0 ? 0 : (obj[1].withdraw_amount.Value - obj[0].withdraw_amount.Value) / obj[0].withdraw_amount.Value * 100).ToString("N2"));
val.Add((obj[0].platform_balance.Value == 0 ? 0 : (obj[1].platform_balance.Value - obj[0].platform_balance.Value) / obj[0].platform_balance.Value * 100).ToString("N2"));
val.Add((obj[0].bank_account_balance.Value == 0 ? 0 : (obj[1].bank_account_balance.Value - obj[0].bank_account_balance.Value) / obj[0].bank_account_balance.Value * 100).ToString("N2"));
val.Add((obj[0].fa_trading_finan_asset.Value == 0 ? 0 : (obj[1].fa_trading_finan_asset.Value - obj[0].fa_trading_finan_asset.Value) / obj[0].fa_trading_finan_asset.Value * 100).ToString("N2"));
val.Add((obj[0].fa_bill_receivable.Value == 0 ? 0 : (obj[1].fa_bill_receivable.Value - obj[0].fa_bill_receivable.Value) / obj[0].fa_bill_receivable.Value * 100).ToString("N2"));
val.Add((obj[0].accounts_receivable == 0 ? 0 : (obj[1].accounts_receivable - obj[0].accounts_receivable) / obj[0].accounts_receivable * 100).ToString("N2"));
val.Add((obj[0].amount_borrowed == 0 ? 0 : (obj[1].amount_borrowed - obj[0].amount_borrowed) / obj[0].amount_borrowed * 100).ToString("N2"));
val.Add((obj[0].prepayment == 0 ? 0 : (obj[1].prepayment - obj[0].prepayment) / obj[0].prepayment * 100).ToString("N2"));
val.Add((obj[0].finished_prepayment.Value == 0 ? 0 : (obj[1].finished_prepayment.Value - obj[0].finished_prepayment.Value) / obj[0].finished_prepayment.Value * 100).ToString("N2"));
val.Add((obj[0].semi_prepayment.Value == 0 ? 0 : (obj[1].semi_prepayment.Value - obj[0].semi_prepayment.Value) / obj[0].semi_prepayment.Value * 100).ToString("N2"));
val.Add((obj[0].logistics_prepayment.Value == 0 ? 0 : (obj[1].logistics_prepayment.Value - obj[0].logistics_prepayment.Value) / obj[0].logistics_prepayment.Value * 100).ToString("N2"));
val.Add((obj[0].fa_interest_receivable.Value == 0 ? 0 : (obj[1].fa_interest_receivable.Value - obj[0].fa_interest_receivable.Value) / obj[0].fa_interest_receivable.Value * 100).ToString("N2"));
val.Add((obj[0].fa_dividends_receivable.Value == 0 ? 0 : (obj[1].fa_dividends_receivable.Value - obj[0].fa_dividends_receivable.Value) / obj[0].fa_dividends_receivable.Value * 100).ToString("N2"));
val.Add((obj[0].other_accounts_receivable == 0 ? 0 : (obj[1].other_accounts_receivable - obj[0].other_accounts_receivable) / obj[0].other_accounts_receivable * 100).ToString("N2"));
val.Add((obj[0].inventory_amount == 0 ? 0 : (obj[1].inventory_amount - obj[0].inventory_amount) / obj[0].inventory_amount * 100).ToString("N2"));
val.Add((obj[0].fba_inventory_amount.Value == 0 ? 0 : (obj[1].fba_inventory_amount.Value - obj[0].fba_inventory_amount.Value) / obj[0].fba_inventory_amount.Value * 100).ToString("N2"));
val.Add((obj[0].not_fba_inventory_amount.Value == 0 ? 0 : (obj[1].not_fba_inventory_amount.Value - obj[0].not_fba_inventory_amount.Value) / obj[0].not_fba_inventory_amount.Value * 100).ToString("N2"));
val.Add((obj[0].fba_transfer_allot_amount.Value == 0 ? 0 : (obj[1].fba_transfer_allot_amount.Value - obj[0].fba_transfer_allot_amount.Value) / obj[0].fba_transfer_allot_amount.Value * 100).ToString("N2"));
val.Add((obj[0].fba_transfer_plan_amount.Value == 0 ? 0 : (obj[1].fba_transfer_plan_amount.Value - obj[0].fba_transfer_plan_amount.Value) / obj[0].fba_transfer_plan_amount.Value * 100).ToString("N2"));
val.Add((obj[0].not_fba_transfer_allot_amount.Value == 0 ? 0 : (obj[1].not_fba_transfer_allot_amount.Value - obj[0].not_fba_transfer_allot_amount.Value) / obj[0].not_fba_transfer_allot_amount.Value * 100).ToString("N2"));
val.Add((obj[0].not_fba_transfer_plan_amount.Value == 0 ? 0 : (obj[1].not_fba_transfer_plan_amount.Value - obj[0].not_fba_transfer_plan_amount.Value) / obj[0].not_fba_transfer_plan_amount.Value * 100).ToString("N2"));
val.Add((obj[0].semi_inventory_amount.Value == 0 ? 0 : (obj[1].semi_inventory_amount.Value - obj[0].semi_inventory_amount.Value) / obj[0].semi_inventory_amount.Value * 100).ToString("N2"));
val.Add((obj[0].semi_bailun_inventory_amount.Value == 0 ? 0 : (obj[1].semi_bailun_inventory_amount.Value - obj[0].semi_bailun_inventory_amount.Value) / obj[0].semi_bailun_inventory_amount.Value * 100).ToString("N2"));
val.Add((obj[0].semi_hani_inventory_amount.Value == 0 ? 0 : (obj[1].semi_hani_inventory_amount.Value - obj[0].semi_hani_inventory_amount.Value) / obj[0].semi_hani_inventory_amount.Value * 100).ToString("N2"));
val.Add((obj[0].semi_transfer_amount.Value == 0 ? 0 : (obj[1].semi_transfer_amount.Value - obj[0].semi_transfer_amount.Value) / obj[0].semi_transfer_amount.Value * 100).ToString("N2"));
val.Add((obj[0].semi_bailun_transfer_amount.Value == 0 ? 0 : (obj[1].semi_bailun_transfer_amount.Value - obj[0].semi_bailun_transfer_amount.Value) / obj[0].semi_bailun_transfer_amount.Value * 100).ToString("N2"));
val.Add((obj[0].semi_hani_transfer_amount.Value == 0 ? 0 : (obj[1].semi_hani_transfer_amount.Value - obj[0].semi_hani_transfer_amount.Value) / obj[0].semi_hani_transfer_amount.Value * 100).ToString("N2"));
val.Add((obj[0].fa_oneyear_noncurrent_assets.Value == 0 ? 0 : (obj[1].fa_oneyear_noncurrent_assets.Value - obj[0].fa_oneyear_noncurrent_assets.Value) / obj[0].fa_oneyear_noncurrent_assets.Value * 100).ToString("N2"));
val.Add((obj[0].fa_other_assets.Value == 0 ? 0 : (obj[1].fa_other_assets.Value - obj[0].fa_other_assets.Value) / obj[0].fa_other_assets.Value * 100).ToString("N2"));
val.Add((obj[0].fa_count.Value == 0 ? 0 : (obj[1].fa_count.Value - obj[0].fa_count.Value) / obj[0].fa_count.Value * 100).ToString("N2"));
val.Add((obj[0].nca_avai_for_sale_fassets.Value == 0 ? 0 : (obj[1].nca_avai_for_sale_fassets.Value - obj[0].nca_avai_for_sale_fassets.Value) / obj[0].nca_avai_for_sale_fassets.Value * 100).ToString("N2"));
val.Add((obj[0].nca_heldon_investment.Value == 0 ? 0 : (obj[1].nca_heldon_investment.Value - obj[0].nca_heldon_investment.Value) / obj[0].nca_heldon_investment.Value * 100).ToString("N2"));
val.Add((obj[0].nca_longterm_receivable.Value == 0 ? 0 : (obj[1].nca_longterm_receivable.Value - obj[0].nca_longterm_receivable.Value) / obj[0].nca_longterm_receivable.Value * 100).ToString("N2"));
val.Add((obj[0].nca_longterm_equity_investment.Value == 0 ? 0 : (obj[1].nca_longterm_equity_investment.Value - obj[0].nca_longterm_equity_investment.Value) / obj[0].nca_longterm_equity_investment.Value * 100).ToString("N2"));
val.Add((obj[0].nca_investment_property.Value == 0 ? 0 : (obj[1].nca_investment_property.Value - obj[0].nca_investment_property.Value) / obj[0].nca_investment_property.Value * 100).ToString("N2"));
val.Add((obj[0].fixed_assets == 0 ? 0 : (obj[1].fixed_assets - obj[0].fixed_assets) / obj[0].fixed_assets * 100).ToString("N2"));
val.Add((obj[0].nca_construction_in_process.Value == 0 ? 0 : (obj[1].nca_construction_in_process.Value - obj[0].nca_construction_in_process.Value) / obj[0].nca_construction_in_process.Value * 100).ToString("N2"));
val.Add((obj[0].nca_engineering_material.Value == 0 ? 0 : (obj[1].nca_engineering_material.Value - obj[0].nca_engineering_material.Value) / obj[0].nca_engineering_material.Value * 100).ToString("N2"));
val.Add((obj[0].nca_disposal_of_fixed_assets.Value == 0 ? 0 : (obj[1].nca_disposal_of_fixed_assets.Value - obj[0].nca_disposal_of_fixed_assets.Value) / obj[0].nca_disposal_of_fixed_assets.Value * 100).ToString("N2"));
val.Add((obj[0].nca_productive_biological_asset.Value == 0 ? 0 : (obj[1].nca_productive_biological_asset.Value - obj[0].nca_productive_biological_asset.Value) / obj[0].nca_productive_biological_asset.Value * 100).ToString("N2"));
val.Add((obj[0].nca_oil_and_gas_assets.Value == 0 ? 0 : (obj[1].nca_oil_and_gas_assets.Value - obj[0].nca_oil_and_gas_assets.Value) / obj[0].nca_oil_and_gas_assets.Value * 100).ToString("N2"));
val.Add((obj[0].nca_intangible_assets.Value == 0 ? 0 : (obj[1].nca_intangible_assets.Value - obj[0].nca_intangible_assets.Value) / obj[0].nca_intangible_assets.Value * 100).ToString("N2"));
val.Add((obj[0].nca_development_expenditure.Value == 0 ? 0 : (obj[1].nca_development_expenditure.Value - obj[0].nca_development_expenditure.Value) / obj[0].nca_development_expenditure.Value * 100).ToString("N2"));
val.Add((obj[0].nca_goodwill.Value == 0 ? 0 : (obj[1].nca_goodwill.Value - obj[0].nca_goodwill.Value) / obj[0].nca_goodwill.Value * 100).ToString("N2"));
val.Add((obj[0].nca_longterm_unamortized_expenses.Value == 0 ? 0 : (obj[1].nca_longterm_unamortized_expenses.Value - obj[0].nca_longterm_unamortized_expenses.Value) / obj[0].nca_longterm_unamortized_expenses.Value * 100).ToString("N2"));
val.Add((obj[0].nca_deferred_tax_assets.Value == 0 ? 0 : (obj[1].nca_deferred_tax_assets.Value - obj[0].nca_deferred_tax_assets.Value) / obj[0].nca_deferred_tax_assets.Value * 100).ToString("N2"));
val.Add((obj[0].nca_other_assets.Value == 0 ? 0 : (obj[1].nca_other_assets.Value - obj[0].nca_other_assets.Value) / obj[0].nca_other_assets.Value * 100).ToString("N2"));
val.Add((obj[0].nca_count.Value == 0 ? 0 : (obj[1].nca_count.Value - obj[0].nca_count.Value) / obj[0].nca_count.Value * 100).ToString("N2"));
val.Add((obj[0].count_assets.Value == 0 ? 0 : (obj[1].count_assets.Value - obj[0].count_assets.Value) / obj[0].count_assets.Value * 100).ToString("N2"));
val.Add((obj[0].short_term_borrow == 0 ? 0 : (obj[1].short_term_borrow - obj[0].short_term_borrow) / obj[0].short_term_borrow * 100).ToString("N2"));
val.Add((obj[0].cl_trading_financ_liabilities.Value == 0 ? 0 : (obj[1].cl_trading_financ_liabilities.Value - obj[0].cl_trading_financ_liabilities.Value) / obj[0].cl_trading_financ_liabilities.Value * 100).ToString("N2"));
val.Add((obj[0].cl_notes_payable.Value == 0 ? 0 : (obj[1].cl_notes_payable.Value - obj[0].cl_notes_payable.Value) / obj[0].cl_notes_payable.Value * 100).ToString("N2"));
val.Add((obj[0].accounts_payable == 0 ? 0 : (obj[1].accounts_payable - obj[0].accounts_payable) / obj[0].accounts_payable * 100).ToString("N2"));
val.Add((obj[0].finished_accounts_payable.Value == 0 ? 0 : (obj[1].finished_accounts_payable.Value - obj[0].finished_accounts_payable.Value) / obj[0].finished_accounts_payable.Value * 100).ToString("N2"));
val.Add((obj[0].semi_accounts_payable.Value == 0 ? 0 : (obj[1].semi_accounts_payable.Value - obj[0].semi_accounts_payable.Value) / obj[0].semi_accounts_payable.Value * 100).ToString("N2"));
val.Add((obj[0].logistics_accounts_payable.Value == 0 ? 0 : (obj[1].logistics_accounts_payable.Value - obj[0].logistics_accounts_payable.Value) / obj[0].logistics_accounts_payable.Value * 100).ToString("N2"));
val.Add((obj[0].advance_received == 0 ? 0 : (obj[1].advance_received - obj[0].advance_received) / obj[0].advance_received * 100).ToString("N2"));
val.Add((obj[0].payable_remuneration == 0 ? 0 : (obj[1].payable_remuneration - obj[0].payable_remuneration) / obj[0].payable_remuneration * 100).ToString("N2"));
val.Add((obj[0].taxes_payable == 0 ? 0 : (obj[1].taxes_payable - obj[0].taxes_payable) / obj[0].taxes_payable * 100).ToString("N2"));
val.Add((obj[0].cl_payable_interest.Value == 0 ? 0 : (obj[1].cl_payable_interest.Value - obj[0].cl_payable_interest.Value) / obj[0].cl_payable_interest.Value * 100).ToString("N2"));
val.Add((obj[0].cl_dividends_payable.Value == 0 ? 0 : (obj[1].cl_dividends_payable.Value - obj[0].cl_dividends_payable.Value) / obj[0].cl_dividends_payable.Value * 100).ToString("N2"));
val.Add((obj[0].other_accounts_payable == 0 ? 0 : (obj[1].other_accounts_payable - obj[0].other_accounts_payable) / obj[0].other_accounts_payable * 100).ToString("N2"));
val.Add((obj[0].cl_oneyear_noncurrent_liabilities.Value == 0 ? 0 : (obj[1].cl_oneyear_noncurrent_liabilities.Value - obj[0].cl_oneyear_noncurrent_liabilities.Value) / obj[0].cl_oneyear_noncurrent_liabilities.Value * 100).ToString("N2"));
val.Add((obj[0].cl_other_liabilities.Value == 0 ? 0 : (obj[1].cl_other_liabilities.Value - obj[0].cl_other_liabilities.Value) / obj[0].cl_other_liabilities.Value * 100).ToString("N2"));
val.Add((obj[0].cl_count.Value == 0 ? 0 : (obj[1].cl_count.Value - obj[0].cl_count.Value) / obj[0].cl_count.Value * 100).ToString("N2"));
val.Add((obj[0].ncl_longterm_loan.Value == 0 ? 0 : (obj[1].ncl_longterm_loan.Value - obj[0].ncl_longterm_loan.Value) / obj[0].ncl_longterm_loan.Value * 100).ToString("N2"));
val.Add((obj[0].ncl_bonds_payable.Value == 0 ? 0 : (obj[1].ncl_bonds_payable.Value - obj[0].ncl_bonds_payable.Value) / obj[0].ncl_bonds_payable.Value * 100).ToString("N2"));
val.Add((obj[0].long_term_accounts_payable == 0 ? 0 : (obj[1].long_term_accounts_payable - obj[0].long_term_accounts_payable) / obj[0].long_term_accounts_payable * 100).ToString("N2"));
val.Add((obj[0].ncl_special_payable.Value == 0 ? 0 : (obj[1].ncl_special_payable.Value - obj[0].ncl_special_payable.Value) / obj[0].ncl_special_payable.Value * 100).ToString("N2"));
val.Add((obj[0].ncl_anticipation_liabilities.Value == 0 ? 0 : (obj[1].ncl_anticipation_liabilities.Value - obj[0].ncl_anticipation_liabilities.Value) / obj[0].ncl_anticipation_liabilities.Value * 100).ToString("N2"));
val.Add((obj[0].ncl_deferred_income_tax_liabilities.Value == 0 ? 0 : (obj[1].ncl_deferred_income_tax_liabilities.Value - obj[0].ncl_deferred_income_tax_liabilities.Value) / obj[0].ncl_deferred_income_tax_liabilities.Value * 100).ToString("N2"));
val.Add((obj[0].ncl_other_liabilities.Value == 0 ? 0 : (obj[1].ncl_other_liabilities.Value - obj[0].ncl_other_liabilities.Value) / obj[0].ncl_other_liabilities.Value * 100).ToString("N2"));
val.Add((obj[0].ncl_count.Value == 0 ? 0 : (obj[1].ncl_count.Value - obj[0].ncl_count.Value) / obj[0].ncl_count.Value * 100).ToString("N2"));
val.Add((obj[0].count_liabilities.Value == 0 ? 0 : (obj[1].count_liabilities.Value - obj[0].count_liabilities.Value) / obj[0].count_liabilities.Value * 100).ToString("N2"));
val.Add((obj[0].oe_paicl_up_capital.Value == 0 ? 0 : (obj[1].oe_paicl_up_capital.Value - obj[0].oe_paicl_up_capital.Value) / obj[0].oe_paicl_up_capital.Value * 100).ToString("N2"));
val.Add((obj[0].oe_capital_reserve.Value == 0 ? 0 : (obj[1].oe_capital_reserve.Value - obj[0].oe_capital_reserve.Value) / obj[0].oe_capital_reserve.Value * 100).ToString("N2"));
val.Add((obj[0].oe_inventory_amount.Value == 0 ? 0 : (obj[1].oe_inventory_amount.Value - obj[0].oe_inventory_amount.Value) / obj[0].oe_inventory_amount.Value * 100).ToString("N2"));
val.Add((obj[0].oe_surplus_public_accumulation.Value == 0 ? 0 : (obj[1].oe_surplus_public_accumulation.Value - obj[0].oe_surplus_public_accumulation.Value) / obj[0].oe_surplus_public_accumulation.Value * 100).ToString("N2"));
val.Add((obj[0].oe_undistributed_profit.Value == 0 ? 0 : (obj[1].oe_undistributed_profit.Value - obj[0].oe_undistributed_profit.Value) / obj[0].oe_undistributed_profit.Value * 100).ToString("N2"));
val.Add((obj[0].oe_count.Value == 0 ? 0 : (obj[1].oe_count.Value - obj[0].oe_count.Value) / obj[0].oe_count.Value * 100).ToString("N2"));
val.Add((obj[0].count_liabilities_and_oe.Value == 0 ? 0 : (obj[1].count_liabilities_and_oe.Value - obj[0].count_liabilities_and_oe.Value) / obj[0].count_liabilities_and_oe.Value * 100).ToString("N2"));
return Json(new
{
success = true,
msg = "",
data = new
{
val = val,
col = s,
},
start = start.ToString("yyyy-MM-dd"),
end = end.ToString("yyyy-MM-dd")
});
}
catch (Exception ex)
{
return Json(new
{
success = false,
msg = "出现异常,异常信息:" + ex.Message
});
}
}
public ActionResult ExportFinanceDebtChainChart(DateTime start, DateTime end)
{
try
{
var obj = new Services.FinanceReportServices().ListBalanceSheet(start, end);
var s = new List<string>() { "货币资金", "1.平台提现在途", "2.第三方平台余额", "3.银行帐号余额", "交易性金融资金", "应收票据", "应收账款", "1.借支金额", "预付款项", "1.预付成品供应商", "2.预付半成品供应商", "3.预付物流供应商", "应收利息", "应收股利", "其他应收款", "存货", "1.存货FBA仓在库", "2.存货非FBA仓在库", "3.存货FBA仓在途(非调拨计划)", "4.存货FBA仓在途(调拨计划)",
"5.存货非FBA仓在途(非调拨计划)","6.存货非FBA在途(调拨计划)","7.存货半成品在库","7.1百伦半成品在库","7.2哈倪曼半成品在库","8.存货半成品在途","8.1百伦半成品在途","8.2哈倪曼半成品在途","一年内到期的非流动资产","其他流动资产","流动资产合计","可供出售金融资产","持有至到期投资","长期应收款","长期股权投资","投资性房地产","固定资产","在建工程","工程物资","固定资产清理",
"生产性生物资产","油气资产","无形资产","开发支出","商誉","长期待摊费用","递延所得税资产","其他非流动资产","非流动资产合计","资产总计","短期借款","交易性金融负债","应付票据","应付账款","1.成品供应商","2.应付半成品供应商","3.应付物流供应商","预收款项","应付职工薪酬","应交税费",
"应付利息","应付股利","其他应付款","一年内到期的非流动负债","其他流动负债","流动负债合计","长期借款","应付债券","长期应付款","专项应付款","预计负债","递延所得税负债","其他非流动负债","非流动负债合计","负债合计","实收资本(股本)","资本公积","减:库存股","盈余公积","未分配利润",
"所有者权益(或股东权益)","负债和所有者权益(或股东权益)合计"
};
var val = new List<string>();
foreach (var m in obj)
{
m.cl_count = m.cl_count ?? 0;
m.cl_dividends_payable = m.cl_dividends_payable ?? 0;
m.cl_notes_payable = m.cl_notes_payable ?? 0;
m.cl_oneyear_noncurrent_liabilities = m.cl_oneyear_noncurrent_liabilities ?? 0;
m.cl_other_liabilities = m.cl_other_liabilities ?? 0;
m.cl_payable_interest = m.cl_payable_interest ?? 0;
m.cl_trading_financ_liabilities = m.cl_trading_financ_liabilities ?? 0;
m.count_assets = m.count_assets ?? 0;
m.count_liabilities = m.count_liabilities ?? 0;
m.count_liabilities_and_oe = m.count_liabilities_and_oe ?? 0;
m.fa_bill_receivable = m.fa_bill_receivable ?? 0;
m.fa_count = m.fa_count ?? 0;
m.fa_dividends_receivable = m.fa_dividends_receivable ?? 0;
m.fa_interest_receivable = m.fa_interest_receivable ?? 0;
m.fa_oneyear_noncurrent_assets = m.fa_oneyear_noncurrent_assets ?? 0;
m.fa_other_assets = m.fa_other_assets ?? 0;
m.fa_trading_finan_asset = m.fa_trading_finan_asset ?? 0;
m.nca_avai_for_sale_fassets = m.nca_avai_for_sale_fassets ?? 0;
m.nca_construction_in_process = m.nca_construction_in_process ?? 0;
m.nca_count = m.nca_count ?? 0;
m.nca_deferred_tax_assets = m.nca_deferred_tax_assets ?? 0;
m.nca_development_expenditure = m.nca_development_expenditure ?? 0;
m.nca_disposal_of_fixed_assets = m.nca_disposal_of_fixed_assets ?? 0;
m.nca_engineering_material = m.nca_engineering_material ?? 0;
m.nca_goodwill = m.nca_goodwill ?? 0;
m.nca_heldon_investment = m.nca_heldon_investment ?? 0;
m.nca_investment_property = m.nca_investment_property ?? 0;
m.nca_longterm_equity_investment = m.nca_longterm_equity_investment ?? 0;
m.nca_longterm_receivable = m.nca_longterm_receivable ?? 0;
m.nca_longterm_unamortized_expenses = m.nca_longterm_unamortized_expenses ?? 0;
m.nca_oil_and_gas_assets = m.nca_oil_and_gas_assets ?? 0;
m.nca_intangible_assets = m.nca_intangible_assets ?? 0;
m.nca_other_assets = m.nca_other_assets ?? 0;
m.nca_productive_biological_asset = m.nca_productive_biological_asset ?? 0;
m.ncl_anticipation_liabilities = m.ncl_anticipation_liabilities ?? 0;
m.ncl_bonds_payable = m.ncl_bonds_payable ?? 0;
m.ncl_count = m.ncl_count ?? 0;
m.ncl_deferred_income_tax_liabilities = m.ncl_deferred_income_tax_liabilities ?? 0;
m.ncl_longterm_loan = m.ncl_longterm_loan ?? 0;
m.ncl_other_liabilities = m.ncl_other_liabilities ?? 0;
m.ncl_special_payable = m.ncl_special_payable ?? 0;
m.oe_capital_reserve = m.oe_capital_reserve ?? 0;
m.oe_count = m.oe_count ?? 0;
m.oe_inventory_amount = m.oe_inventory_amount ?? 0;
m.oe_paicl_up_capital = m.oe_paicl_up_capital ?? 0;
m.oe_surplus_public_accumulation = m.oe_surplus_public_accumulation ?? 0;
m.oe_undistributed_profit = m.oe_undistributed_profit ?? 0;
m.bank_account_balance = m.bank_account_balance ?? 0;
m.withdraw_amount = m.withdraw_amount ?? 0;
m.platform_balance = m.platform_balance ?? 0;
m.logistics_prepayment = m.logistics_prepayment ?? 0;
m.finished_prepayment = m.finished_prepayment ?? 0;
m.semi_prepayment = m.semi_prepayment ?? 0;
m.fba_inventory_amount = m.fba_inventory_amount ?? 0;
m.not_fba_inventory_amount = m.not_fba_inventory_amount ?? 0;
m.fba_transfer_amount = m.fba_transfer_amount ?? 0;
m.not_fba_transfer_amount = m.not_fba_transfer_amount ?? 0;
m.semi_inventory_amount = m.semi_inventory_amount ?? 0;
m.semi_transfer_amount = m.semi_transfer_amount ?? 0;
m.fba_transfer_allot_amount = m.fba_transfer_allot_amount ?? 0;
m.not_fba_transfer_allot_amount = m.not_fba_transfer_allot_amount ?? 0;
m.fba_transfer_plan_amount = m.fba_transfer_plan_amount ?? 0;
m.not_fba_transfer_plan_amount = m.not_fba_transfer_plan_amount ?? 0;
m.fba_purchase_amount = m.fba_purchase_amount ?? 0;
m.not_fba_purchase_amount = m.not_fba_purchase_amount ?? 0;
m.semi_bailun_inventory_amount = m.semi_bailun_inventory_amount ?? 0;
m.semi_hani_inventory_amount = m.semi_hani_inventory_amount ?? 0;
m.semi_bailun_transfer_amount = m.semi_bailun_transfer_amount ?? 0;
m.semi_hani_transfer_amount = m.semi_hani_transfer_amount ?? 0;
m.logistics_accounts_payable = m.logistics_accounts_payable ?? 0;
m.finished_accounts_payable = m.finished_accounts_payable ?? 0;
m.semi_accounts_payable = m.semi_accounts_payable ?? 0;
//m.amount_borrowed = m.amount_borrowed; //借支金额
//Add by Allan at 2019-01-30 16:04
m.prepayment = Math.Abs(m.prepayment);
//流动资产合计
m.fa_count = m.monetary_fund + m.fa_trading_finan_asset + m.fa_bill_receivable + m.accounts_receivable + m.prepayment + m.fa_interest_receivable + m.fa_dividends_receivable + m.other_accounts_receivable + m.inventory_amount + m.fa_oneyear_noncurrent_assets + m.fa_other_assets;
//非流动资产合计
m.nca_count = m.nca_avai_for_sale_fassets + m.nca_heldon_investment + m.nca_longterm_receivable + m.nca_longterm_equity_investment + m.nca_investment_property + m.fixed_assets + m.nca_construction_in_process + m.nca_engineering_material + m.nca_disposal_of_fixed_assets + m.nca_productive_biological_asset + m.nca_oil_and_gas_assets + m.nca_intangible_assets + m.nca_development_expenditure + m.nca_goodwill + m.nca_longterm_unamortized_expenses + m.nca_deferred_tax_assets + m.nca_other_assets;
//资产总计
m.count_assets = m.fa_count + m.nca_count;
//流动负债合计
m.cl_count = m.short_term_borrow + m.cl_trading_financ_liabilities + m.cl_notes_payable + m.accounts_payable + m.advance_received + m.payable_remuneration + m.taxes_payable + m.cl_payable_interest + m.cl_dividends_payable + m.other_accounts_payable + m.cl_oneyear_noncurrent_liabilities + m.cl_other_liabilities;
//非流动负债合计
m.ncl_count = m.ncl_longterm_loan + m.ncl_bonds_payable + m.long_term_accounts_payable + m.ncl_special_payable + m.ncl_anticipation_liabilities + m.ncl_deferred_income_tax_liabilities + m.ncl_other_liabilities;
//负债合计
m.count_liabilities = m.cl_count + m.ncl_count;
//所有者权益(或股东权益)合计
m.oe_count = m.oe_paicl_up_capital + m.oe_capital_reserve + m.oe_inventory_amount + m.oe_surplus_public_accumulation + m.oe_undistributed_profit;
//负债和所有者权益(或股东权益)总计
m.count_liabilities_and_oe = m.count_liabilities + m.oe_count;
}
var colNames = new List<string> { "数值项", start.ToString("yyyy-MM-dd"), end.ToString("yyyy-MM-dd"),"环比%" };
var list = new List<string>();
list.Add(s[0]+"|"+obj[0].monetary_fund.ToString("N2")+"|"+obj[1].monetary_fund.ToString("N2") + "|"+(obj[0].monetary_fund == 0 ? 0 : (obj[1].monetary_fund - obj[0].monetary_fund) / obj[0].monetary_fund * 100).ToString("N2"));
list.Add(s[1] + "|" + obj[0].withdraw_amount.Value.ToString("N2") + "|" + obj[1].withdraw_amount.Value.ToString("N2") + "|" + (obj[0].withdraw_amount.Value == 0 ? 0 : (obj[1].withdraw_amount.Value - obj[0].withdraw_amount.Value) / obj[0].withdraw_amount.Value * 100).ToString("N2"));
list.Add(s[2]+"|"+obj[0].platform_balance.Value.ToString("N2")+"|"+obj[1].platform_balance.Value.ToString("N2") + "|"+(obj[0].platform_balance.Value == 0 ? 0 : (obj[1].platform_balance.Value - obj[0].platform_balance.Value) / obj[0].platform_balance.Value * 100).ToString("N2"));
list.Add(s[3]+"|"+obj[0].bank_account_balance.Value.ToString("N2")+"|"+obj[1].bank_account_balance.Value.ToString("N2") + "|"+(obj[0].bank_account_balance.Value == 0 ? 0 : (obj[1].bank_account_balance.Value - obj[0].bank_account_balance.Value) / obj[0].bank_account_balance.Value * 100).ToString("N2"));
list.Add(s[4]+"|"+obj[0].fa_trading_finan_asset.Value.ToString("N2")+"|"+obj[1].fa_trading_finan_asset.Value.ToString("N2") + "|"+(obj[0].fa_trading_finan_asset.Value == 0 ? 0 : (obj[1].fa_trading_finan_asset.Value - obj[0].fa_trading_finan_asset.Value) / obj[0].fa_trading_finan_asset.Value * 100).ToString("N2"));
list.Add(s[5]+"|"+obj[0].fa_bill_receivable.Value.ToString("N2")+"|"+obj[1].fa_bill_receivable.Value.ToString("N2") + "|"+(obj[0].fa_bill_receivable.Value == 0 ? 0 : (obj[1].fa_bill_receivable.Value - obj[0].fa_bill_receivable.Value) / obj[0].fa_bill_receivable.Value * 100).ToString("N2"));
list.Add(s[6]+"|"+obj[0].accounts_receivable.ToString("N2")+"|"+obj[1].accounts_receivable.ToString("N2") + "|"+(obj[0].accounts_receivable == 0 ? 0 : (obj[1].accounts_receivable - obj[0].accounts_receivable) / obj[0].accounts_receivable * 100).ToString("N2"));
list.Add(s[7]+"|"+obj[0].amount_borrowed.ToString("N2")+"|"+obj[1].amount_borrowed.ToString("N2") + "|"+(obj[0].amount_borrowed == 0 ? 0 : (obj[1].amount_borrowed - obj[0].amount_borrowed) / obj[0].amount_borrowed * 100).ToString("N2"));
list.Add(s[8]+"|"+obj[0].prepayment.ToString("N2")+"|"+obj[1].prepayment.ToString("N2") + "|"+(obj[0].prepayment == 0 ? 0 : (obj[1].prepayment - obj[0].prepayment) / obj[0].prepayment * 100).ToString("N2"));
list.Add(s[9]+"|"+obj[0].finished_prepayment.Value.ToString("N2")+"|"+obj[1].finished_prepayment.Value.ToString("N2") + "|"+(obj[0].finished_prepayment.Value == 0 ? 0 : (obj[1].finished_prepayment.Value - obj[0].finished_prepayment.Value) / obj[0].finished_prepayment.Value * 100).ToString("N2"));
list.Add(s[10]+"|"+obj[0].semi_prepayment.Value.ToString("N2")+"|"+obj[1].semi_prepayment.Value.ToString("N2") + "|"+(obj[0].semi_prepayment.Value == 0 ? 0 : (obj[1].semi_prepayment.Value - obj[0].semi_prepayment.Value) / obj[0].semi_prepayment.Value * 100).ToString("N2"));
list.Add(s[11]+"|"+obj[0].logistics_prepayment.Value.ToString("N2")+"|"+obj[1].logistics_prepayment.Value.ToString("N2") + "|"+(obj[0].logistics_prepayment.Value == 0 ? 0 : (obj[1].logistics_prepayment.Value - obj[0].logistics_prepayment.Value) / obj[0].logistics_prepayment.Value * 100).ToString("N2"));
list.Add(s[12]+"|"+obj[0].fa_interest_receivable.Value.ToString("N2")+"|"+obj[1].fa_interest_receivable.Value.ToString("N2") + "|"+(obj[0].fa_interest_receivable.Value == 0 ? 0 : (obj[1].fa_interest_receivable.Value - obj[0].fa_interest_receivable.Value) / obj[0].fa_interest_receivable.Value * 100).ToString("N2"));
list.Add(s[13]+"|"+obj[0].fa_dividends_receivable.Value.ToString("N2")+"|"+obj[1].fa_dividends_receivable.Value.ToString("N2") + "|"+(obj[0].fa_dividends_receivable.Value == 0 ? 0 : (obj[1].fa_dividends_receivable.Value - obj[0].fa_dividends_receivable.Value) / obj[0].fa_dividends_receivable.Value * 100).ToString("N2"));
list.Add(s[14]+"|"+obj[0].other_accounts_receivable.ToString("N2")+"|"+obj[1].other_accounts_receivable.ToString("N2") + "|"+(obj[0].other_accounts_receivable == 0 ? 0 : (obj[1].other_accounts_receivable - obj[0].other_accounts_receivable) / obj[0].other_accounts_receivable * 100).ToString("N2"));
list.Add(s[15]+"|"+obj[0].inventory_amount.ToString("N2")+"|"+obj[1].inventory_amount.ToString("N2") + "|"+(obj[0].inventory_amount == 0 ? 0 : (obj[1].inventory_amount - obj[0].inventory_amount) / obj[0].inventory_amount * 100).ToString("N2"));
list.Add(s[16]+"|"+obj[0].fba_inventory_amount.Value.ToString("N2")+"|"+obj[1].fba_inventory_amount.Value.ToString("N2") + "|"+(obj[0].fba_inventory_amount.Value == 0 ? 0 : (obj[1].fba_inventory_amount.Value - obj[0].fba_inventory_amount.Value) / obj[0].fba_inventory_amount.Value * 100).ToString("N2"));
list.Add(s[17]+"|"+obj[0].not_fba_inventory_amount.Value.ToString("N2")+"|"+obj[1].not_fba_inventory_amount.Value.ToString("N2") + "|"+(obj[0].not_fba_inventory_amount.Value == 0 ? 0 : (obj[1].not_fba_inventory_amount.Value - obj[0].not_fba_inventory_amount.Value) / obj[0].not_fba_inventory_amount.Value * 100).ToString("N2"));
list.Add(s[18]+"|"+obj[0].fba_transfer_allot_amount.Value.ToString("N2")+"|"+obj[1].fba_transfer_allot_amount.Value.ToString("N2") + "|"+(obj[0].fba_transfer_allot_amount.Value == 0 ? 0 : (obj[1].fba_transfer_allot_amount.Value - obj[0].fba_transfer_allot_amount.Value) / obj[0].fba_transfer_allot_amount.Value * 100).ToString("N2"));
list.Add(s[19]+"|"+obj[0].fba_transfer_plan_amount.Value.ToString("N2")+"|"+obj[1].fba_transfer_plan_amount.Value.ToString("N2") + "|"+(obj[0].fba_transfer_plan_amount.Value == 0 ? 0 : (obj[1].fba_transfer_plan_amount.Value - obj[0].fba_transfer_plan_amount.Value) / obj[0].fba_transfer_plan_amount.Value * 100).ToString("N2"));
list.Add(s[20]+"|"+obj[0].not_fba_transfer_allot_amount.Value.ToString("N2")+"|"+obj[1].not_fba_transfer_allot_amount.Value.ToString("N2") + "|"+(obj[0].not_fba_transfer_allot_amount.Value == 0 ? 0 : (obj[1].not_fba_transfer_allot_amount.Value - obj[0].not_fba_transfer_allot_amount.Value) / obj[0].not_fba_transfer_allot_amount.Value * 100).ToString("N2"));
list.Add(s[21]+"|"+obj[0].not_fba_transfer_plan_amount.Value.ToString("N2")+"|"+obj[1].not_fba_transfer_plan_amount.Value.ToString("N2") + "|"+(obj[0].not_fba_transfer_plan_amount.Value == 0 ? 0 : (obj[1].not_fba_transfer_plan_amount.Value - obj[0].not_fba_transfer_plan_amount.Value) / obj[0].not_fba_transfer_plan_amount.Value * 100).ToString("N2"));
list.Add(s[22]+"|"+obj[0].semi_inventory_amount.Value.ToString("N2")+"|"+obj[1].semi_inventory_amount.Value.ToString("N2") + "|"+(obj[0].semi_inventory_amount.Value == 0 ? 0 : (obj[1].semi_inventory_amount.Value - obj[0].semi_inventory_amount.Value) / obj[0].semi_inventory_amount.Value * 100).ToString("N2"));
list.Add(s[23]+"|"+obj[0].semi_bailun_inventory_amount.Value.ToString("N2")+"|"+obj[1].semi_bailun_inventory_amount.Value.ToString("N2") + "|"+(obj[0].semi_bailun_inventory_amount.Value == 0 ? 0 : (obj[1].semi_bailun_inventory_amount.Value - obj[0].semi_bailun_inventory_amount.Value) / obj[0].semi_bailun_inventory_amount.Value * 100).ToString("N2"));
list.Add(s[24]+"|"+obj[0].semi_hani_inventory_amount.Value.ToString("N2")+"|"+obj[1].semi_hani_inventory_amount.Value.ToString("N2") + "|"+(obj[0].semi_hani_inventory_amount.Value == 0 ? 0 : (obj[1].semi_hani_inventory_amount.Value - obj[0].semi_hani_inventory_amount.Value) / obj[0].semi_hani_inventory_amount.Value * 100).ToString("N2"));
list.Add(s[25]+"|"+obj[0].semi_transfer_amount.Value.ToString("N2")+"|"+obj[1].semi_transfer_amount.Value.ToString("N2") + "|"+(obj[0].semi_transfer_amount.Value == 0 ? 0 : (obj[1].semi_transfer_amount.Value - obj[0].semi_transfer_amount.Value) / obj[0].semi_transfer_amount.Value * 100).ToString("N2"));
list.Add(s[26]+"|"+obj[0].semi_bailun_transfer_amount.Value.ToString("N2")+"|"+obj[1].semi_bailun_transfer_amount.Value.ToString("N2") + "|"+(obj[0].semi_bailun_transfer_amount.Value == 0 ? 0 : (obj[1].semi_bailun_transfer_amount.Value - obj[0].semi_bailun_transfer_amount.Value) / obj[0].semi_bailun_transfer_amount.Value * 100).ToString("N2"));
list.Add(s[27]+"|"+obj[0].semi_hani_transfer_amount.Value.ToString("N2")+"|"+obj[1].semi_hani_transfer_amount.Value.ToString("N2") + "|"+(obj[0].semi_hani_transfer_amount.Value == 0 ? 0 : (obj[1].semi_hani_transfer_amount.Value - obj[0].semi_hani_transfer_amount.Value) / obj[0].semi_hani_transfer_amount.Value * 100).ToString("N2"));
list.Add(s[28]+"|"+obj[0].fa_oneyear_noncurrent_assets.Value.ToString("N2")+"|"+obj[1].fa_oneyear_noncurrent_assets.Value.ToString("N2") + "|"+(obj[0].fa_oneyear_noncurrent_assets.Value == 0 ? 0 : (obj[1].fa_oneyear_noncurrent_assets.Value - obj[0].fa_oneyear_noncurrent_assets.Value) / obj[0].fa_oneyear_noncurrent_assets.Value * 100).ToString("N2"));
list.Add(s[29]+"|"+obj[0].fa_other_assets.Value.ToString("N2")+"|"+obj[1].fa_other_assets.Value.ToString("N2") + "|"+(obj[0].fa_other_assets.Value == 0 ? 0 : (obj[1].fa_other_assets.Value - obj[0].fa_other_assets.Value) / obj[0].fa_other_assets.Value * 100).ToString("N2"));
list.Add(s[30]+"|"+obj[0].fa_count.Value.ToString("N2")+"|"+obj[1].fa_count.Value.ToString("N2") + "|"+(obj[0].fa_count.Value == 0 ? 0 : (obj[1].fa_count.Value - obj[0].fa_count.Value) / obj[0].fa_count.Value * 100).ToString("N2"));
list.Add(s[31]+"|"+obj[0].nca_avai_for_sale_fassets.Value.ToString("N2")+"|"+obj[1].nca_avai_for_sale_fassets.Value.ToString("N2") + "|"+(obj[0].nca_avai_for_sale_fassets.Value == 0 ? 0 : (obj[1].nca_avai_for_sale_fassets.Value - obj[0].nca_avai_for_sale_fassets.Value) / obj[0].nca_avai_for_sale_fassets.Value * 100).ToString("N2"));
list.Add(s[32]+"|"+obj[0].nca_heldon_investment.Value.ToString("N2")+"|"+obj[1].nca_heldon_investment.Value.ToString("N2") + "|"+(obj[0].nca_heldon_investment.Value == 0 ? 0 : (obj[1].nca_heldon_investment.Value - obj[0].nca_heldon_investment.Value) / obj[0].nca_heldon_investment.Value * 100).ToString("N2"));
list.Add(s[33]+"|"+obj[0].nca_longterm_receivable.Value.ToString("N2")+"|"+obj[1].nca_longterm_receivable.Value.ToString("N2") + "|"+(obj[0].nca_longterm_receivable.Value == 0 ? 0 : (obj[1].nca_longterm_receivable.Value - obj[0].nca_longterm_receivable.Value) / obj[0].nca_longterm_receivable.Value * 100).ToString("N2"));
list.Add(s[34]+"|"+obj[0].nca_longterm_equity_investment.Value.ToString("N2")+"|"+obj[1].nca_longterm_equity_investment.Value.ToString("N2") + "|"+(obj[0].nca_longterm_equity_investment.Value == 0 ? 0 : (obj[1].nca_longterm_equity_investment.Value - obj[0].nca_longterm_equity_investment.Value) / obj[0].nca_longterm_equity_investment.Value * 100).ToString("N2"));
list.Add(s[35]+"|"+obj[0].nca_investment_property.Value.ToString("N2")+"|"+obj[1].nca_investment_property.Value.ToString("N2") + "|"+(obj[0].nca_investment_property.Value == 0 ? 0 : (obj[1].nca_investment_property.Value - obj[0].nca_investment_property.Value) / obj[0].nca_investment_property.Value * 100).ToString("N2"));
list.Add(s[36]+"|"+obj[0].fixed_assets.ToString("N2")+"|"+obj[1].fixed_assets.ToString("N2") + "|"+(obj[0].fixed_assets == 0 ? 0 : (obj[1].fixed_assets - obj[0].fixed_assets) / obj[0].fixed_assets * 100).ToString("N2"));
list.Add(s[37]+"|"+obj[0].nca_construction_in_process.Value.ToString("N2")+"|"+obj[1].nca_construction_in_process.Value.ToString("N2") + "|"+(obj[0].nca_construction_in_process.Value == 0 ? 0 : (obj[1].nca_construction_in_process.Value - obj[0].nca_construction_in_process.Value) / obj[0].nca_construction_in_process.Value * 100).ToString("N2"));
list.Add(s[38]+"|"+obj[0].nca_engineering_material.Value.ToString("N2")+"|"+obj[1].nca_engineering_material.Value.ToString("N2") + "|"+(obj[0].nca_engineering_material.Value == 0 ? 0 : (obj[1].nca_engineering_material.Value - obj[0].nca_engineering_material.Value) / obj[0].nca_engineering_material.Value * 100).ToString("N2"));
list.Add(s[39]+"|"+obj[0].nca_disposal_of_fixed_assets.Value.ToString("N2")+"|"+obj[1].nca_disposal_of_fixed_assets.Value.ToString("N2") + "|"+(obj[0].nca_disposal_of_fixed_assets.Value == 0 ? 0 : (obj[1].nca_disposal_of_fixed_assets.Value - obj[0].nca_disposal_of_fixed_assets.Value) / obj[0].nca_disposal_of_fixed_assets.Value * 100).ToString("N2"));
list.Add(s[40]+"|"+obj[0].nca_productive_biological_asset.Value.ToString("N2")+"|"+obj[1].nca_productive_biological_asset.Value.ToString("N2") + "|"+(obj[0].nca_productive_biological_asset.Value == 0 ? 0 : (obj[1].nca_productive_biological_asset.Value - obj[0].nca_productive_biological_asset.Value) / obj[0].nca_productive_biological_asset.Value * 100).ToString("N2"));
list.Add(s[41]+"|"+obj[0].nca_oil_and_gas_assets.Value.ToString("N2")+"|"+obj[1].nca_oil_and_gas_assets.Value.ToString("N2") + "|"+(obj[0].nca_oil_and_gas_assets.Value == 0 ? 0 : (obj[1].nca_oil_and_gas_assets.Value - obj[0].nca_oil_and_gas_assets.Value) / obj[0].nca_oil_and_gas_assets.Value * 100).ToString("N2"));
list.Add(s[42]+"|"+obj[0].nca_intangible_assets.Value.ToString("N2")+"|"+obj[1].nca_intangible_assets.Value.ToString("N2") + "|"+(obj[0].nca_intangible_assets.Value == 0 ? 0 : (obj[1].nca_intangible_assets.Value - obj[0].nca_intangible_assets.Value) / obj[0].nca_intangible_assets.Value * 100).ToString("N2"));
list.Add(s[43]+"|"+obj[0].nca_development_expenditure.Value.ToString("N2")+"|"+obj[1].nca_development_expenditure.Value.ToString("N2") + "|"+(obj[0].nca_development_expenditure.Value == 0 ? 0 : (obj[1].nca_development_expenditure.Value - obj[0].nca_development_expenditure.Value) / obj[0].nca_development_expenditure.Value * 100).ToString("N2"));
list.Add(s[44]+"|"+obj[0].nca_goodwill.Value.ToString("N2")+"|"+obj[1].nca_goodwill.Value.ToString("N2") + "|"+(obj[0].nca_goodwill.Value == 0 ? 0 : (obj[1].nca_goodwill.Value - obj[0].nca_goodwill.Value) / obj[0].nca_goodwill.Value * 100).ToString("N2"));
list.Add(s[45]+"|"+obj[0].nca_longterm_unamortized_expenses.Value.ToString("N2")+"|"+obj[1].nca_longterm_unamortized_expenses.Value.ToString("N2") + "|"+(obj[0].nca_longterm_unamortized_expenses.Value == 0 ? 0 : (obj[1].nca_longterm_unamortized_expenses.Value - obj[0].nca_longterm_unamortized_expenses.Value) / obj[0].nca_longterm_unamortized_expenses.Value * 100).ToString("N2"));
list.Add(s[46]+"|"+obj[0].nca_deferred_tax_assets.Value.ToString("N2")+"|"+obj[1].nca_deferred_tax_assets.Value.ToString("N2") + "|"+(obj[0].nca_deferred_tax_assets.Value == 0 ? 0 : (obj[1].nca_deferred_tax_assets.Value - obj[0].nca_deferred_tax_assets.Value) / obj[0].nca_deferred_tax_assets.Value * 100).ToString("N2"));
list.Add(s[47]+"|"+obj[0].nca_other_assets.Value.ToString("N2")+"|"+obj[1].nca_other_assets.Value.ToString("N2") + "|"+(obj[0].nca_other_assets.Value == 0 ? 0 : (obj[1].nca_other_assets.Value - obj[0].nca_other_assets.Value) / obj[0].nca_other_assets.Value * 100).ToString("N2"));
list.Add(s[48]+"|"+obj[0].nca_count.Value.ToString("N2")+"|"+obj[1].nca_count.Value.ToString("N2") + "|"+(obj[0].nca_count.Value == 0 ? 0 : (obj[1].nca_count.Value - obj[0].nca_count.Value) / obj[0].nca_count.Value * 100).ToString("N2"));
list.Add(s[49]+"|"+obj[0].count_assets.Value.ToString("N2")+"|"+obj[1].count_assets.Value.ToString("N2") + "|"+(obj[0].count_assets.Value == 0 ? 0 : (obj[1].count_assets.Value - obj[0].count_assets.Value) / obj[0].count_assets.Value * 100).ToString("N2"));
list.Add(s[50]+"|"+obj[0].short_term_borrow.ToString("N2")+"|"+obj[1].short_term_borrow.ToString("N2") + "|"+(obj[0].short_term_borrow == 0 ? 0 : (obj[1].short_term_borrow - obj[0].short_term_borrow) / obj[0].short_term_borrow * 100).ToString("N2"));
list.Add(s[51]+"|"+obj[0].cl_trading_financ_liabilities.Value.ToString("N2")+"|"+obj[1].cl_trading_financ_liabilities.Value.ToString("N2") + "|"+(obj[0].cl_trading_financ_liabilities.Value == 0 ? 0 : (obj[1].cl_trading_financ_liabilities.Value - obj[0].cl_trading_financ_liabilities.Value) / obj[0].cl_trading_financ_liabilities.Value * 100).ToString("N2"));
list.Add(s[52]+"|"+obj[0].cl_notes_payable.Value.ToString("N2")+"|"+obj[1].cl_notes_payable.Value.ToString("N2") + "|"+(obj[0].cl_notes_payable.Value == 0 ? 0 : (obj[1].cl_notes_payable.Value - obj[0].cl_notes_payable.Value) / obj[0].cl_notes_payable.Value * 100).ToString("N2"));
list.Add(s[53]+"|"+obj[0].accounts_payable.ToString("N2")+"|"+obj[1].accounts_payable.ToString("N2") + "|"+(obj[0].accounts_payable == 0 ? 0 : (obj[1].accounts_payable - obj[0].accounts_payable) / obj[0].accounts_payable * 100).ToString("N2"));
list.Add(s[54]+"|"+obj[0].finished_accounts_payable.Value.ToString("N2")+"|"+obj[1].finished_accounts_payable.Value.ToString("N2") + "|"+(obj[0].finished_accounts_payable.Value == 0 ? 0 : (obj[1].finished_accounts_payable.Value - obj[0].finished_accounts_payable.Value) / obj[0].finished_accounts_payable.Value * 100).ToString("N2"));
list.Add(s[55]+"|"+obj[0].semi_accounts_payable.Value.ToString("N2")+"|"+obj[1].semi_accounts_payable.Value.ToString("N2") + "|"+(obj[0].semi_accounts_payable.Value == 0 ? 0 : (obj[1].semi_accounts_payable.Value - obj[0].semi_accounts_payable.Value) / obj[0].semi_accounts_payable.Value * 100).ToString("N2"));
list.Add(s[56]+"|"+obj[0].logistics_accounts_payable.Value.ToString("N2")+"|"+obj[1].logistics_accounts_payable.Value.ToString("N2") + "|"+(obj[0].logistics_accounts_payable.Value == 0 ? 0 : (obj[1].logistics_accounts_payable.Value - obj[0].logistics_accounts_payable.Value) / obj[0].logistics_accounts_payable.Value * 100).ToString("N2"));
list.Add(s[57]+"|"+obj[0].advance_received.ToString("N2")+"|"+obj[1].advance_received.ToString("N2") + "|"+(obj[0].advance_received == 0 ? 0 : (obj[1].advance_received - obj[0].advance_received) / obj[0].advance_received * 100).ToString("N2"));
list.Add(s[58]+"|"+obj[0].payable_remuneration.ToString("N2")+"|"+obj[1].payable_remuneration.ToString("N2") + "|"+(obj[0].payable_remuneration == 0 ? 0 : (obj[1].payable_remuneration - obj[0].payable_remuneration) / obj[0].payable_remuneration * 100).ToString("N2"));
list.Add(s[59]+"|"+obj[0].taxes_payable.ToString("N2")+"|"+obj[1].taxes_payable.ToString("N2") + "|"+(obj[0].taxes_payable == 0 ? 0 : (obj[1].taxes_payable - obj[0].taxes_payable) / obj[0].taxes_payable * 100).ToString("N2"));
list.Add(s[60]+"|"+obj[0].cl_payable_interest.Value.ToString("N2")+"|"+obj[1].cl_payable_interest.Value.ToString("N2") + "|"+(obj[0].cl_payable_interest.Value == 0 ? 0 : (obj[1].cl_payable_interest.Value - obj[0].cl_payable_interest.Value) / obj[0].cl_payable_interest.Value * 100).ToString("N2"));
list.Add(s[61]+"|"+obj[0].cl_dividends_payable.Value.ToString("N2")+"|"+obj[1].cl_dividends_payable.Value.ToString("N2") + "|"+(obj[0].cl_dividends_payable.Value == 0 ? 0 : (obj[1].cl_dividends_payable.Value - obj[0].cl_dividends_payable.Value) / obj[0].cl_dividends_payable.Value * 100).ToString("N2"));
list.Add(s[62]+"|"+obj[0].other_accounts_payable.ToString("N2")+"|"+obj[1].other_accounts_payable.ToString("N2") + "|"+(obj[0].other_accounts_payable == 0 ? 0 : (obj[1].other_accounts_payable - obj[0].other_accounts_payable) / obj[0].other_accounts_payable * 100).ToString("N2"));
list.Add(s[63]+"|"+obj[0].cl_oneyear_noncurrent_liabilities.Value.ToString("N2")+"|"+obj[1].cl_oneyear_noncurrent_liabilities.Value.ToString("N2") + "|"+(obj[0].cl_oneyear_noncurrent_liabilities.Value == 0 ? 0 : (obj[1].cl_oneyear_noncurrent_liabilities.Value - obj[0].cl_oneyear_noncurrent_liabilities.Value) / obj[0].cl_oneyear_noncurrent_liabilities.Value * 100).ToString("N2"));
list.Add(s[64]+"|"+obj[0].cl_other_liabilities.Value.ToString("N2")+"|"+obj[1].cl_other_liabilities.Value.ToString("N2") + "|"+(obj[0].cl_other_liabilities.Value == 0 ? 0 : (obj[1].cl_other_liabilities.Value - obj[0].cl_other_liabilities.Value) / obj[0].cl_other_liabilities.Value * 100).ToString("N2"));
list.Add(s[65]+"|"+obj[0].cl_count.Value.ToString("N2")+"|"+obj[1].cl_count.Value.ToString("N2") + "|"+(obj[0].cl_count.Value == 0 ? 0 : (obj[1].cl_count.Value - obj[0].cl_count.Value) / obj[0].cl_count.Value * 100).ToString("N2"));
list.Add(s[66]+"|"+obj[0].ncl_longterm_loan.Value.ToString("N2")+"|"+obj[1].ncl_longterm_loan.Value.ToString("N2") + "|"+(obj[0].ncl_longterm_loan.Value == 0 ? 0 : (obj[1].ncl_longterm_loan.Value - obj[0].ncl_longterm_loan.Value) / obj[0].ncl_longterm_loan.Value * 100).ToString("N2"));
list.Add(s[67]+"|"+obj[0].ncl_bonds_payable.Value.ToString("N2")+"|"+obj[1].ncl_bonds_payable.Value.ToString("N2") + "|"+(obj[0].ncl_bonds_payable.Value == 0 ? 0 : (obj[1].ncl_bonds_payable.Value - obj[0].ncl_bonds_payable.Value) / obj[0].ncl_bonds_payable.Value * 100).ToString("N2"));
list.Add(s[68]+"|"+obj[0].long_term_accounts_payable.ToString("N2")+"|"+obj[1].long_term_accounts_payable.ToString("N2") + "|"+(obj[0].long_term_accounts_payable == 0 ? 0 : (obj[1].long_term_accounts_payable - obj[0].long_term_accounts_payable) / obj[0].long_term_accounts_payable * 100).ToString("N2"));
list.Add(s[69]+"|"+obj[0].ncl_special_payable.Value.ToString("N2")+"|"+obj[1].ncl_special_payable.Value.ToString("N2") + "|"+(obj[0].ncl_special_payable.Value == 0 ? 0 : (obj[1].ncl_special_payable.Value - obj[0].ncl_special_payable.Value) / obj[0].ncl_special_payable.Value * 100).ToString("N2"));
list.Add(s[70]+"|"+obj[0].ncl_anticipation_liabilities.Value.ToString("N2")+"|"+obj[1].ncl_anticipation_liabilities.Value.ToString("N2") + "|"+(obj[0].ncl_anticipation_liabilities.Value == 0 ? 0 : (obj[1].ncl_anticipation_liabilities.Value - obj[0].ncl_anticipation_liabilities.Value) / obj[0].ncl_anticipation_liabilities.Value * 100).ToString("N2"));
list.Add(s[71]+"|"+obj[0].ncl_deferred_income_tax_liabilities.Value.ToString("N2")+"|"+obj[1].ncl_deferred_income_tax_liabilities.Value.ToString("N2") + "|"+(obj[0].ncl_deferred_income_tax_liabilities.Value == 0 ? 0 : (obj[1].ncl_deferred_income_tax_liabilities.Value - obj[0].ncl_deferred_income_tax_liabilities.Value) / obj[0].ncl_deferred_income_tax_liabilities.Value * 100).ToString("N2"));
list.Add(s[72]+"|"+obj[0].ncl_other_liabilities.Value.ToString("N2")+"|"+obj[1].ncl_other_liabilities.Value.ToString("N2") + "|"+(obj[0].ncl_other_liabilities.Value == 0 ? 0 : (obj[1].ncl_other_liabilities.Value - obj[0].ncl_other_liabilities.Value) / obj[0].ncl_other_liabilities.Value * 100).ToString("N2"));
list.Add(s[73]+"|"+obj[0].ncl_count.Value.ToString("N2")+"|"+obj[1].ncl_count.Value.ToString("N2") + "|"+(obj[0].ncl_count.Value == 0 ? 0 : (obj[1].ncl_count.Value - obj[0].ncl_count.Value) / obj[0].ncl_count.Value * 100).ToString("N2"));
list.Add(s[74]+"|"+obj[0].count_liabilities.Value.ToString("N2")+"|"+obj[1].count_liabilities.Value.ToString("N2") + "|"+(obj[0].count_liabilities.Value == 0 ? 0 : (obj[1].count_liabilities.Value - obj[0].count_liabilities.Value) / obj[0].count_liabilities.Value * 100).ToString("N2"));
list.Add(s[75]+"|"+obj[0].oe_paicl_up_capital.Value.ToString("N2")+"|"+obj[1].oe_paicl_up_capital.Value.ToString("N2") + "|"+(obj[0].oe_paicl_up_capital.Value == 0 ? 0 : (obj[1].oe_paicl_up_capital.Value - obj[0].oe_paicl_up_capital.Value) / obj[0].oe_paicl_up_capital.Value * 100).ToString("N2"));
list.Add(s[76]+"|"+obj[0].oe_capital_reserve.Value.ToString("N2")+"|"+obj[1].oe_capital_reserve.Value.ToString("N2") + "|"+(obj[0].oe_capital_reserve.Value == 0 ? 0 : (obj[1].oe_capital_reserve.Value - obj[0].oe_capital_reserve.Value) / obj[0].oe_capital_reserve.Value * 100).ToString("N2"));
list.Add(s[77]+"|"+obj[0].oe_inventory_amount.Value.ToString("N2")+"|"+obj[1].oe_inventory_amount.Value.ToString("N2") + "|"+(obj[0].oe_inventory_amount.Value == 0 ? 0 : (obj[1].oe_inventory_amount.Value - obj[0].oe_inventory_amount.Value) / obj[0].oe_inventory_amount.Value * 100).ToString("N2"));
list.Add(s[78]+"|"+obj[0].oe_surplus_public_accumulation.Value.ToString("N2")+"|"+obj[1].oe_surplus_public_accumulation.Value.ToString("N2") + "|"+(obj[0].oe_surplus_public_accumulation.Value == 0 ? 0 : (obj[1].oe_surplus_public_accumulation.Value - obj[0].oe_surplus_public_accumulation.Value) / obj[0].oe_surplus_public_accumulation.Value * 100).ToString("N2"));
list.Add(s[79]+"|"+obj[0].oe_undistributed_profit.Value.ToString("N2")+"|"+obj[1].oe_undistributed_profit.Value.ToString("N2") + "|"+(obj[0].oe_undistributed_profit.Value == 0 ? 0 : (obj[1].oe_undistributed_profit.Value - obj[0].oe_undistributed_profit.Value) / obj[0].oe_undistributed_profit.Value * 100).ToString("N2"));
list.Add(s[80]+"|"+obj[0].oe_count.Value.ToString("N2")+"|"+obj[1].oe_count.Value.ToString("N2") + "|"+(obj[0].oe_count.Value == 0 ? 0 : (obj[1].oe_count.Value - obj[0].oe_count.Value) / obj[0].oe_count.Value * 100).ToString("N2"));
list.Add(s[81]+"|"+obj[0].count_liabilities_and_oe.Value.ToString("N2")+"|"+obj[1].count_liabilities_and_oe.Value.ToString("N2") + "|"+(obj[0].count_liabilities_and_oe.Value == 0 ? 0 : (obj[1].count_liabilities_and_oe.Value - obj[0].count_liabilities_and_oe.Value) / obj[0].count_liabilities_and_oe.Value * 100).ToString("N2"));
var guid = Guid.NewGuid().ToString();
var filename = "资产负债表环比明细 "+start.ToString("yyyy-MM-dd") + " " + end.ToString("yyyy-MM-dd");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(list, colNames, guid, filepath);
var ms = new System.IO.MemoryStream();
using (var f = new System.IO.FileStream(filepath + guid + ".csv", System.IO.FileMode.Open))
{
f.CopyTo(ms);
}
ms.Position = 0;
return File(ms, "text/csv", filename + ".csv");
}
catch (Exception ex)
{
}
return View();
}
#endregion
#region 平台余额
#region 平台余额
public ActionResult ListAccoutBalanceCount()
public ActionResult ListAccoutBalanceCount()
{
return View();
}
......
......@@ -32,6 +32,8 @@
</select>
<button type="button" class="btn btn-sm btn-primary" onclick="GetData();"><i class="fa fa-search"></i>&nbsp;查询</button>
<button id="btnexport" style="display:none;" type="button" class="btn btn-sm btn-success" onclick="ExportXsl();">导出</button>
<button type="button" class="btn btn-sm btn-warning" onclick="showchart();">环比图表</button>
</div>
</div>
</form>
......@@ -1635,6 +1637,10 @@
window.open('@Url.Content("~/Reports/Finance/ExportIndex?")' + 'type=' + type + '&paycompanyvalue=' + paycompany, '_blank');
}
function showchart() {
layer_show('资产负债表环比图', '@Url.Content("~/Reports/Finance/Index2Chart")', '90%', '90%');
}
</script>
}
......

@{
ViewData["Title"] = "资产负债表环比";
Layout = "~/Pages/Shared/_MainLayout.cshtml";
ViewBag.Nav = new string[] { "报表管理", "资产负债表", "资产负债表环比表" };
}
<div class="row">
<div class="col-sm-12">
<div class="ibox-content m-b-sm border-bottom">
<form id="toolbar">
<div class="form-inline" style="line-height:40px;">
<div class="form-group">
<input id="start" class="form-control" name="start" type="text" style="width:120px;" value="@ViewBag.start" />
<input id="end" name="end" class="form-control" type="text" style="width:120px;" value="@ViewBag.end" />
<button type="button" class="btn btn-sm btn-primary" onclick="init();"><i class="fa fa-search"></i>&nbsp;查询</button>
<button id="btnexport" type="button" class="btn btn-sm btn-success" onclick="ExportXsl();">导出</button>
</div>
</div>
</form>
</div>
<div class="ibox-content m-b-sm border-bottom">
<div id="chart_content" style="height:600px;width:100%;">
</div>
</div>
</div>
</div>
@section scripts{
<script src="https://cdn.bootcss.com/echarts/3.6.2/echarts.min.js"></script>
<script>
var myChart;
$(document).ready(function () {
laydate.render({ elem: '#start' });
laydate.render({ elem: '#end' });
myChart = echarts.init(document.getElementById('chart_content'));
init();
})
function init() {
var start = $('#start').val();
var end = $('#end').val();
if (start == '' || end == '') {
alert('开始和结束日期必须填写');
return false;
}
$.submit({
type:'POST',
url: '@Url.Content("~/Reports/Finance/FinanceDebtChainChartJson")',
paramData: 'start=' + start + '&end=' + end,
func: function (result) {
if (result.success) {
//var option = {
// color: ['#3398DB'],
// tooltip: {
// trigger: 'axis',
// axisPointer: { // 坐标轴指示器,坐标轴触发有效
// type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
// }
// },
// grid: {
// left: '3%',
// right: '4%',
// bottom: '3%',
// containLabel: true
// },
// xAxis: [
// {
// type: 'category',
// data: result.data.s,
// axisTick: {
// alignWithLabel: true
// }
// }
// ],
// yAxis: [
// {
// type: 'value'
// }
// ],
// series: [
// {
// name: '数值项',
// type: 'bar',
// barWidth: '60%',
// data: result.data.val
// }
// ]
//};
var option = {
title: {
text: ''
},
tooltip: {},
legend: {
data: ['环比%']
},
xAxis: {
data: result.data.col
},
yAxis: {},
series: [{
name: '环比',
type: 'bar',
barWidth: '60%',
data: result.data.val
}]
};
myChart.setOption(option);
}
}
})
}
function ExportXsl() {
var start = $('#start').val();
var end = $('#end').val();
if (start == '' || end == '') {
alert('开始和结束日期必须填写');
return false;
}
window.open('@Url.Content("~/Reports/Finance/ExportFinanceDebtChainChart?start=")'+start+'&end='+end, "_blank");
}
</script>
}
......@@ -29,8 +29,8 @@
<body class="fixed-sidebar full-height-layout gray-bg" style="overflow:hidden">
<script type="text/javascript">
//login_localhost();
login();
login_localhost();
//login();
window.location = "@Url.Content("~/Home/Main")";
</script>
</body>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment