新增WMS推送
This commit is contained in:
parent
94d802d5da
commit
134c3bdfe8
@ -0,0 +1,16 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace MyCode.Project.Domain.Message.Response.WMS
|
||||||
|
{
|
||||||
|
public class WMSResponse
|
||||||
|
{
|
||||||
|
public int Code { get; set; }
|
||||||
|
public string Message { get; set; }
|
||||||
|
public Dictionary<string, string> Value { get; set; }
|
||||||
|
public int View { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -204,7 +204,7 @@ namespace MyCode.Project.Domain.Model
|
|||||||
/// Nullable:True
|
/// Nullable:True
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[SugarColumn(ColumnName = "F_SALE_ORGID")]
|
[SugarColumn(ColumnName = "F_SALE_ORGID")]
|
||||||
public long? FSaleOrgId { get; set; }
|
public int? FSaleOrgId { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -92,6 +92,7 @@
|
|||||||
<Compile Include="Message\Response\User\LoginInfo.cs" />
|
<Compile Include="Message\Response\User\LoginInfo.cs" />
|
||||||
<Compile Include="Message\Response\WebSocket\ConnUser.cs" />
|
<Compile Include="Message\Response\WebSocket\ConnUser.cs" />
|
||||||
<Compile Include="Message\Response\WebSocket\ConnUser`.cs" />
|
<Compile Include="Message\Response\WebSocket\ConnUser`.cs" />
|
||||||
|
<Compile Include="Message\Response\WMS\WMSResponse.cs" />
|
||||||
<Compile Include="Message\Response\WorkProcess\WorkProcessResp.cs" />
|
<Compile Include="Message\Response\WorkProcess\WorkProcessResp.cs" />
|
||||||
<Compile Include="Model\ApiLog.cs" />
|
<Compile Include="Model\ApiLog.cs" />
|
||||||
<Compile Include="Model\JackOrders.cs" />
|
<Compile Include="Model\JackOrders.cs" />
|
||||||
|
|||||||
@ -2,6 +2,8 @@
|
|||||||
using MyCode.Project.Domain.Message.Request.KingDee.SaveModel;
|
using MyCode.Project.Domain.Message.Request.KingDee.SaveModel;
|
||||||
using MyCode.Project.Domain.Message.Request.WMS;
|
using MyCode.Project.Domain.Message.Request.WMS;
|
||||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||||
|
using MyCode.Project.Domain.Message.Response.KingDee.K3Result;
|
||||||
|
using MyCode.Project.Domain.Message.Response.WMS;
|
||||||
using MyCode.Project.Domain.Model;
|
using MyCode.Project.Domain.Model;
|
||||||
using MyCode.Project.Domain.Repositories;
|
using MyCode.Project.Domain.Repositories;
|
||||||
using MyCode.Project.Infrastructure.Common;
|
using MyCode.Project.Infrastructure.Common;
|
||||||
@ -192,12 +194,17 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
else if (param.FSYNCHRONIZEWMS == "1")
|
else if (param.FSYNCHRONIZEWMS == "1")
|
||||||
{
|
{
|
||||||
//wms
|
//wms
|
||||||
PushWMSSaleOrder(orderHead, param);
|
var result = PushWMSSaleOrder(orderHead, param);
|
||||||
|
if (result.Code == 200)
|
||||||
|
{
|
||||||
|
orderHead.Status = 2;
|
||||||
|
_pushKingDeeOrderRepository.Update(orderHead);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private string PushWMSSaleOrder(PushKingDeeOrder pushKingdeeOrder, YTKJTShopParameter param)
|
private WMSResponse PushWMSSaleOrder(PushKingDeeOrder pushKingdeeOrder, YTKJTShopParameter param)
|
||||||
{
|
{
|
||||||
var itemList = _pushKingDeeOrderItemRepository
|
var itemList = _pushKingDeeOrderItemRepository
|
||||||
.Queryable()
|
.Queryable()
|
||||||
@ -206,48 +213,54 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
// 新建销售订单实例
|
// 新建销售订单实例
|
||||||
var order = new SaleOrder();
|
var order = new SaleOrder();
|
||||||
// 赋值
|
// 赋值
|
||||||
order.CreateTime = pushKingdeeOrder.CreateTime?.ToString("yyyy/MM/dd");
|
order.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
order.OrderTime = pushKingdeeOrder.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
order.OrderNo = pushKingdeeOrder.Id.ToString();
|
order.OrderNo = pushKingdeeOrder.Id.ToString();
|
||||||
order.CompanyId = param.FCOMPANYID; // 公司Id
|
order.CompanyId = param.FCOMPANYID; // 公司Id
|
||||||
order.OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4"; // 订单类型
|
order.OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4"; // 订单类型
|
||||||
order.CustomerId = param.FCANGKUHUOZHU; // 货主ID
|
order.CustomerId = param.FCANGKUHUOZHU; // 货主ID
|
||||||
order.WarehouseId = pushKingdeeOrder?.WarehouseId;
|
order.WarehouseId = pushKingdeeOrder?.WarehouseId;
|
||||||
order.OrderTime = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd");
|
order.OrderTime = pushKingdeeOrder.ConsignTime?.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
order.Channel = "K3Cloud"; // 下发系统
|
order.Channel = "K3Cloud"; // 下发系统
|
||||||
order.ItemType = pushKingdeeOrder.TradeType == 8 ? "退货订单" : "标准销售订单"; // 单据类型
|
order.ItemType = pushKingdeeOrder.TradeType == 8 ? "退货订单" : "标准销售订单"; // 单据类型
|
||||||
order.TotalQty = itemList.Sum(n => n.SellCount);
|
order.TotalQty = itemList.Sum(n => n.SellCount);
|
||||||
order.TotalMount = itemList.Sum(n => n.SellTotal);
|
order.TotalMount = itemList.Sum(n => n.SellTotal);
|
||||||
order.CreateTime = pushKingdeeOrder.CreateTime?.ToString("yyyy/MM/dd");
|
order.ReadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
order.ReadTime = DateTime.Now.ToString("yyyy/MM/dd");
|
order.CustAccount = param.FSALESCUSTOMERS.ToString();
|
||||||
order.Lines = itemList.Select(n => new Line()
|
order.Lines = itemList.Select(n => new Line()
|
||||||
{
|
{
|
||||||
OrderNo = pushKingdeeOrder.Id.ToString(),
|
OrderNo = pushKingdeeOrder.Id.ToString(),
|
||||||
CompanyId = string.Empty, // 公司Id
|
CompanyId = param.FCOMPANYID, // 公司Id
|
||||||
OrderType = pushKingdeeOrder.TradeType == 8 ? "8" : "4", // 订单类型
|
OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4", // 订单类型
|
||||||
LineNo = itemList.IndexOf(n) + 1,
|
LineNo = itemList.IndexOf(n) + 1,
|
||||||
CustomerId = string.Empty, // 货主ID
|
CustomerId = param.FCANGKUHUOZHU, // 货主ID
|
||||||
Sku = n.Barcode,
|
Sku = n.Barcode,
|
||||||
Barcode = n.Barcode,
|
Barcode = n.Barcode,
|
||||||
OrderQty = n.SellCount,
|
OrderQty = n.SellCount,
|
||||||
OrderPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10),
|
OrderPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10),
|
||||||
ItemId = n.GoodsId, // 商品
|
ItemId = n.GoodsId, // 商品
|
||||||
|
LocationId = param.FWAREHOUSECODE,
|
||||||
|
CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||||
|
OrderUnit = "pcs"
|
||||||
}).ToArray();
|
}).ToArray();
|
||||||
|
|
||||||
var uri = "http://172.16.42.45:9000";
|
var uri = "http://172.16.42.45:9000";
|
||||||
|
|
||||||
var requestString = JsonHelper.ToJson(order, false, false, true);
|
var requestString = JsonHelper.ToJson(order, false, true, true);
|
||||||
var client = new RestClient($"{uri}/sale/order/return");
|
var client = new RestClient($"{uri}/sale/order/out");
|
||||||
client.Timeout = -1;
|
client.Timeout = -1;
|
||||||
var request = new RestRequest(Method.POST);
|
var request = new RestRequest(Method.POST);
|
||||||
request.AddHeader("Content-Type", "application/json");
|
request.AddHeader("Content-Type", "application/json");
|
||||||
request.AddParameter("application/json", requestString, ParameterType.RequestBody);
|
request.AddParameter("application/json", requestString, ParameterType.RequestBody);
|
||||||
IRestResponse response = client.Execute(request);
|
IRestResponse response = client.Execute(request);
|
||||||
|
var resultContent = response.Content;
|
||||||
|
var result = JsonHelper.ToObject<WMSResponse>(resultContent);
|
||||||
|
if (result.Code != 200)
|
||||||
var resultString = string.Empty;
|
{
|
||||||
LogHelper.Info(resultString);
|
throw new Exception("推送WMS发生错误:" + resultContent);
|
||||||
return resultString;
|
}
|
||||||
|
LogHelper.Info(resultContent);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -287,6 +300,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
FDate = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd"),
|
FDate = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd"),
|
||||||
FSaleOrgId = new FSaleOrgId()
|
FSaleOrgId = new FSaleOrgId()
|
||||||
{
|
{
|
||||||
|
//FOrgId = param.FCOMPANYID // 销售组织
|
||||||
FOrgId = param.FSaleOrgId.ToString() // 销售组织
|
FOrgId = param.FSaleOrgId.ToString() // 销售组织
|
||||||
},
|
},
|
||||||
FCustId = new FCustomerId()
|
FCustId = new FCustomerId()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user