Commit df535080 by guanzhenshan

月销售利润报表增加歌戈尔收入项

parent 49862f6c
......@@ -6882,61 +6882,50 @@ group by currency";
/// <param name="end"></param>
/// <param name="col"></param>
/// <returns></returns>
public List<dc_base_finance_managecost> ListMonthProfitFeeOrderDetail(BtTableParameter parameter,DateTime start,DateTime end,string col,ref int total)
public List<dc_base_finance_fee> ListMonthProfitFeeOrderDetail(BtTableParameter parameter,DateTime start,DateTime end,string col,ref int total)
{
var sql = $"select * from dc_base_finance_managecost where pay_time>='{start.ToString("yyyy-MM-dd")}' and pay_time<'{end.ToString("yyyy-MM-dd")}' ";
var sql = $"select * from dc_base_finance_fee where cost_status=4 and (is_lend is null or is_lend=1 or (is_lend=2 and lend_balance>0) or (is_lend=2 and cost_form=1)) and pay_time>='{start.ToString("yyyy-MM-dd")}' and pay_time<'{end.AddDays(1).ToString("yyyy-MM-dd")}' and is_manage_cost=1";
if (col.Trim() == "fee_paycash_sales") //付现 fee_paycash_sales
{
sql += @" and (company_name='香港百伦科技有限公司' or
(fee_super_type in ('推广费','物流费用') and company_name!='(英国)4kmiles technologies ltd'
and company_name!='香港四千里数据科技有限公司'
and company_name!='YOUNGTOP INTERNATIONAL LIMITED'
and company_name!='深圳市四千里数据科技有限公司'
and company_name!='4Kmiles tec Limited'
and company_name!='广州四千里数据科技有限公司'
and company_name!='广州哈倪蔓生物科技有限公司'
and company_name!='广州哈倪蔓生物科技有限公司深圳分公司'
and company_name!='广州拉古娜生物科技有限公司'
)) ";
sql += @" and (company_name='香港百伦科技有限公司' and type_name = '付现销售费用') ";
}
else if (col.Trim() == "managecost_bl_gz") //广州百伦
{
sql += " and (company_name='广州百伦供应链科技有限公司' and fee_super_type!='推广费' and fee_super_type!='物流费用') ";
sql += " and (company_name='广州百伦供应链科技有限公司' and type_name!='出口退税款') ";
}
else if (col.Trim() == "managecost_meijia") //美甲
{
//歌戈儿
sql += " and (company_name like '%歌戈儿%' and fee_super_type!='推广费' and fee_super_type!='物流费用') ";
sql += " and (company_name like '%歌戈儿%' and (type_name!='销售收入' and type_name!='出口退税款')) ";
}
else if (col.Trim() == "managercost_chengpincang") //成品仓
{
sql += " and (company_name in ('广州电子服装仓','阳山仓') and fee_super_type!='推广费' and fee_super_type!='物流费用') ";
sql += " and (company_name in ('广州电子服装仓','阳山仓') and type_name!='出口退税款') ";
}
else if (col.Trim() == "managercost_yangshan") //扬杉
{
sql += " and (company_name like '%扬杉%' and fee_super_type!='推广费' and fee_super_type!='物流费用') ";
sql += " and (company_name like '%扬杉%' and type_name!='出口退税款') ";
}
else if (col.Trim() == "managercost_xinhuilan") //信荟蓝
{
sql += " and (company_name like '%信荟蓝%' and fee_super_type!='推广费' and fee_super_type!='物流费用') ";
sql += " and (company_name like '%信荟蓝%' and type_name!='出口退税款') ";
}
else if (col.Trim() == "managercost_meijiashengchan") //美甲生产仓
{
sql += " and (company_name like '%美甲生产仓%' and fee_super_type!='推广费' and fee_super_type!='物流费用') ";
sql += " and (company_name like '%美甲生产仓%' and type_name!='出口退税款') ";
}
else if (col.Trim() == "managercost_dizhi") //迪致美容
{
sql += " and (company_name like '%迪致美容%' and fee_super_type!='推广费' and fee_super_type!='物流费用') ";
sql += " and (company_name like '%迪致美容%' and type_name!='出口退税款') ";
}
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
......@@ -6948,14 +6937,25 @@ group by currency";
if(parameter.limit>0)
{
var obj = cn.Page<dc_base_finance_managecost>(parameter.pageIndex, parameter.limit, sql, ref total);
var obj = cn.Page<dc_base_finance_fee>(parameter.pageIndex, parameter.limit, sql, ref total);
foreach (var item in obj)
{
if (item.manage_cost_type == 2)
if (item.cost_form == 2)
{
item.amount = -item.amount;
item.amount_rmb = -item.amount_rmb;
item.amount = -(item.amount);
item.amount_rmb = -(item.amount_rmb);
}
//借支单待还余额
if (item.cost_form == 3)
{
if (item.is_lend.HasValue && item.is_lend.Value == 2 && ((item.lend_balance ?? 0) > 0)) //归还金额
{
item.amount = -(item.amount);
item.amount_rmb = -(item.amount_rmb);
}
}
}
......@@ -6963,14 +6963,25 @@ group by currency";
}
else
{
var obj = cn.Query<dc_base_finance_managecost>(sql);
var obj = cn.Query<dc_base_finance_fee>(sql);
foreach (var item in obj)
{
if (item.manage_cost_type == 2)
if (item.cost_form == 2)
{
item.amount = -item.amount;
item.amount_rmb = -item.amount_rmb;
item.amount = -(item.amount);
item.amount_rmb = -(item.amount_rmb);
}
//借支单待还余额
if (item.cost_form == 3)
{
if (item.is_lend.HasValue && item.is_lend.Value == 2 && ((item.lend_balance ?? 0) > 0)) //归还金额
{
item.amount = -(item.amount);
item.amount_rmb = -(item.amount_rmb);
}
}
}
......
......@@ -9020,6 +9020,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
incoming_non_operating = a.incoming_non_operating.ToString("N2"),
incoming_other = a.incoming_other.ToString("N2"),
incoming_refundtax = a.incoming_refundtax.ToString("N2"),
incoming_gogirl = a.incoming_gogirl.ToString("N2"),
a.isedit,
managecost_bl_gz = a.managecost_bl_gz.ToString("N2"),
......@@ -9103,6 +9104,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
listHead.Add(new Tuple<string, string, int>("营业毛利率", "rate_profit", 0));
listHead.Add(new Tuple<string, string, int>("加:其他收入", "incoming_other", 0));
listHead.Add(new Tuple<string, string, int>("其中:出口退税收入", "incoming_refundtax", 0));
listHead.Add(new Tuple<string, string, int>("其中:歌戈尔收入", "incoming_gogirl", 0));
listHead.Add(new Tuple<string, string, int>("加:营业外收入", "incoming_non_operating", 0));
listHead.Add(new Tuple<string, string, int>("减:营业外支出", "pay_non_operating", 0));
listHead.Add(new Tuple<string, string, int>("减:资产减值损失", "impairment_assets", 0));
......@@ -9154,6 +9156,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
m.incoming_non_operating = item.Sum(a => a.incoming_non_operating);
m.incoming_other = item.Sum(a => a.incoming_other);
m.incoming_refundtax = item.Sum(a => a.incoming_refundtax);
m.incoming_gogirl = item.Sum(a => a.incoming_gogirl);
m.isedit = 2; //合并的
m.managecost_bl_gz = item.Sum(a => a.managecost_bl_gz);
m.managecost_bl_xg = item.Sum(a => a.managecost_bl_xg);
......@@ -9200,6 +9203,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
//营业毛利率=营业利润/销售额
m.rate_profit = m.amount_sales > 0 ? m.profit / m.amount_sales : 0;
m.incoming_other = m.incoming_refundtax + m.incoming_gogirl;
//实际利润=营业利润+其他收入+营业外收入-营业外支出-资产减值
m.actual_profit = m.profit + m.incoming_other + m.incoming_non_operating - m.pay_non_operating-(m.impairment_assets??0);
......@@ -9250,6 +9255,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
incoming_non_operating = a.incoming_non_operating.ToString("N2"),
incoming_other = a.incoming_other.ToString("N2"),
incoming_refundtax = a.incoming_refundtax.ToString("N2"),
incoming_gogirl = a.incoming_gogirl.ToString("N2"),
a.isedit,
managecost_bl_gz = a.managecost_bl_gz.ToString("N2"),
......@@ -9392,6 +9398,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
arrValue.Add(new Models.Common.KeyValue() { Key = "营业毛利率", Value = "" });
arrValue.Add(new Models.Common.KeyValue() { Key = "加:其他收入", Value = "" });
arrValue.Add(new Models.Common.KeyValue() { Key = "其中:出口退税收入", Value = "" });
arrValue.Add(new Models.Common.KeyValue() { Key = "其中:歌戈尔收入", Value = "" });
arrValue.Add(new Models.Common.KeyValue() { Key = "加:营业外收入", Value = "" });
arrValue.Add(new Models.Common.KeyValue() { Key = "减:营业外支出", Value = "" });
arrValue.Add(new Models.Common.KeyValue() { Key = "实际利润", Value = "" });
......@@ -9510,6 +9517,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
incoming_other.Value += objBase.incoming_other + "," + objEdit.incoming_other + "," + (objBase.incoming_other + objEdit.incoming_other + ",");
var incoming_refundtax = arrValue.Where(a => a.Key == "其中:出口退税收入").FirstOrDefault();
incoming_refundtax.Value += objBase.incoming_refundtax + "," + objEdit.incoming_refundtax + "," + (objBase.incoming_refundtax + objEdit.incoming_refundtax + ",");
var incoming_gogirl = arrValue.Where(a => a.Key == "其中:歌戈尔收入").FirstOrDefault();
incoming_gogirl.Value += objBase.incoming_gogirl + "," + objEdit.incoming_gogirl + "," + (objBase.incoming_gogirl + objEdit.incoming_gogirl + ",");
var incoming_non_operating = arrValue.Where(a => a.Key == "加:营业外收入").FirstOrDefault();
incoming_non_operating.Value += objBase.incoming_non_operating + "," + objEdit.incoming_non_operating + "," + (objBase.incoming_non_operating + objEdit.incoming_non_operating + ",");
var pay_non_operating = arrValue.Where(a => a.Key == "减:营业外支出").FirstOrDefault();
......@@ -9575,24 +9584,24 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var total = 0;
var start = DateTime.Parse(month + "-1");
var end = start.AddMonths(1);
var end = start.AddMonths(1).AddDays(-1);
var obj = new Services.FinanceReportServices().ListMonthProfitFeeOrderDetail(parameter, start, end, col, ref total);
var list = obj.Select(a => new {
amount = a.amount.ToString("###,###.##"),
amountRmb = a.amount_rmb.ToString("###,###.##"),
amount = (a.amount??0).ToString("###,###.##"),
amountRmb = (a.amount_rmb??0).ToString("###,###.##"),
companyName = a.company_name,
a.currency,
currency = a.dic,
departmentName = a.department_name,
feeSubType = a.fee_sub_type,
feeSubType = a.type_name,
a.accounting_subject_name,
feeSuperType = a.fee_super_type,
a.no,
manageCostType = a.manage_cost_type,
receiveUnit = a.receive_unit,
a.reason,
//feeSuperType = a.fee_super_type,
no = a.cost_no,
manageCostType = a.accounting_subject_name,
receiveUnit = a.bank_company,
reason = a.cost_reason,
payTime = a.pay_time.HasValue ? a.pay_time.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
}).ToList();
......@@ -9640,7 +9649,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var total = 0;
var start = DateTime.Parse(month + "-1");
var end = start.AddMonths(1);
var end = start.AddMonths(1).AddDays(-1);
var obj = new Services.FinanceReportServices().ListMonthProfitFeeOrderDetail(new BtTableParameter { offset=1,limit=0}, start, end, col, ref total);
......@@ -9650,8 +9659,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var list = new List<string>();
foreach (var item in obj)
{
list.Add(item.no + "|" + item.department_name + "|" + item.company_name + "|" + item.fee_super_type + "|" + item.accounting_subject_name + "|" +
item.amount + "|" + item.currency + "|" + item.amount_rmb + "|" + item.receive_unit + "|" + item.reason + "|" + item.pay_time.Value.ToString("yyyy-MM-dd HH:mm:ss")
list.Add(item.cost_no + "|" + item.department_name + "|" + item.company_name + "|" + item.type_name + "|" + item.accounting_subject_name + "|" +
item.amount + "|" + item.dic + "|" + item.amount_rmb + "|" + item.bank_company + "|" + item.cost_reason + "|" + item.pay_time.Value.ToString("yyyy-MM-dd HH:mm:ss")
);
}
......
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