Commit 94cb87c5 by guanzhenshan

增加物流应付帐号生成服务,增加更新功能

parent 42ca6810
......@@ -15,6 +15,8 @@ namespace Bailun.DC.HappenAmount
{
private Timer _timer;
private decimal hl_amount_pay=0;
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
_timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromMinutes(1));
......@@ -29,10 +31,21 @@ namespace Bailun.DC.HappenAmount
if (now.Hour == 23 && now.Minute == 59) //每天 23:59分启动
{
var day = now;
Console.WriteLine("开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
Init(DateTime.Parse(now.ToShortDateString()), DateTime.Parse(now.AddDays(1).ToShortDateString()));
var result = new Bailun.DC.Services.FinanceReportServices().AddLogisticsWaitPay(day, hl_amount_pay);
if (string.IsNullOrEmpty(result))
{
Console.WriteLine("生成物流供应商应付款余额记录成功 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
else
{
Console.WriteLine("生成物流供应商应付款余额记录失败: "+result+ " " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
Console.WriteLine("任务运行完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
else if (now.Hour / 12 == 0 && now.Minute == 1)
......@@ -225,7 +238,8 @@ namespace Bailun.DC.HappenAmount
m.ss_amount_sales += m.tos_amount_sales;
#endregion
//已付款
hl_amount_pay = m.hl_amount_pay;
cn.Execute("delete from dc_daily_happen_amount where day='" + m.day.ToString("yyyy-MM-dd") + "'");
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models
{
/// <summary>
/// 每日物流应付账款
/// </summary>
public class dc_daily_lg_waitpay
{
/// <summary>
///
/// </summary>
public int id { get; set; }
/// <summary>
/// 记录日期
/// </summary>
public DateTime day { get; set; }
/// <summary>
/// 期初余额
/// </summary>
public decimal amount_start { get; set; }
/// <summary>
/// 发生额
/// </summary>
public decimal amount_happen { get; set; }
/// <summary>
/// 发生额调整金额
/// </summary>
public decimal amount_happen_adjust { get; set; }
/// <summary>
/// 付款额
/// </summary>
public decimal amount_payed { get; set; }
/// <summary>
/// 付款调整额
/// </summary>
public decimal amount_payed_adjust { get; set; }
/// <summary>
/// 期末余额
/// </summary>
public decimal amount_end { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime createtime { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
public DateTime lastupdatetime { get; set; }
/// <summary>
/// 最后更新人id
/// </summary>
public int? lastupdateuserid { get; set; }
/// <summary>
/// 最后更新人名称
/// </summary>
public string lastupdateusername { get; set; }
}
}
......@@ -200,6 +200,141 @@ namespace Bailun.DC.Services
}
}
/// <summary>
/// 获取物流供应商的应付款
/// </summary>
/// <param name="date">日期</param>
/// <returns></returns>
public dc_daily_lg_waitpay GetLogisticsWaitPay(DateTime date)
{
var sql = "select * from dc_daily_lg_waitpay where day='"+date.ToString("yyyy-MM-dd")+"'";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.QueryFirstOrDefault<dc_daily_lg_waitpay>(sql);
return obj;
}
}
/// <summary>
/// 更新物流供应商应付账款的数据
/// </summary>
/// <param name="id">应付账款id</param>
/// <param name="type">更改类型,1:修改发生调整额,2:修改付款调整额</param>
/// <param name="amount">本次修改的金额</param>
/// <param name="userid">当前用户id</param>
/// <param name="username">当前用户名称</param>
/// <returns></returns>
public string UpdateLogisticsWaitPay(int id, int type, decimal amount,int userid,string username)
{
//期末余额 = 期初余额 + 发生额 + 发生额调整 - 付款额 - 付款额调整
var sql = "select * from dc_daily_lg_waitpay where id="+id;
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.QueryFirstOrDefault<dc_daily_lg_waitpay>(sql);
if (obj == null)
{
return "没有找到该记录。";
}
if (type == 1)
{
obj.amount_happen_adjust = amount;
}
else
{
obj.amount_payed_adjust = amount;
}
obj.amount_end = obj.amount_start + obj.amount_happen + obj.amount_happen_adjust - obj.amount_payed - obj.amount_payed_adjust;
obj.lastupdatetime = DateTime.Now;
obj.lastupdateuserid = userid;
obj.lastupdateusername = username;
var result = cn.Update<dc_daily_lg_waitpay>(obj);
return result > 0 ? "" : "保存异常,请重试!";
}
}
/// <summary>
/// 增加物流供应商应付账款记录
/// </summary>
/// <param name="date">日期</param>
/// <param name="payamount">付款额</param>
/// <returns></returns>
public string AddLogisticsWaitPay(DateTime date,decimal payamount)
{
try
{
var sql = "select * from dc_daily_lg_waitpay where day='" + date.ToString("yyyy-MM-dd") + "'";
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
var obj = cn.QueryFirstOrDefault<dc_daily_lg_waitpay>(sql);
if (obj != null)
{
obj.amount_payed = payamount;
obj.amount_end = obj.amount_start + obj.amount_happen + obj.amount_happen_adjust - obj.amount_payed - obj.amount_payed_adjust;
obj.lastupdatetime = DateTime.Now;
obj.lastupdateuserid = 0;
obj.lastupdateusername = "admin";
cn.Update<dc_daily_lg_waitpay>(obj);
}
else
{
sql = "select * from dc_daily_lg_waitpay where day='" + date.AddDays(-1).ToString("yyyy-MM-dd") + "'";
var objPre = cn.QueryFirstOrDefault<dc_daily_lg_waitpay>(sql);
obj = new dc_daily_lg_waitpay
{
amount_start = (objPre != null ? objPre.amount_end : 0),
amount_happen = 0,
amount_happen_adjust = 0,
amount_payed = payamount,
amount_payed_adjust = 0,
createtime = DateTime.Now,
lastupdatetime = DateTime.Now,
lastupdateuserid = 0,
lastupdateusername = "admin"
};
obj.amount_end = obj.amount_start + obj.amount_happen + obj.amount_happen_adjust - obj.amount_payed - obj.amount_payed_adjust;
cn.Insert<dc_daily_lg_waitpay>(obj);
}
}
return "";
}
catch (Exception ex)
{
return ex.Message;
}
}
#endregion
#region 管理成本
......
......@@ -42,7 +42,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult IndexJson(int type, int paycompanyvalue,DateTime? day)
public JsonResult IndexJson(int type, int paycompanyvalue, DateTime? day)
{
var date = DateTime.Now;
......@@ -154,7 +154,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
m.semi_bailun_transfer_amount = m.semi_bailun_transfer_amount ?? 0;
m.semi_hani_transfer_amount = m.semi_hani_transfer_amount ?? 0;
m.logistics_accounts_payable = m.logistics_accounts_payable ?? 0;
m.finished_accounts_payable = m.finished_accounts_payable ?? 0;
m.semi_accounts_payable = m.semi_accounts_payable ?? 0;
......@@ -205,7 +205,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}
}
return Json(new
{
success = list.Count > 0,
......@@ -354,7 +354,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var colNames = new List<string>() { "数值" };
colNames.AddRange(list.Select(p => p.statistical_time.ToString("yyyy-MM-dd")));
var listresult = new List<string>();
for (var i = 0; i < list.Count; i++)
......@@ -363,7 +363,7 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
var listProperties = m0.GetType().GetProperties();
var rowindex = 0;
for(var o=0;o<listProperties.Length;o++)
for (var o = 0; o < listProperties.Length; o++)
{
var descriptionName = "";
var v = (DescriptionAttribute[])listProperties[o].GetCustomAttributes(typeof(DescriptionAttribute), false);
......@@ -435,6 +435,43 @@ namespace Bailun.DC.Web.Areas.Reports.Controllers
}
/// <summary>
/// 供应商应付款详情
/// </summary>
/// <param name="date">日期</param>
/// <returns></returns>
public ActionResult LogisticWaitPayDetail(DateTime date)
{
var m = new dc_daily_lg_waitpay();
m = new Services.FinanceReportServices().GetLogisticsWaitPay(date);
ViewBag.m = m;
return View();
}
/// <summary>
/// 更新供应商应付款
/// </summary>
/// <param name="id">供应商应付款id</param>
/// <param name="type">更改类型,1:修改发生调整额,2:修改付款调整额</param>
/// <param name="amount">金额</param>
/// <returns></returns>
[BailunAuthentication(LoginMode.Enforce)]
[HttpPost]
public JsonResult UpdateLogisticWaitPay(int id, int type, decimal amount)
{
var user = HttpContextHelper.Current?.User;
var result = new Services.FinanceReportServices().UpdateLogisticsWaitPay(id, type, amount, (user != null ? user.GetUid() : 0), (user != null ? user.GetUserName() : ""));
return Json(new {
success = string.IsNullOrEmpty(result),
msg = result
});
}
/// <summary>
/// 管理成本报表页面
/// </summary>
/// <returns></returns>
......
......@@ -43,7 +43,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.DailySemiPurchase
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.DailyPlatformReceivable", "Bailun.DC.DailyPlatformReceivable\Bailun.DC.DailyPlatformReceivable.csproj", "{BFD01F3A-DEF2-4DEC-BC7C-3AAB7FBE3188}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bailun.DC.MonthSalePutin", "Bailun.DC.MonthSalePutin\Bailun.DC.MonthSalePutin.csproj", "{08F12342-13D8-4FB3-B3EC-D35B4E738F35}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Bailun.DC.MonthSalePutin", "Bailun.DC.MonthSalePutin\Bailun.DC.MonthSalePutin.csproj", "{08F12342-13D8-4FB3-B3EC-D35B4E738F35}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......
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