Commit 94e7ccb7 by guanzhenshan

逻辑仓增加导出sku明细功能

parent 89b35511
......@@ -262,13 +262,13 @@ namespace Bailun.DC.Services
if (minordercount.HasValue && minordercount.Value>0)
{
sqlwhere += " and t1.fourteenday_average_sales>=@minordercount";
sqlwhere += " and (t1.fourteenday_total_sales/14)>=@minordercount";
sqlparam.Add("minordercount", minordercount.Value);
}
if (maxordercount.HasValue && maxordercount.Value > 0)
{
sqlwhere += " and t1.fourteenday_average_sales<@maxordercount";
sqlwhere += " and (t1.fourteenday_total_sales/14)<@maxordercount";
sqlparam.Add("maxordercount", maxordercount.Value);
}
......@@ -300,7 +300,7 @@ namespace Bailun.DC.Services
var sqlsort = "";
if (!string.IsNullOrEmpty(parameter.sort))
{
sqlsort += " order by " + parameter.sort + " " + parameter.order;
......@@ -318,9 +318,17 @@ namespace Bailun.DC.Services
cn.Open();
}
var obj = cn.Page<Models.Stock.mSkuWarehouse>(parameter.pageIndex, parameter.limit, sql + sqlwhere+ sqlsort, ref total, sqlparam, "select count(*) from (select t1.id " + sqlwhere + ") tb");
if (parameter.limit > 0)
{
var obj = cn.Page<Models.Stock.mSkuWarehouse>(parameter.pageIndex, parameter.limit, sql + sqlwhere + sqlsort, ref total, sqlparam, "select count(*) from (select t1.id " + sqlwhere + ") tb");
return obj.AsList();
return obj.AsList();
}
else
{
var obj = cn.Query<Models.Stock.mSkuWarehouse>(sql + sqlwhere + sqlsort, sqlparam, null, true, 10 * 60).AsList();
return obj;
}
}
}
......
......@@ -184,6 +184,9 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
public ActionResult ListWareHouseSku(string code)
{
ViewBag.warehousecode = code;
ViewBag.listWarehouse = new Services.WareHouseServices().List("", null).OrderBy(a => a.warehouse_name).ToList();
return View();
}
......@@ -235,6 +238,46 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
return JsonConvert.SerializeObject(new { total = total, rows = list });
}
public ActionResult ExportWareHouseSku(string code, int? push_status, int? minordercount, int? maxordercount, int? stockmin, int? stockmax, decimal? stockamountmin, decimal? stockamountmax, string skucategoryids)
{
var total = 0;
var obj = new Services.WareHouseServices().ListWareHouseSku(new BtTableParameter { offset=0,limit=0}, code, null, minordercount, maxordercount, stockmin, stockmax, stockamountmin, stockamountmax, skucategoryids, push_status, ref total);
var colNames = new List<string>() { "仓库名称","Sku","推送产品库","分类名称","英文标题"
,"库存数量","库存金额","采购在途数量","采购在途金额","调拨在途数量"
,"调拨在途金额","待发货数量","缺货数量","调出在途数","30天调出数"
,"30天调入数","昨日总销量","昨日总销售额","七天销量","十四天销量"
,"三十天销量"
};
var list = new List<string>();
foreach (var item in obj)
{
var str = item.warehouse_name + "|" + item.bailun_sku + "|" + (item.push_status == 1 ? "是" : "否") + "|" + item.category_name + "|" + (item.sku_title_en) + "|" +
(item.usable_stock??0) + "|" +(item.amount_stock??0) + "|" + (item.quantity_purchase??0) + "|" + (item.purchase_amount??0) + "|" + (item.quantity_transfer??0) + "|" +
(item.amount_transit??0) + "|" + (item.noshippingcount??0) + "|" + (item.nostockcount??0) + "|" + (item.quantity_tuneout_onway??0) + "|" + (item.quantity_tuneout_30days??0) + "|" +
(item.quantity_tunein_30days??0) + "|" + (item.oneday_total_sales??0) + "|" + (item.amount_onedaysale??0) + "|" + (item.sevenday_total_sales??0) + "|" + (item.fourteenday_total_sales??0) + "|" +
(item.thirtyday_total_sales??0);
list.Add(str);
}
var guid = Guid.NewGuid().ToString();
var filename = "逻辑仓SKU明细 " + DateTime.Now.ToString("yyyyMMddHHmmss");
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");
}
/// <summary>
/// 仓库冗余报告分析
......
......@@ -195,7 +195,7 @@
function exportxls() {
if (confirm("确定要导出明细吗?")) {
window.open('@Url.Content("~/Reports/Inventory/ExportSkuWarehouseSale?")' + $("#toolbar").serialize())
window.open('@Url.Content("~/Reports/Inventory/ExportSkuWarehouseSale?")' + $("#toolbar").serialize(),'_blank')
}
}
......
......@@ -15,7 +15,7 @@
<div id="rightcontain">
<div class="ibox-content m-b-sm border-bottom">
<form id="toolbar">
<input id="code" name="code" type="hidden" value="@ViewBag.warehousecode" />
@*<input id="code" name="code" type="hidden" value="@ViewBag.warehousecode" />*@
<div class="form-inline" style="line-height:40px;">
<div class="form-group">
<label>&nbsp;</label>
......@@ -30,6 +30,19 @@
</select>
</div>
<div class="form-group">
<label>仓库</label>
<select id="warehousecode" name="warehousecode" class="form-control" style="width:160px;">
<option value="">请选择仓库</option>
@if (ViewBag.listWarehouse.Count > 0)
{
foreach (var item in ViewBag.listWarehouse)
{
<option value="@item.warehouse_code" @(ViewBag.warehousecode == item.warehouse_code?"selected":"")>@item.warehouse_name</option>
}
}
</select>
</div>
<div class="form-group">
<label>14日日均销量</label>
<input id="minordercount" name="minordercount" class="form-control" type="number" style="width:135px;" placeholder="14日均销量开始" />
<span>至</span>
......@@ -50,6 +63,7 @@
<div class="form-group">
<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-warning" onclick="exportlist()">导出</button>
</div>
</div>
</form>
......@@ -265,6 +279,20 @@
}
}
function exportlist() {
if (confirm("确定要导出SKU明细吗?")) {
var s = '';
try {
s = getChkNode();
} catch (e) {
s = '';
}
window.open('@Url.Content("~/Reports/Warehouse/ExportWareHouseSku?")' + $("#toolbar").serialize() + '&skucategoryids=' + s, '_blank');
}
}
</script>
}
......
......@@ -77,7 +77,7 @@ namespace Bailun.DC.Web.Controllers
public ActionResult Main()
{
#if DEBUG
var cookie = "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdhZDA5MjQ5ZDk0ZDgxN2VhNmI5ZThhMTc1MzlmNmY3IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1OTg1OTU0MDQsImV4cCI6MTU5ODYzMTQwNCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi5YWz5oyv5bGxIiwiYXV0aF90aW1lIjoxNTk4NTk1NDA0LCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjIzNDYiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJCTDExNjkiLCJVc2VyQ29kZSI6IkJMMTE3MCIsIk9hVXNlcklkIjoiMjM0NiIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyNTgsXCJOYW1lXCI6XCLmlbDmja7kuK3lv4NcIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.O_PgJ0pZWm-sABViFgt9gOKvjbVLs-4RUPqpICnorry2oYhtMt8eg7Z9KpVzhyKZ166Y0_ozsPChCMMNXQSQ35Mlt9za1NPfGP22htCpFfo6-B03sv5btpai63vEnv94QDdVfvjSlwdA27KIlKmlrlkiyrJr6FrLEPmkmi0y7QlCeC6bo4xq0wCpi5_5Mi3uLijnbnjIdnvqh8qQiIKD80tg8tZAy_gZTXthFR7fP16zYlLwqtNnfmyAY1iINVGYsOJhgU3ggmixAS6ywcPwC_yBcuoxC4zb4Zp4hxLdS5_niy9LRPdAqzErHTpsgtEtQaIlcoVju4Qwn9f6y8sOyg";
var cookie = "Bearer eyJhbGciOiJSUzI1NiIsImtpZCI6IjdhZDA5MjQ5ZDk0ZDgxN2VhNmI5ZThhMTc1MzlmNmY3IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1OTg2NjkzNjAsImV4cCI6MTU5ODcwNTM2MCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAxIiwiYXVkIjpbImh0dHA6Ly9sb2NhbGhvc3Q6NTAwMS9yZXNvdXJjZXMiLCJiYWlsdW5BcGkiXSwiY2xpZW50X2lkIjoiYmFpbHVuQ2xpZW50Iiwic3ViIjoi5YWz5oyv5bGxIiwiYXV0aF90aW1lIjoxNTk4NjY5MzYwLCJpZHAiOiJsb2NhbCIsIlVzZXJJZCI6IjIzNDYiLCJzdWNlc3NzIjoidHJ1ZSIsIkNvbXBhbnkiOiJ7XCJJZFwiOjEsXCJDb21wYW55Q29kZVwiOlwiYmFpbHVuXCIsXCJDb21wYW55TmFtZVwiOlwi5bm_5bee55m-5Lym5L6b5bqU6ZO-5pyJ6ZmQ5YWs5Y-4XCJ9IiwiQWxsQ29tcGFueSI6IkZhbHNlIiwiVXNlckNvZGVOZXciOiJCTDExNjkiLCJVc2VyQ29kZSI6IkJMMTE3MCIsIk9hVXNlcklkIjoiMjM0NiIsIkRlcGFydG1lbnQiOiJ7XCJEZXBhcnRtZW50SWRcIjoyNTgsXCJOYW1lXCI6XCLmlbDmja7kuK3lv4NcIixcIkNvZGVcIjpcIlwifSIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJiYWlsdW5BcGkiXSwiYW1yIjpbImN1c3RvbSJdfQ.cLMDr9aCk_FAaAZ12CGXzxq9_uyKVf9ZAOc0CH2Fi65MvbYm8t7Q2AHUdKL7j2v_ER3WgaBv72szEg0754SjqMWq8t9rkVQY3cP795Mfr7_mqtKK-na_IYwRgHwKckn_a1C2kjTDDpYIoNbJm2aOmjKD3daSvserc_O-kdD5EvBMzltS3R0RtW9El4aEYCg5PQOKNCXof0ohoR7iSTZpX1y_Fg-yFnSeKC1dcbXh_cRtl0Pzd1GbX6oV8qRLIR6xYGDo9wxKKUqATEFVC2Kk5cth2DVE0EpgEt9VaTwIaOV5RErenbV3lr6FF7t74T1JQU5cLLbBzeFAaOYmNzSr0Q";
#else
//var user = Common.HttpHelper.NetHelper.Request("http://sso.bailuntec.com/GetUserResource");
var cookie = HttpContext.Request.Cookies["BailunToken"];
......
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