diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index fb1288021..5b5c02b0c 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -4,6 +4,34 @@ IRaCIS.Core.API + + + 主要处理 前端404等错误 全局业务异常已统一处理了,非业务错误会来到这里 + + + + + + + 医生基本信息 、工作信息 专业信息、审核状态 + + + + + 获取医生详情 + + + + + + + + + + + + 系统用户登录接口[New] + 添加实验项目-返回新增Id[AUTH] 新记录Id @@ -345,27 +373,6 @@ 序列化成员 - - - 医生基本信息 、工作信息 专业信息、审核状态 - - - - - 获取医生详情 - - - - - - - - - - - - 系统用户登录接口[New] - 为了前端 一段时间无操作,需要重新登陆 @@ -373,13 +380,6 @@ - - - 主要处理 前端404等错误 全局业务异常已统一处理了,非业务错误会来到这里 - - - - 对称可逆加密 diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 6e78e508e..7f49a0446 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -684,6 +684,32 @@ InternationalizationService + + + 前端国际化内容接口 + + + + + + 前端批量提交,后端判断不存在就添加,存在就更新 + + + + + + 后端之前批量添加接口 + + + + + + + 前后端添加的时候,区分了,前端判断重复多了多了一个路由 路由+标识唯一 + + + + PublishLogService diff --git a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs index 4d9ca292c..8eabd79f7 100644 --- a/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Allocation/DTO/VisitTaskViewModel.cs @@ -393,7 +393,11 @@ namespace IRaCIS.Core.Application.ViewModel public DateTime? EndAllocateDate { get; set; } - public Guid? RootReReadingTaskId { get; set; } + public DateTime? BeginSignTime { get; set; } + + public DateTime? EndSignTime { get; set; } + + public Guid? RootReReadingTaskId { get; set; } public string? TaskCode { get; set; } diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 3d47057ab..96c28bf13 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -758,7 +758,9 @@ namespace IRaCIS.Core.Application.Service.Allocation .WhereIf(!string.IsNullOrEmpty(queryVisitTask.SubjectCode), t => (t.Subject.Code.Contains(queryVisitTask.SubjectCode) && t.IsAnalysisCreate == false) || (t.BlindSubjectCode.Contains(queryVisitTask.SubjectCode) && t.IsAnalysisCreate)) .WhereIf(queryVisitTask.BeginAllocateDate != null, t => t.AllocateTime > queryVisitTask.BeginAllocateDate) .WhereIf(queryVisitTask.EndAllocateDate != null, t => t.AllocateTime < queryVisitTask.EndAllocateDate!.Value.AddDays(1)) - .ProjectTo(_mapper.ConfigurationProvider); + .WhereIf(queryVisitTask.BeginSignTime != null, t => t.SignTime > queryVisitTask.BeginSignTime) + .WhereIf(queryVisitTask.EndSignTime != null, t => t.SignTime < queryVisitTask.EndSignTime!.Value.AddDays(1)) + .ProjectTo(_mapper.ConfigurationProvider); var defalutSortArray = new string[] { nameof(VisitTask.IsUrgent) + " desc", nameof(VisitTask.SubjectId), nameof(VisitTask.VisitTaskNum) }; diff --git a/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs index 6c5a6999a..63c690835 100644 --- a/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs +++ b/IRaCIS.Core.Application/Service/Document/DTO/SystemDocumentViewModel.cs @@ -144,7 +144,11 @@ namespace IRaCIS.Core.Application.Contracts public Guid? UserTypeId { get; set; } public Guid? UserId { get; set; } - } + + public bool? IsConfirmed { get; set; } + + public bool? IsDeleted { get; set; } + } /// SystemDocumentAddOrEdit 列表查询参数模型 public class SystemDocumentAddOrEdit diff --git a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs index 06869ba94..0c30c2dd4 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialDocumentService.cs @@ -409,7 +409,9 @@ namespace IRaCIS.Core.Application.Services var unionQuery = trialDocQuery.Union(systemDocQuery) .WhereIf(!string.IsNullOrEmpty(querySystemDocument.Name), t => t.Name.Contains(querySystemDocument.Name)) .WhereIf(querySystemDocument.FileTypeId != null, t => t.FileTypeId == querySystemDocument.FileTypeId) - .WhereIf(querySystemDocument.UserTypeId != null, t => t.UserTypeId == querySystemDocument.UserTypeId); + .WhereIf(querySystemDocument.IsConfirmed != null, t => t.IsConfirmed == querySystemDocument.IsConfirmed) + .WhereIf(querySystemDocument.IsDeleted != null, t => t.IsDeleted == querySystemDocument.IsDeleted) + .WhereIf(querySystemDocument.UserTypeId != null, t => t.UserTypeId == querySystemDocument.UserTypeId); var result = await unionQuery.ToPagedListAsync(querySystemDocument.PageIndex, querySystemDocument.PageSize, querySystemDocument.SortField, querySystemDocument.Asc); diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs index 37fbae848..8b32e8343 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs @@ -175,7 +175,12 @@ namespace IRaCIS.Core.Application.Contracts public Guid? VisitTaskId { get; set; } - } + public bool? IsDicom { get; set; } + + public string? Uploader { get; set; } + + public bool? IsSuccess { get; set; } + } public class PreArchiveDicomStudyCommand diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs index 54880b1ed..357b65538 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/StudyService.cs @@ -457,7 +457,10 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc .WhereIf(studyQuery.SubjectId != null, t => t.SubjectId == studyQuery.SubjectId) .WhereIf(studyQuery.SubjectVisitId != null, t => t.SubjectId == studyQuery.SubjectVisitId) .WhereIf(studyQuery.SiteId != null, t => t.SiteId == studyQuery.SiteId) - .Select(t => new UnionStudyMonitorModel() + .WhereIf(studyQuery.IsDicom != null, t => t.IsDicom == studyQuery.IsDicom ) + .WhereIf(!string.IsNullOrWhiteSpace(studyQuery.Uploader), t => t.Uploader.UserName.Contains(studyQuery.Uploader)) + .WhereIf(studyQuery.IsSuccess != null, t => t.IsSuccess == studyQuery.IsSuccess) + .Select(t => new UnionStudyMonitorModel() { TrialId = t.TrialId, SiteId = t.SiteId, diff --git a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs index 8d8993861..3ff512ed3 100644 --- a/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs +++ b/IRaCIS.Core.Application/Service/Inspection/DTO/InspectionModel.cs @@ -486,9 +486,14 @@ namespace IRaCIS.Core.Application.Service.Inspection.DTO public string ReaderUser { get; set; } = string.Empty; /// - /// 是否有签名 + /// 角色 /// - public bool? IsSign { get; set; } + public string RoleName { get; set; } = string.Empty; + + /// + /// 是否有签名 + /// + public bool? IsSign { get; set; } /// /// 批次Id diff --git a/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs b/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs index f3bb5cb61..f3d7b52e8 100644 --- a/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs +++ b/IRaCIS.Core.Application/Service/Inspection/InspectionService.cs @@ -186,9 +186,10 @@ namespace IRaCIS.Core.Application.Service.Inspection .WhereIf(!dto.SubjectInfo.IsNullOrEmpty(), x => x.SubjectCode.Contains(dto.SubjectInfo)) - //.WhereIf(dto.VisitPlanInfo != null&& dto.VisitPlanInfo!=(decimal) 1.11, x => x.VisitNum == dto.VisitPlanInfo) - //.WhereIf(dto.VisitPlanInfo != (decimal)1.11,x=>x.InPlan!=null&& x.InPlan==false) - .WhereIf(dto.StartTime != null, x => x.CreateTime >= dto.StartTime) + .WhereIf(!dto.RoleName.IsNullOrEmpty(), x => x.RoleName.Contains(dto.RoleName)) + //.WhereIf(dto.VisitPlanInfo != null&& dto.VisitPlanInfo!=(decimal) 1.11, x => x.VisitNum == dto.VisitPlanInfo) + //.WhereIf(dto.VisitPlanInfo != (decimal)1.11,x=>x.InPlan!=null&& x.InPlan==false) + .WhereIf(dto.StartTime != null, x => x.CreateTime >= dto.StartTime) .WhereIf(dto.EndTime != null, x => x.CreateTime <= dto.EndTime) .WhereIf(dto.ModuleType != null, x => x.ModuleTypeId == dto.ModuleType) .WhereIf(!dto.Description.IsNullOrEmpty(), x => x.Description.Contains(dto.Description)|| x.DescriptionCN.Contains(dto.Description)) diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index 2f7d09b59..30f6a7723 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -762,6 +762,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate } + var taskinfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); + + var tableAnswerList = await _readingTableQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && (x.Answer == string.Empty || x.Answer == null) && x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State ) @@ -821,15 +824,19 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate // 判断是否有pet if (await _readingTaskQuestionAnswerRepository.AnyAsync(x => x.ReadingQuestionTrial.QuestionType == QuestionType.ExistPET && x.VisitTaskId == inDto.VisitTaskId && x.Answer == ReadingYesOrNo.Yes.GetEnumInt())) { + List required=new List() { QuestionType.LiverSUVmax, QuestionType.MediastinumSUVmax, QuestionType.SUVmax, QuestionType.SUVmaxLesion, QuestionType.PET5PS, - QuestionType.UptakeChange, - QuestionType.EvidenceFocalFDG }; + if (taskinfo.VisitTaskNum != 0m) + { + required.Add(QuestionType.UptakeChange); + required.Add(QuestionType.EvidenceFocalFDG); + } if ((await _readingTaskQuestionAnswerRepository.CountAsync(x => required.Contains(x.ReadingQuestionTrial.QuestionType) && x.VisitTaskId == inDto.VisitTaskId && x.Answer != string.Empty)) != required.Count()) { @@ -840,7 +847,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate if (errorMassage != string.Empty) { - errorMassage = _localizer["ReadingCalculate_Questionable"] + errorMassage; + //errorMassage = errorMassage; throw new BusinessValidationFailedException(errorMassage); } diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteSurveyViewModel.cs b/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteSurveyViewModel.cs index 83d826c51..b13d89354 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteSurveyViewModel.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteSurveyViewModel.cs @@ -355,7 +355,12 @@ namespace IRaCIS.Core.Application.Contracts public DateTime? UpdateTimeBegin { get; set; } public DateTime? UpdateTimeEnd { get; set; } - } + + public string? PreliminaryUserName { get; set; } + + public string? ReviewerUserName { get; set; } + + } public class CopyTrialSiteSurveyDTO { diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs index a2253fa03..5bedfb6b6 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs @@ -451,8 +451,11 @@ namespace IRaCIS.Core.Application.Contracts .WhereIf(surveyQueryDTO.State != null, t => t.State == surveyQueryDTO.State) .WhereIf(surveyQueryDTO.UpdateTimeBegin != null, t => t.UpdateTime >= surveyQueryDTO.UpdateTimeBegin) .WhereIf(surveyQueryDTO.UpdateTimeEnd != null, t => t.UpdateTime <= surveyQueryDTO.UpdateTimeEnd) - - .ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us }); + + .ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us }) + .WhereIf(!string.IsNullOrWhiteSpace(surveyQueryDTO.PreliminaryUserName), t => t.PreliminaryUser.RealName.Contains(surveyQueryDTO.PreliminaryUserName)) + .WhereIf(!string.IsNullOrWhiteSpace(surveyQueryDTO.ReviewerUserName), t => t.ReviewerUser.RealName.Contains(surveyQueryDTO.ReviewerUserName)) + ; return await trialSiteSurveyQueryable.ToPagedListAsync(surveyQueryDTO.PageIndex, surveyQueryDTO.PageSize, surveyQueryDTO.SortField, surveyQueryDTO.Asc); }