Commit ff55d2bb by guanzhenshan

调整物流供应商往来统计服务

parent 8833b95a
......@@ -56,6 +56,9 @@ namespace Bailun.DC.DailyLogisticSupplierTransaction
}
}
List<string> arrSanTong = new List<string> { "SPRING", "华得士国际货运代理有限公司", "DHL eCommerce (HK) Ltd", "Globavend", "华得士国际货运代理有限公司(中法)", "DHL ECOMMERCE", "中国邮政集团公司广州市分公司", "华得士国际货运代理有限公司(西班牙)", "华得士国际货运代理有限公司(意大利)", "VALUE ADD SERVICE LIMITED(D)", "金羊城国际物流代理有限公司(T)", "深圳大森林国际货运代理有限公司(T)", "深圳市乐递供应链有限公司(T)", "深圳昊泽货运代理有限公司(T)", "深圳市天纵供应商管理有限公司(T)", "中外运-敦豪广东分公司(T)", "优比速包裹运送(广东)有限公司(T)", "天地国际运输代理(中国)有限公司广州分公司(T)", "HK TWELVE INTERNATIONAL CO., LIMITED(T)", "香港宇通供应链科技有限公司" };
List<string> arrXingXing = new List<string> { "WMS-物流账单出纳页面-备注(直发)", "WMS-物流账单出纳页面-备注(调拨)" };
public void Init(DateTime day)
{
//业务逻辑
......@@ -65,6 +68,7 @@ namespace Bailun.DC.DailyLogisticSupplierTransaction
var list = new List<dc_daily_logistics_supplier_transaction>();
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
......@@ -72,8 +76,7 @@ namespace Bailun.DC.DailyLogisticSupplierTransaction
cn.Open();
}
cn.Execute($"delete from dc_daily_logistics_supplier_transaction where day='{day.ToString("yyyy-MM-dd")}'");
//发生额
var sql = $"select t1.company_name,sum(t1.merchant_shipment_cost_cny) as merchant_shipment_cost_cny from dc_base_logistics t1 where ((t1.reconciliation_type='跟踪号对账' and t1.diff_state_type!=0) or (t1.reconciliation_type='单独费用')) and t1.merchant_reconciliation_time='{day.ToString("yyyy-MM-dd")}' and t1.company_name!='广州嘉和货运代理有限公司' group by t1.company_name";
listHappen = cn.Query<Models.dc_base_logistics>(sql).AsList();
......@@ -147,9 +150,58 @@ group by t1.receive_unit";
private void Save(List<dc_daily_logistics_supplier_transaction> list)
{
if (list.Count == 0)
{
return;
}
var _sql = "insert dc_daily_logistics_supplier_transaction (day,supplierid,suppliername,amount_start,amount_happen,amount_pay,amount_receipt,amount_other,amount_end,createtime,lastupdatetime,lastupdateuserid,lastupdateusername) values ";
var s = "";
//合并三通的数据
var objSanTong = list.Where(a => arrSanTong.Contains(a.suppliername)).ToList();
var tempSanTong = new dc_daily_logistics_supplier_transaction {
amount_happen = objSanTong.Count>0?objSanTong.Sum(a=>a.amount_happen):0,
amount_pay = objSanTong.Count > 0 ? objSanTong.Sum(a=>a.amount_pay) : 0,
amount_receipt = objSanTong.Count > 0 ? objSanTong.Sum(a=>a.amount_receipt) : 0,
amount_other = objSanTong.Count > 0 ? objSanTong.Sum(a=>a.amount_other) : 0,
suppliername = "三通",
supplierid = 0,
amount_end = 0,
amount_start = 0,
createtime =DateTime.Now,
day = list.FirstOrDefault().day,
lastupdatetime = DateTime.Now,
lastupdateuserid=0,
lastupdateusername = "admin"
};
//合并猩猩国际的数据
var objXingXing = list.Where(a => arrXingXing.Contains(a.suppliername)).ToList();
var tempXingXing = new dc_daily_logistics_supplier_transaction {
amount_happen = objXingXing.Count>0?objXingXing.Sum(a=>a.amount_happen):0,
amount_pay = objXingXing.Count>0?objXingXing.Sum(a=>a.amount_pay):0,
amount_receipt = objXingXing.Count>0?objXingXing.Sum(a=>a.amount_receipt):0,
amount_other = objXingXing.Count>0?objXingXing.Sum(a=>a.amount_other):0,
suppliername = "深圳猩猩国际供应链科技有限公司",
supplierid = 0,
amount_end = 0,
amount_start = 0,
createtime = DateTime.Now,
day = list.FirstOrDefault().day,
lastupdatetime = DateTime.Now,
lastupdateuserid = 0,
lastupdateusername = "admin"
};
//去除三通和猩猩的子公司数据
list = list.Where(a => !arrSanTong.Contains(a.suppliername) && !arrXingXing.Contains(a.suppliername)).ToList();
//增加三通、猩猩国籍数据到列表
list.Add(tempSanTong);
list.Add(tempXingXing);
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString))
{
if (cn.State == System.Data.ConnectionState.Closed)
......@@ -175,6 +227,8 @@ group by t1.receive_unit";
item.amount_other = obj.amount_other;
}
cn.Execute($"delete from dc_daily_logistics_supplier_transaction where day='{item.day.ToString("yyyy-MM-dd")}' and suppliername='{item.suppliername}'");
//期末 = 期初+发生额-付款额+收款额(绝对值)+其他金额(手工导入数据)
item.amount_end = item.amount_start + item.amount_happen - item.amount_pay + System.Math.Abs(item.amount_receipt) + item.amount_other;
......
......@@ -12,29 +12,29 @@ namespace Bailun.DC.DailyPayAndIncoming
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
static async Task Main(string[] args)
{
Console.WriteLine("启动服务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Services>();
});
await builder.RunConsoleAsync();
}
//static void Main(string[] args)
//static async Task Main(string[] args)
//{
// var _services = new Services();
// var start = DateTime.Parse("2020-04-01");
// while (start.AddDays(1) < DateTime.Now)
// Console.WriteLine("启动服务 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
// var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
// {
// Console.WriteLine(start);
// _services.Init(start, start.AddDays(1));
// _services.SaveMoneyFlowCount(start, start.AddDays(1));
// start = start.AddDays(1);
// }
// services.AddHostedService<Services>();
// });
// await builder.RunConsoleAsync();
//}
static void Main(string[] args)
{
var _services = new Services();
var start = DateTime.Parse("2020-05-18");
while (start.AddDays(1) < DateTime.Now)
{
Console.WriteLine(start);
_services.Init(start, start.AddDays(1));
_services.SaveMoneyFlowCount(start, start.AddDays(1));
start = start.AddDays(1);
}
}
}
}
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