From a8edf2afcc22411d68f8d001d39b7694cb93171f Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Thu, 21 Mar 2024 10:39:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=89=A7=E8=A1=8C=E9=87=91?= =?UTF-8?q?=E8=9D=B6=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/OutStockTaskService.cs | 15 ++++++++++++++- src/WMS.Web.Domain/Values/ResultCodes.cs | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/WMS.Web.Domain/Services/OutStockTaskService.cs b/src/WMS.Web.Domain/Services/OutStockTaskService.cs index e9c7129a..53bf5dbd 100644 --- a/src/WMS.Web.Domain/Services/OutStockTaskService.cs +++ b/src/WMS.Web.Domain/Services/OutStockTaskService.cs @@ -14,6 +14,7 @@ using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; +using WMS.Web.Domain.Services.Public; using WMS.Web.Domain.Values; namespace WMS.Web.Domain.Services @@ -30,9 +31,11 @@ namespace WMS.Web.Domain.Services private readonly IOutStockRepositories _outStockRepositories; private readonly IOutStockTaskRepositories _outStockTaskRepositories; private readonly IErpOpsSyncDateRepositories _erpOpsSyncDateRepositories; + private readonly RedisClientService _redisClientService; public OutStockTaskService(IMapper mapper, IErpService erpService, ILoginService loginService, IBasicsRepositories transactionRepositories, - IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IErpOpsSyncDateRepositories erpOpsSyncDateRepositories) + IOutStockRepositories outStockRepositories, IOutStockTaskRepositories outStockTaskRepositories, IErpOpsSyncDateRepositories erpOpsSyncDateRepositories, + RedisClientService redisClientService) { _mapper = mapper; _erpService = erpService; @@ -41,6 +44,7 @@ namespace WMS.Web.Domain.Services _outStockRepositories = outStockRepositories; _outStockTaskRepositories = outStockTaskRepositories; _erpOpsSyncDateRepositories = erpOpsSyncDateRepositories; + _redisClientService = redisClientService; } /// @@ -332,6 +336,9 @@ namespace WMS.Web.Domain.Services /// public async Task Sync(List billNos = null, DateTime? begin = null) { + var info = _redisClientService.GetStringKey($"wms_outstock_sync"); + if (info == true) return Result.ReFailure(ResultCodes.ErpSyns); + _redisClientService.SetStringKey($"wms_outstock_sync", true, TimeSpan.FromMinutes(5)); //1.事务 IDbContextTransaction _transaction = _transactionRepositories.GetTransaction(); bool isRollback = false; @@ -359,11 +366,14 @@ namespace WMS.Web.Domain.Services //isSuccess = await _erpOpsSyncDateRepositories.Edit(ErpOpsSyncType.OutStock, false); //if (!isSuccess) isRollback = true; + //4.提交事务 isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); + _redisClientService.SetStringKey($"wms_outstock_sync", false, TimeSpan.FromMinutes(5)); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); + return Result.ReSuccess(); } @@ -414,10 +424,13 @@ namespace WMS.Web.Domain.Services if (!result.IsSuccess) isRollback = true; } + //4.提交事务 isSuccess = _transactionRepositories.CommitTransaction(isRollback, _transaction); + _redisClientService.SetStringKey($"wms_outstock_sync", false, TimeSpan.FromMinutes(5)); if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); + return Result.ReSuccess(); } diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index 9a5b8fb9..0c68b255 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -28,7 +28,7 @@ namespace WMS.Web.Domain.Values /// 没有菜单权限,无法登录 /// public static ValueTuple NoRoot = (40005, "没有菜单权限,无法登录"); - + public static ValueTuple ErpSyns = (40006, "正在同步金蝶数据,请稍候再试!"); //出库任务单 public static ValueTuple MergeStatusError = (70000, "请选择出库状态为”待出库”且出库类型为”销售出库”发货组织和收货客户以及发货仓库一致的数据"); public static ValueTuple OutStockQtyError = (70001, "可出库数量不足");