Commit b4fb3c41 by guanzhenshan

增加库存汇总分析页面

parent 185322ce
...@@ -1312,6 +1312,101 @@ namespace Bailun.DC.Services ...@@ -1312,6 +1312,101 @@ namespace Bailun.DC.Services
#endregion #endregion
#region 库存汇总分析
/// <summary>
/// 获取库存汇总分析报表列表
/// </summary>
/// <param name="parameter">分页信息</param>
/// <param name="warehousetype">仓库类型</param>
/// <param name="warehousecode">仓库编码</param>
/// <param name="day">日期,默认昨天</param>
/// <param name="total">符合条件的记录数</param>
/// <returns></returns>
public List<dc_daily_inventory_summary> ListInventorySummary(BtTableParameter parameter,string warehousetype,string warehousecode,DateTime day,ref int total)
{
var sql = $"select * from dc_daily_inventory_summary where day='{day.ToString("yyyy-MM-dd")}' ";
var sqlparam = new DynamicParameters();
if(!string.IsNullOrEmpty(warehousetype))
{
sql += " and warehousetype=@warehousetype";
sqlparam.Add("warehousetype", warehousetype);
}
if(!string.IsNullOrEmpty(warehousecode))
{
sql += " and warehousecode=@warehousecode";
sqlparam.Add("warehousecode", warehousecode);
}
if(!string.IsNullOrEmpty(parameter.sort))
{
sql += " order by "+parameter.sort+" "+parameter.order;
}
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{
if(cn.State== System.Data.ConnectionState.Closed)
{
cn.Open();
}
if(parameter.limit>0)
{
var obj = cn.Page<dc_daily_inventory_summary>(parameter.pageIndex, parameter.limit, sql, ref total,sqlparam).ToList();
return obj;
}
else
{
var obj = cn.Query<dc_daily_inventory_summary>(sql, sqlparam).ToList();
return obj;
}
}
}
/// <summary>
/// 获取库存汇总分析报表列表 统计
/// </summary>
/// <param name="warehousetype"></param>
/// <param name="warehousecode"></param>
/// <param name="day"></param>
/// <returns></returns>
public dc_daily_inventory_summary ListInventorySummaryCount(string warehousetype, string warehousecode, DateTime day)
{
var sql = $"select sum(usable_stock) as usable_stock,sum(amount_stock) as amount_stock,sum(quantity_purchase) as quantity_purchase,sum(purchase_amount) as purchase_amount,sum(quantity_purchase_product) as quantity_purchase_product,sum(quantity_transfer) as quantity_transfer,sum(transfer_amount) as transfer_amount,sum(quantity_transfer_product) as quantity_transfer_product,sum(sale10_count) as sale10_count,(sum(sale10_count)/sum(usable_stock)) as sale10_rate,sum(sale10_amount) as sale10_amount,(sum(sale10_amount)/sum(amount_stock)) as sale10_amount_rate,sum(sale5_10_count) as sale5_10_count,(sum(sale5_10_count)/sum(usable_stock)) as sale5_10_rate,sum(sale5_10_amount) as sale5_10_amount,(sum(sale5_10_amount)/sum(amount_stock)) as sale5_10_amount_rate,sum(sale1_5_amount) as sale1_5_amount,(sum(sale1_5_amount)/sum(amount_stock)) as sale1_5_amount_rate,sum(sale1_amount) as sale1_amount,(sum(sale1_amount)/sum(amount_stock)) as sale1_amount_rate,sum(sale0_amount) as sale0_amount,(sum(sale0_amount)/sum(amount_stock)) as sale0_amount_rate from dc_daily_inventory_summary where day='{day.ToString("yyyy-MM-dd")}' ";
var sqlparam = new DynamicParameters();
if (!string.IsNullOrEmpty(warehousetype))
{
sql += " and warehousetype=@warehousetype";
sqlparam.Add("warehousetype", warehousetype);
}
if (!string.IsNullOrEmpty(warehousecode))
{
sql += " and warehousecode=@warehousecode";
sqlparam.Add("warehousecode", warehousecode);
}
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.QueryFirstOrDefault<dc_daily_inventory_summary>(sql,sqlparam);
return obj;
}
}
#endregion
#region Api #region Api
......
...@@ -1731,14 +1731,96 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -1731,14 +1731,96 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
#region 库存汇总分析 #region 库存汇总分析
/// <summary>
/// 库存汇总分析
/// </summary>
/// <returns></returns>
public ActionResult InventorySummary() public ActionResult InventorySummary()
{ {
return View(); return View();
} }
public string InventorySummaryJson(BtTableParameter parameter,string warehousetype,string warehousecode,) { /// <summary>
/// 库存汇总分析
/// </summary>
/// <param name="parameter"></param>
/// <param name="warehousetype"></param>
/// <param name="warehousecode"></param>
/// <returns></returns>
[ServiceFabric.Authorize.BailunAuthentication(LoginMode.Enforce)]
public string InventorySummaryJson(BtTableParameter parameter,string warehousetype,string warehousecode) {
var total = 0;
var _service = new Services.WareHouseServices();
var obj = _service.ListInventorySummary(parameter, warehousetype, warehousecode, DateTime.Now.AddDays(-1), ref total);
var objCount = _service.ListInventorySummaryCount(warehousetype, warehousecode, DateTime.Now.AddDays(-1));
var list = obj.Select(a=> new {
a.warehousecode,
a.warehousename,
a.warehousetype,
usable_stock = a.usable_stock.ToString("N0"),
amount_stock = a.amount_stock.ToString("N2"),
purchase_amount = a.purchase_amount.ToString("N2"),
quantity_purchase=a.quantity_purchase.ToString("N0"),
quantity_purchase_product = a.quantity_purchase_product.ToString("N0"),
transfer_amount = a.transfer_amount.ToString("N2"),
quantity_transfer = a.quantity_transfer.ToString("N0"),
quantity_transfer_product = a.quantity_transfer_product.ToString("N0"),
sale0_amount = a.sale0_amount.ToString("N2"),
sale0_amount_rate = (a.sale0_amount_rate*100).ToString("N2"),
sale10_amount = a.sale10_amount.ToString("N2"),
sale10_amount_rate = (a.sale10_amount_rate*100).ToString("N2"),
sale10_count = a.sale10_count.ToString("N0"),
sale10_rate = (a.sale10_rate*100).ToString("N2"),
sale1_5_amount = a.sale1_5_amount.ToString("N2"),
sale1_5_amount_rate = (a.sale1_5_amount_rate*100).ToString("N2"),
sale1_amount = a.sale1_amount.ToString("N2"),
sale1_amount_rate = (a.sale1_amount_rate*100).ToString("N2"),
sale5_10_amount = a.sale5_10_amount.ToString("N2"),
sale5_10_amount_rate = (a.sale5_10_amount_rate*100).ToString("N2"),
sale5_10_count = a.sale5_10_count.ToString("N0"),
sale5_10_rate = (a.sale5_10_rate*100).ToString("N2"),
});
return JsonConvert.SerializeObject(new {
rows = list,
total = total,
count_row= new {
warehousename = "总计",
usable_stock = objCount.usable_stock.ToString("N0"),
amount_stock = objCount.amount_stock.ToString("N2"),
purchase_amount = objCount.purchase_amount.ToString("N2"),
quantity_purchase = objCount.quantity_purchase.ToString("N0"),
quantity_purchase_product = objCount.quantity_purchase_product.ToString("N0"),
transfer_amount = objCount.transfer_amount.ToString("N2"),
quantity_transfer = objCount.quantity_transfer.ToString("N0"),
quantity_transfer_product = objCount.quantity_transfer_product.ToString("N0"),
sale0_amount = objCount.sale0_amount.ToString("N2"),
sale0_amount_rate = (objCount.sale0_amount_rate * 100).ToString("N2"),
sale10_amount = objCount.sale10_amount.ToString("N2"),
sale10_amount_rate = (objCount.sale10_amount_rate * 100).ToString("N2"),
sale10_count = objCount.sale10_count.ToString("N0"),
sale10_rate = (objCount.sale10_rate * 100).ToString("N2"),
sale1_5_amount = objCount.sale1_5_amount.ToString("N2"),
sale1_5_amount_rate = (objCount.sale1_5_amount_rate * 100).ToString("N2"),
sale1_amount = objCount.sale1_amount.ToString("N2"),
sale1_amount_rate = (objCount.sale1_amount_rate * 100).ToString("N2"),
sale5_10_amount = objCount.sale5_10_amount.ToString("N2"),
sale5_10_amount_rate = (objCount.sale5_10_amount_rate * 100).ToString("N2"),
sale5_10_count = objCount.sale5_10_count.ToString("N0"),
sale5_10_rate = (objCount.sale5_10_rate * 100).ToString("N2")
}
});
} }
......
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