From 0655d5bdb0ebbffb4509d6d2e2cdc28513690bcb Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 16 Jan 2023 10:41:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 20220103后端提示语.xlsx | Bin 17415 -> 17729 bytes IRaCIS.Core.Application/Resources/en-US.json | 8 ++++++-- IRaCIS.Core.Application/Resources/zh-CN.json | 8 ++++++-- .../ReadingImageTaskService.cs | 17 ++++++++++++++++- .../IRaCIS.Core.Infra.EFCore.csproj | 1 + .../Repository/IRepository.cs | 10 +++++++--- .../Repository/Repository.cs | 17 ++++++++++------- 7 files changed, 46 insertions(+), 15 deletions(-) diff --git a/20220103后端提示语.xlsx b/20220103后端提示语.xlsx index 6442fdec8d0607bf20ba4ef2bc90703229680a37..396d4e638673cae5fa723b6f53be94e796840f05 100644 GIT binary patch delta 9355 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 diff --git a/IRaCIS.Core.Application/Resources/en-US.json b/IRaCIS.Core.Application/Resources/en-US.json index d1fe2dff..fda9c5b8 100644 --- a/IRaCIS.Core.Application/Resources/en-US.json +++ b/IRaCIS.Core.Application/Resources/en-US.json @@ -205,7 +205,7 @@ "ReadingImage_Idnotcorrespond": "Failed to add lesion mark. the instanceId and SeriesId of the image did not match.", "ReadingImage_Twice": "Incorrect system calls, duplicate submitted questions and answers.", "ReadingImage_MaxQuestion": "According to Charter, the number of current lesion does not exceed {0}.", - "ReadingImage_Maxlesion": "According to Charter, the number of target lesion of same organ does not exceed . Please confirm.", + "ReadingImage_Maxlesion": "According to Charter, the number of target lesion of same organ does not exceed {0} . Please confirm.", "ReadingImage_Maximum": "The number of repeats of \"{0}\" is limited to {1} and it has been repeated {2} times at present.", "ReadingImage_RequiredQuestion": "\"{0}\" is a required field, and the current input is empty or not saved.", "ReadingImage_ClinicalRead": "The clinical data has not been read, please confirm!", @@ -231,7 +231,11 @@ "MedicalReview_NotClosed": "The current operation cannot be performed, and the current medical inquiry conversation has not been closed.", "MedicalReview_Finish": "The current medical review task has been completed", //UserService - "User_CheckNameOrPw": "Please check the username or password." + "User_CheckNameOrPw": "Please check the username or password.", + //Repository + "Repository_UpdateError": "Update object not exist in db,Please check if the parameter Id is passed incorrectly.", + "Repository_DeleteError": "Delete object not exist in db,Please check if the parameter Id is passed incorrectly" + diff --git a/IRaCIS.Core.Application/Resources/zh-CN.json b/IRaCIS.Core.Application/Resources/zh-CN.json index 075b1bf7..249bde7f 100644 --- a/IRaCIS.Core.Application/Resources/zh-CN.json +++ b/IRaCIS.Core.Application/Resources/zh-CN.json @@ -232,11 +232,15 @@ "MedicalReview_NotClosed": "无法执行当前操作,当前医学质询对话未关闭。", "MedicalReview_Finish": "当前医学审核已做完。", //UserService - "User_CheckNameOrPw": "请检查用户名或者密码。" + "User_CheckNameOrPw": "请检查用户名或者密码。", + //Repository + "Repository_UpdateError": "修改的数据在数据库不存在。", + "Repository_DeleteError": "删除的数据在数据库不存在。" + + - diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 567fd721..d366160b 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -1284,12 +1284,27 @@ namespace IRaCIS.Application.Services var tableQuestions = await _readingTableQuestionTrialRepository.Where(x => tableQuestionIds.Contains(x.Id) && x.MaxRowCount != null && x.MaxRowCount != 0).ToListAsync(); + List questionMarks = new List() + { + QuestionMark.Part, + QuestionMark.Organ, + + }; foreach (var item in tableQuestions) { var answer = inDto.AnswerList.Where(x => x.TableQuestionId == item.Id).Select(x => x.Answer).FirstOrDefault(); if (!answer.IsNullOrEmpty()) { - var rowCount = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.TableQuestionId == item.Id && ((x.RowIndex % 1) == 0) && x.Answer == answer && x.RowIndex != inDto.RowIndex).CountAsync(); + var rowCount = 0; + if (questionMarks.Contains(item.QuestionMark)) + { + rowCount = await _readingTableAnswerRowInfoRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.QuestionId == inDto.QuestionId && ((x.RowIndex % 1) == 0) && x.OrganInfoId == inDto.OrganInfoId && x.OrganInfoId != null && x.RowIndex != inDto.RowIndex).CountAsync(); + } + else + { + rowCount = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && x.TableQuestionId == item.Id && ((x.RowIndex % 1) == 0) && x.Answer == answer && x.RowIndex != inDto.RowIndex).CountAsync(); + } + if (rowCount > item.MaxRowCount.Value - 1) { diff --git a/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj b/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj index 9f08fd7a..df6df308 100644 --- a/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj +++ b/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj @@ -22,6 +22,7 @@ + diff --git a/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs b/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs index 55d16e3c..251a746a 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/IRepository.cs @@ -13,6 +13,7 @@ using System.Linq.Expressions; using System.Threading.Tasks; using IRaCIS.Core.Domain.Share; using EFCore.BulkExtensions; +using Microsoft.Extensions.Localization; namespace IRaCIS.Core.Infra.EFCore { @@ -85,8 +86,11 @@ namespace IRaCIS.Core.Infra.EFCore public IUserInfo _userInfo { get; set; } - public Repository(IRaCISDBContext dbContext, IMapper mapper, IUserInfo userInfo) + public IStringLocalizer _localizer { get; set; } + + public Repository(IRaCISDBContext dbContext, IMapper mapper, IUserInfo userInfo, IStringLocalizer localizer) { + _localizer = localizer; _dbContext = dbContext; _mapper = mapper; _userInfo = userInfo; @@ -173,8 +177,8 @@ namespace IRaCIS.Core.Infra.EFCore if (dbEntity == null) { - throw new BusinessValidationFailedException( - " Update object not exist in db,Please check if the parameter Id is passed incorrectly"); + + throw new BusinessValidationFailedException(_localizer["Repository_UpdateError"]); } var dbBeforEntity = dbEntity.Clone(); diff --git a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs index ac895deb..586e9ea3 100644 --- a/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs +++ b/IRaCIS.Core.Infra.EFCore/Repository/Repository.cs @@ -14,6 +14,8 @@ using EFCore.BulkExtensions; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure.Extention; +using Microsoft.Extensions.Localization; + namespace IRaCIS.Core.Infra.EFCore { public interface IRepository : ICommandRepository, IQueryRepository where TEntity : Entity @@ -30,12 +32,15 @@ namespace IRaCIS.Core.Infra.EFCore public IMapper _mapper { get; set; } public IRaCISDBContext _dbContext { get; set; } + public IStringLocalizer _localizer { get; set; } + public DbSet _dbSet => _dbContext.Set(); public IUserInfo _userInfo { get; set; } - public Repository(IRaCISDBContext dbContext, IMapper mapper, IUserInfo userInfo) + public Repository(IRaCISDBContext dbContext, IMapper mapper, IUserInfo userInfo, IStringLocalizer localizer) { + _localizer = localizer; _dbContext = dbContext; _mapper = mapper; _userInfo = userInfo; @@ -103,8 +108,8 @@ namespace IRaCIS.Core.Infra.EFCore if (dbEntity == null) { - throw new BusinessValidationFailedException( - " Update object not exist in db,Please check if the parameter Id is passed incorrectly"); + + throw new BusinessValidationFailedException(_localizer["Repository_UpdateError"]); } var dbBeforEntity = dbEntity.Clone(); @@ -208,8 +213,7 @@ namespace IRaCIS.Core.Infra.EFCore if (searchEntity == null) { - throw new BusinessValidationFailedException( - " Update object not exist in db,Please check if the parameter Id is passed incorrectly"); + throw new BusinessValidationFailedException(_localizer["Repository_UpdateError"]); } _dbContext.EntityModifyPartialFiled(searchEntity, updateFactory); @@ -261,8 +265,7 @@ namespace IRaCIS.Core.Infra.EFCore if (waitDelete == null) { - throw new BusinessValidationFailedException( - " Delete object not exist in db,Please check if the parameter Id is passed incorrectly"); + throw new BusinessValidationFailedException(_localizer["Repository_DeleteError"]); } await DeleteAsync(waitDelete, autoSave);