Commit c24423c2 by guanzhenshan

调整保存半成品库存服务

parent afc5a103
...@@ -8,11 +8,36 @@ namespace Bailun.DC.SyncSemiStock.Models ...@@ -8,11 +8,36 @@ namespace Bailun.DC.SyncSemiStock.Models
{ {
public bool success { get; set; } public bool success { get; set; }
public List<DC.Models.dc_semi_supplier_offer_log_new> data { get; set; } public List<response_SupplierPrice_Data> data { get; set; }
public string message { get; set; } public string message { get; set; }
} }
public class response_SupplierPrice_Data
{
public int log_id { get; set; }
public int supplier_id { get; set; }
public string supplier_name { get; set; }
public int unit_id { get; set; }
public string unit_name { get; set; }
public DateTime create_time { get; set; }
public decimal price { get; set; }
public string sku { get; set; }
public string sku_name { get; set; }
public int? sku_id { get; set; } = 0;
}
} }
...@@ -4,6 +4,7 @@ using System.Collections.Generic; ...@@ -4,6 +4,7 @@ using System.Collections.Generic;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Linq;
using MySql.Data.MySqlClient; using MySql.Data.MySqlClient;
using Dapper; using Dapper;
...@@ -184,6 +185,8 @@ namespace Bailun.DC.SyncSemiStock ...@@ -184,6 +185,8 @@ namespace Bailun.DC.SyncSemiStock
/// </summary> /// </summary>
public void SyncSupplierPrice() public void SyncSupplierPrice()
{ {
try
{
var start = DateTime.Parse("2017-01-01"); var start = DateTime.Parse("2017-01-01");
var end = start.AddDays(1); var end = start.AddDays(1);
var url = "http://mjgys.bailuntec.com/api/SupofferLog?"; var url = "http://mjgys.bailuntec.com/api/SupofferLog?";
...@@ -191,7 +194,7 @@ namespace Bailun.DC.SyncSemiStock ...@@ -191,7 +194,7 @@ namespace Bailun.DC.SyncSemiStock
using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read)) using (var cn = new MySqlConnection(Common.GlobalConfig.ConnectionString_read))
{ {
if(cn.State== System.Data.ConnectionState.Closed) if (cn.State == System.Data.ConnectionState.Closed)
{ {
cn.Open(); cn.Open();
} }
...@@ -203,24 +206,36 @@ namespace Bailun.DC.SyncSemiStock ...@@ -203,24 +206,36 @@ namespace Bailun.DC.SyncSemiStock
end = start.AddDays(1); end = start.AddDays(1);
} }
if(end>DateTime.Now) if (end > DateTime.Now)
{ {
end = DateTime.Now; end = DateTime.Now;
} }
} }
while(end<=DateTime.Now) while (end <= DateTime.Now)
{ {
var result = Common.HttpHelper.NetHelper.Request(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd")}&etime={end.ToString("yyyy-MM-dd")}"); var result = Common.HttpHelper.NetHelper.Request(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss")}&etime={end.ToString("yyyy-MM-dd HH:mm:ss")}");
if (!string.IsNullOrEmpty(result)) if (!string.IsNullOrEmpty(result))
{ {
var json = Newtonsoft.Json.JsonConvert.DeserializeObject<response_SupplierPrice>(result); var json = Newtonsoft.Json.JsonConvert.DeserializeObject<response_SupplierPrice>(result);
if(json.success) if (json.success)
{ {
Console.WriteLine(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd")}&etime={end.ToString("yyyy-MM-dd")}" + "::获取数据成功!"+DateTime.Now); Console.WriteLine(url + $"btime={start.AddMinutes(-3).ToString("yyyy-MM-dd HH:mm:ss")}&etime={end.ToString("yyyy-MM-dd HH:mm:ss")}" + "::获取数据成功!" + DateTime.Now);
SaveSupplierPrice(json.data); SaveSupplierPrice(json.data.Select(a => new DC.Models.dc_semi_supplier_offer_log_new
{
create_time = a.create_time,
log_id = a.log_id,
sku_code = a.sku,
price = a.price,
sku_id = a.sku_id,
sku_name = a.sku_name,
supplier_id = a.supplier_id,
supplier_name = a.supplier_name,
unit_id = a.unit_id,
unit_name = a.unit_name,
}).ToList());
start = end; start = end;
end = end.AddDays(1); end = end.AddDays(1);
} }
...@@ -228,6 +243,14 @@ namespace Bailun.DC.SyncSemiStock ...@@ -228,6 +243,14 @@ namespace Bailun.DC.SyncSemiStock
} }
} }
catch (Exception ex)
{
Console.WriteLine("出现异常:"+ex.Message+";10s后重启");
System.Threading.Thread.Sleep(10 * 1000);
SyncSupplierPrice();
}
}
/// <summary> /// <summary>
/// 保存供应商报价数据 /// 保存供应商报价数据
...@@ -248,12 +271,13 @@ namespace Bailun.DC.SyncSemiStock ...@@ -248,12 +271,13 @@ namespace Bailun.DC.SyncSemiStock
foreach (var item in list) foreach (var item in list)
{ {
var obj = cn.QueryFirstOrDefault<DC.Models.dc_semi_supplier_offer_log_new>($"select * from dc_semi_supplier_offer_log_new where sku_id='{item.sku_id}'"); var obj = cn.QueryFirstOrDefault<DC.Models.dc_semi_supplier_offer_log_new>($"select * from dc_semi_supplier_offer_log_new where sku_code='{item.sku_code}'");
if (obj == null) if (obj == null)
{ {
obj = item; obj = item;
obj.sku_id = item.sku_id;
obj.sku_code = item.sku_code ?? ""; obj.sku_code = item.sku_code ?? "";
obj.update_time = item.create_time; obj.update_time = item.create_time;
......
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