Commit 204450eb by guanzhenshan

环比改为表格,增加一级项目

parent 548c21f7
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
public class mFinanceDebtChain
{
public string onelevelname { get; set; }
public string sencondlevelname { get; set; }
public decimal start { get; set; }
public decimal end { get; set; }
public string diff { get; set; }
}
}
......@@ -2748,8 +2748,6 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
{
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仓在途(调拨计划)",
......@@ -2761,6 +2759,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var val = new List<string>();
var listval = new List<mFinanceDebtChain>();
foreach (var m in obj)
{
m.cl_count = m.cl_count ?? 0;
......@@ -2881,110 +2881,140 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
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"));
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[0], start = obj[0].monetary_fund, end = obj[1].monetary_fund, diff = (obj[0].monetary_fund == 0 ? 0 : (obj[1].monetary_fund - obj[0].monetary_fund) / obj[0].monetary_fund * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[1], start = obj[0].withdraw_amount.Value, end = obj[1].withdraw_amount.Value, diff = (obj[0].withdraw_amount == 0 ? 0 : (obj[1].withdraw_amount - obj[0].withdraw_amount) / obj[0].withdraw_amount * 100).Value.ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[2], start = obj[0].platform_balance.Value, end = obj[1].platform_balance.Value, diff = (obj[0].platform_balance == 0 ? 0 : (obj[1].platform_balance - obj[0].platform_balance) / obj[0].platform_balance * 100).Value.ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[3], start = obj[0].bank_account_balance.Value, end = obj[1].bank_account_balance.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[4], start = obj[0].fa_trading_finan_asset.Value, end = obj[1].fa_trading_finan_asset.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[5], start = obj[0].fa_bill_receivable.Value, end = obj[1].fa_bill_receivable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[6], start = obj[0].accounts_receivable, end = obj[1].accounts_receivable, diff = (obj[0].accounts_receivable == 0 ? 0 : (obj[1].accounts_receivable - obj[0].accounts_receivable) / obj[0].accounts_receivable * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[7], start = obj[0].amount_borrowed, end = obj[1].amount_borrowed, diff = (obj[0].amount_borrowed == 0 ? 0 : (obj[1].amount_borrowed - obj[0].amount_borrowed) / obj[0].amount_borrowed * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[8], start = obj[0].prepayment, end = obj[1].prepayment, diff = (obj[0].prepayment == 0 ? 0 : (obj[1].prepayment - obj[0].prepayment) / obj[0].prepayment * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[9], start = obj[0].finished_prepayment.Value, end = obj[1].finished_prepayment.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[10], start = obj[0].semi_prepayment.Value, end = obj[1].semi_prepayment.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[11], start = obj[0].logistics_prepayment.Value, end = obj[1].logistics_prepayment.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[12], start = obj[0].fa_interest_receivable.Value, end = obj[1].fa_interest_receivable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[13], start = obj[0].fa_dividends_receivable.Value, end = obj[1].fa_dividends_receivable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[14], start = obj[0].other_accounts_receivable, end = obj[1].other_accounts_receivable, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[15], start = obj[0].inventory_amount, end = obj[1].inventory_amount, diff = (obj[0].inventory_amount == 0 ? 0 : (obj[1].inventory_amount - obj[0].inventory_amount) / obj[0].inventory_amount * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[16], start = obj[0].fba_inventory_amount.Value, end = obj[1].fba_inventory_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[17], start = obj[0].not_fba_inventory_amount.Value, end = obj[1].not_fba_inventory_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[18], start = obj[0].fba_transfer_allot_amount.Value, end = obj[1].fba_transfer_allot_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[19], start = obj[0].fba_transfer_plan_amount.Value, end = obj[1].fba_transfer_plan_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[20], start = obj[0].not_fba_transfer_allot_amount.Value, end = obj[1].not_fba_transfer_allot_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[21], start = obj[0].not_fba_transfer_plan_amount.Value, end = obj[1].not_fba_transfer_plan_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[22], start = obj[0].semi_inventory_amount.Value, end = obj[1].semi_inventory_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[23], start = obj[0].semi_bailun_inventory_amount.Value, end = obj[1].semi_bailun_inventory_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[24], start = obj[0].semi_hani_inventory_amount.Value, end = obj[1].semi_hani_inventory_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[25], start = obj[0].semi_transfer_amount.Value, end = obj[1].semi_transfer_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[26], start = obj[0].semi_bailun_transfer_amount.Value, end = obj[1].semi_bailun_transfer_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[27], start = obj[0].semi_hani_transfer_amount.Value, end = obj[1].semi_hani_transfer_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[28], start = obj[0].fa_oneyear_noncurrent_assets.Value, end = obj[1].fa_oneyear_noncurrent_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[29], start = obj[0].fa_other_assets.Value, end = obj[1].fa_other_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[30], start = obj[0].fa_count.Value, end = obj[1].fa_count.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[31], start = obj[0].nca_avai_for_sale_fassets.Value, end = obj[1].nca_avai_for_sale_fassets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[32], start = obj[0].nca_heldon_investment.Value, end = obj[1].nca_heldon_investment.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[33], start = obj[0].nca_longterm_receivable.Value, end = obj[1].nca_longterm_receivable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[34], start = obj[0].nca_longterm_equity_investment.Value, end = obj[1].nca_longterm_equity_investment.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[35], start = obj[0].nca_investment_property.Value, end = obj[1].nca_investment_property.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[36], start = obj[0].fixed_assets, end = obj[1].fixed_assets, diff = (obj[0].fixed_assets == 0 ? 0 : (obj[1].fixed_assets - obj[0].fixed_assets) / obj[0].fixed_assets * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[37], start = obj[0].nca_construction_in_process.Value, end = obj[1].nca_construction_in_process.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[38], start = obj[0].nca_engineering_material.Value, end = obj[1].nca_engineering_material.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[39], start = obj[0].nca_disposal_of_fixed_assets.Value, end = obj[1].nca_disposal_of_fixed_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[40], start = obj[0].nca_productive_biological_asset.Value, end = obj[1].nca_productive_biological_asset.Value, diff = (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].monetary_fund * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[41], start = obj[0].nca_oil_and_gas_assets.Value, end = obj[1].nca_oil_and_gas_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[42], start = obj[0].nca_intangible_assets.Value, end = obj[1].nca_intangible_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[43], start = obj[0].nca_development_expenditure.Value, end = obj[1].nca_development_expenditure.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[44], start = obj[0].nca_goodwill.Value, end = obj[1].nca_goodwill.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[45], start = obj[0].nca_longterm_unamortized_expenses.Value, end = obj[1].nca_longterm_unamortized_expenses.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[46], start = obj[0].nca_deferred_tax_assets.Value, end = obj[1].nca_deferred_tax_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[47], start = obj[0].nca_other_assets.Value, end = obj[1].nca_other_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[48], start = obj[0].nca_count.Value, end = obj[1].nca_count.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[49], start = obj[0].count_assets.Value, end = obj[1].count_assets.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[50], start = obj[0].short_term_borrow, end = obj[1].short_term_borrow, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[51], start = obj[0].cl_trading_financ_liabilities.Value, end = obj[1].cl_trading_financ_liabilities.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[52], start = obj[0].cl_notes_payable.Value, end = obj[1].cl_notes_payable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[53], start = obj[0].accounts_payable, end = obj[1].accounts_payable, diff = (obj[0].accounts_payable == 0 ? 0 : (obj[1].accounts_payable - obj[0].accounts_payable) / obj[0].accounts_payable * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[54], start = obj[0].finished_accounts_payable.Value, end = obj[1].finished_accounts_payable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[55], start = obj[0].semi_accounts_payable.Value, end = obj[1].semi_accounts_payable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[56], start = obj[0].logistics_accounts_payable.Value, end = obj[1].logistics_accounts_payable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[57], start = obj[0].advance_received, end = obj[1].advance_received, diff = (obj[0].advance_received == 0 ? 0 : (obj[1].advance_received - obj[0].advance_received) / obj[0].advance_received * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[58], start = obj[0].payable_remuneration, end = obj[1].payable_remuneration, diff = (obj[0].payable_remuneration == 0 ? 0 : (obj[1].payable_remuneration - obj[0].payable_remuneration) / obj[0].payable_remuneration * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[59], start = obj[0].taxes_payable, end = obj[1].taxes_payable, diff = (obj[0].taxes_payable == 0 ? 0 : (obj[1].taxes_payable - obj[0].taxes_payable) / obj[0].taxes_payable * 100).ToString("N2") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[60], start = obj[0].cl_payable_interest.Value, end = obj[1].cl_payable_interest.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[61], start = obj[0].cl_dividends_payable.Value, end = obj[1].cl_dividends_payable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[62], start = obj[0].other_accounts_payable, end = obj[1].other_accounts_payable, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[63], start = obj[0].cl_oneyear_noncurrent_liabilities.Value, end = obj[1].cl_oneyear_noncurrent_liabilities.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[64], start = obj[0].cl_other_liabilities.Value, end = obj[1].cl_other_liabilities.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[65], start = obj[0].cl_count.Value, end = obj[1].cl_count.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[66], start = obj[0].ncl_longterm_loan.Value, end = obj[1].ncl_longterm_loan.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[67], start = obj[0].ncl_bonds_payable.Value, end = obj[1].ncl_bonds_payable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[68], start = obj[0].long_term_accounts_payable, end = obj[1].long_term_accounts_payable, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[69], start = obj[0].ncl_special_payable.Value, end = obj[1].ncl_special_payable.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[70], start = obj[0].ncl_anticipation_liabilities.Value, end = obj[1].ncl_anticipation_liabilities.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[71], start = obj[0].ncl_deferred_income_tax_liabilities.Value, end = obj[1].ncl_deferred_income_tax_liabilities.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[72], start = obj[0].ncl_other_liabilities.Value, end = obj[1].ncl_other_liabilities.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[73], start = obj[0].ncl_count.Value, end = obj[1].ncl_count.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[74], start = obj[0].count_liabilities.Value, end = obj[1].count_liabilities.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[75], start = obj[0].oe_paicl_up_capital.Value, end = obj[1].oe_paicl_up_capital.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[76], start = obj[0].oe_capital_reserve.Value, end = obj[1].oe_capital_reserve.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[77], start = obj[0].oe_inventory_amount.Value, end = obj[1].oe_inventory_amount.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[78], start = obj[0].oe_surplus_public_accumulation.Value, end = obj[1].oe_surplus_public_accumulation.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[79], start = obj[0].oe_undistributed_profit.Value, end = obj[1].oe_undistributed_profit.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[80], start = obj[0].oe_count.Value, end = obj[1].oe_count.Value, diff = (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") });
listval.Add(new mFinanceDebtChain { onelevelname = "", sencondlevelname = s[81], start = obj[0].count_liabilities_and_oe.Value, end = obj[1].count_liabilities_and_oe.Value, diff = (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 listPro = new List<string>();
for (var i = 0; i < s.Count; i++)
{
if (i >= 0 && i < 31)
{
listval[i].onelevelname=("流动资产");
}
else if (i >= 31 && i < 49)
{
listval[i].onelevelname=("非流动资产");
}
else if (i >= 49 && i < 50)
{
listval[i].onelevelname=("资产合计");
}
else if (i >= 50 && i < 66)
{
listval[i].onelevelname=("流动负债");
}
else if (i >= 66 && i < 74)
{
listval[i].onelevelname=("非流动负债");
}
else if (i >= 74 && i < 75)
{
listval[i].onelevelname=("负债合计");
}
else if (i >= 75 && i < 81)
{
listval[i].onelevelname=("所有者权益(或股东权益)");
}
else if (i >= 81 && i < 82)
{
listval[i].onelevelname=("所有者权益(或股东权益)合计");
}
}
return Json(new
{
success = true,
msg = "",
data = new
{
val = val,
col = s,
},
data = listval,
start = start.ToString("yyyy-MM-dd"),
end = end.ToString("yyyy-MM-dd")
});
......@@ -3137,7 +3167,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var colNames = new List<string> { "数值项", start.ToString("yyyy-MM-dd"), end.ToString("yyyy-MM-dd"),"环比%" };
var colNames = new List<string> { "一级项目", "二级项目", start.ToString("yyyy-MM-dd"), end.ToString("yyyy-MM-dd"),"环比%" };
var list = new List<string>();
......@@ -3235,6 +3265,41 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
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"));
for (var i = 0; i < list.Count; i++)
{
if (i >= 0 && i < 31)
{
list[i] = ("流动资产")+"|"+list[i];
}
else if (i >= 31 && i < 49)
{
list[i] = ("非流动资产") + "|" + list[i];
}
else if (i >= 49 && i < 50)
{
list[i] = ("资产合计") + "|" + list[i];
}
else if (i >= 50 && i < 66)
{
list[i] = ("流动负债") + "|" + list[i];
}
else if (i >= 66 && i < 74)
{
list[i] = ("非流动负债") + "|" + list[i];
}
else if (i >= 74 && i < 75)
{
list[i] = ("负债合计") + "|" + list[i];
}
else if (i >= 75 && i < 81)
{
list[i] = ("所有者权益(或股东权益)") + "|" + list[i];
}
else if (i >= 81 && i < 82)
{
list[i] = ("所有者权益(或股东权益)合计") + "|" + list[i];
}
}
var guid = Guid.NewGuid().ToString();
var filename = "资产负债表环比明细 "+start.ToString("yyyy-MM-dd") + " " + end.ToString("yyyy-MM-dd");
......
......@@ -33,7 +33,7 @@
<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>
<button type="button" class="btn btn-sm btn-warning" onclick="showchart();">环比表</button>
</div>
</div>
</form>
......
......@@ -20,22 +20,36 @@
</form>
</div>
<div class="ibox-content m-b-sm border-bottom">
<div id="chart_content" style="height:600px;width:100%;">
@*<div id="chart_content" style="height:600px;width:100%;">
</div>
</div>*@
<table id="tb" class="table table-hover table-bordered" style="width:100%;">
<thead>
<tr>
<th>一级项目</th>
<th>二级项目</th>
<th>期初</th>
<th>期末</th>
<th>环比差值%</th>
</tr>
</thead>
<tbody id="tbody_">
</tbody>
</table>
</div>
</div>
</div>
@section scripts{
<script src="https://cdn.bootcss.com/echarts/3.6.2/echarts.min.js"></script>
@*<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'));
//myChart = echarts.init(document.getElementById('chart_content'));
init();
})
......@@ -53,66 +67,41 @@
url: '@Url.Content("~/Reports/Finance/FinanceDebtChainChartJson")',
paramData: 'start=' + start + '&end=' + end,
func: function (result) {
$('#tbody_').html('');
if (result.success) {
//var option = {
// color: ['#3398DB'],
// tooltip: {
// trigger: 'axis',
// axisPointer: { // 坐标轴指示器,坐标轴触发有效
// type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
// }
// title: {
// text: ''
// },
// tooltip: {},
// legend: {
// data: ['环比%']
// },
// grid: {
// left: '3%',
// right: '4%',
// bottom: '3%',
// containLabel: true
// xAxis: {
// data: result.data.col
// },
// xAxis: [
// {
// type: 'category',
// data: result.data.s,
// axisTick: {
// alignWithLabel: true
// }
// }
// ],
// yAxis: [
// {
// type: 'value'
// }
// ],
// series: [
// {
// name: '数值项',
// yAxis: {},
// 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);
//myChart.setOption(option);
for (var i = 0; i < result.data.length; i++) {
if (result.data[i].sencondlevelname.indexOf('合计') > 0) {
var s = '<tr><td style="text-align:right;width:190px;background:#eee;">' + result.data[i].onelevelname + '</td><td style="background:#eee;">' + result.data[i].sencondlevelname + '</td><td style="background:#eee;">' + result.data[i].start + '</td><td style="background:#eee;">' + result.data[i].end + '</td><td style="background:#eee;">' + result.data[i].diff + '</td><tr>';
}
else {
var s = '<tr><td style="text-align:right;width:190px;">' + result.data[i].onelevelname + '</td><td>' + result.data[i].sencondlevelname + '</td><td>' + result.data[i].start + '</td><td>' + result.data[i].end + '</td><td>' + result.data[i].diff + '</td><tr>';
}
$('#tbody_').append(s);
}
}
}
})
......
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