Commit 5ef2f0fb by guanzhenshan

完成每日发生额统计报表汇总

parent 2f0562c0
...@@ -3020,9 +3020,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -3020,9 +3020,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}); });
} }
var head = new List<string>() { "" };
//按周 if (dateWay == 2) //按周
if (dateWay == 2)
{ {
var first = obj.FirstOrDefault(); var first = obj.FirstOrDefault();
var DayOfWeek = first.day.DayOfWeek; var DayOfWeek = first.day.DayOfWeek;
...@@ -3030,7 +3029,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -3030,7 +3029,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var startDay = first.day; var startDay = first.day;
var endDay = first.day.AddDays((7 - (int)DayOfWeek)); var endDay = first.day.AddDays((7 - (int)DayOfWeek));
var weekIndex = 0; var weekIndex = 0;
foreach (var item in obj) foreach (var item in obj)
{ {
if (item.day > endDay) if (item.day > endDay)
...@@ -3040,26 +3039,313 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -3040,26 +3039,313 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
endDay = endDay.AddDays(7); endDay = endDay.AddDays(7);
} }
var m = list.Where(a => a.start >= item.day && item.day <= a.end); var m = list.OrderBy(a => a.type).ToList();
if (m.Count() <= 0) if (m.Count <= 0)
{ {
var m1 = new mHappenAmount { //管理成本
var m1 = new mHappenAmount
{
type = 1,
typename = "管理成本",
start = startDay,
end = endDay,
list = new List<decimal>(),
}; };
m1.list.Add(item.ac_amount_pay);
m1.list.Add(item.ac_amount_happen);
m1.list.Add(item.ac_amount_sales);
//头程物流
var m2 = new mHappenAmount
{
type = 2,
typename = "头程物流费",
start = startDay,
end = endDay,
list = new List<decimal>(),
};
m2.list.Add(item.hl_amount_pay);
m2.list.Add(item.hl_amount_happen);
m2.list.Add(item.hl_amount_sales);
//尾程物流
var m3 = new mHappenAmount
{
type = 3,
typename = "尾程物流费",
start = startDay,
end = endDay,
list = new List<decimal>()
};
m3.list.Add(0); //item.tl_amount_pay //头程和尾程物流费取值是一样的,只显示头程的物流付款数据
m3.list.Add(item.tl_amount_happen);
m3.list.Add(item.tl_amount_sales);
//一级供应商采购
var m4 = new mHappenAmount
{
type = 4,
typename = "一级供应商采购",
start = startDay,
end = endDay,
list = new List<decimal>()
};
m4.list.Add(item.tos_amount_pay);
m4.list.Add(item.tos_amount_happen);
m4.list.Add(item.tos_amount_sales);
//二级供应商采购
var m5 = new mHappenAmount
{
type = 5,
typename = "二级供应商采购",
start = startDay,
end = endDay,
list = new List<decimal>()
};
m5.list.Add(item.ss_amount_pay);
m5.list.Add(item.ss_amount_happen);
m5.list.Add(0); //item.ss_amount_sales 二级供应商采购销售额
list.Add(m1);
list.Add(m2);
list.Add(m3);
list.Add(m4);
list.Add(m5);
head.Add(startDay.ToString("MMdd") + "-" + (endDay > end ? end : endDay).ToString("MMdd") + "已付款统计");
head.Add(startDay.ToString("MMdd") + "-" + (endDay > end ? end : endDay).ToString("MMdd") + "发生额统计");
head.Add(startDay.ToString("MMdd") + "-" + (endDay > end ? end : endDay).ToString("MMdd") + "销售部分统计");
} }
else
{
if (head.Where(a => a.Contains(item.day.ToString("MMdd"))).Count() > 0) //累加
{
m[0].list[m[0].list.Count - 3] += (item.ac_amount_pay);
m[0].list[m[0].list.Count - 2] += (item.ac_amount_happen);
m[0].list[m[0].list.Count - 1] += (item.ac_amount_sales);
m[1].list[m[1].list.Count - 3] += (item.hl_amount_pay);
m[1].list[m[1].list.Count - 2] += (item.hl_amount_happen);
m[1].list[m[1].list.Count - 1] += (item.hl_amount_sales);
//m[2].list[m[2].list.Count - 3] += (item.tl_amount_pay); //尾程物流费付款额
m[2].list[m[2].list.Count - 2] += (item.tl_amount_happen);
m[2].list[m[2].list.Count - 1] += (item.tl_amount_sales);
m[3].list[m[3].list.Count - 3] += (item.tos_amount_pay);
m[3].list[m[3].list.Count - 2] += (item.tos_amount_happen);
m[3].list[m[3].list.Count - 1] += (item.tos_amount_sales);
m[4].list[m[4].list.Count - 3] += (item.ss_amount_pay);
m[4].list[m[4].list.Count - 2] += (item.ss_amount_happen);
//m[4].list[m[4].list.Count - 1] += (item.ss_amount_sales); //二级供应商采购销售额
}
else //新增
{
m[0].list.Add(item.ac_amount_pay);
m[0].list.Add(item.ac_amount_happen);
m[0].list.Add(item.ac_amount_sales);
m[1].list.Add(item.hl_amount_pay);
m[1].list.Add(item.hl_amount_happen);
m[1].list.Add(item.hl_amount_sales);
m[2].list.Add(0); //item.tl_amount_pay 尾程物流费付款额
m[2].list.Add(item.tl_amount_happen);
m[2].list.Add(item.tl_amount_sales);
m[3].list.Add(item.tos_amount_pay);
m[3].list.Add(item.tos_amount_happen);
m[3].list.Add(item.tos_amount_sales);
m[4].list.Add(item.ss_amount_pay);
m[4].list.Add(item.ss_amount_happen);
m[4].list.Add(0); //item.ss_amount_sales 二级供应商采购销售额
head.Add(startDay.ToString("MMdd") + "-" + (endDay > end ? end : endDay).ToString("MMdd") + "已付款统计");
head.Add(startDay.ToString("MMdd") + "-" + (endDay > end ? end : endDay).ToString("MMdd") + "发生额统计");
head.Add(startDay.ToString("MMdd") + "-" + (endDay > end ? end : endDay).ToString("MMdd") + "销售部分统计");
}
}
} }
}
else if (dateWay == 3) //按月
{
foreach (var item in obj)
{
var m = list.OrderBy(a => a.type).ToList();
if (m.Count <= 0)
{
//管理成本
var m1 = new mHappenAmount
{
type = 1,
typename = "管理成本",
list = new List<decimal>(),
};
m1.list.Add(item.ac_amount_pay);
m1.list.Add(item.ac_amount_happen);
m1.list.Add(item.ac_amount_sales);
//头程物流
var m2 = new mHappenAmount
{
type = 2,
typename = "头程物流费",
list = new List<decimal>(),
};
m2.list.Add(item.hl_amount_pay);
m2.list.Add(item.hl_amount_happen);
m2.list.Add(item.hl_amount_sales);
//尾程物流
var m3 = new mHappenAmount
{
type = 3,
typename = "尾程物流费",
list = new List<decimal>()
};
m3.list.Add(0); //item.tl_amount_pay //头程和尾程物流费取值是一样的,只显示头程的物流付款数据
m3.list.Add(item.tl_amount_happen);
m3.list.Add(item.tl_amount_sales);
//一级供应商采购
var m4 = new mHappenAmount
{
type = 4,
typename = "一级供应商采购",
list = new List<decimal>()
};
m4.list.Add(item.tos_amount_pay);
m4.list.Add(item.tos_amount_happen);
m4.list.Add(item.tos_amount_sales);
//二级供应商采购
var m5 = new mHappenAmount
{
type = 5,
typename = "二级供应商采购",
list = new List<decimal>()
};
m5.list.Add(item.ss_amount_pay);
m5.list.Add(item.ss_amount_happen);
m5.list.Add(0); //item.ss_amount_sales 二级供应商采购销售额
list.Add(m1);
list.Add(m2);
list.Add(m3);
list.Add(m4);
list.Add(m5);
head.Add(item.day.ToString("MM") + "已付款统计");
head.Add(item.day.ToString("MM") + "发生额统计");
head.Add(item.day.ToString("MM") + "销售部分统计");
}
else
{
if (head.Where(a => a.Contains(item.day.ToString("MM"))).Count() > 0) //累加
{
m[0].list[m[0].list.Count - 3] += (item.ac_amount_pay);
m[0].list[m[0].list.Count - 2] += (item.ac_amount_happen);
m[0].list[m[0].list.Count - 1] += (item.ac_amount_sales);
m[1].list[m[1].list.Count - 3] += (item.hl_amount_pay);
m[1].list[m[1].list.Count - 2] += (item.hl_amount_happen);
m[1].list[m[1].list.Count - 1] += (item.hl_amount_sales);
//m[2].list[m[2].list.Count - 3] += (item.tl_amount_pay); //尾程物流费付款额
m[2].list[m[2].list.Count - 2] += (item.tl_amount_happen);
m[2].list[m[2].list.Count - 1] += (item.tl_amount_sales);
m[3].list[m[3].list.Count - 3] += (item.tos_amount_pay);
m[3].list[m[3].list.Count - 2] += (item.tos_amount_happen);
m[3].list[m[3].list.Count - 1] += (item.tos_amount_sales);
m[4].list[m[4].list.Count - 3] += (item.ss_amount_pay);
m[4].list[m[4].list.Count - 2] += (item.ss_amount_happen);
//m[4].list[m[4].list.Count - 1] += (item.ss_amount_sales); //二级供应商采购销售额
}
else //新增
{
m[0].list.Add(item.ac_amount_pay);
m[0].list.Add(item.ac_amount_happen);
m[0].list.Add(item.ac_amount_sales);
m[1].list.Add(item.hl_amount_pay);
m[1].list.Add(item.hl_amount_happen);
m[1].list.Add(item.hl_amount_sales);
m[2].list.Add(0); //item.tl_amount_pay 尾程物流费付款额
m[2].list.Add(item.tl_amount_happen);
m[2].list.Add(item.tl_amount_sales);
m[3].list.Add(item.tos_amount_pay);
m[3].list.Add(item.tos_amount_happen);
m[3].list.Add(item.tos_amount_sales);
m[4].list.Add(item.ss_amount_pay);
m[4].list.Add(item.ss_amount_happen);
m[4].list.Add(0); //item.ss_amount_sales 二级供应商采购销售额
head.Add(item.day.ToString("MM") + "已付款统计");
head.Add(item.day.ToString("MM") + "发生额统计");
head.Add(item.day.ToString("MM") + "销售部分统计");
}
}
}
} }
//按月 if (list.Count > 0)
{
var m = new mHappenAmount {
type = 99,
typename = "总计",
list = new List<decimal>()
};
foreach (var item in list)
{
for (var i = 0; i < item.list.Count; i++)
{
if (m.list.Count > i)
{
m.list[i] += (item.list[i]);
}
else
{
m.list.Add(item.list[i]);
}
}
}
list.Add(m);
}
//按日 //按日
return Json(""); return Json(new {
success = true,
list = list,
msg = "",
head = head
});
} }
...@@ -3073,6 +3359,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers ...@@ -3073,6 +3359,8 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// </summary> /// </summary>
public int type { get; set; } public int type { get; set; }
public string typename { get; set; }
public DateTime start { get; set; } public DateTime start { get; set; }
public DateTime end { get; set; } public DateTime end { get; set; }
......

