Commit 5991d69e by guanzhenshan

增加跨境现金流报表

parent 8639a958
......@@ -21,7 +21,7 @@ namespace Bailun.DC.HappenAmount
//static void Main(string[] args)
//{
// var start = DateTime.Parse("2019-09-01");
// while (start < DateTime.Now)
// while (start.AddDay(1) < DateTime.Now)
// {
// new Services().Init(start, start.AddDays(1));
// start = start.AddDays(1);
......
......@@ -3118,6 +3118,54 @@ group by currency";
#endregion
#region
/// <summary>
/// 每日总收支明细
/// </summary>
/// <param name="start">开始日期</param>
/// <param name="end">结束日期</param>
/// <returns></returns>
public List<dc_daily_pay_income> ListDailyPayIncoming(DateTime start, DateTime end)
{
var sql = $"select * from dc_daily_pay_income where record_time>='{start.ToString("yyyy-MM-dd")}' and record_time<'{end.AddDays(1).ToString("yyyy-MM-dd")}' order by record_time desc";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.Query<dc_daily_pay_income>(sql);
return obj.ToList();
}
}
/// <summary>
/// 每日现金流动态分析明细
/// </summary>
/// <param name="start">开始日期</param>
/// <param name="end">结束日期</param>
/// <returns></returns>
public List<dc_daily_companymoneystatus> ListDailyCompanyMoney(DateTime start, DateTime end)
{
var sql = $"select * from dc_daily_companymoneystatus where record_time>='{start.ToString("yyyy-MM-dd")}' and record_time<'{end.AddDays(1).ToString("yyyy-MM-dd")}' order by record_time desc";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.Query<dc_daily_companymoneystatus>(sql);
return obj.ToList();
}
}
#endregion
}
}
......@@ -5051,6 +5051,143 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
#endregion
#region 跨境电商现金流
/// <summary>
/// 总收支报表
/// </summary>
/// <returns></returns>
public ActionResult TotalIncomePay()
{
return View();
}
/// <summary>
/// 总收支报表Json
/// </summary>
/// <param name="start">开始日期</param>
/// <param name="end">结束日期</param>
/// <returns></returns>
[BailunAuthentication(LoginMode.Enforce)]
[HttpPost]
public JsonResult TotalIncomePayJson(DateTime start,DateTime end)
{
try
{
var _service = new Services.FinanceReportServices();
var obj = _service.ListDailyPayIncoming(start, end);
return Json(new {
success = true,
list = obj.Select(p => new {
amount_income = p.amount_income.ToString("N2"),
amount_payed = p.amount_payed.ToString("N2"),
record_time = p.record_time.ToString("yyyy-MM-dd")
}),
msg = "",
countpayed = (obj.Count>0?obj.Sum(a=>a.amount_payed):0).ToString("N2"),
countincoming = (obj.Count>0?obj.Sum(a=>a.amount_income):0).ToString("N2")
});
}
catch (Exception ex)
{
return Json(new
{
success = false,
msg = "出现异常,异常信息:"+ex.Message,
});
}
}
/// <summary>
/// 现金流动态分析明细
/// </summary>
/// <returns></returns>
public ActionResult ListDailyCompanyMoney()
{
return View();
}
/// <summary>
/// 现金流动态分析明细
/// </summary>
/// <param name="start">开始日期</param>
/// <param name="end">结束日期</param>
/// <returns></returns>
[BailunAuthentication(LoginMode.Enforce)]
[HttpPost]
public JsonResult ListDailyCompanyMoneyJson(DateTime start, DateTime end)
{
try
{
var _service = new Services.FinanceReportServices();
var obj = _service.ListDailyCompanyMoney(start, end);
var m = new dc_daily_companymoneystatus() {
amount_arrivaled = 0,
amount_incoming = 0,
amount_payed = 0,
amount_purchase = 0,
amount_receivable = 0,
amount_sale = 0,
amount_stock = 0,
amount_withdrawonway = 0,
};
if (obj.Count > 0)
{
m.amount_arrivaled = obj.Sum(a => a.amount_arrivaled);
m.amount_incoming = obj.Sum(a => a.amount_incoming);
m.amount_payed = obj.Sum(a => a.amount_payed);
m.amount_purchase = obj.Sum(a => a.amount_purchase);
m.amount_receivable = obj.Sum(a => a.amount_receivable);
m.amount_sale = obj.Sum(a => a.amount_sale);
m.amount_stock = obj.Sum(a => a.amount_stock);
m.amount_withdrawonway = obj.Sum(a => a.amount_withdrawonway);
}
return Json(new
{
success = true,
list = obj.Select(p=>new {
amount_arrivaled = p.amount_arrivaled.ToString("N2"),
amount_incoming = p.amount_incoming.ToString("N2"),
amount_payed = p.amount_payed.ToString("N2"),
amount_purchase = p.amount_purchase.ToString("N2"),
amount_receivable = p.amount_receivable.ToString("N2"),
amount_sale = p.amount_sale.ToString("N2"),
amount_stock = p.amount_stock.ToString("N2"),
amount_withdrawonway = p.amount_withdrawonway.ToString("N2"),
record_time = p.record_time.ToString("yyyy-MM-dd")
}),
msg = "",
count = new {
amount_arrivaled = m.amount_arrivaled.ToString("N2"),
amount_incoming = m.amount_incoming.ToString("N2"),
amount_payed = m.amount_payed.ToString("N2"),
amount_purchase = m.amount_purchase.ToString("N2"),
amount_receivable = m.amount_receivable.ToString("N2"),
amount_sale = m.amount_sale.ToString("N2"),
amount_stock = m.amount_stock.ToString("N2"),
amount_withdrawonway = m.amount_withdrawonway.ToString("N2"),
}
});
}
catch (Exception ex)
{
return Json(new
{
success = false,
msg = "出现异常,异常信息:" + ex.Message,
});
}
}
#endregion
}
class mHappenAmount {
......

@{
ViewData["Title"] = "每日收支报表";
Layout = "~/Pages/Shared/_MainLayout.cshtml";
ViewBag.Nav = new string[] { "财务", "跨境电商现金流报告" };
}
<div class="row">
<div class="col-sm-12">
<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>
<input id="start" name="start" type="text" class="form-control" style="width:130px;" value="@(DateTime.Now.AddDays(-7).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="init();"><i class="fa fa-search"></i>&nbsp;查询</button>
</div>
</div>
</form>
</div>
<div class="ibox-content m-b-sm border-bottom">
<p>总支出:<span id="txtpay" style="color:forestgreen;">0</span>;总收入:<span id="txtincoming" style="color:red;">0</span>;</p>
<table id="roletable" class="table table-hover table-bordered table-condensed table-striped">
<thead>
<tr></tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
<div class="col-sm-12">
<div class="ibox-content m-b-sm border-bottom">
<p>动态分析表格</p>
<p id="txtdetailcount" style="color:forestgreen;"></p>
<table id="roletable2" class="table table-hover table-bordered table-condensed table-striped">
<thead>
<tr></tr>
</thead>
<tbody></tbody>
</table>
</div>
</div>
<div class="col-sm-12">
<div class="alert alert-warning">
取数说明:
<br />
1、支出的取值:成品采购+半成品采购+百伦(广州、香港)支付给哈倪曼和拉古娜的费用<br />
2、收入的取值:当天提现到账的资金(已转换成CNY)<br />
3、采购下单的取值:成品采购系统当天下单的采购金额<br />
4、财务付款的取值:当天支付给成品采购+半成品采购+百伦(广州、香港)支付给哈倪曼和拉古娜的费用<br />
5、到货的取值:当天成品采购系统到货的总采购额<br />
6、库存的取值:当天在库的库存金额<br />
7、售出的取值:当天销售订单的产品成本<br />
8、应收款的取值:当前发货的销售额<br />
9、放款在途的取值:统计当前提现未到账的金额<br />
10、银行到账的取值:当天银行放款到帐号的金额
</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));
init();
})
function init() {
list();
list2();
}
function list() {
var lindex = layer.load(1, { shade: false }); //0代表加载的风格,支持0-2
$.submit({
type:'POST',
url: '@Url.Content("~/Reports/Finance/TotalIncomePayJson")',
paramData: $("#toolbar").serialize(),
func: function (result) {
layer.close(lindex);
$('#roletable').find('tbody').html('');
$('#roletable').find('thead').html('');
$('#txtpay').html('0');
$('#txtincoming').html('0');
if (result.success) {
if (result.list.length == 0) {
alert('没有找到符合条件的数据');
return false;
}
var w = $('#roletable').parent().width()+40;
if (w < (120 * result.list.length + 40)) {
w = (120 * result.list.length + 40);
}
$('#roletable').parent().css('width', (w) + 'px');
$('#roletable').css('width', (w-40) + 'px');
var head = '<tr><th style="width:120px;">日期</th>';
var row1 = '<tr><td style="width:120px;">总支出</td>';
var row2 = '<tr><td style="width:120px;">总收入</td>';
for (var i = 0; i < result.list.length; i++) {
var obj = result.list[i];
head+= '<th style="width:120px;">' + obj.record_time+'</th>';
row1 += '<td style="width:120px;">' + obj.amount_payed+'</td>';
row2 += '<td style="width:120px;">' + obj.amount_income+'</td>';
}
head += '</tr>';
row1 += '</tr>';
row2 += '</tr>';
$('#roletable').find('thead').append(head);
$('#roletable').find('tbody').append(row1);
$('#roletable').find('tbody').append(row2)
$('#txtpay').html(result.countpayed);
$('#txtincoming').html(result.countincoming);
}
else {
layer.msg('出现异常。');
}
}
})
}
function list2() {
var lindex = layer.load(1, { shade: false }); //0代表加载的风格,支持0-2
$.submit({
type:'POST',
url: '@Url.Content("~/Reports/Finance/ListDailyCompanyMoneyJson")',
paramData: $("#toolbar").serialize(),
func: function (result) {
layer.close(lindex);
$('#roletable2').find('tbody').html('');
$('#roletable2').find('thead').html('');
if (result.success) {
if (result.list.length == 0) {
alert('没有找到符合条件的数据');
return false;
}
var w = $('#roletable2').parent().width()+40;
if (w < (120 * result.list.length + 40)) {
w = (120 * result.list.length + 40);
}
$('#roletable2').parent().css('width', (w) + 'px');
$('#roletable2').css('width', (w-40) + 'px');
var head = '<tr><th style="width:120px;">日期</th>';
var row1 = '<tr><td style="width:120px;">采购下单</td>';
var row2 = '<tr><td style="width:120px;">财务付款</td>';
var row3 = '<tr><td style="width:120px;">到货</td>';
var row4 = '<tr><td style="width:120px;">库存</td>';
var row5 = '<tr><td style="width:120px;">售出</td>';
var row6 = '<tr><td style="width:120px;">应收款</td>';
var row7 = '<tr><td style="width:120px;">放款在途</td>';
var row8 = '<tr><td style="width:120px;">银行到账</td>';
for (var i = 0; i < result.list.length; i++) {
var obj = result.list[i];
head+= '<th style="width:120px;">' + obj.record_time+'</th>';
row1 += '<td style="width:120px;">' + obj.amount_purchase+'</td>';
row2 += '<td style="width:120px;">' + obj.amount_payed + '</td>';
row3 += '<td style="width:120px;">' + obj.amount_arrivaled + '</td>';
row4 += '<td style="width:120px;">' + obj.amount_stock + '</td>';
row5 += '<td style="width:120px;">' + obj.amount_sale + '</td>';
row6 += '<td style="width:120px;">' + obj.amount_receivable + '</td>';
row7 += '<td style="width:120px;">' + obj.amount_withdrawonway + '</td>';
row8 += '<td style="width:120px;">' + obj.amount_incoming + '</td>';
}
head += '</tr>';
row1 += '</tr>';
row2 += '</tr>';
row3 += '</tr>';
row4 += '</tr>';
row5 += '</tr>';
row6 += '</tr>';
row7 += '</tr>';
row8 += '</tr>';
$('#roletable2').find('thead').append(head);
$('#roletable2').find('tbody').append(row1);
$('#roletable2').find('tbody').append(row2);
$('#roletable2').find('tbody').append(row3);
$('#roletable2').find('tbody').append(row4);
$('#roletable2').find('tbody').append(row5);
$('#roletable2').find('tbody').append(row6);
$('#roletable2').find('tbody').append(row7);
$('#roletable2').find('tbody').append(row8);
$('#txtdetailcount').html('合计:采购下单:' + result.count.amount_purchase + ';财务付款:' + result.count.amount_payed + ';到货:' + result.count.amount_arrivaled + ';库存:' + result.count.amount_stock + ';售出:' + result.count.amount_sale + ';应收款:' + result.count.amount_receivable + ';放款在途:' + result.count.amount_withdrawonway + ';银行到账:' + result.count.amount_incoming+';');
}
else {
layer.msg('出现异常。');
}
}
})
}
</script>
}
......@@ -27,8 +27,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.LogicWareHouse",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.SkuProfitService", "Bailun.DC.SkuProfitService\Bailun.DC.SkuProfitService.csproj", "{91F08169-1D64-479B-B877-88FCBDDDE90B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.SkuDataWareHouse", "Bailun.DC.SkuDataWareHouse\Bailun.DC.SkuDataWareHouse.csproj", "{FAB2A012-44D0-42D0-9EAD-1798D8332B66}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.SkuDailyPurchaseAndSales", "Bailun.DC.SkuDailyPurchaseAndSales\Bailun.DC.SkuDailyPurchaseAndSales.csproj", "{DD391409-2440-4332-8400-BE44A5140D89}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.HappenAmount", "Bailun.DC.HappenAmount\Bailun.DC.HappenAmount.csproj", "{D47B1C2E-BD79-4D41-87E0-D7749F65371E}"
......@@ -85,10 +83,6 @@ Global
{91F08169-1D64-479B-B877-88FCBDDDE90B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{91F08169-1D64-479B-B877-88FCBDDDE90B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{91F08169-1D64-479B-B877-88FCBDDDE90B}.Release|Any CPU.Build.0 = Release|Any CPU
{FAB2A012-44D0-42D0-9EAD-1798D8332B66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FAB2A012-44D0-42D0-9EAD-1798D8332B66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FAB2A012-44D0-42D0-9EAD-1798D8332B66}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FAB2A012-44D0-42D0-9EAD-1798D8332B66}.Release|Any CPU.Build.0 = Release|Any CPU
{DD391409-2440-4332-8400-BE44A5140D89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DD391409-2440-4332-8400-BE44A5140D89}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DD391409-2440-4332-8400-BE44A5140D89}.Release|Any CPU.ActiveCfg = Release|Any CPU
......@@ -111,7 +105,6 @@ Global
{121E5FDF-0CE9-46A3-BE01-D638B7275213} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{75782F98-28B6-4618-BAF2-56C68846CC92} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{91F08169-1D64-479B-B877-88FCBDDDE90B} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{FAB2A012-44D0-42D0-9EAD-1798D8332B66} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{DD391409-2440-4332-8400-BE44A5140D89} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{D47B1C2E-BD79-4D41-87E0-D7749F65371E} = {AE2CE86A-8538-4142-920F-684DCF47C064}
{D65CA330-DB1E-4B55-AFFA-5CC02518AB28} = {AE2CE86A-8538-4142-920F-684DCF47C064}
......
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