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仓库信息不完整");
+
}
}