diff --git a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/EdiReceive/ImportRecordAppService.cs b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/EdiReceive/ImportRecordAppService.cs index 12e9e0c..1af9f3f 100644 --- a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/EdiReceive/ImportRecordAppService.cs +++ b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/EdiReceive/ImportRecordAppService.cs @@ -78,6 +78,9 @@ namespace WY.NewJit.EdiReceive } } + private readonly IUnitOfWorkManager _unitOfWorkManager; + + #endregion @@ -91,7 +94,8 @@ namespace WY.NewJit.EdiReceive IBlobContainer blobContainer, DicDomainService dicDomainService, EdiParseDomainService ediParseDomainService, - Microsoft.Extensions.Configuration.IConfiguration configuration) + Microsoft.Extensions.Configuration.IConfiguration configuration, + IUnitOfWorkManager unitOfWorkManager) { _importRecordRepository = importRecordRepository; _logger = logger; @@ -100,6 +104,7 @@ namespace WY.NewJit.EdiReceive _dicDomainService = dicDomainService; _ediParseDomainService = ediParseDomainService; _configuration = configuration; + _unitOfWorkManager = unitOfWorkManager; } #region 私有方法 @@ -423,7 +428,7 @@ namespace WY.NewJit.EdiReceive /// 导入文件 /// 校验出错时,是否强制执行 /// 执行成功返回真 - [UnitOfWork] + [UnitOfWork(IsDisabled =true)] [HttpPost] [Route("import")] [DisableRequestSizeLimit] @@ -465,25 +470,29 @@ namespace WY.NewJit.EdiReceive return ret; } - var srcLst = impResult.Data.AsEnumerable().ToList(); - var tarLst = ObjectMapper.Map, List>(srcLst); - foreach (var tar in tarLst) - { - //tar.CreatePerson = "导入"; - tar.CreateTime = ServerHelper.CurrentDateTime; - } - //报文解析 - ObjectResultDto ret2 = await _ediParseDomainService.ParseEdi(tarLst, forceExecute); - if (ret2.Status == false) - { - return ret2; - } - if (ret2.Status == true && ret2.Message.HasValue()) + using (var uow = _unitOfWorkManager.Begin()) { - return ret2; + var srcLst = impResult.Data.AsEnumerable().ToList(); + var tarLst = ObjectMapper.Map, List>(srcLst); + foreach (var tar in tarLst) + { + //tar.CreatePerson = "导入"; + tar.CreateTime = ServerHelper.CurrentDateTime; + } + //报文解析 + ObjectResultDto ret2 = await _ediParseDomainService.ParseEdi(tarLst, forceExecute); + if (ret2.Status == false) + { + return ret2; + } + if (ret2.Status == true && ret2.Message.HasValue()) + { + return ret2; + } + await uow.CompleteAsync(); + ret.Status = true; + return ret; } - ret.Status = true; - return ret; } catch (Exception ex) { diff --git a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/PrintTable/WaitPrintAppService.cs b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/PrintTable/WaitPrintAppService.cs index 68f6af9..d4214c9 100644 --- a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/PrintTable/WaitPrintAppService.cs +++ b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/PrintTable/WaitPrintAppService.cs @@ -830,7 +830,7 @@ namespace WY.NewJit.PrintTable && itm.PrintType == PrintTypeEnum.OrderPrint //顺序打印 ).MinAsync(itm => itm.HostSN2); int minHostSN = minHostSN2 % 100000; - if (input.BeginHostSN != minHostSN) + if (input.BeginHostSN != minHostSN2) { retLst.Add($"输入的大众起始大众顺序号{input.BeginHostSN}和未打印表中的最小大众顺序号{minHostSN2}不相等!"); return new ListResultDto(retLst); @@ -853,7 +853,7 @@ namespace WY.NewJit.PrintTable string breakNumStr = string.Join(" ", breakNumLst); // string breakNumStr = string.Concat(breakNumLst); retLst.Add($"存在断号:{breakNumStr}"); - return new ListResultDto(retLst); + //return new ListResultDto(retLst); } //判断未知总成 bool containNotMatch = billLst.Any(itm => itm.BillStatus == BillStatusEnum.NotMatch); @@ -863,7 +863,7 @@ namespace WY.NewJit.PrintTable string str = string.Join(" ", lst); //string str = string.Concat(lst); retLst.Add($"存在未知总成:{str}"); - return new ListResultDto(retLst); + //return new ListResultDto(retLst); } return new ListResultDto(retLst); diff --git a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml index 86da4d8..6d2a50c 100644 --- a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml +++ b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml @@ -49,7 +49,7 @@ 错误信息前缀 - + 构造函数 diff --git a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/EdiReceive/Services/EdiParseDomainService.cs b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/EdiReceive/Services/EdiParseDomainService.cs index f4f7401..fc99fdc 100644 --- a/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/EdiReceive/Services/EdiParseDomainService.cs +++ b/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/EdiReceive/Services/EdiParseDomainService.cs @@ -400,10 +400,14 @@ namespace WY.NewJit.EdiReceive.Services int curVal = notRepeatOrder[curIdx].HostSN; int priorIdx = curIdx - 1; int priorVal = notRepeatOrder[priorIdx].HostSN; - if (curVal - priorVal != 1) + if (curVal - priorVal > 1) { sb.AppendLine($"流水号{priorVal}和{curVal}之间存在断号"); } + else if (curVal - priorVal == 0) + { + sb.AppendLine($"流水号{priorVal}和{curVal}之间存在重复"); + } } return sb.ToString(); }