Commit 4b0edaf8 by 泽锋 李

fix

parent b08ae8e8
......@@ -292,7 +292,7 @@ namespace AutoTurnOver.DB
}
/// <summary>
/// 抓取sku 刊登状态
/// 退货单推送无库系统
/// </summary>
/// <returns></returns>
public static void PushSupplierReturnSkuInfo(List<api_distribution_return_order_push_input_dto> datas)
......@@ -335,5 +335,47 @@ namespace AutoTurnOver.DB
throw new Exception("无库系统 退货单推送接口异常: " + ex.StackTrace);
}
}
/// <summary>
/// 退货单推送Oms系统
/// </summary>
/// <returns></returns>
public static void PushOmsReturnSkuInfo(List<api_oms_return_order_push_input_dto> datas)
{
try
{
//查询采购建议明细
string url = ConfigHelper.GetValue("OmsReturnSkuInfo");
string resultStr = HttpHelper.Request(url, RequestType.POST, datas.ToJson(), "application/json", timeout: 1000 * 60 * 60 * 24);
var result = resultStr.ToObj<api_oms_return_order_push_response_dto>();
if (result == null)
{
throw new Exception("Oms系统接口未响应");
}
else
{
if (!result.success)
{
throw new Exception(result.error);
}
else
{
if (result.result == null)
{
throw new Exception("Oms系统接口未响应");
}
else
{
}
}
}
}
catch (Exception ex)
{
throw new Exception("Oms系统 退货单推送接口异常: " + ex.Message);
throw new Exception("Oms系统 退货单推送接口异常: " + ex.StackTrace);
}
}
}
}
using AutoTurnOver.Models;
using AutoTurnOver.Models.dc_base_purchase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AutoTurnOver.DB
{
/// <summary>
/// 提货订单
/// </summary>
public class dc_auto_pick_up_goods_order_dao : connectionHelper
{
/// <summary>
/// 生成提货订单
/// </summary>
public static void GenerateOrder(DateTime btime, DateTime etime)
{
var purchase_list = _connection.Query<dc_base_purchase_dto>(" select * from dc_base_purchase where create_time>=@btime and create_time<=@etime and buy_status!=-1 ", new
{
btime = btime.ToString("yyyy-MM-dd 00:00:00"),
etime = etime.ToString("yyyy-MM-dd 23:59:59")
}).ToList();
foreach (var item in purchase_list.GroupBy(s => new { s.supplier_name, s.supplier_id }))
{
var dc_base_supplier_data = (_connection.QueryFirstOrDefault<dc_base_supplier>(" select * from dc_base_supplier where sup_value=@sup_value ", new { sup_value = item.Key.supplier_id }) ?? new dc_base_supplier());
if (dc_base_supplier_data.isdaytakeinstore == 1)
{
var count = 0;
foreach (var itemP in item.GroupBy(s => s.purchase_id))
{
count++;
// 生成编号
var order_no = $"{item.Key.supplier_name}-{DateTime.Now.ToString("MM-dd")}-提-{GetNumberStr(count)}";
var order_data = new dc_auto_pick_up_goods_order()
{
date = itemP.Max(s => s.create_time),
no = order_no,
order_1688_time = new DateTime(1991, 1, 1),
pay_time = item.Max(s => s.pay_time),
pick_up_goods_time = dc_base_supplier_data.laster_pockup_time ?? "",
purchase_id = itemP.Key
};
// 查询是否已经存在
var old_count = _connection.QueryFirstOrDefault<int>(" select * from dc_auto_pick_up_goods_order where purchase_id=@purchase_id ", new { order_data.purchase_id });
if (old_count >= 1)
{
continue;
}
var new_main_id = _connection.Insert(order_data) ?? 0;
foreach (var itemSku in itemP.AsQueryable())
{
_connection.Insert(new dc_auto_pick_up_goods_order_sku
{
amount = (itemSku.price ?? 0) * itemSku.count,
quantity = itemSku.count,
bailun_sku = itemSku.bailun_sku,
main_id = new_main_id,
price = (itemSku.price ?? 0)
});
}
}
}
}
}
public static string GetNumberStr(int val)
{
var val_str = val.ToString();
for (int i = val_str.Length; i < 3; i++)
{
val_str = ("0" + val_str);
}
return val_str;
}
}
}
......@@ -271,7 +271,7 @@ where 1 = 1 ";
/// 批量推送
/// </summary>
/// <param name="m"></param>
public static void BatchPush(dc_auto_return_goods_sku_search_dto m)
public static void BatchPush(dc_auto_return_goods_sku_search_dto m, UserData user)
{
int total = 0;
m.status = 1;
......@@ -285,6 +285,30 @@ where 1 = 1 ";
try
{
ApiUtility.PushOmsReturnSkuInfo(order_list.Select(s => new Models.ApiDto.api_oms_return_order_push_input_dto()
{
originOrderNo = s.order_data.order_no,
receiptAddress = new Models.ApiDto.api_oms_return_order_push_input_dto.receiptAddress_dto
{
phone = s.order_data.contactphone,
address = s.order_data.companyaddress,
address2 = "",
city = "",
CountryCode = "CN",
phone2 = "",
postalCode = "",
stateOrRegion = "",
receiver = user.UserName
},
sellerName = "无库退货",
wareHouseNo = s.order_data.warehouse_code,
proSkuItems = s.skus.Select(sku => new Models.ApiDto.api_oms_return_order_push_input_dto.proSkuItems_dto()
{
quantity = sku.quantity,
skuNo = sku.bailun_sku
}).ToList()
}).ToList());
ApiUtility.PushSupplierReturnSkuInfo(order_list.Select(s => new Models.ApiDto.api_distribution_return_order_push_input_dto
{
returnDate = s.order_data.date,
......@@ -300,6 +324,8 @@ where 1 = 1 ";
}).ToList()
}).ToList());
// 推送成功,修改状态
_connection.Execute(" update dc_auto_return_goods_order set no_library_push_msg='成功',no_library_push_date=now(),no_library_push_status=1 where id in @ids ", new { ids = order_list.Select(s => s.order_data.id) });
_connection.Execute(" update dc_auto_return_goods_sku set no_library_sys_push_status=1 where order_id in @order_ids ", new { order_ids = order_list.Select(s => s.order_data.id) });
......@@ -307,11 +333,11 @@ where 1 = 1 ";
catch (Exception ex)
{
// 推送成功,修改状态
_connection.Execute(" update dc_auto_return_goods_order set no_library_push_msg=@no_library_push_msg,no_library_push_date=now(),no_library_push_status=1 where id in @ids ", new { ids = order_list.Select(s => s.order_data.id),no_library_push_msg = ex.Message });
_connection.Execute(" update dc_auto_return_goods_order set no_library_push_msg=@no_library_push_msg,no_library_push_date=now(),no_library_push_status=1 where id in @ids ", new { ids = order_list.Select(s => s.order_data.id), no_library_push_msg = ex.Message });
}
}
......@@ -369,11 +395,11 @@ where 1 = 1 ";
bailun_sku = itemSku.bailun_sku,
quantity = (int)itemSku.stock
};
new_sku_data.id = conn.Insert(new_sku_data, t)??0;
new_sku_data.id = conn.Insert(new_sku_data, t) ?? 0;
order_list_item.skus.Add(new_sku_data);
}
conn.Execute(" update dc_auto_return_goods_sku set order_id=@order_id where id in @ids ", new { order_id = new_order_id, ids = item.Select(s=>s.id).ToList() },t);
conn.Execute(" update dc_auto_return_goods_sku set order_id=@order_id where id in @ids ", new { order_id = new_order_id, ids = item.Select(s => s.id).ToList() }, t);
}
t.Commit();
......
......@@ -59,6 +59,7 @@ namespace AutoTurnOver.DB
contactname = item.contactname??"",
contactphone = item.contactphone??"",
short_name = item.short_name ?? "",
laster_pockup_time = item.laster_pockup_time ?? "",
city = item.city??""
};
......
......@@ -49,4 +49,92 @@ namespace AutoTurnOver.Models.ApiDto
public string message { get; set; }
}
}
public class api_oms_return_order_push_input_dto
{
public string originOrderNo { get; set; }
public int platformType { get; set; }
public string sellerName { get; set; }
public receiptAddress_dto receiptAddress { get; set; }
public List<proSkuItems_dto> proSkuItems { get; set; }
public string wareHouseNo { get; set; }
public class receiptAddress_dto
{
/// <summary>
/// 广东省
/// </summary>
public string stateOrRegion { get; set; }
/// <summary>
/// 广州市
/// </summary>
public string city { get; set; }
/// <summary>
/// 天河区
/// </summary>
public string address { get; set; }
/// <summary>
/// 棠下
/// </summary>
public string address2 { get; set; }
/// <summary>
/// 测试人员
/// </summary>
public string receiver { get; set; }
/// <summary>
/// 526410
/// </summary>
public string postalCode { get; set; }
public string phone { get; set; }
public string phone2 { get; set; }
/// <summary>
/// CN
/// </summary>
public string CountryCode { get; set; }
}
public class proSkuItems_dto
{
public string skuNo { get; set; }
public int quantity { get; set; }
}
}
public class api_oms_return_order_push_response_dto
{
public result_dto result { get; set; }
public bool success { get; set; }
public string error { get; set; }
public class result_dto
{
public List<result2_dto> result { get; set; }
public class result2_dto
{
/// <summary>
/// 是否处理成功
/// </summary>
public bool IsSuccess { get; set; }
/// <summary>
/// 退货单号
/// </summary>
public string OriginOrderNo { get; set; }
/// <summary>
/// 信息
/// </summary>
public string Message { get; set; }
}
}
}
}
......@@ -19,6 +19,7 @@ namespace AutoTurnOver.Models.ApiDto
public string contactname { get; set; }
public string contactphone { get; set; }
public string short_name { get; set; }
public string laster_pockup_time { get; set; }
public string city { get; set; }
public int value { get; set; }
/// <summary>
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
public class dc_auto_pick_up_goods_order
{
public int id { get; set; }
public string no { get; set; }
public DateTime date { get; set; }
public DateTime? pay_time { get; set; }
public DateTime? order_1688_time { get; set; }
public string pick_up_goods_time { get; set; }
public string purchase_id { get; set; }
}
public class dc_auto_pick_up_goods_order_sku
{
public int id { get; set; }
public int main_id { get; set; }
public string bailun_sku { get; set; }
public decimal price { get; set; }
public int quantity { get; set; }
/// <summary>
/// 单价(总)
/// </summary>
public decimal amount { get; set; }
}
}
......@@ -47,6 +47,7 @@ namespace AutoTurnOver.Models.dc_base_purchase
/// 确认时间
/// </summary>
public DateTime? confirm_time { get; set; }
public DateTime create_time { get; set; }
/// <summary>
/// 付款时间
......
......@@ -28,5 +28,10 @@ namespace AutoTurnOver.Models
public string contactphone { get; set; }
public string short_name { get; set; }
public string city { get; set; }
/// <summary>
/// 最晚提货时间
/// </summary>
public string laster_pockup_time { get; set; }
}
}
......@@ -12,9 +12,9 @@ namespace AutoTurnOver.Services
return DB.dc_auto_return_goods_config_dao.SkuPage(m, offset, limit, ref total);
}
public void Push(dc_auto_return_goods_sku_search_dto input_data)
public void Push(dc_auto_return_goods_sku_search_dto input_data, UserData user)
{
DB.dc_auto_return_goods_config_dao.BatchPush(input_data);
DB.dc_auto_return_goods_config_dao.BatchPush(input_data, user);
}
public void BatchApproval(batch_approval_input_dto input_data,UserData user)
{
......
......@@ -37,7 +37,7 @@ namespace AutoTurnOver.Controllers
try
{
var service = new Services.ReturnGoodsConfigServices();
service.Push(search);
service.Push(search, AutoUtility.GetUser());
return new JsonResult(new { success = true });
}
......
......@@ -49,5 +49,6 @@
"Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo",
"CanLog": "yes"
},
"SupplierReturnSkuInfo": "http://pps.bailuntec.com/distributionapi/Manager/SupplierReturnSkuInfo/InsertReturnSkuInfo"
"SupplierReturnSkuInfo": "http://pps.bailuntec.com/distributionapi/Manager/SupplierReturnSkuInfo/InsertReturnSkuInfo",
"OmsReturnSkuInfo": "http://oms.bailuntec.com/apiV2/bailunOrder/importReturnOrderForExternal"
}
......@@ -49,5 +49,6 @@
"Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo",
"CanLog": "yes"
},
"SupplierReturnSkuInfo": "http://pps.bailuntec.com/distributionapi/Manager/SupplierReturnSkuInfo/InsertReturnSkuInfo"
"SupplierReturnSkuInfo": "http://pps.bailuntec.com/distributionapi/Manager/SupplierReturnSkuInfo/InsertReturnSkuInfo",
"OmsReturnSkuInfo": "http://oms.bailuntec.com/apiV2/bailunOrder/importReturnOrderForExternal"
}
......@@ -49,5 +49,6 @@
"Url": "http://saas.admin.bailuntec.com/Api/Ssoadmin/operationloginfo/addoperationloginfo",
"CanLog": "yes"
},
"SupplierReturnSkuInfo": "http://pps.bailuntec.com/distributionapi/Manager/SupplierReturnSkuInfo/InsertReturnSkuInfo"
"SupplierReturnSkuInfo": "http://pps.bailuntec.com/distributionapi/Manager/SupplierReturnSkuInfo/InsertReturnSkuInfo",
"OmsReturnSkuInfo": "http://oms.bailuntec.com/apiV2/bailunOrder/importReturnOrderForExternal"
}
......@@ -17,7 +17,6 @@ namespace ResetOutofstock
{
var now = DateTime.Now;
//base_supplier_holiday_time_dao.SynchroData();
//report.ResetCashFlowData();
//report.StockWeekBackUp();
......
......@@ -44,6 +44,12 @@ namespace ResetOutofstock
report.ResetInventory();
Console.WriteLine($"结束 刷新jit安全库存,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
if(now.Hour==02 && now.Minute == 1)
{
Console.WriteLine($"开始 刷新jit安全库存,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
dc_auto_pick_up_goods_order_dao.GenerateOrder(DateTime.Now.AddDays(-3), DateTime.Now);
Console.WriteLine($"结束 刷新jit安全库存,线程Id:{Thread.CurrentThread.ManagedThreadId}{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}");
}
}
public override void Dispose()
......
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