Commit 74524b1b by guanzhenshan

逻辑仓库增加导出功能

parent fac71cba
...@@ -124,6 +124,47 @@ namespace Bailun.DC.Services ...@@ -124,6 +124,47 @@ namespace Bailun.DC.Services
} }
/// <summary> /// <summary>
/// 获取逻辑仓库库存
/// </summary>
/// <param name="parameter">分页信息</param>
/// <param name="warehousetype">仓库类型</param>
/// <param name="warehouse">仓库编码</param>
/// <param name="total">符合条件的记录总数</param>
/// <returns></returns>
public List<Models.Stock.mLogicWarehouse> ListLogicWarehouseStock(string warehousetype, string warehouse)
{
var sqlparam = new DynamicParameters();
var sqlwhere = " where 1=1 ";
var sql = @"select hq_type,warehouse_code,warehouse_name,sum(usable_stock) usable_stock,sum(amount_stock) amount_stock,sum(quantity_purchase) quantity_purchase,sum(purchase_amount) purchase_amount,sum(quantity_transfer) quantity_transfer,sum(amount_transit) amount_transit,sum(oneday_total_sales) oneday_total_sales,sum(amount_onedaysale) amount_onedaysale,sum(sevenday_total_sales) sevenday_total_sales,sum(fourteenday_total_sales) fourteenday_total_sales,sum(thirtyday_total_sales) thirtyday_total_sales from dc_skuwarehouse_stock_sales ";
//var sqlcount = "select t1.warehouse_code from dc_skuwarehouse_stock_sales t1 ";
if (!string.IsNullOrWhiteSpace(warehousetype))
{
sqlwhere += " and hq_type=@hq_type";
sqlparam.Add("hq_type", warehousetype);
}
if (!string.IsNullOrWhiteSpace(warehouse))
{
sqlwhere += " and warehouse_code=@warehouse_code";
sqlparam.Add("warehouse_code", warehouse);
}
sqlwhere += " group by warehouse_code";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.Query<Models.Stock.mLogicWarehouse>(sql + sqlwhere,sqlparam);
return obj.AsList();
}
}
/// <summary>
/// 逻辑仓库库存 统计 /// 逻辑仓库库存 统计
/// </summary> /// </summary>
/// <param name="warehousetype"></param> /// <param name="warehousetype"></param>
......
...@@ -92,6 +92,67 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -92,6 +92,67 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
} }
/// <summary> /// <summary>
/// 导出逻辑仓库
/// </summary>
/// <param name="warehousetype"></param>
/// <param name="warehousecode"></param>
/// <returns></returns>
public ActionResult ExportLogicWarehouse(string warehousetype, string warehousecode)
{
var service = new Services.WareHouseServices();
var obj = service.ListLogicWarehouseStock(warehousetype, warehousecode);
var list = obj.Select(p => new {
amount_onedaysale = (p.amount_onedaysale ?? 0).ToString("N2"),
amount_stock = p.amount_stock.ToString("N2"),
amount_transit = (p.amount_transit ?? 0.00M).ToString("N2"),
fourteenday_total_sales = (p.fourteenday_total_sales ?? 0).ToString("N0"),
noshippingcount = (p.noshippingcount ?? 0).ToString("N0"),
nostockcount = (p.nostockcount ?? 0).ToString("N0"),
oneday_total_sales = (p.oneday_total_sales ?? 0).ToString("N0"),
purchase_amount = (p.purchase_amount ?? 0).ToString("N2"),
quantity_purchase = (p.quantity_purchase ?? 0).ToString("N0"),
quantity_transfer = (p.quantity_transfer ?? 0).ToString("N0"),
sevenday_total_sales = (p.sevenday_total_sales ?? 0).ToString("N0"),
thirtyday_total_sales = (p.thirtyday_total_sales ?? 0).ToString("N0"),
usable_stock = p.usable_stock.ToString("N0"),
p.warehouse_code,
p.warehouse_name,
});
var colNames = new List<string> {"仓储仓库","库存数量","库存金额", "采购在途数量", "采购在途金额",
"调拨在途数量", "调拨在途金额","待发货数量","缺货数量","昨日总销量"
,"昨日总销售额","七天销量","十四天销量","三十天销量"
};
var listVal = new List<string>();
foreach (var item in list)
{
listVal.Add(
item.warehouse_name + "|" + item.usable_stock + "|" + item.amount_stock + "|" + item.quantity_purchase + "|" + item.purchase_amount + "|" +
item.quantity_transfer + "|" + item.amount_transit + "|" + item.noshippingcount + "|" + item.nostockcount + "|" + item.oneday_total_sales + "|" +
item.amount_onedaysale + "|" + item.sevenday_total_sales + "|" + item.fourteenday_total_sales + "|" + item.thirtyday_total_sales
);
}
var guid = Guid.NewGuid().ToString();
var filename = "逻辑仓库" + DateTime.Now.ToString("yyyyMMddHHmmss");
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(listVal, 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");
}
/// <summary>
/// Sku仓库 /// Sku仓库
/// </summary> /// </summary>
/// <param name="code">仓库编码</param> /// <param name="code">仓库编码</param>
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
<div class="form-group"> <div class="form-group">
<label>&nbsp;</label> <label>&nbsp;</label>
<button type="button" class="btn btn-primary" onclick="list();"><i class="fa fa-search"></i>&nbsp;查询</button> <button type="button" class="btn btn-primary" onclick="list();"><i class="fa fa-search"></i>&nbsp;查询</button>
<button type="button" class="btn btn-success" onclick="exportxls()">导出</button>
</div> </div>
</div> </div>
</form> </form>
...@@ -148,6 +149,11 @@ ...@@ -148,6 +149,11 @@
}) })
} }
//导出
function exportxls() {
window.open('@Url.Content("~/Reports/Warehouse/ExportLogicWarehouse?")' + $("#toolbar").serialize(), '_blank');
}
function SkuDetail(code) { function SkuDetail(code) {
layer_show('Sku仓库', '@Url.Content("~/Reports/Warehouse/ListWareHouseSku?code=")' + code,'90%','90%'); layer_show('Sku仓库', '@Url.Content("~/Reports/Warehouse/ListWareHouseSku?code=")' + code,'90%','90%');
} }
......
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