From 5ab9b503086a2593da19a1450694641249afc2f4 Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Thu, 26 Oct 2023 17:48:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=B5=8B=E8=AF=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/appsettings.json | 2 +- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 105 ++++++++++++++++++ .../Dto/Erp/ErpBillQueryParamDto.cs | 2 +- .../Purchase/ErpPurchaseInStockResultDto.cs | 20 ++++ .../Dto/InStock/InStockQueryRequest.cs | 17 +++ .../Dto/InStock/InStockQueryResponse.cs | 73 ++++++++++++ .../Services/Public/ErpService.cs | 52 ++++++--- .../InStockRepositories.cs | 7 ++ 8 files changed, 258 insertions(+), 20 deletions(-) create mode 100644 src/WMS.Web.Core/Dto/InStock/InStockQueryRequest.cs create mode 100644 src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs diff --git a/src/WMS.Web.Api/appsettings.json b/src/WMS.Web.Api/appsettings.json index 1d7b35aa..5d339f50 100644 --- a/src/WMS.Web.Api/appsettings.json +++ b/src/WMS.Web.Api/appsettings.json @@ -39,7 +39,7 @@ "UserName": "mes", "Password": "A1B2C3Dh.", "ErpId": "ce20210909", - "PurchaseInstockFieldKeys": "FBillNo,FUOM" + "PurchaseInstockFieldKeys": "FBillNo,FUOM,FSupplierId.FName,FPurchaseOrgId.FName,FMaterialName,FMaterialId.FNumber" }, "Qiniu": { "AccessKey": "dOsTum4a5qvhPTBbZRPX0pIOU7PZWRX7htKjztms", diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 20913220..b3f3288f 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -205,6 +205,111 @@ 物料规格信号 + + + 供应商名称 + + + + + 组织名称 + + + + + 物料名称 + + + + + 物料编码 + + + + + 入库单查询请求对象 + + + + + 来源单号 + + + + + 入库单查询响应对象 + + + + + 单据ID + + + + + 单据编号 + + + + + 入库类型 + + + + + 来源单号 + + + + + 供应商 + + + + + 组织 + + + + + 物料名称 + + + + + 物料编码 + + + + + 物料规格型号 + + + + + 仓库 + + + + + 数量 + + + + + 创建人 + + + + + 创建时间(入库时间) + + + + + 同步成功或者失败 + + 授权token -- 给前端用的验证token diff --git a/src/WMS.Web.Core/Dto/Erp/ErpBillQueryParamDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpBillQueryParamDto.cs index 86ab3e98..4d28234f 100644 --- a/src/WMS.Web.Core/Dto/Erp/ErpBillQueryParamDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/ErpBillQueryParamDto.cs @@ -45,7 +45,7 @@ namespace WMS.Web.Core.Dto.Erp /// /// 最大行数,整型,不能超过10000(非必录) /// - public int Limit { get; set; } = 10; + public int Limit { get; set; } = 2; /// /// 表单所在的子系统内码,字符串类型(非必录) diff --git a/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs b/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs index 6a1865d7..af50325f 100644 --- a/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs +++ b/src/WMS.Web.Core/Dto/Erp/Purchase/ErpPurchaseInStockResultDto.cs @@ -20,5 +20,25 @@ namespace WMS.Web.Core.Dto.Erp.Purchase /// 物料规格信号 /// public string Specifications { get; set; } + + /// + /// 供应商名称 + /// + public string SupplierName { get; set; } + + /// + /// 组织名称 + /// + public string OrgName { get; set; } + + /// + /// 物料名称 + /// + public string MaterialName { get; set; } + + /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } } } diff --git a/src/WMS.Web.Core/Dto/InStock/InStockQueryRequest.cs b/src/WMS.Web.Core/Dto/InStock/InStockQueryRequest.cs new file mode 100644 index 00000000..8964c923 --- /dev/null +++ b/src/WMS.Web.Core/Dto/InStock/InStockQueryRequest.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto +{ + /// + /// 入库单查询请求对象 + /// + public class InStockQueryRequest: PaginationBaseRequestDto + { + /// + /// 来源单号 + /// + public string SourceBillNo { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs b/src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs new file mode 100644 index 00000000..67b724bc --- /dev/null +++ b/src/WMS.Web.Core/Dto/InStock/InStockQueryResponse.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto +{ + /// + /// 入库单查询响应对象 + /// + public class InStockQueryResponse + { + /// + /// 单据ID + /// + public int Id { get; set; } + + /// + /// 单据编号 + /// + public string BillNo { get; set; } + + /// + /// 入库类型 + /// + public string Type { get; set; } + + /// + /// 来源单号 + /// + public string SourceBillNo { get; set; } + /// + /// 供应商 + /// + public string Supplier { get; set; } + /// + /// 组织 + /// + public string Org { get; set; } + /// + /// 物料名称 + /// + public string MaterialName { get; set; } + /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } + /// + /// 物料规格型号 + /// + public string Specifications { get; set; } + /// + /// 仓库 + /// + public string Stock { get; set; } + /// + /// 数量 + /// + public decimal Qty { get; set; } + + /// + /// 创建人 + /// + public string Creator { get; set; } + /// + /// 创建时间(入库时间) + /// + public DateTime CreateTime { get; set; } + /// + /// 同步成功或者失败 + /// + public bool SuccessSync { get; set; } + } +} diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index 381f38c5..441fa017 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -64,27 +64,43 @@ namespace WMS.Web.Domain.Services.Public /// public async Task> BillQueryForPurchaseInStock() { - BasicHttpBinding binding = new BasicHttpBinding(); - EndpointAddress address = new EndpointAddress(this._erpOptions.EndpointAddress); - ERPGWSoapClient client = new ERPGWSoapClient(binding, address); - var token_result = await client.ValidateSystemAsync(this._erpOptions.UserName, this._erpOptions.Password, this._erpOptions.ErpId, ""); - var query = new ErpBillQueryDto(token_result.AccessToken); - var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString()); - query.Data = JsonConvert.SerializeObject(param); - var json = JsonConvert.SerializeObject(query); - var result_json = await client.ExecuteBillQueryAsync(json); - var result = JsonConvert.DeserializeObject>>(result_json); - - var list = new List(); - foreach (var item in result) + try { - var lis = new ErpPurchaseInStockResultDto(); - lis.BillNo = item[0]; - lis.Specifications = item[1]; - list.Add(lis); + BasicHttpBinding binding = new BasicHttpBinding(); + EndpointAddress address = new EndpointAddress(this._erpOptions.EndpointAddress); + ERPGWSoapClient client = new ERPGWSoapClient(binding, address); + var token_result = await client.ValidateSystemAsync(this._erpOptions.UserName, this._erpOptions.Password, this._erpOptions.ErpId, ""); + var query = new ErpBillQueryDto(token_result.AccessToken); + var param = new ErpBillQueryParamDto(FormIdParam.STK_InStock.ToString()); + param.FieldKeys = this._erpOptions.PurchaseInstockFieldKeys; + query.Data = JsonConvert.SerializeObject(param); + var json = JsonConvert.SerializeObject(query); + + var result_json = await client.ExecuteBillQueryAsync(json); + var result = JsonConvert.DeserializeObject>>(result_json); + + var list = new List(); + foreach (var item in result) + { + var lis = new ErpPurchaseInStockResultDto(); + lis.BillNo = item[0]; + lis.Specifications = item[1]; + lis.SupplierName = item[2]; + lis.OrgName = item[3]; + lis.MaterialName = item[4]; + lis.MaterialNumber = item[5]; + list.Add(lis); + + } + return ResultList.ReSuccess(list); } - return ResultList.ReSuccess(list); + catch (Exception) + { + + return ResultList.ReFailure("错误",10001); + } + } } } diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs index 893db4e6..6d3ce14e 100644 --- a/src/WMS.Web.Repositories/InStockRepositories.cs +++ b/src/WMS.Web.Repositories/InStockRepositories.cs @@ -2,6 +2,8 @@ using System; using System.Collections.Generic; using System.Text; +using System.Threading.Tasks; +using WMS.Web.Core.Dto; using WMS.Web.Domain.Infrastructure; using WMS.Web.Repositories.Configuration; @@ -23,5 +25,10 @@ namespace WMS.Web.Repositories _mapper = mapper; _serviceProvider = serviceProvider; } + + public async Task GetPagedListAsync(InStockQueryRequest dto) + { + return null; + } } }