Commit 69379a4e by 泽锋 李

fix

parent b7832852
using AutoTurnOver.Models.Base; using AutoTurnOver.Models.Base;
using AutoTurnOver.Utility;
using Dapper; using Dapper;
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
...@@ -142,7 +145,7 @@ namespace AutoTurnOver.DB.Base ...@@ -142,7 +145,7 @@ namespace AutoTurnOver.DB.Base
/// <typeparam name="T"></typeparam> /// <typeparam name="T"></typeparam>
/// <param name="entities"></param> /// <param name="entities"></param>
/// <param name="exclude">排除的字段</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) if (exclude == null || exclude.Length <= 0)
exclude = new[] { "id" }; exclude = new[] { "id" };
...@@ -199,5 +202,120 @@ namespace AutoTurnOver.DB.Base ...@@ -199,5 +202,120 @@ namespace AutoTurnOver.DB.Base
throw new Exception("传入参数先"); 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 ...@@ -21,13 +21,13 @@ namespace AutoTurnOver.DB
/// <summary> /// <summary>
/// 计算订单 销售字段 /// 计算订单 销售字段
/// </summary> /// </summary>
public static void CalculationOrderSale(DateTime btime, DateTime? etime) public static void CalculationOrder(DateTime btime, DateTime? etime)
{ {
try try
{ {
var conn = _connection; var conn = _connection;
int page = 1; 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(); List<dc_report_cash_flow_config> configs = conn.Query<dc_report_cash_flow_config>(" select * from dc_report_cash_flow_config ").AsList();
while (true) while (true)
{ {
...@@ -57,194 +57,45 @@ namespace AutoTurnOver.DB ...@@ -57,194 +57,45 @@ namespace AutoTurnOver.DB
{ {
var item_no = order_item.bailun_order_id; var item_no = order_item.bailun_order_id;
#region 利润 #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 销售金额
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, 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, is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id, item = order_item.bailun_order_id,
update_time = now, update_time = now,
no = order_item.bailun_order_id, no = order_item.bailun_order_id,
platform_type = order_item.platform_type, platform_type = order_item.platform_type,
remarks = "", 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), occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code, 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_no = order_item.bailun_order_id
}; };
item.occur_time_year_month_no = $"{item.occur_time.Year}-{item.occur_time.Month}-{item.bailun_sku}"; item5.occur_time_year_month_no = $"{item5.occur_time.Year}-{item5.occur_time.Month}-{item5.bailun_sku}";
item.pay_time = CalculationPayTime(configs, item.occur_time, item.data_type, item.platform_type); item5.pay_time = CalculationPayTime(configs, item5.occur_time, item5.data_type, item5.platform_type);
item.pay_time_year_month_no = $"{item.pay_time.Year}-{item.pay_time.Month}-{item.bailun_sku}"; item5.pay_time_year_month_no = $"{item5.pay_time.Year}-{item5.pay_time.Month}-{item5.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.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, data_type = item5.data_type,
bailun_sku = item.bailun_sku, bailun_sku = item5.bailun_sku,
item_no = item.item_no item_no = item5.item_no
}) ?? 0; }) ?? 0;
if (item.id > 0) if (item5.id > 0)
{ {
updateList.Add(item); updateList.Add(item5);
//conn.Update(item); //conn.Update(item5);
} }
else else
{ {
addList.Add(item); addList.Add(item5);
//conn.Insert(item); //conn.Insert(item5);
} }
#endregion #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 #region PayPal
...@@ -405,113 +256,123 @@ namespace AutoTurnOver.DB ...@@ -405,113 +256,123 @@ namespace AutoTurnOver.DB
} }
#endregion #endregion
}
catch (Exception ex)
{
Console.WriteLine($"现金流-订单-{order_item.bailun_order_id}-异常" + ex.Message);
Console.WriteLine("现金流-订单-异常" + ex.StackTrace);
}
} #region 利润
if (addList != null && addList.Count >= 1) dc_report_cash_flow_log item2 = new dc_report_cash_flow_log()
{ {
conn.BatchInsert(addList); bailun_sku = order_item.bailun_sku,
} data_type = (int)dc_report_cash_flow_log_data_type_enum.利润,
if (updateList != null && updateList.Count >= 1) 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
{ {
UpdateUsersTest(conn, updateList); 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);
} }
catch (Exception ex) else
{ {
Console.WriteLine("现金流-订单-异常" + ex.Message); addList.Add(item2);
Console.WriteLine("现金流-订单-异常" + ex.StackTrace); //conn.Insert(item2);
} }
#endregion
} #region 销售数量
/// <summary> dc_report_cash_flow_log item1 = new dc_report_cash_flow_log()
/// 计算订单 成本
/// </summary>
/// <param name="btime"></param>
/// <param name="etime"></param>
public static void CalculationOrderCost(DateTime btime, DateTime? etime)
{
try
{ {
var conn = _connection; bailun_sku = order_item.bailun_sku,
int page = 1; data_type = (int)dc_report_cash_flow_log_data_type_enum.销售数量,
int rows = 5000; is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
List<dc_report_cash_flow_config> configs = conn.Query<dc_report_cash_flow_config>(" select * from dc_report_cash_flow_config ").AsList(); item = order_item.bailun_order_id,
while (true) 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
{ {
var now = DateTime.Now; data_type = item1.data_type,
var sql = " select * from dc_base_oms_sku where gmt_create>=@btime "; bailun_sku = item1.bailun_sku,
DynamicParameters parameters = new DynamicParameters(); item_no = item1.item_no
parameters.Add("btime", btime.ToString("yyyy-MM-dd 00:00:00")); }) ?? 0;
if (etime != null) if (item1.id > 0)
{ {
sql += " and gmt_create<=@etime "; updateList.Add(item1);
parameters.Add("etime", etime.Value.ToString("yyyy-MM-dd 23:59:59")); //conn.Update(item1);
} }
sql += $" order by id desc limit {(page - 1) * rows},{rows} "; else
var order_list = conn.Query<dc_base_oms_sku>(sql, parameters).AsList();
if (order_list == null || order_list.Count <= 0)
{ {
break; addList.Add(item1);
//conn.Insert(item1);
} }
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;
#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, 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, is_delete = (order_item.has_delete == 1 || order_item.has_scalp == 1) ? 1 : 0,
item = order_item.bailun_order_id, item = order_item.bailun_order_id,
update_time = now, update_time = now,
no = order_item.bailun_order_id, no = order_item.bailun_order_id,
platform_type = order_item.platform_type, platform_type = order_item.platform_type,
remarks = "", 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), occur_time = order_item.paid_time ?? new DateTime(1991, 1, 1),
warehouse_code = order_item.warehouse_code, 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_no = order_item.bailun_order_id
}; };
item5.occur_time_year_month_no = $"{item5.occur_time.Year}-{item5.occur_time.Month}-{item5.bailun_sku}"; item.occur_time_year_month_no = $"{item.occur_time.Year}-{item.occur_time.Month}-{item.bailun_sku}";
item5.pay_time = CalculationPayTime(configs, item5.occur_time, item5.data_type, item5.platform_type); item.pay_time = CalculationPayTime(configs, item.occur_time, item.data_type, item.platform_type);
item5.pay_time_year_month_no = $"{item5.pay_time.Year}-{item5.pay_time.Month}-{item5.bailun_sku}"; item.pay_time_year_month_no = $"{item.pay_time.Year}-{item.pay_time.Month}-{item.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.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, data_type = item.data_type,
bailun_sku = item5.bailun_sku, bailun_sku = item.bailun_sku,
item_no = item5.item_no item_no = item.item_no
}) ?? 0; }) ?? 0;
if (item5.id > 0) if (item.id > 0)
{ {
updateList.Add(item5); updateList.Add(item);
//conn.Update(item5); //conn.Update(item);
} }
else else
{ {
addList.Add(item5); addList.Add(item);
//conn.Insert(item5); //conn.Insert(item);
} }
#endregion #endregion
...@@ -526,7 +387,7 @@ namespace AutoTurnOver.DB ...@@ -526,7 +387,7 @@ namespace AutoTurnOver.DB
if (addList != null && addList.Count >= 1) if (addList != null && addList.Count >= 1)
{ {
conn.BatchInsert(addList); conn.BatchInsert(addList, "dc_report_cash_flow_log");
} }
if (updateList != null && updateList.Count >= 1) if (updateList != null && updateList.Count >= 1)
{ {
...@@ -544,6 +405,7 @@ namespace AutoTurnOver.DB ...@@ -544,6 +405,7 @@ namespace AutoTurnOver.DB
} }
public static void UpdateUsersTest(MySqlConnection conn, List<dc_report_cash_flow_log> datas) 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 ;"; 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 ...@@ -653,7 +515,7 @@ namespace AutoTurnOver.DB
if (addList != null && addList.Count >= 1) if (addList != null && addList.Count >= 1)
{ {
conn.BatchInsert(addList); conn.BatchInsert(addList, "dc_report_cash_flow_log");
} }
if (updateList != null && updateList.Count >= 1) if (updateList != null && updateList.Count >= 1)
{ {
......
...@@ -57,7 +57,7 @@ namespace AutoTurnOver.Models ...@@ -57,7 +57,7 @@ namespace AutoTurnOver.Models
/// 是否作废 /// 是否作废
/// </summary> /// </summary>
public int is_delete { get; set; } 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 pay_time_year_month_no { get; set; }
public string occur_time_year_month_no { get; set; } public string occur_time_year_month_no { get; set; }
} }
......
...@@ -24,7 +24,7 @@ namespace ResetOutofstock ...@@ -24,7 +24,7 @@ namespace ResetOutofstock
if (now.Hour == 01 && now.Minute == 01) if (now.Hour == 01 && now.Minute == 01)
{ {
Console.WriteLine($"开始 刷新现金流 订单数据 (销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); 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")}"); Console.WriteLine($"结束刷新现金流 订单数据(销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
} }
if (now.Hour == 01 && now.Minute == 02) if (now.Hour == 01 && now.Minute == 02)
...@@ -51,18 +51,7 @@ namespace ResetOutofstock ...@@ -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"))); 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")}"); 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() public override void Dispose()
......
...@@ -14,7 +14,16 @@ namespace ResetOutofstock ...@@ -14,7 +14,16 @@ namespace ResetOutofstock
{ {
Console.WriteLine("刷新缺货数据任务启动..."); Console.WriteLine("刷新缺货数据任务启动...");
//report_cash_flow_dao.CalculationOrderCostLogistics(now.AddMonths(-3), DateTime.Parse(now.AddDays(-1).ToString("yyyy-MM-dd 23:59:59"))); //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) => var builder = new HostBuilder().ConfigureServices((hostContext, services) =>
{ {
......
...@@ -14,47 +14,7 @@ namespace ResetOutofstock ...@@ -14,47 +14,7 @@ namespace ResetOutofstock
protected override Task ExecuteAsync(CancellationToken stoppingToken) 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(() => { Task.Factory.StartNew(() => {
while (true) while (true)
...@@ -64,7 +24,7 @@ namespace ResetOutofstock ...@@ -64,7 +24,7 @@ namespace ResetOutofstock
Console.WriteLine($"开始 刷新现金流 订单数据(销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}"); Console.WriteLine($"开始 刷新现金流 订单数据(销售),线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
var now = DateTime.Now; 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")}"); Console.WriteLine($"结束刷新现金流 订单数据(销售,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
} }
catch (Exception ex) 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