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();
+ }
}
}