From e144e2e824907a5f131c9355d25fbd7067296b2c Mon Sep 17 00:00:00 2001 From: tongfei <244188119@qq.com> Date: Thu, 2 Nov 2023 15:03:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=8E=B7=E5=8F=96=E9=87=91?= =?UTF-8?q?=E8=9D=B6=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/WMS.Web.Api/appsettings.json | 1 + src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 74 ++++++++----------- src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 29 ++++++++ src/WMS.Web.Domain/Options/AppOptions.cs | 5 ++ .../Services/Public/ErpService.cs | 28 ++++++- src/WMS.Web.Domain/Values/ResultCodes.cs | 1 + 6 files changed, 95 insertions(+), 43 deletions(-) diff --git a/src/WMS.Web.Api/appsettings.json b/src/WMS.Web.Api/appsettings.json index 8ecb789c..1420980f 100644 --- a/src/WMS.Web.Api/appsettings.json +++ b/src/WMS.Web.Api/appsettings.json @@ -23,6 +23,7 @@ "RedisIpRateLimitingConnectionString": "47.110.156.96:16379,password=123456,DefaultDatabase=2", "SingleBaseUrl": "http://47.110.156.96:8019/api", "DBType": "Mysql", + "CompanyId": 1, "AllowCache": false, "RedisDirectory": "Test" }, diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 8ab6f23e..601c6eee 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -525,6 +525,36 @@ 表单所在的子系统内码,字符串类型(非必录) + + + Erp同步数据时单据头 + + + + + 业务对象表单Id(必录) + + + + + 单据体 + + + + + erp 提交和审核 + + + + + 业务对象表单Id(必录) + + + + + 单据Id + + 金蝶组织-基本信息 @@ -595,31 +625,6 @@ 创建时间 - - - 仓库信息 - - - - - id - - - - - 编码 - - - - - 名字 - - - - - 业务组织(使用组织)编码 - - 出厂价格 @@ -650,24 +655,9 @@ 名字 - + - 业务组织(使用组织)编码 - - - - - Erp同步数据时单据头 - - - - - 校验Json数据包是否重复传入,一旦重复传入,接口调用失败,默认false(非必录) - - - - - 单据体 + 业务组织(使用组织) diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 998e98dd..034d885c 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -1654,6 +1654,11 @@ 是否允许缓存 + + + 公司ID + + erp相关配置文件 @@ -2025,6 +2030,20 @@ + + + 盘盈 + + + + + + + 盘亏 + + + + Get方法 @@ -2453,6 +2472,16 @@ 仓库 + + + 盘盈单 + + + + + 盘亏单 + + 入库状态 diff --git a/src/WMS.Web.Domain/Options/AppOptions.cs b/src/WMS.Web.Domain/Options/AppOptions.cs index e0553f91..4eea833a 100644 --- a/src/WMS.Web.Domain/Options/AppOptions.cs +++ b/src/WMS.Web.Domain/Options/AppOptions.cs @@ -35,5 +35,10 @@ namespace WMS.Web.Domain.Options /// 是否允许缓存 /// public bool AllowCache { get; set; } + + /// + /// 公司ID + /// + public int CompanyId { get; set; } } } diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs index ba1bd32c..397eee6a 100644 --- a/src/WMS.Web.Domain/Services/Public/ErpService.cs +++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs @@ -32,6 +32,7 @@ namespace WMS.Web.Domain.Services.Public public class ErpService : IErpService { private IMapper _mapper; + private AppOptions _appOptions; private ErpOptions _erpOptions; private ILogger _logger; private ERPGWSoapClient _client; @@ -40,17 +41,21 @@ namespace WMS.Web.Domain.Services.Public private readonly ISingleDataService _singleDataService; public readonly ITransactionRepositories _transactionRepositories; private readonly ILoginRepositories _loginRepositories; + private readonly IBasicsRepositories _basicsRepositories; public ErpService( IMapper mapper, IOptions erpOptions, + IOptions appOptions, ILogger logger, IMemoryCache memoryCache, IInStockTaskRepositories inStockTaskRepositories, ITransactionRepositories transactionRepositories, ISingleDataService singleDataService, - ILoginRepositories loginRepositories) + ILoginRepositories loginRepositories, IBasicsRepositories basicsRepositories) { + this._basicsRepositories = basicsRepositories; this._erpOptions = erpOptions?.Value; + this._appOptions = appOptions?.Value; this._mapper = mapper; this._logger = logger; this._memoryCache = memoryCache; @@ -90,6 +95,13 @@ namespace WMS.Web.Domain.Services.Public { try { + + var stocks= await _basicsRepositories.GetUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), "", _appOptions.CompanyId); + if(stocks.Count==0) + return ResultList.ReFailure(ResultCodes.ErpStockNoData); + var stocks_codes = stocks.Select(x => x.Code).ToList(); + + //1.先登录金蝶-拿到token var token_result = await this.Init(); if (!token_result.IsSuccess) @@ -110,6 +122,20 @@ namespace WMS.Web.Domain.Services.Public //4.明细关闭状态:正常 //5.仓库:wms系统的仓库值---现在这个没有加,因为还单点没有和金蝶同步 param.FilterString = "FCreateDate>='" + beginTime + "' and FCreateDate<='" + endTime + "' and FDocumentStatus='C' and (FBillTypeID='83d822ca3e374b4ab01e5dd46a0062bd' or FBillTypeID='6d01d059713d42a28bb976c90a121142') and FMRPCloseStatus='A'"; + param.FilterString = param.FilterString + " and FSOSTOCKID.FNumber in ("; + + var str = ""; + int index = 0; + foreach (var scode in stocks_codes) + { + index++; + if (index == stocks_codes.Count) + str = str + $"'{scode}'"; + else + str = str + $"'{scode}'" + ","; + } + param.FilterString = param.FilterString +str+ ")"; + query.Data = JsonConvert.SerializeObject(param); var json = JsonConvert.SerializeObject(query); diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index b96e0bdf..e8896b1b 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -29,5 +29,6 @@ namespace WMS.Web.Domain.Values public static ValueTuple BoxMateriaNoData = (800010, "箱对应物料信息不存在"); public static ValueTuple ErpStockNoData = (900000, "Erp仓库信息不完整"); + } }