Commit 9e04d600 by guanzhenshan

增加分页总计行公用方法

parent f3ef302d
......@@ -32,17 +32,17 @@ namespace Bailun.DC.Models
/// <summary>
/// 监控状态
/// </summary>
public int monitorstatus { get; set; }
public int? monitorstatus { get; set; }
/// <summary>
/// 清货状态
/// </summary>
public int clearancestatus { get; set; }
public int? clearancestatus { get; set; }
/// <summary>
/// 侵权状态
/// </summary>
public int tortstatus { get; set; }
public int? tortstatus { get; set; }
/// <summary>
/// sku标签
......
......@@ -32,12 +32,13 @@ namespace Bailun.DC.Services
{
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
from dc_sku_monitor t1
left join dc_base_sku t2 on t1.sku=t2.bailun_sku
left join dc_base_stock t3 on t1.sku=t3.bailun_sku and t1.warehousecode=t3.warehouse_code
left join dc_base_warehouse t4 on t1.warehousecode=t4.warehouse_code
left join dc_mid_transit t5 on t1.sku=t5.bailun_sku and t1.warehousecode=t5.warehouse_code where 1=1";
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 (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))
......@@ -47,7 +48,7 @@ namespace Bailun.DC.Services
}
if (!string.IsNullOrWhiteSpace(warehousecode))
{
sql += " and t1.warehousecode=@warehousecode";
sql += " and t0.warehousecode=@warehousecode";
sqlparams.Add("warehousecode", warehousecode);
}
if (start.HasValue)
......@@ -97,7 +98,7 @@ namespace Bailun.DC.Services
}
if (!string.IsNullOrWhiteSpace(searchkey))
{
sql += " and t1.sku like @searchkey";
sql += " and t0.bailun_sku like @searchkey";
sqlparams.Add("searchkey", "%"+searchkey+"%");
}
......@@ -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
try
{
var platformcode = row["平台名称"].ToString();
if (string.IsNullOrEmpty(platformcode))
{
continue;
}
//var account = row["平台账号"].ToString();
var currency = row["币种"].ToString();
var day = DateTime.Parse(row["销售额统计日期"].ToString());
......@@ -893,14 +899,14 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
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 userable = decimal.Parse(row["可用余额"].ToString());
var freezeamount = decimal.Parse(row["冻结余额"].ToString());
var amount = decimal.Parse(row["总余额"].ToString().Trim());
var userable = decimal.Parse(row["可用余额"].ToString().Trim());
var freezeamount = decimal.Parse(row["冻结余额"].ToString().Trim());
var saleday = 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();
if (puttime < DateTime.Parse("1999-01-01"))
......
......@@ -38,8 +38,16 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// <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)
{
var service = new Services.SkuMonitorServices();
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 {
p.id,
......@@ -70,7 +78,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
p.warehousetype,
});
return JsonConvert.SerializeObject(new { total = total, rows = list });
return JsonConvert.SerializeObject(new { total = total, rows = list,count_row = countM });
}
/// <summary>
......
......@@ -141,11 +141,11 @@
{ field: 'str_skutag', title: 'sku标签', width: '80' },
{ field: 'buyprice', title: '采购价', width: '60' },
{ field: 'inventorycount', title: '库存数量', width: '80' },
{ field: 'inventoryamount', title: '库存金额', width: '80' },
{ field: 'inventoryamount', title: '库存金额', width: '110' },
{ field: 'purchaseonwaycount', title: '采购在途数量', width: '100' },
{ field: 'purchaseonwayamount', title: '采购在途金额', width: '100' },
{ field: 'allotcount', title: '调拨在途数量', width: '100' },
{ field: 'allotamount', title: '调拨在途金额', width: '100' },
{ field: 'allotamount', title: '调拨在途金额', width: '110' },
{ field: 'nosendcount', title: '待发货数量', width: '90' },
{ field: 'nostockcount', title: '缺货数量', width: '80' },
{ field: 'avg_yesterdaysales', title: '昨日销量', width: '80' },
......@@ -158,7 +158,39 @@
var url = '@Url.Content("~/Reports/Inventory/DataWareHouseJson")' + '?' + $("#toolbar").serialize();
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 {
tb.bootstrapTable('refresh', { url: url });
......
......@@ -59,6 +59,11 @@
list();
listwarehouse();
$('#listwarehouse').change(function () {
listwarehouse();
})
})
function list() {
......@@ -108,9 +113,11 @@
}
function listwarehouse() {
var type = $('#warehousetype').val();
$.submit({
url: '@Url.Content("~/Home/ListWareHouse")',
paramData: '',
paramData: 'warehousetype=' + type,
type:'POST',
func: function (result) {
if (result != null && result != undefined) {
......
......@@ -83,7 +83,7 @@
<!--下拉选择搜索控件-->
<script src="/css/bootstrap-select-1.12.4/js/bootstrap-select.js"></script>
<!--常用js方法-->
<script src="/js/common.js?=201801251445"></script>
<script src="/js/common.js?=201902260912"></script>
@RenderSection("scripts", required: false)
<script type="text/javascript">
......
......@@ -2,7 +2,7 @@ var baseUrl = '';
var globalOrderSort='';
var globalOrderType='';
function OnlyTable(tableId, aoColumn, actionUrl, serverParams) {
function OnlyTable(tableId, aoColumn, actionUrl, serverParams,tbParams) {
var $btTable = $('#' + tableId);
$btTable.bootstrapTable({
url: actionUrl,
......@@ -16,6 +16,7 @@ function OnlyTable(tableId, aoColumn, actionUrl, serverParams) {
showToggle: false,//是否显示试图2
sortable: true,//是否允许排序
search: false,//是否显示查询框
showFooter: (tbParams == undefined ? false:tbParams.showfooter || false),
formatLoadingMessage: function () {
return "<img src='/img/loading.gif' />";
},
......@@ -41,6 +42,11 @@ function OnlyTable(tableId, aoColumn, actionUrl, serverParams) {
paginationPreText: "上一页",
paginationNextText: "下一页",
paginationLastText: "最后页",
onLoadSuccess: function (data) {
if (tbParams != undefined && tbParams.loadsuccess) {
tbParams.loadsuccess(data);
}
}
});
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