From afc8322533a6f065450c760a5520c50fc51a9b9d Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Fri, 3 Nov 2023 16:30:35 +0800 Subject: [PATCH] =?UTF-8?q?erp=E5=A2=9E=E5=8A=A0=E4=B8=8B=E6=8E=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs | 44 +++++++++++++++++++ .../IService/Public/IErpService.cs | 3 ++ .../Services/Public/ErpService.cs | 18 +++++++- 3 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs diff --git a/src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs new file mode 100644 index 00000000..97eb19bf --- /dev/null +++ b/src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs @@ -0,0 +1,44 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.Erp +{ + /// + /// 下推 + /// + public class ErpPushDto + { + public ErpPushDto() { } + + public ErpPushDto(string formId,string number,List detailIds,string type) + { + this.FormId = formId; + this.Numbers.Add(number); + this.DetailsId = detailIds.ToString(); + this.Type = type; + } + + /// + /// 业务对象表单Id(必录) + /// + [JsonProperty("FormId")] + public string FormId { get; set; } + /// + /// 业务对象表单Id(必录) + /// + [JsonProperty("Numbers")] + public List Numbers { get; set; } + /// + /// 分录内码集合,逗号分隔(分录下推时必录) 注(按分录下推时,单据内码和编码不需要填,否则按整单下推) + /// + [JsonProperty("EntryIds")] + public string DetailsId { get; set; } + /// + /// 目标单据类型内码 + /// + [JsonProperty("TargetBillTypeId")] + public string Type { get; set; } + } +} diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs index ad13396c..1a85fa8f 100644 --- a/src/WMS.Web.Domain/IService/Public/IErpService.cs +++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs @@ -37,5 +37,8 @@ namespace WMS.Web.Domain.IService.Public Task> BillQueryForStock(); //同步数据(保存提交审核) Task Sync(T dto, string formId); + //下推 + Task Push(ErpPushDto dto); + } } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 07a50ed0..b471dd23 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -340,6 +340,22 @@ namespace WMS.Web.Domain.Services.Public return Result.ReFailure("错误", 10002); } } - + /// + /// 下推 + /// + /// + /// + public async Task Push(ErpPushDto dto) + { + var token_result = await this.Init(); + if (!token_result.IsSuccess) + return token_result; + var query = new ErpBillQueryDto(token_result.Data); + query.Data = JsonConvert.SerializeObject(dto); + //下推 + var result_json = await _client.PushAsync(JsonConvert.SerializeObject(query)); + + return Result.ReSuccess(); + } } }