diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs index 9d8902b3..99ed2e02 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Bases/BaseDomainServices/BaseDomainService.cs @@ -1,3 +1,5 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Logging; using SettleAccount.Bases; using System; using System.Collections.Generic; @@ -39,9 +41,9 @@ namespace Win.Sfs.SettleAccount.Bases.DomainServices INormalEfCoreRepository bomshipRepository, INormalEfCoreRepository priceRepository, INormalEfCoreRepository pricebjRepository - //IExcelImportAppService excelImportService, - //ISnowflakeIdGenerator snowflakeIdGenerator, - //ICommonManager commonManager + //IExcelImportAppService excelImportService, + //ISnowflakeIdGenerator snowflakeIdGenerator, + //ICommonManager commonManager ) { _priceRepository = priceRepository; @@ -52,6 +54,31 @@ namespace Win.Sfs.SettleAccount.Bases.DomainServices } + public static async Task DoWorkBulkWithTransaction(DbContext dbContext, Action p_dowork) + { + using (var transaction = await dbContext.Database.BeginTransactionAsync()) + { + try + { + // 执行批量数据操作 + p_dowork(); + // 提交事务 + await transaction.CommitAsync(); + } + catch (Exception) + { + // 回滚事务 + await transaction.RollbackAsync(); + + + throw; + } + } + } + + + + public async Task> CheckBase(List p_list, BASE_CONF p_config) { @@ -67,7 +94,6 @@ namespace Win.Sfs.SettleAccount.Bases.DomainServices from tm in temp.DefaultIfEmpty() where tm == null select itm; - foreach (var itm1 in query.ToList()) { errorList.Add(itm1); @@ -75,7 +101,6 @@ namespace Win.Sfs.SettleAccount.Bases.DomainServices } if (p_config.IsMaterial == true) { - var materialList = await _materialRepository.ToListAsync(); var query = from itm in partList join itm1 in materialList on itm equals itm1.MaterialCode diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/BBAC_NOT_SA_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/BBAC_NOT_SA_MNG.cs index ed9ca806..4c3f6279 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/BBAC_NOT_SA_MNG.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/BBAC_NOT_SA_MNG.cs @@ -33,7 +33,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers public BBAC_NOT_SA_MNG ( BaseDomainService service, - INormalEfCoreRepository repository, + INormalEfCoreRepository repository, INormalEfCoreRepository detailRepository, INormalEfCoreRepository notRepository ) diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs index a5b13479..08f2292a 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/HBPO_CAN_SA_MNG.cs @@ -52,13 +52,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers { return true; } - return false; - + return false; } - - - - /// ///正向流程 /// @@ -68,7 +63,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers /// public virtual async Task SetForwardState(string p_billNum, SettleBillState state) { - var ls = _repository.Where(p => p.InvGroupNum == p_billNum).ToList(); if (ls == null && ls.Count ==0) { diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs index 2ba51274..edd4ae39 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/INV_MNG.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.SignalR; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.EntityFrameworkCore; using NPOI.SS.Formula.Functions; +using NPOI.Util; using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; using SettleAccount.Bases; using SettleAccount.Domain.BQ; @@ -1509,10 +1510,20 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers _invls = invlist.Select(p => p.InvbillNum).ToList(); } + + + + + + return _invls; } + + + + /// /// hbpojis diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/PUB_NOT_SA_MNG.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/PUB_NOT_SA_MNG.cs index 484a3b52..b65a42f5 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/PUB_NOT_SA_MNG.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Managers/PUB_NOT_SA_MNG.cs @@ -66,7 +66,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Managers var first= p_list.FirstOrDefault(); if (first.BusinessType == EnumBusinessType.ZhiGongJianBBAC || first.BusinessType == EnumBusinessType.ZhiGongJianHBPO - || first.BusinessType == EnumBusinessType.BeiJian + || first.BusinessType == EnumBusinessType.BeiJian || first.BusinessType == EnumBusinessType.YinDuJian ) { var ls = p_list.Select(p => p.GroupNum).Distinct().ToList();