From 0ba210b62ab4ee89f1b78e3c21fe721189554bb8 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 20 Dec 2023 16:58:22 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E7=9B=98=E7=82=B9=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8C=E6=AD=A5=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 +++++
.../Dto/TakeStock/TakeStockQueryRequest.cs | 4 ++++
src/WMS.Web.Repositories/TakeStockRepositories.cs | 11 +++++++++++
3 files changed, 20 insertions(+)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 076fcf85..f69e1fe0 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -4817,6 +4817,11 @@
单据编号
+
+
+ 同步成功或者失败 null 就是未同步
+
+
盘点日期-开始
diff --git a/src/WMS.Web.Core/Dto/TakeStock/TakeStockQueryRequest.cs b/src/WMS.Web.Core/Dto/TakeStock/TakeStockQueryRequest.cs
index 5626eea9..973d2371 100644
--- a/src/WMS.Web.Core/Dto/TakeStock/TakeStockQueryRequest.cs
+++ b/src/WMS.Web.Core/Dto/TakeStock/TakeStockQueryRequest.cs
@@ -22,6 +22,10 @@ namespace WMS.Web.Core.Dto.TakeStock
///
public string BillNo { get; set; }
///
+ /// 同步成功或者失败 null 就是未同步
+ ///
+ public int? SuccessSync { get; set; }
+ ///
/// 盘点日期-开始
///
public DateTime? DateBeginDate { get; set; } = null;
diff --git a/src/WMS.Web.Repositories/TakeStockRepositories.cs b/src/WMS.Web.Repositories/TakeStockRepositories.cs
index 8ed5beac..d1478da0 100644
--- a/src/WMS.Web.Repositories/TakeStockRepositories.cs
+++ b/src/WMS.Web.Repositories/TakeStockRepositories.cs
@@ -188,6 +188,17 @@ namespace WMS.Web.Repositories
var split = dto.StockCode.Split("_$");
query = query.Where(w => w.detail.StockCode == split[0] && w.detail.OrgCode == split[1]);
}
+ if (dto.SuccessSync != null)
+ {
+ if ((SyncStatus)dto.SuccessSync == SyncStatus.Success)
+ query = query.Where(w => w.order.SuccessSync == SyncStatus.Success);
+ else if ((SyncStatus)dto.SuccessSync == SyncStatus.SyncIng)
+ query = query.Where(w => w.order.SuccessSync == SyncStatus.SyncIng);
+ else if ((SyncStatus)dto.SuccessSync == SyncStatus.Fail)
+ query = query.Where(w => w.order.SuccessSync == SyncStatus.Fail
+ || w.order.SuccessSync == SyncStatus.SubmitFail
+ || w.order.SuccessSync == SyncStatus.CheckFail);
+ }
if (dto.DateBeginDate != null)
query = query.Where(w => w.order.Date >= dto.DateBeginDate);
if (dto.DateEndDate != null)
From c71b06ca3a9bc36eda23d5efcae50bba3b729a8c Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 20 Dec 2023 17:20:39 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/Controllers/TestController.cs | 9 +++---
.../Services/OutStockService.cs | 22 +++++++++------
.../Services/TakeStockService.cs | 28 +++++++++----------
3 files changed, 33 insertions(+), 26 deletions(-)
diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs
index 5f34ac44..c7635af2 100644
--- a/src/WMS.Web.Api/Controllers/TestController.cs
+++ b/src/WMS.Web.Api/Controllers/TestController.cs
@@ -8,6 +8,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
+using System.Threading;
using System.Threading.Tasks;
using WMS.Web.Core.Dto;
using WMS.Web.Core.Dto.Erp.Customer;
@@ -56,10 +57,10 @@ namespace WMS.Web.Api.Controllers
[Route("hj")]
public async Task TestHJ()
{
- // OperateRequest dto = new OperateRequest();
- // dto.Ids.Add(71);
- // var result = await this._erpService.BillQueryForSubStock();
- //var ss= result.Data.Where(w => w.Name.Equals("Fares")).ToList();
+ // OperateRequest dto = new OperateRequest();
+ // dto.Ids.Add(71);
+ // var result = await this._erpService.BillQueryForSubStock();
+ //var ss= result.Data.Where(w => w.Name.Equals("Fares")).ToList();
//await _outStockService.Sync(dto, null);
//var b = await _takeStockService.Sync(dto);
// List list = null;
diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs
index d1625507..1671d69e 100644
--- a/src/WMS.Web.Domain/Services/OutStockService.cs
+++ b/src/WMS.Web.Domain/Services/OutStockService.cs
@@ -197,10 +197,7 @@ namespace WMS.Web.Domain.Services
if (entity.Type == OutStockType.Sal)
{
- Task.Run(async () =>
- {
- await SalOutStock(entity, loginInfo);
- }).GetAwaiter().GetResult();
+ await Sync(entity, loginInfo);
}
return Result.ReSuccess();
@@ -215,13 +212,22 @@ namespace WMS.Web.Domain.Services
var list = await _outStockRepositories.GetEntityList(dto.Ids);
foreach (var entity in list)
{
- Task.Run(async () =>
- {
- await SalOutStock(entity, loginInfo);
- }).GetAwaiter().GetResult();
+ await Sync(entity, loginInfo);
}
return Result.ReSuccess();
}
+
+ private Task Sync(OutStock entity, LoginInDto loginInfo)
+ {
+ Task.Run(async () =>
+ {
+ var res = await SalOutStock(entity, loginInfo);
+ if (!res.IsSuccess)
+ _logger.LogError($"出库单同步失败:{res.Message}");
+ });
+ return Task.CompletedTask;
+ }
+
///
/// 同步金蝶销售出库
///
diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs
index 3fda250d..5ceb2101 100644
--- a/src/WMS.Web.Domain/Services/TakeStockService.cs
+++ b/src/WMS.Web.Domain/Services/TakeStockService.cs
@@ -137,12 +137,7 @@ namespace WMS.Web.Domain.Services
//同步金蝶
foreach (var entity in list)
{
- Task.Run(async () =>
- {
- var res = await Loss_Profit(entity);
- if (!res.IsSuccess)
- _logger.LogError($"盘点同步失败:{res.Message}");
- }).GetAwaiter().GetResult();
+ await Sync(entity);
}
return Result.ReSuccess();
@@ -155,20 +150,25 @@ namespace WMS.Web.Domain.Services
///
public async Task Sync(OperateRequest dto)
{
- var list = await _takeStockRepositories.GetEntityList(dto.Ids);
+ var list = _takeStockRepositories.GetEntityList(dto.Ids).GetAwaiter().GetResult();
list = list.Where(w => w.SuccessSync == SyncStatus.Fail || w.SuccessSync == SyncStatus.SyncIng).ToList();
foreach (var entity in list)
{
- Task.Run(async () =>
- {
- var res = await Loss_Profit(entity);
- if (!res.IsSuccess)
- _logger.LogError($"盘点同步失败:{res.Message}");
- }).GetAwaiter().GetResult();
+ await Sync(entity);
}
-
return Result.ReSuccess();
}
+
+ private Task Sync(TakeStock entity)
+ {
+ Task.Run(async () =>
+ {
+ var res = await Loss_Profit(entity);
+ if (!res.IsSuccess)
+ _logger.LogError($"盘点同步失败:{res.Message}");
+ });
+ return Task.CompletedTask;
+ }
///
/// 盘盈盘亏同步金蝶
///
From 93c533d86d4709b327d044297fa639ae4e889797 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 20 Dec 2023 17:31:36 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Services/OutStockService.cs | 28 ++++++++-----------
.../Services/TakeStockService.cs | 28 ++++++++-----------
2 files changed, 23 insertions(+), 33 deletions(-)
diff --git a/src/WMS.Web.Domain/Services/OutStockService.cs b/src/WMS.Web.Domain/Services/OutStockService.cs
index 1671d69e..9bdbf55d 100644
--- a/src/WMS.Web.Domain/Services/OutStockService.cs
+++ b/src/WMS.Web.Domain/Services/OutStockService.cs
@@ -197,7 +197,9 @@ namespace WMS.Web.Domain.Services
if (entity.Type == OutStockType.Sal)
{
- await Sync(entity, loginInfo);
+ OperateRequest oRequest = new OperateRequest();
+ oRequest.Ids.Add(entity.Id);
+ await Sync(oRequest, loginInfo);
}
return Result.ReSuccess();
@@ -207,25 +209,19 @@ namespace WMS.Web.Domain.Services
///
///
///
- public async Task Sync(OperateRequest dto, LoginInDto loginInfo)
+ public Task Sync(OperateRequest dto, LoginInDto loginInfo)
{
- var list = await _outStockRepositories.GetEntityList(dto.Ids);
+ var list = _outStockRepositories.GetEntityList(dto.Ids).GetAwaiter().GetResult();
foreach (var entity in list)
{
- await Sync(entity, loginInfo);
+ Task.Run(async () =>
+ {
+ var res = await SalOutStock(entity, loginInfo);
+ if (!res.IsSuccess)
+ _logger.LogError($"出库单同步失败:{res.Message}");
+ });
}
- return Result.ReSuccess();
- }
-
- private Task Sync(OutStock entity, LoginInDto loginInfo)
- {
- Task.Run(async () =>
- {
- var res = await SalOutStock(entity, loginInfo);
- if (!res.IsSuccess)
- _logger.LogError($"出库单同步失败:{res.Message}");
- });
- return Task.CompletedTask;
+ return Task.FromResult(Result.ReSuccess());
}
///
diff --git a/src/WMS.Web.Domain/Services/TakeStockService.cs b/src/WMS.Web.Domain/Services/TakeStockService.cs
index 5ceb2101..aa42fb88 100644
--- a/src/WMS.Web.Domain/Services/TakeStockService.cs
+++ b/src/WMS.Web.Domain/Services/TakeStockService.cs
@@ -135,10 +135,9 @@ namespace WMS.Web.Domain.Services
return Result.ReFailure(ResultCodes.DateWriteError);
//同步金蝶
- foreach (var entity in list)
- {
- await Sync(entity);
- }
+ OperateRequest oRequest = new OperateRequest();
+ oRequest.Ids = list.Select(s => s.Id).ToList();
+ await Sync(oRequest);
return Result.ReSuccess();
}
@@ -148,27 +147,22 @@ namespace WMS.Web.Domain.Services
///
///
///
- public async Task Sync(OperateRequest dto)
+ public Task Sync(OperateRequest dto)
{
var list = _takeStockRepositories.GetEntityList(dto.Ids).GetAwaiter().GetResult();
list = list.Where(w => w.SuccessSync == SyncStatus.Fail || w.SuccessSync == SyncStatus.SyncIng).ToList();
foreach (var entity in list)
{
- await Sync(entity);
+ Task.Run(async () =>
+ {
+ var res = await Loss_Profit(entity);
+ if (!res.IsSuccess)
+ _logger.LogError($"盘点同步失败:{res.Message}");
+ });
}
- return Result.ReSuccess();
+ return Task.FromResult(Result.ReSuccess());
}
- private Task Sync(TakeStock entity)
- {
- Task.Run(async () =>
- {
- var res = await Loss_Profit(entity);
- if (!res.IsSuccess)
- _logger.LogError($"盘点同步失败:{res.Message}");
- });
- return Task.CompletedTask;
- }
///
/// 盘盈盘亏同步金蝶
///
From 4df9e97289b5f5b58c58d96513f81c9699d7dfd2 Mon Sep 17 00:00:00 2001
From: 18942506660 <18942506660@A18942506660>
Date: Wed, 20 Dec 2023 17:52:14 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/SysConfigController.cs | 2 +-
src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 35 ++++++++++++++++++
src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 16 ++++++++
.../Dto/Erp/Stock/ErpSubStockDto.cs | 37 +++++++++++++++++++
.../Public/IErpBasicDataExtendService.cs | 8 ++++
.../IService/Public/IErpService.cs | 2 +-
.../Public/ErpBasicDataExtendService.cs | 15 +++++++-
.../Services/Public/ErpService.cs | 19 +++++-----
.../TakeStockRepositories.cs | 2 +-
9 files changed, 122 insertions(+), 14 deletions(-)
create mode 100644 src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs
diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs
index ec0b0af1..f358b3db 100644
--- a/src/WMS.Web.Api/Controllers/SysConfigController.cs
+++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs
@@ -227,7 +227,7 @@ namespace WMS.Web.Api.Controllers
return Result>.ReSuccess(list);
var subs = await _erpService.BillQueryForSubStock();
- var res = subs.Data.Where(w => w.OrgCode.Equals(orgCode));
+ var res = subs.Data.Where(w => w.OrgCode.Equals(orgCode)&&w.StockCode.Equals(number));
if (!string.IsNullOrEmpty(name))
res = res.Where(w => w.Name.Contains(name));
list = res.Select(s => new UcStockResponse()
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index f69e1fe0..35dd46cb 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -1151,6 +1151,41 @@
业务组织(使用组织)编码
+
+
+ 子仓库信息
+
+
+
+
+ id
+
+
+
+
+ 编码
+
+
+
+
+ 名字
+
+
+
+
+ 业务组织(使用组织)
+
+
+
+
+ 业务组织(使用组织)编码
+
+
+
+
+ 仓库编码
+
+
erp供应商基础数据
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index c00ebab3..af2e95bf 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -2886,6 +2886,14 @@
+
+
+ 获取子仓库名称
+
+
+
+
+
查单据类型的值
@@ -4303,6 +4311,14 @@
+
+
+ 子仓库
+
+
+
+
+
erp数据交互服务
diff --git a/src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs b/src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs
new file mode 100644
index 00000000..d7f17344
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/Erp/Stock/ErpSubStockDto.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto.Erp
+{
+ ///
+ /// 子仓库信息
+ ///
+ public class Erp_SubStockDto
+ {
+ ///
+ /// id
+ ///
+ public int Id { get; set; }
+ ///
+ /// 编码
+ ///
+ public string Code { get; set; }
+ ///
+ /// 名字
+ ///
+ public string Name { get; set; }
+ ///
+ /// 业务组织(使用组织)
+ ///
+ public int OrgId { get; set; }
+ ///
+ /// 业务组织(使用组织)编码
+ ///
+ public string OrgCode { get; set; }
+ ///
+ /// 仓库编码
+ ///
+ public string StockCode { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs
index 418852f7..24cf4666 100644
--- a/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs
+++ b/src/WMS.Web.Domain/IService/Public/IErpBasicDataExtendService.cs
@@ -118,5 +118,13 @@ namespace WMS.Web.Domain.IService.Public
///
///
string GetStockCode(List erpStocks, int stockId);
+
+ ///
+ /// 获取子仓库名称
+ ///
+ ///
+ ///
+ ///
+ string GetSubStockName(List erpStocks, string code);
}
}
diff --git a/src/WMS.Web.Domain/IService/Public/IErpService.cs b/src/WMS.Web.Domain/IService/Public/IErpService.cs
index b392f1eb..5b2bc28c 100644
--- a/src/WMS.Web.Domain/IService/Public/IErpService.cs
+++ b/src/WMS.Web.Domain/IService/Public/IErpService.cs
@@ -142,7 +142,7 @@ namespace WMS.Web.Domain.IService.Public
/// 获取仓位信息信息 根据仓库编码
///
///
- Task> BillQueryForSubStock();
+ Task> BillQueryForSubStock();
//同步数据(保存提交审核)
Task> Save(T dto, string formId);
//提交
diff --git a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs
index ba241597..23002527 100644
--- a/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs
+++ b/src/WMS.Web.Domain/Services/Public/ErpBasicDataExtendService.cs
@@ -267,7 +267,18 @@ namespace WMS.Web.Domain.Services.Public
var stock = erpStocks.Where(x => x.Id == stockId).FirstOrDefault();
return stock == null ? "" : stock.Code;
}
-
-
+ ///
+ /// 子仓库
+ ///
+ ///
+ ///
+ ///
+ public string GetSubStockName(List erpStocks, string code)
+ {
+ if (erpStocks == null || erpStocks.Count == 0)
+ return "";
+ var stock = erpStocks.Where(x => x.Code == code).FirstOrDefault();
+ return stock == null ? "" : stock.Name;
+ }
}
}
diff --git a/src/WMS.Web.Domain/Services/Public/ErpService.cs b/src/WMS.Web.Domain/Services/Public/ErpService.cs
index baac7eb6..3c4f1a90 100644
--- a/src/WMS.Web.Domain/Services/Public/ErpService.cs
+++ b/src/WMS.Web.Domain/Services/Public/ErpService.cs
@@ -1240,21 +1240,21 @@ namespace WMS.Web.Domain.Services.Public
///
///
///
- public async Task> BillQueryForSubStock()
+ public async Task> BillQueryForSubStock()
{
try
{
//1.获取缓存中的仓库数据;
var cache_key = "erp_substock_list";
- var stocks = _memoryCache.Get>(cache_key);
+ var stocks = _memoryCache.Get>(cache_key);
if (stocks == null || stocks.Count == 0)
{
var token_result = await this.Init();
if (!token_result.IsSuccess)
- return ResultList.ReFailure(token_result);
+ return ResultList.ReFailure(token_result);
var query = new ErpBillQueryDto(token_result.Data);
var param = new ErpBillQueryParamDto(FormIdParam.BD_STOCK.ToString());
- param.FieldKeys = "FStockFlexDetail_FDetailID,FFlexEntryName,FFlexEntryId.FNumber,FUseOrgId.FNumber";
+ param.FieldKeys = "FStockFlexDetail_FDetailID,FFlexEntryName,FFlexEntryId.FNumber,FUseOrgId.FNumber,FNumber";
param.Limit = 100000;
param.FilterString = $"FNumber='HD' or FNumber='GD'";//FNumber='C'
query.Data = JsonConvert.SerializeObject(param);
@@ -1263,31 +1263,32 @@ namespace WMS.Web.Domain.Services.Public
var result_json = await _client.ExecuteBillQueryAsync(json);
var result = JsonConvert.DeserializeObject>>(result_json);
- var list = new List();
+ var list = new List();
foreach (var item in result)
{
- var lis = new ErpStockDto();
+ var lis = new Erp_SubStockDto();
if (item[0] == "0") continue;
lis.Id = int.Parse(item[0]);
lis.Name = item[1];
lis.Code = item[2];
lis.OrgCode = item[3];
+ lis.StockCode = item[4];
list.Add(lis);
}
//5.供应商集合进行缓存 只有查询全部的时候才缓存
_memoryCache.Set(cache_key, list, new MemoryCacheEntryOptions().SetAbsoluteExpiration(TimeSpan.FromHours(12)));
_logger.LogInformation($"子仓库拉取-总条数:{list.Count}");
- return ResultList.ReSuccess(list);
+ return ResultList.ReSuccess(list);
}
else
{
- return ResultList.ReSuccess(stocks);
+ return ResultList.ReSuccess(stocks);
}
}
catch (Exception)
{
- return ResultList.ReFailure("错误", 10002);
+ return ResultList.ReFailure("错误", 10002);
}
}
diff --git a/src/WMS.Web.Repositories/TakeStockRepositories.cs b/src/WMS.Web.Repositories/TakeStockRepositories.cs
index d1478da0..78aae65c 100644
--- a/src/WMS.Web.Repositories/TakeStockRepositories.cs
+++ b/src/WMS.Web.Repositories/TakeStockRepositories.cs
@@ -213,7 +213,7 @@ namespace WMS.Web.Repositories
Unit = _erpBasicDataExtendService.GetMaterialUnitName(materials, s.detail.MaterialId),
Stock = _singleDataService.GetSingleData(SingleAction.StocksJoinOrgCode, companyId, s.detail.StockCode + s.detail.OrgCode),
SubStock = _singleDataService.GetSingleData(SingleAction.SubStocks, companyId, s.detail.SubStockId),
- Erp_SubStock= _erpBasicDataExtendService.GetStockName(subStocks, s.detail.Erp_SubStockCode),
+ Erp_SubStock= _erpBasicDataExtendService.GetSubStockName(subStocks, s.detail.Erp_SubStockCode),
MaterialName = _erpBasicDataExtendService.GetMaterialName(materials, s.detail.MaterialId),
MaterialNumber = _erpBasicDataExtendService.GetMaterialNumber(materials, s.detail.MaterialId),
Specifications = _erpBasicDataExtendService.GetMaterialSpecifications(materials, s.detail.MaterialId),