Commit 69379a4e by 泽锋 李

fix

parent b7832852
using AutoTurnOver.Models.Base;
using AutoTurnOver.Utility;
using Dapper;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
......@@ -142,7 +145,7 @@ namespace AutoTurnOver.DB.Base
/// <typeparam name="T"></typeparam>
/// <param name="entities"></param>
/// <param name="exclude">排除的字段</param>
public static int BatchInsert<T>(this MySqlConnection conn, List<T> entities, string[] exclude = null)
public static int BatchInsert_bak<T>(this MySqlConnection conn, List<T> entities, string[] exclude = null)
{
if (exclude == null || exclude.Length <= 0)
exclude = new[] { "id" };
......@@ -199,5 +202,120 @@ namespace AutoTurnOver.DB.Base
throw new Exception("传入参数先");
}
/// <summary>
/// Copy数据
/// </summary>
/// <param name="connectionString">目标连接字符</param>
/// <param name="TableName">目标表</param>
/// <param name="dt">源数据</param>
public static int BatchInsert<T>(this MySqlConnection conn,IList<T> list, string tableName)
{
var connectionString = conn.ConnectionString;
var sourceTable = DataTableExtensions.ToDataTable<T>(list);
int insertCount = 0;
int pageIndex = 1;
int pageSize = 500000;
while (true)
{
DataTable table = DtSelectTop((pageIndex - 1) * pageSize, pageIndex * pageSize, sourceTable);
if (table.Rows.Count <= 0)
break;
pageIndex++;
if (table.Rows.Count == 0) return 0;
string tmpPath = Path.GetTempFileName();
string csv = DataTableToCsv(table);
File.WriteAllText(tmpPath, csv);
// MySqlTransaction tran = null;
try
{
conn.Open();
//tran = conn.BeginTransaction();
MySqlBulkLoader bulk = new MySqlBulkLoader(conn)
{
FieldTerminator = ",",
FieldQuotationCharacter = '"',
EscapeCharacter = '"',
LineTerminator = "\r\n",
FileName = tmpPath,
NumberOfLinesToSkip = 0,
TableName = tableName,
Timeout = 1000 * 60 * 60
};
//bulk.Columns.AddRange(table.Columns.Cast<DataColumn>().Select(colum => colum.ColumnName).ToArray());
insertCount += bulk.Load();
// tran.Commit();
}
catch (MySqlException ex)
{
// if (tran != null) tran.Rollback();
throw ex;
}
File.Delete(tmpPath);
}
return insertCount;
}
/// <summary>
/// 获取DataTable 指定顺序的数据
/// </summary>
/// <param name="beginItem"></param>
/// <param name="endItem"></param>
/// <param name="oDT"></param>
/// <returns></returns>
public static DataTable DtSelectTop(long beginItem, long endItem, DataTable oDT)
{
try
{
DataTable NewTable = oDT.Clone();
DataRow[] rows = oDT.Select("1=1");
for (long i = beginItem; i < endItem; i++)
{
if (rows.Length <= i)
{
break;
}
NewTable.ImportRow((DataRow)rows[i]);
}
return NewTable;
}
catch (Exception ex)
{
throw;
}
}
private static string DataTableToCsv(DataTable table)
{
//以半角逗号(即,)作分隔符,列为空也要表达其存在。
//列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。
//列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来。
StringBuilder sb = new StringBuilder();
DataColumn colum;
foreach (DataRow row in table.Rows)
{
for (int i = 0; i < table.Columns.Count; i++)
{
colum = table.Columns[i];
if (i != 0) sb.Append(",");
if (colum.DataType == typeof(string) && row[colum].ToString().Contains(","))
{
sb.Append("\"" + row[colum].ToString().Replace("\"", "\"\"") + "\"");
}
else sb.Append(row[colum].ToString());
}
sb.AppendLine();
}
return sb.ToString();
}
}
}
......@@ -21,13 +21,13 @@ namespace AutoTurnOver.DB
/// <summary>
/// 计算订单 销售字段
/// </summary>
public static void CalculationOrderSale(DateTime btime, DateTime? etime)
public static void CalculationOrder(DateTime btime, DateTime? etime)
{
try
{
var conn = _connection;
int page = 1;
int rows = 5000;
int rows = 10000;
List<dc_report_cash_flow_config> configs = conn.Query<dc_report_cash_flow_config>(" select * from dc_report_cash_flow_config ").AsList();
while (true)
{
......@@ -57,194 +57,45 @@ namespace AutoTurnOver.DB
{
var item_no = order_item.bailun_order_id;
#region 利润
dc_report_cash_flow_log item2 = new dc_report_cash_flow_log()
{
bailun_sku = order_item.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.利润,
is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id,
update_time = now,
no = order_item.bailun_order_id,
platform_type = order_item.platform_type,
remarks = "",
val = order_item.profit_total * order_item.bailun_sku_quantity_ordered,
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
};
item2.occur_time_year_month_no = $"{item2.occur_time.Year}-{item2.occur_time.Month}-{item2.bailun_sku}";
item2.pay_time = CalculationPayTime(configs, item2.occur_time, item2.data_type, item2.platform_type);
item2.pay_time_year_month_no = $"{item2.pay_time.Year}-{item2.pay_time.Month}-{item2.bailun_sku}";
item2.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
data_type = item2.data_type,
bailun_sku = item2.bailun_sku,
item_no = item2.item_no
}) ?? 0;
if (item2.id > 0)
{
updateList.Add(item2);
//conn.Update(item2);
}
else
{
addList.Add(item2);
//conn.Insert(item2);
}
#endregion
#region 销售数量
dc_report_cash_flow_log item1 = new dc_report_cash_flow_log()
{
bailun_sku = order_item.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.销售数量,
is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id,
update_time = now,
no = order_item.bailun_order_id,
platform_type = order_item.platform_type,
remarks = "",
val = order_item.bailun_sku_quantity_ordered,
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
};
item1.occur_time_year_month_no = $"{item1.occur_time.Year}-{item1.occur_time.Month}-{item1.bailun_sku}";
item1.pay_time = CalculationPayTime(configs, item1.occur_time, item1.data_type, item1.platform_type);
item1.pay_time_year_month_no = $"{item1.pay_time.Year}-{item1.pay_time.Month}-{item1.bailun_sku}";
item1.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
data_type = item1.data_type,
bailun_sku = item1.bailun_sku,
item_no = item1.item_no
}) ?? 0;
if (item1.id > 0)
{
updateList.Add(item1);
//conn.Update(item1);
}
else
{
addList.Add(item1);
//conn.Insert(item1);
}
#endregion
#region 销售金额
#region 销售释放成本
dc_report_cash_flow_log item = new dc_report_cash_flow_log()
dc_report_cash_flow_log item5 = new dc_report_cash_flow_log()
{
bailun_sku = order_item.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.销售金额,
data_type = (int)dc_report_cash_flow_log_data_type_enum.释放销售成本,
is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id,
update_time = now,
no = order_item.bailun_order_id,
platform_type = order_item.platform_type,
remarks = "",
val = order_item.amount_sales * order_item.seller_order_exchange_rate * order_item.bailun_sku_quantity_ordered,
val = order_item.cost_product * order_item.bailun_sku_quantity_ordered,
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后收,
item_no = order_item.bailun_order_id
};
item.occur_time_year_month_no = $"{item.occur_time.Year}-{item.occur_time.Month}-{item.bailun_sku}";
item.pay_time = CalculationPayTime(configs, item.occur_time, item.data_type, item.platform_type);
item.pay_time_year_month_no = $"{item.pay_time.Year}-{item.pay_time.Month}-{item.bailun_sku}";
item.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
item5.occur_time_year_month_no = $"{item5.occur_time.Year}-{item5.occur_time.Month}-{item5.bailun_sku}";
item5.pay_time = CalculationPayTime(configs, item5.occur_time, item5.data_type, item5.platform_type);
item5.pay_time_year_month_no = $"{item5.pay_time.Year}-{item5.pay_time.Month}-{item5.bailun_sku}";
item5.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
data_type = item.data_type,
bailun_sku = item.bailun_sku,
item_no = item.item_no
data_type = item5.data_type,
bailun_sku = item5.bailun_sku,
item_no = item5.item_no
}) ?? 0;
if (item.id > 0)
if (item5.id > 0)
{
updateList.Add(item);
//conn.Update(item);
updateList.Add(item5);
//conn.Update(item5);
}
else
{
addList.Add(item);
//conn.Insert(item);
addList.Add(item5);
//conn.Insert(item5);
}
#endregion
}
catch (Exception ex)
{
Console.WriteLine($"现金流-订单-{order_item.bailun_order_id}-异常" + ex.Message);
Console.WriteLine("现金流-订单-异常" + ex.StackTrace);
}
}
if (addList != null && addList.Count >= 1)
{
conn.BatchInsert(addList);
}
if (updateList != null && updateList.Count >= 1)
{
UpdateUsersTest(conn, updateList);
}
}
}
catch (Exception ex)
{
Console.WriteLine("现金流-订单-异常" + ex.Message);
Console.WriteLine("现金流-订单-异常" + ex.StackTrace);
}
}
/// <summary>
/// 计算订单 费
/// </summary>
/// <param name="btime"></param>
/// <param name="etime"></param>
public static void CalculationOrderFee(DateTime btime, DateTime? etime)
{
try
{
var conn = _connection;
int page = 1;
int rows = 5000;
List<dc_report_cash_flow_config> configs = conn.Query<dc_report_cash_flow_config>(" select * from dc_report_cash_flow_config ").AsList();
while (true)
{
var now = DateTime.Now;
var sql = " select * from dc_base_oms_sku where gmt_create>=@btime ";
DynamicParameters parameters = new DynamicParameters();
parameters.Add("btime", btime.ToString("yyyy-MM-dd 00:00:00"));
if (etime != null)
{
sql += " and gmt_create<=@etime ";
parameters.Add("etime", etime.Value.ToString("yyyy-MM-dd 23:59:59"));
}
sql += $" order by id desc limit {(page - 1) * rows},{rows} ";
var order_list = conn.Query<dc_base_oms_sku>(sql, parameters).AsList();
if (order_list == null || order_list.Count <= 0)
{
break;
}
page++;
var addList = new List<dc_report_cash_flow_log>();
var updateList = new List<dc_report_cash_flow_log>();
foreach (var order_item in order_list)
{
try
{
var item_no = order_item.bailun_order_id;
#region PayPal
......@@ -405,113 +256,123 @@ namespace AutoTurnOver.DB
}
#endregion
}
catch (Exception ex)
{
Console.WriteLine($"现金流-订单-{order_item.bailun_order_id}-异常" + ex.Message);
Console.WriteLine("现金流-订单-异常" + ex.StackTrace);
}
}
if (addList != null && addList.Count >= 1)
{
conn.BatchInsert(addList);
}
if (updateList != null && updateList.Count >= 1)
{
UpdateUsersTest(conn, updateList);
}
}
}
catch (Exception ex)
{
Console.WriteLine("现金流-订单-异常" + ex.Message);
Console.WriteLine("现金流-订单-异常" + ex.StackTrace);
}
#region 利润
}
dc_report_cash_flow_log item2 = new dc_report_cash_flow_log()
{
bailun_sku = order_item.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.利润,
is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id,
update_time = now,
no = order_item.bailun_order_id,
platform_type = order_item.platform_type,
remarks = "",
val = order_item.profit_total * order_item.bailun_sku_quantity_ordered,
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
};
item2.occur_time_year_month_no = $"{item2.occur_time.Year}-{item2.occur_time.Month}-{item2.bailun_sku}";
item2.pay_time = CalculationPayTime(configs, item2.occur_time, item2.data_type, item2.platform_type);
item2.pay_time_year_month_no = $"{item2.pay_time.Year}-{item2.pay_time.Month}-{item2.bailun_sku}";
item2.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
data_type = item2.data_type,
bailun_sku = item2.bailun_sku,
item_no = item2.item_no
}) ?? 0;
if (item2.id > 0)
{
updateList.Add(item2);
//conn.Update(item2);
}
else
{
addList.Add(item2);
//conn.Insert(item2);
}
/// <summary>
/// 计算订单 成本
/// </summary>
/// <param name="btime"></param>
/// <param name="etime"></param>
public static void CalculationOrderCost(DateTime btime, DateTime? etime)
{
try
{
var conn = _connection;
int page = 1;
int rows = 5000;
List<dc_report_cash_flow_config> configs = conn.Query<dc_report_cash_flow_config>(" select * from dc_report_cash_flow_config ").AsList();
while (true)
{
var now = DateTime.Now;
var sql = " select * from dc_base_oms_sku where gmt_create>=@btime ";
DynamicParameters parameters = new DynamicParameters();
parameters.Add("btime", btime.ToString("yyyy-MM-dd 00:00:00"));
if (etime != null)
{
sql += " and gmt_create<=@etime ";
parameters.Add("etime", etime.Value.ToString("yyyy-MM-dd 23:59:59"));
}
sql += $" order by id desc limit {(page - 1) * rows},{rows} ";
var order_list = conn.Query<dc_base_oms_sku>(sql, parameters).AsList();
if (order_list == null || order_list.Count <= 0)
{
break;
}
page++;
#endregion
var addList = new List<dc_report_cash_flow_log>();
var updateList = new List<dc_report_cash_flow_log>();
#region 销售数量
foreach (var order_item in order_list)
{
try
{
var item_no = order_item.bailun_order_id;
dc_report_cash_flow_log item1 = new dc_report_cash_flow_log()
{
bailun_sku = order_item.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.销售数量,
is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id,
update_time = now,
no = order_item.bailun_order_id,
platform_type = order_item.platform_type,
remarks = "",
val = order_item.bailun_sku_quantity_ordered,
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
};
item1.occur_time_year_month_no = $"{item1.occur_time.Year}-{item1.occur_time.Month}-{item1.bailun_sku}";
item1.pay_time = CalculationPayTime(configs, item1.occur_time, item1.data_type, item1.platform_type);
item1.pay_time_year_month_no = $"{item1.pay_time.Year}-{item1.pay_time.Month}-{item1.bailun_sku}";
item1.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
data_type = item1.data_type,
bailun_sku = item1.bailun_sku,
item_no = item1.item_no
}) ?? 0;
if (item1.id > 0)
{
updateList.Add(item1);
//conn.Update(item1);
}
else
{
addList.Add(item1);
//conn.Insert(item1);
}
#endregion
#region 销售释放成本
#region 销售金额
dc_report_cash_flow_log item5 = new dc_report_cash_flow_log()
dc_report_cash_flow_log item = new dc_report_cash_flow_log()
{
bailun_sku = order_item.bailun_sku,
data_type = (int)dc_report_cash_flow_log_data_type_enum.释放销售成本,
data_type = (int)dc_report_cash_flow_log_data_type_enum.销售金额,
is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id,
update_time = now,
no = order_item.bailun_order_id,
platform_type = order_item.platform_type,
remarks = "",
val = order_item.cost_product * order_item.bailun_sku_quantity_ordered,
val = order_item.amount_sales * order_item.seller_order_exchange_rate * order_item.bailun_sku_quantity_ordered,
occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.后收,
pay_type = (int)dc_report_cash_flow_log_pay_type_enum.实时,
item_no = order_item.bailun_order_id
};
item5.occur_time_year_month_no = $"{item5.occur_time.Year}-{item5.occur_time.Month}-{item5.bailun_sku}";
item5.pay_time = CalculationPayTime(configs, item5.occur_time, item5.data_type, item5.platform_type);
item5.pay_time_year_month_no = $"{item5.pay_time.Year}-{item5.pay_time.Month}-{item5.bailun_sku}";
item5.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
item.occur_time_year_month_no = $"{item.occur_time.Year}-{item.occur_time.Month}-{item.bailun_sku}";
item.pay_time = CalculationPayTime(configs, item.occur_time, item.data_type, item.platform_type);
item.pay_time_year_month_no = $"{item.pay_time.Year}-{item.pay_time.Month}-{item.bailun_sku}";
item.id = conn.QuerySingleOrDefault<int?>(" select id from dc_report_cash_flow_log where data_type=@data_type and bailun_sku=@bailun_sku and item_no=@item_no ", new
{
data_type = item5.data_type,
bailun_sku = item5.bailun_sku,
item_no = item5.item_no
data_type = item.data_type,
bailun_sku = item.bailun_sku,
item_no = item.item_no
}) ?? 0;
if (item5.id > 0)
if (item.id > 0)
{
updateList.Add(item5);
//conn.Update(item5);
updateList.Add(item);
//conn.Update(item);
}
else
{
addList.Add(item5);
//conn.Insert(item5);
addList.Add(item);
//conn.Insert(item);
}
#endregion
......@@ -526,13 +387,13 @@ namespace AutoTurnOver.DB
if (addList != null && addList.Count >= 1)
{
conn.BatchInsert(addList);
conn.BatchInsert(addList, "dc_report_cash_flow_log");
}
if (updateList != null && updateList.Count >= 1)
{
UpdateUsersTest(conn, updateList);
}
}
}
catch (Exception ex)
......@@ -544,6 +405,7 @@ namespace AutoTurnOver.DB
}
public static void UpdateUsersTest(MySqlConnection conn, List<dc_report_cash_flow_log> datas)
{
var sql = @"UPDATE dc_report_cash_flow_log SET warehouse_code=@warehouse_code,platform_type=@platform_type,bailun_sku=@bailun_sku,data_type=@data_type,pay_type=@pay_type,val=@val,occur_time=@occur_time,pay_time=@pay_time,no=@no,item=@item,item_no=@item_no,remarks=@remarks,is_delete=@is_delete,update_time=@update_time,occur_time_year_month_no=@occur_time_year_month_no,pay_time_year_month_no=@pay_time_year_month_no WHERE id = @id ;";
......@@ -653,7 +515,7 @@ namespace AutoTurnOver.DB
if (addList != null && addList.Count >= 1)
{
conn.BatchInsert(addList);
conn.BatchInsert(addList, "dc_report_cash_flow_log");
}
if (updateList != null && updateList.Count >= 1)
{
......
......@@ -57,7 +57,7 @@ namespace AutoTurnOver.Models
/// 是否作废
/// </summary>
public int is_delete { get; set; }
public DateTime? update_time { get; set; }
public DateTime update_time { get; set; }
public string pay_time_year_month_no { get; set; }
public string occur_time_year_month_no { get; set; }
}
......
......@@ -24,7 +24,7 @@ namespace ResetOutofstock
if (now.Hour == 01 && now.Minute == 01)
{
Console.WriteLine($"开始 刷新现金流 订单数据 (销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
report_cash_flow_dao.CalculationOrderSale(now.AddMonths(-3),DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
report_cash_flow_dao.CalculationOrder(now.AddMonths(-3),DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束刷新现金流 订单数据(销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if (now.Hour == 01 && now.Minute == 02)
......@@ -51,18 +51,7 @@ namespace ResetOutofstock
report_cash_flow_dao.CalculationOrderCostLogistics(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束 刷新订单尾程费 退款数据,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if (now.Hour == 01 && now.Minute == 06)
{
Console.WriteLine($"开始 刷新现金流 订单数据 (费),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
report_cash_flow_dao.CalculationOrderFee(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束刷新现金流 订单数据(费),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if (now.Hour == 01 && now.Minute == 07)
{
Console.WriteLine($"开始 刷新现金流 订单数据 (成本),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
report_cash_flow_dao.CalculationOrderCost(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束刷新现金流 订单数据(成本),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
}
public override void Dispose()
......
......@@ -14,7 +14,16 @@ namespace ResetOutofstock
{
Console.WriteLine("刷新缺货数据任务启动...");
//report_cash_flow_dao.CalculationOrderCostLogistics(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
try
{
var now = DateTime.Now;
report_cash_flow_dao.CalculationOrder(now.AddMonths(-3), DateTime.Parse(now.ToString("yyyy-MM-dd 23:59:59")));
}
catch (Exception ex)
{
throw;
}
var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{
......
......@@ -14,47 +14,7 @@ namespace ResetOutofstock
protected override Task ExecuteAsync(CancellationToken stoppingToken)
{
Task.Factory.StartNew(() => {
while (true)
{
try
{
Console.WriteLine($"开始 刷新现金流 订单数据(销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
var now = DateTime.Now;
report_cash_flow_dao.CalculationOrderFee(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束刷新现金流 订单数据(销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Thread.Sleep(240 * 60 * 60 * 1000);
}
});
Task.Factory.StartNew(() => {
while (true)
{
try
{
Console.WriteLine($"开始 刷新现金流 订单数据(成本),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
var now = DateTime.Now;
report_cash_flow_dao.CalculationOrderCost(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束刷新现金流 订单数据(成本),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Thread.Sleep(240 * 60 * 60 * 1000);
}
});
Task.Factory.StartNew(() => {
while (true)
......@@ -64,7 +24,7 @@ namespace ResetOutofstock
Console.WriteLine($"开始 刷新现金流 订单数据(销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
var now = DateTime.Now;
report_cash_flow_dao.CalculationOrderSale(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
report_cash_flow_dao.CalculationOrder(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59")));
Console.WriteLine($"结束刷新现金流 订单数据(销售,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
catch (Exception ex)
......
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