@{
ViewData["Title"] = "每日发生额汇总";
Layout = "~/Pages/Shared/_MainLayout.cshtml";
ViewBag.Nav = new string[] { "财务", "每日发生额汇总" };
}
<div class="row">
<div class="col-sm-12">
@*<div class="alert alert-warning">
说明:数据统计截止到昨日
</div>*@
<div class="ibox-content m-b-sm border-bottom">
<form id="toolbar">
<div class="form-inline" style="line-height:40px;">
<div class="form-group">
<label>日期方式:</label>
<select id="dateWay" name="dateWay" class="form-control">
@*<option value="1">按日</option>*@
<option value="2">按周</option>
<option value="3">按月</option>
</select>
</div>
<div class="form-group">
<label>统计时间</label>
<input id="start" name="start" type="text" class="form-control" style="width:130px;" value="@(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"))" />
<span>至</span>
<input id="end" name="end" type="text" class="form-control" style="width:130px;" value="@(DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"))" />
</div>
<div class="form-group">
<label>&nbsp;</label>
<button type="button" class="btn btn-primary" onclick="list();"><i class="fa fa-search"></i>&nbsp;查询</button>
</div>
</div>
</form>
</div>
<div class="ibox-content m-b-sm border-bottom">
<table id="roletable" class="table table-hover table-bordered table-condensed table-striped">
<thead>
<tr></tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
</div>
@section css{
<link href="~/css/bootstrap-table-fixed-columns.css" rel="stylesheet" />
<style>
.mules {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
}
@section scripts{
<script src="~/js/bootstrap-table-fixed-columns.js" type="text/javascript"></script>
<script type="text/javascript">
var tb;
var companyid = 0;
$(document).ready(function () {
laydate.render({ elem: '#start' });
laydate.render({ elem: '#end' });
var height = document.body.clientHeight;
$("#roletable").attr("data-height", (height - 170));
list();
//$('#warehousetype').change(function () {
// listwarehouse();
//})
})
function list() {
var lindex = layer.load(1, { shade: false }); //0代表加载的风格,支持0-2
$.submit({
type:'POST',
url: '@Url.Content("~/Reports/Finance/HappenAmountCountJson")',
paramData: $("#toolbar").serialize(),
func: function (result) {
layer.close(lindex);
if (result.success) {
if (result.list.length == 0) {
alert('没有找到符合条件的数据');
return false;
}
var w = $('#roletable').parent().width()+40;
if (w < (160 * result.head.length + 40)) {
w = (160 * result.head.length + 40);
}
$('#roletable').parent().css('width', (w) + 'px');
$('#roletable').css('width', (w-40) + 'px');
$('#roletable').find('tbody').html('');
$('#roletable').find('thead').html('');
if (result.head.length > 0) {
var s = '<tr>';
for (var i = 0; i < result.head.length; i++) {
s += ('<th style="width:160px;">' + result.head[i] + '</th>');
}
s += '</tr>';
$('#roletable').find('thead').append(s);
}
for (var i = 0; i < result.list.length; i++) {
var s = '<tr>';
var obj = result.list[i];
s += ('<td style="width:160px;">' + obj.typename + '</td>');
if (obj.list.length > 0) {
for (var j = 0; j < obj.list.length; j++) {
if (obj.type == 99) {
s += ('<td style="width:160px;">' + obj.list[j] + '</td>');
}
else {
s += ('<td style="width:160px;"><a onclick="showdetail(\'' + result.head[j + 1] + '\')">' + obj.list[j] + '</a></td>');
}
}
}
s += "</tr>";
$('#roletable').find('tbody').append(s);
}
}
else {
layer.msg('出现异常。');
}
}
})
}
function showdetail(categoryname, colname) {
layer_show(categoryname +' '+ colname+' 的Sku明细', '@Url.Content("~/Reports/Warehouse/ListDailyPurchaseSales?categoryname=")' + categoryname + '&colname=' + colname + '&dateWay=' + $('#dateWay').val() + '&t=' + $('#t').val(), '90%', '90%');
}
function listwarehouse() {
var type = $('#warehousetype').val();
$.submit({
url: '@Url.Content("~/Home/ListWarehouseFromStockAndSales")',
paramData: 'warehousetype=' + type,
type:'POST',
func: function (result) {
if (result != null && result != undefined) {
$('#warehouse_code').html('<option value="">选择仓库</option>');
for (var i = 0; i < result.length; i++) {
$('#warehouse_code').append('<option value="' + result[i].warehouse_code + '">' + result[i].warehouse_name + '</option>');
}
}
}
})
}
</script>
}
...@@ -115,9 +115,6 @@ ...@@ -115,9 +115,6 @@
<li> <li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Warehouse/WarehouseRedundancy")" data-index="0">仓库库存分析报表</a> <a class="J_menuItem" href="@Url.Content("~/Reports/Warehouse/WarehouseRedundancy")" data-index="0">仓库库存分析报表</a>
</li> </li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Warehouse/DailyPurchaseSalesCount")" data-index="0">每日销进差异汇总</a>
</li>
</ul> </ul>
</li> </li>
<li> <li>
...@@ -352,6 +349,12 @@ ...@@ -352,6 +349,12 @@
<li> <li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/AdministrativeCost")" data-index="0">管理成本报表</a> <a class="J_menuItem" href="@Url.Content("~/Reports/Finance/AdministrativeCost")" data-index="0">管理成本报表</a>
</li> </li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Warehouse/DailyPurchaseSalesCount")" data-index="0">每日销进差异汇总</a>
</li>
<li>
<a class="J_menuItem" href="@Url.Content("~/Reports/Finance/HappenAmountCount")" data-index="0">每日发生额汇总</a>
</li>
</ul> </ul>
</li> </li>
<li> <li>
......
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