Commit 9e04d600 by guanzhenshan

增加分页总计行公用方法

parent f3ef302d
...@@ -32,17 +32,17 @@ namespace Bailun.DC.Models ...@@ -32,17 +32,17 @@ namespace Bailun.DC.Models
/// <summary> /// <summary>
/// 监控状态 /// 监控状态
/// </summary> /// </summary>
public int monitorstatus { get; set; } public int? monitorstatus { get; set; }
/// <summary> /// <summary>
/// 清货状态 /// 清货状态
/// </summary> /// </summary>
public int clearancestatus { get; set; } public int? clearancestatus { get; set; }
/// <summary> /// <summary>
/// 侵权状态 /// 侵权状态
/// </summary> /// </summary>
public int tortstatus { get; set; } public int? tortstatus { get; set; }
/// <summary> /// <summary>
/// sku标签 /// sku标签
......
...@@ -32,12 +32,13 @@ namespace Bailun.DC.Services ...@@ -32,12 +32,13 @@ namespace Bailun.DC.Services
{ {
var sqlparams = new DynamicParameters(); var sqlparams = new DynamicParameters();
var sql = @"select t1.id,t4.hq_type as warehousetype,t1.warehousename,t1.sku,t2.category_name as categoryname,t2.sku_title_cn as skuname,t1.monitorstatus,t1.clearancestatus,t1.tortstatus,t1.str_skutag,t2.unit_price as buyprice,t3.usable_stock as inventorycount,t2.unit_price*t3.usable_stock as inventoryamount,t5.quantity_purchase as purchaseonwaycount,t5.quantity_transfer as allotcount var sql = @"select t4.hq_type as warehousetype,t4.warehouse_name as warehousename,t0.bailun_sku as sku,t2.category_name as categoryname,t2.sku_title_cn as skuname,t1.monitorstatus,t1.clearancestatus,t1.tortstatus,t1.str_skutag,t2.unit_price as buyprice,t3.usable_stock as inventorycount,t2.unit_price*t3.usable_stock as inventoryamount,t5.quantity_purchase as purchaseonwaycount,t5.quantity_transfer as allotcount
from dc_sku_monitor t1 from (SELECT t1.warehouse_code,t1.bailun_sku FROM dc_mid_transit AS t1 union SELECT t1.warehouse_code,t1.bailun_sku FROM dc_base_stock AS t1) t0
left join dc_base_sku t2 on t1.sku=t2.bailun_sku left join dc_base_stock t3 on t0.bailun_sku=t3.bailun_sku and t0.warehouse_code=t3.warehouse_code
left join dc_base_stock t3 on t1.sku=t3.bailun_sku and t1.warehousecode=t3.warehouse_code left join dc_sku_monitor t1 on t1.sku=t0.bailun_sku and t1.warehousecode=t0.warehouse_code
left join dc_base_warehouse t4 on t1.warehousecode=t4.warehouse_code left join dc_base_sku t2 on t0.bailun_sku=t2.bailun_sku
left join dc_mid_transit t5 on t1.sku=t5.bailun_sku and t1.warehousecode=t5.warehouse_code where 1=1"; left join dc_base_warehouse t4 on t0.warehouse_code=t4.warehouse_code
left join dc_mid_transit t5 on t0.bailun_sku=t5.bailun_sku and t0.warehouse_code=t5.warehouse_code where 1=1";
if (!string.IsNullOrWhiteSpace(warehousetype)) if (!string.IsNullOrWhiteSpace(warehousetype))
...@@ -47,7 +48,7 @@ namespace Bailun.DC.Services ...@@ -47,7 +48,7 @@ namespace Bailun.DC.Services
} }
if (!string.IsNullOrWhiteSpace(warehousecode)) if (!string.IsNullOrWhiteSpace(warehousecode))
{ {
sql += " and t1.warehousecode=@warehousecode"; sql += " and t0.warehousecode=@warehousecode";
sqlparams.Add("warehousecode", warehousecode); sqlparams.Add("warehousecode", warehousecode);
} }
if (start.HasValue) if (start.HasValue)
...@@ -97,7 +98,7 @@ namespace Bailun.DC.Services ...@@ -97,7 +98,7 @@ namespace Bailun.DC.Services
} }
if (!string.IsNullOrWhiteSpace(searchkey)) if (!string.IsNullOrWhiteSpace(searchkey))
{ {
sql += " and t1.sku like @searchkey"; sql += " and t0.bailun_sku like @searchkey";
sqlparams.Add("searchkey", "%"+searchkey+"%"); sqlparams.Add("searchkey", "%"+searchkey+"%");
} }
...@@ -116,5 +117,108 @@ namespace Bailun.DC.Services ...@@ -116,5 +117,108 @@ namespace Bailun.DC.Services
} }
} }
/// <summary>
/// 数据仓总计
/// </summary>
/// <param name="warehousetype"></param>
/// <param name="warehousecode"></param>
/// <param name="start"></param>
/// <param name="end"></param>
/// <param name="monitorstatus"></param>
/// <param name="cleanstatus"></param>
/// <param name="infringestatus"></param>
/// <param name="skutip"></param>
/// <param name="storestart"></param>
/// <param name="storeend"></param>
/// <param name="skucategory"></param>
/// <param name="searchkey"></param>
/// <returns></returns>
public dc_sku_monitor ListCount(string warehousetype, string warehousecode, DateTime? start, DateTime? end, int? monitorstatus, int? cleanstatus, int? infringestatus, string skutip, int? storestart, int? storeend, int? skucategory, string searchkey)
{
var sqlparams = new DynamicParameters();
var sql = @"select sum(t3.usable_stock) as inventorycount,sum(t2.unit_price*t3.usable_stock) as inventoryamount,sum(t5.quantity_purchase) as purchaseonwaycount,sum(t5.quantity_purchase*t2.unit_price) purchaseonwayamount,sum(t5.quantity_transfer) as allotcount,sum(t5.quantity_transfer*t2.unit_price) allotamount
from (SELECT t1.warehouse_code,t1.bailun_sku FROM dc_mid_transit AS t1 union SELECT t1.warehouse_code,t1.bailun_sku FROM dc_base_stock AS t1) t0
left join dc_base_stock t3 on t0.bailun_sku=t3.bailun_sku and t0.warehouse_code=t3.warehouse_code
left join dc_sku_monitor t1 on t1.sku=t0.bailun_sku and t1.warehousecode=t0.warehouse_code
left join dc_base_sku t2 on t0.bailun_sku=t2.bailun_sku
left join dc_base_warehouse t4 on t0.warehouse_code=t4.warehouse_code
left join dc_mid_transit t5 on t0.bailun_sku=t5.bailun_sku and t0.warehouse_code=t5.warehouse_code where 1=1";
if (!string.IsNullOrWhiteSpace(warehousetype))
{
sql += " and t4.hq_type=@hq_type";
sqlparams.Add("hq_type", warehousetype);
}
if (!string.IsNullOrWhiteSpace(warehousecode))
{
sql += " and t0.warehousecode=@warehousecode";
sqlparams.Add("warehousecode", warehousecode);
}
if (start.HasValue)
{
sql += " and t2.create_time>=@start";
sqlparams.Add("start", start.Value);
}
if (end.HasValue)
{
sql += " and t2.create_time<@end";
sqlparams.Add("end", end.Value);
}
if (monitorstatus.HasValue)
{
sql += " and t1.monitorstatus=@monitorstatus";
sqlparams.Add("monitorstatus", monitorstatus.Value);
}
if (cleanstatus.HasValue)
{
sql += " and t1.clearancestatus=@clearancestatus";
sqlparams.Add("clearancestatus", cleanstatus.Value);
}
if (infringestatus.HasValue)
{
sql += " and t1.tortstatus=@tortstatus";
sqlparams.Add("tortstatus", infringestatus.Value);
}
if (!string.IsNullOrWhiteSpace(skutip))
{
sql += " and t1.str_skutag like @skutip";
sqlparams.Add("skutip", "%" + skutip + "%");
}
if (storestart.HasValue && storestart.Value > 0)
{
sql += " and t3.usable_stock>=@stockstart";
sqlparams.Add("stockstart", storestart.Value);
}
if (storeend.HasValue && storeend.Value > 0)
{
sql += " and t3.usable_stock<@stockend";
sqlparams.Add("stockend", storeend.Value);
}
if (skucategory.HasValue)
{
sql += " and t2.category_id=@categoryid";
sqlparams.Add("categoryid", skucategory.Value);
}
if (!string.IsNullOrWhiteSpace(searchkey))
{
sql += " and t0.bailun_sku like @searchkey";
sqlparams.Add("searchkey", "%" + searchkey + "%");
}
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.QueryFirstOrDefault<dc_sku_monitor>(sql,sqlparams);
return obj;
}
}
} }
} }
...@@ -850,6 +850,12 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -850,6 +850,12 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
try try
{ {
var platformcode = row["平台名称"].ToString(); var platformcode = row["平台名称"].ToString();
if (string.IsNullOrEmpty(platformcode))
{
continue;
}
//var account = row["平台账号"].ToString(); //var account = row["平台账号"].ToString();
var currency = row["币种"].ToString(); var currency = row["币种"].ToString();
var day = DateTime.Parse(row["销售额统计日期"].ToString()); var day = DateTime.Parse(row["销售额统计日期"].ToString());
...@@ -893,14 +899,14 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -893,14 +899,14 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var m = new Services.FinanceReportServices().GetPlatformBalance(platformcode, currency, day); var m = new Services.FinanceReportServices().GetPlatformBalance(platformcode, currency, day);
//区分销售和财务 //区分销售和财务
if (row["平台每天总销售额"].ToString() != "0" && row["平台每天总销售额"].ToString() != "") //销售 if ((row["平台每日到账额"].ToString() == "")) //销售
{ {
var amount = decimal.Parse(row["总余额"].ToString()); var amount = decimal.Parse(row["总余额"].ToString().Trim());
var userable = decimal.Parse(row["可用余额"].ToString()); var userable = decimal.Parse(row["可用余额"].ToString().Trim());
var freezeamount = decimal.Parse(row["冻结余额"].ToString()); var freezeamount = decimal.Parse(row["冻结余额"].ToString().Trim());
var saleday = DateTime.Parse(row["初始额统计日期"].ToString()); var saleday = DateTime.Parse(row["初始额统计日期"].ToString());
var puttime = DateTime.Parse(row["放款时间"].ToString()); var puttime = DateTime.Parse(row["放款时间"].ToString());
var dailysale = decimal.Parse(row["平台每天总销售额"].ToString()); var dailysale = decimal.Parse(row["平台每天总销售额"].ToString().Trim());
var notes = row["备注"].ToString(); var notes = row["备注"].ToString();
if (puttime < DateTime.Parse("1999-01-01")) if (puttime < DateTime.Parse("1999-01-01"))
......
...@@ -38,8 +38,16 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -38,8 +38,16 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// <returns></returns> /// <returns></returns>
public string DataWareHouseJson(Models.BtTableParameter request, string warehousetype, string warehousecode, DateTime? start, DateTime? end, int? monitorstatus, int? cleanstatus, int? infringestatus, string skutip, int? storestart, int? storeend, int? skucategory, string searchkey) public string DataWareHouseJson(Models.BtTableParameter request, string warehousetype, string warehousecode, DateTime? start, DateTime? end, int? monitorstatus, int? cleanstatus, int? infringestatus, string skutip, int? storestart, int? storeend, int? skucategory, string searchkey)
{ {
var service = new Services.SkuMonitorServices();
var total = 0; var total = 0;
var obj = new Services.SkuMonitorServices().List(request.pageIndex, request.limit, warehousetype, warehousecode, start, end, monitorstatus, cleanstatus, infringestatus, skutip, storestart, storeend, skucategory, searchkey, ref total); var obj = service.List(request.pageIndex, request.limit, warehousetype, warehousecode, start, end, monitorstatus, cleanstatus, infringestatus, skutip, storestart, storeend, skucategory, searchkey, ref total);
var countM = service.ListCount(warehousetype, warehousecode, start, end, monitorstatus, cleanstatus, infringestatus, skutip, storestart, storeend, skucategory, searchkey);
countM.inventoryamount = Math.Round(countM.inventoryamount, 2, MidpointRounding.AwayFromZero);
countM.purchaseonwayamount = Math.Round(countM.purchaseonwayamount, 2, MidpointRounding.AwayFromZero);
countM.sevendaysales_amount = Math.Round(countM.sevendaysales_amount, 2, MidpointRounding.AwayFromZero);
var list = obj.Select(p => new { var list = obj.Select(p => new {
p.id, p.id,
...@@ -70,7 +78,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -70,7 +78,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
p.warehousetype, p.warehousetype,
}); });
return JsonConvert.SerializeObject(new { total = total, rows = list }); return JsonConvert.SerializeObject(new { total = total, rows = list,count_row = countM });
} }
/// <summary> /// <summary>
......
...@@ -141,11 +141,11 @@ ...@@ -141,11 +141,11 @@
{ field: 'str_skutag', title: 'sku标签', width: '80' }, { field: 'str_skutag', title: 'sku标签', width: '80' },
{ field: 'buyprice', title: '采购价', width: '60' }, { field: 'buyprice', title: '采购价', width: '60' },
{ field: 'inventorycount', title: '库存数量', width: '80' }, { field: 'inventorycount', title: '库存数量', width: '80' },
{ field: 'inventoryamount', title: '库存金额', width: '80' }, { field: 'inventoryamount', title: '库存金额', width: '110' },
{ field: 'purchaseonwaycount', title: '采购在途数量', width: '100' }, { field: 'purchaseonwaycount', title: '采购在途数量', width: '100' },
{ field: 'purchaseonwayamount', title: '采购在途金额', width: '100' }, { field: 'purchaseonwayamount', title: '采购在途金额', width: '100' },
{ field: 'allotcount', title: '调拨在途数量', width: '100' }, { field: 'allotcount', title: '调拨在途数量', width: '100' },
{ field: 'allotamount', title: '调拨在途金额', width: '100' }, { field: 'allotamount', title: '调拨在途金额', width: '110' },
{ field: 'nosendcount', title: '待发货数量', width: '90' }, { field: 'nosendcount', title: '待发货数量', width: '90' },
{ field: 'nostockcount', title: '缺货数量', width: '80' }, { field: 'nostockcount', title: '缺货数量', width: '80' },
{ field: 'avg_yesterdaysales', title: '昨日销量', width: '80' }, { field: 'avg_yesterdaysales', title: '昨日销量', width: '80' },
...@@ -158,7 +158,39 @@ ...@@ -158,7 +158,39 @@
var url = '@Url.Content("~/Reports/Inventory/DataWareHouseJson")' + '?' + $("#toolbar").serialize(); var url = '@Url.Content("~/Reports/Inventory/DataWareHouseJson")' + '?' + $("#toolbar").serialize();
if (tb == undefined) { if (tb == undefined) {
tb = OnlyTable("roletable", columns, url, "",); tb = OnlyTable("roletable", columns, url, "", {
showfooter: false, loadsuccess: function (d) {
//alert(d.rows.length);
//$('#roletable').insertRow(d.rows.length, d.count_row);
var s = '<tr>';
for (var key in d.count_row) {
var hascol = false;
for (var c in columns) {
if (columns[c].field == key) {
hascol = true;
break;
}
}
if (hascol) {
if (key == 'skuname') {
s += '<td>总计:</td>';
}
else if (key == 'inventorycount' || key == 'inventoryamount' || key == 'purchaseonwaycount' || key == 'purchaseonwayamount' || key == 'allotcount' || key == 'allotamount') {
s += '<td>' + d.count_row[key] + '</td>';
}
else {
s += '<td></td>';
}
}
}
s += '</tr>';
$('#roletable').find('tbody').append(s);
}
});
} }
else { else {
tb.bootstrapTable('refresh', { url: url }); tb.bootstrapTable('refresh', { url: url });
......
...@@ -59,6 +59,11 @@ ...@@ -59,6 +59,11 @@
list(); list();
listwarehouse(); listwarehouse();
$('#listwarehouse').change(function () {
listwarehouse();
})
}) })
function list() { function list() {
...@@ -108,9 +113,11 @@ ...@@ -108,9 +113,11 @@
} }
function listwarehouse() { function listwarehouse() {
var type = $('#warehousetype').val();
$.submit({ $.submit({
url: '@Url.Content("~/Home/ListWareHouse")', url: '@Url.Content("~/Home/ListWareHouse")',
paramData: '', paramData: 'warehousetype=' + type,
type:'POST', type:'POST',
func: function (result) { func: function (result) {
if (result != null && result != undefined) { if (result != null && result != undefined) {
......
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
<!--下拉选择搜索控件--> <!--下拉选择搜索控件-->
<script src="/css/bootstrap-select-1.12.4/js/bootstrap-select.js"></script> <script src="/css/bootstrap-select-1.12.4/js/bootstrap-select.js"></script>
<!--常用js方法--> <!--常用js方法-->
<script src="/js/common.js?=201801251445"></script> <script src="/js/common.js?=201902260912"></script>
@RenderSection("scripts", required: false) @RenderSection("scripts", required: false)
<script type="text/javascript"> <script type="text/javascript">
......
...@@ -2,7 +2,7 @@ var baseUrl = ''; ...@@ -2,7 +2,7 @@ var baseUrl = '';
var globalOrderSort=''; var globalOrderSort='';
var globalOrderType=''; var globalOrderType='';
function OnlyTable(tableId, aoColumn, actionUrl, serverParams) { function OnlyTable(tableId, aoColumn, actionUrl, serverParams,tbParams) {
var $btTable = $('#' + tableId); var $btTable = $('#' + tableId);
$btTable.bootstrapTable({ $btTable.bootstrapTable({
url: actionUrl, url: actionUrl,
...@@ -16,6 +16,7 @@ function OnlyTable(tableId, aoColumn, actionUrl, serverParams) { ...@@ -16,6 +16,7 @@ function OnlyTable(tableId, aoColumn, actionUrl, serverParams) {
showToggle: false,//是否显示试图2 showToggle: false,//是否显示试图2
sortable: true,//是否允许排序 sortable: true,//是否允许排序
search: false,//是否显示查询框 search: false,//是否显示查询框
showFooter: (tbParams == undefined ? false:tbParams.showfooter || false),
formatLoadingMessage: function () { formatLoadingMessage: function () {
return "<img src='/img/loading.gif' />"; return "<img src='/img/loading.gif' />";
}, },
...@@ -41,6 +42,11 @@ function OnlyTable(tableId, aoColumn, actionUrl, serverParams) { ...@@ -41,6 +42,11 @@ function OnlyTable(tableId, aoColumn, actionUrl, serverParams) {
paginationPreText: "上一页", paginationPreText: "上一页",
paginationNextText: "下一页", paginationNextText: "下一页",
paginationLastText: "最后页", paginationLastText: "最后页",
onLoadSuccess: function (data) {
if (tbParams != undefined && tbParams.loadsuccess) {
tbParams.loadsuccess(data);
}
}
}); });
return $btTable; return $btTable;
......
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