diff --git a/IRaCIS.Core.API/Controllers/ExtraController.cs b/IRaCIS.Core.API/Controllers/ExtraController.cs index 68d71badf..4933a95d8 100644 --- a/IRaCIS.Core.API/Controllers/ExtraController.cs +++ b/IRaCIS.Core.API/Controllers/ExtraController.cs @@ -122,7 +122,7 @@ namespace IRaCIS.Api.Controllers { var token = _tokenService.GetToken(new UserTokenInfo() { - UserRoleId = Guid.NewGuid(), + IdentityUserId = Guid.NewGuid(), UserName = "Share001", UserTypeEnum = UserTypeEnum.ShareImage, diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index fd4b12df2..8ea91ec93 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -2606,7 +2606,7 @@ public class VisitTaskService(IRepository _visitTaskRepository, private bool IsSpmOrCPM() { - return _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM; + return _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM ; } /// diff --git a/IRaCIS.Core.Application/Service/Common/MailService.cs b/IRaCIS.Core.Application/Service/Common/MailService.cs index cea87baf2..cf68a4a40 100644 --- a/IRaCIS.Core.Application/Service/Common/MailService.cs +++ b/IRaCIS.Core.Application/Service/Common/MailService.cs @@ -660,7 +660,7 @@ namespace IRaCIS.Core.Application.Service trialInfo.ResearchProgramNo, trialInfo.TrialCode, sysUserInfo.IsFirstAdd ? sysUserInfo.EMail : sysUserInfo.UserName, - $"{userType.UserTypeShortName} ({userType.UserTypeName})", + userType.UserTypeName, sysUserInfo.IsFirstAdd ? redirectUrl : baseUrl ); diff --git a/IRaCIS.Core.Application/Service/Document/EmailSendService.cs b/IRaCIS.Core.Application/Service/Document/EmailSendService.cs index 2c436cb01..2a980e788 100644 --- a/IRaCIS.Core.Application/Service/Document/EmailSendService.cs +++ b/IRaCIS.Core.Application/Service/Document/EmailSendService.cs @@ -1,4 +1,5 @@ using IRaCIS.Core.Application.Helper; +using IRaCIS.Core.Application.MassTransit.Consumer; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; using Microsoft.Extensions.Options; @@ -9,7 +10,7 @@ namespace IRaCIS.Core.Application.Service public interface IEmailSendService { Task SendEnrollOrPdEmail(Guid visitTaskId, bool? isEnrollment, bool? isPDConfirm); - + Task<(TrialEmailNoticeConfig?, SMTPEmailConfig?)> BuildEmailConfig(Guid trialId, EmailBusinessScenario businessScenario, Func topicAndHtmlFunc, Guid? siteId = null, Guid? trialReadingCriterionId = null); } @@ -20,7 +21,7 @@ namespace IRaCIS.Core.Application.Service IRepository _trialSiteUserRoleRepository, IOptionsMonitor _SystemEmailSendConfig, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IEmailSendService { - + private readonly SystemEmailSendConfig _systemEmailConfig = _SystemEmailSendConfig.CurrentValue; public static string EmailNamePlaceholder => StaticData.EmailSend.EmailNamePlaceholder; @@ -130,6 +131,9 @@ namespace IRaCIS.Core.Application.Service var (topicStr, htmlBodyStr, isEn_us, onlyToUserId) = topicAndHtmlFunc(trialEmailConfig); + //处理替换公司名 + htmlBodyStr = CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, htmlBodyStr); + sendEmailConfig.TopicDescription = topicStr; sendEmailConfig.HtmlBodyStr = htmlBodyStr; diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index 8cc1e024f..c08126828 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -8,6 +8,7 @@ using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Application.Helper; using IRaCIS.Core.Application.Interfaces; +using IRaCIS.Core.Application.MassTransit.Consumer; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share.Common; diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/ImageShareService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/ImageShareService.cs index e21e7b5ff..4c97b57b3 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/ImageShareService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/ImageShareService.cs @@ -104,7 +104,7 @@ namespace IRaCIS.Core.Application.Services StudyId = imageShare.StudyId, Token = _tokenService.GetToken(new UserTokenInfo() { - UserRoleId = Guid.NewGuid(), + IdentityUserId = Guid.NewGuid(), FullName = "Share001", UserName = "Share001", UserTypeEnum = UserTypeEnum.ShareImage, diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteUserSurveyViewModel.cs b/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteUserSurveyViewModel.cs index 923e6f585..9310e0182 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteUserSurveyViewModel.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/DTO/TrialSiteUserSurveyViewModel.cs @@ -146,7 +146,7 @@ namespace IRaCIS.Core.Application.Contracts public string Phone { get; set; } = string.Empty; public string OrganizationName { get; set; } = string.Empty; - [ExcelColumnName("UserType")] + [ExcelColumnName("Role")] public string UserTypeStr { get; set; } [JsonIgnore] diff --git a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs index b83e1601e..fe1dd8fde 100644 --- a/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs +++ b/IRaCIS.Core.Application/Service/SiteSurvey/TrialSiteSurveyService.cs @@ -672,6 +672,7 @@ namespace IRaCIS.Core.Application.Contracts TrialSiteSurveyId = currentEntity!.Id, Token = _tokenService.GetToken(new UserTokenInfo() { + IdentityUserId=Guid.NewGuid(), UserRoleId = Guid.NewGuid(), UserName = "SiteSurvey", UserTypeEnum = UserTypeEnum.Undefined, diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs index fdb3e34bb..36045e187 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs @@ -1178,7 +1178,7 @@ namespace IRaCIS.Core.Application var record = new UserToBeDoneRecord() { - IsFirstSysDocNeedSign= isfirstSysDocNeedSign, + IsFirstSysDocNeedSign = isfirstSysDocNeedSign, IsHaveSysDocNeedNeedSign = needSignSysDocCont > 0, //TrialNeedSignList= trialNeedSignList, @@ -1406,7 +1406,7 @@ namespace IRaCIS.Core.Application Sponsor = _userInfo.IsEn_Us ? t.Sponsor.SponsorName : t.Sponsor.SponsorNameCN, TrialStatusStr = t.TrialStatusStr, - ExpetiedTaskCount = isPM ? t.VisitTaskList.Where(t => t.IsUrgent).Count() : 0, + ExpetiedTaskCount = isPM ? t.VisitTaskList.Where(t => t.IsUrgent && t.IsAnalysisCreate==false && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze)).Count() : 0, ReReadingApprovalCount = isPM ? t.VisitTaskReReadingList.Where(t => t.OriginalReReadingTask.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed).Count() : 0, diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs index 3af4d7205..ff42210da 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs @@ -260,7 +260,8 @@ namespace IRaCIS.Core.Application.Service .ForMember(d => d.ParentDictionaryCode, u => u.MapFrom(s => s.ParentReadingQuestionTrial.DictionaryCode)) .ForMember(t => t.ParentQuestionName, u => u.MapFrom(c => c.ParentReadingQuestionTrial.QuestionName)) .ForMember(t => t.RelevanceShowOrder, u => u.MapFrom(c => c.RelevanceReadingQuestionTrial.ShowOrder)) - .ForMember(t => t.ParentQuestionShowOrder, u => u.MapFrom(c => c.ParentReadingQuestionTrial.ShowOrder)); + .ForMember(t => t.ParentQuestionShowOrder, u => u.MapFrom(c => c.ParentReadingQuestionTrial.ShowOrder)) + .ForMember(x => x.CreateUserRole, x => x.Ignore()); diff --git a/IRaCIS.Core.Application/TestService.cs b/IRaCIS.Core.Application/TestService.cs index 02ce983d3..be08aa320 100644 --- a/IRaCIS.Core.Application/TestService.cs +++ b/IRaCIS.Core.Application/TestService.cs @@ -159,9 +159,9 @@ namespace IRaCIS.Core.Application.Service /// 用户多账号,初次维护数据 /// /// + [AllowAnonymous] public async Task UserMutiAccount([FromServices] IRepository _identityUserRepository) { - _userInfo.IsNotNeedInspection = true; if ((await _identityUserRepository.FirstOrDefaultAsync()) == null) { @@ -212,6 +212,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// + [AllowAnonymous] public async Task UserTrialUser([FromServices] IRepository _trialIdentityUserRepository, [FromServices] IRepository _trialUserRoleReposiotry) { _userInfo.IsNotNeedInspection = true; @@ -263,6 +264,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// + [AllowAnonymous] [UnitOfWork] public async Task ExternalTrialUser( [FromServices] IRepository _trialSiteUserSurveyRepository, diff --git a/IRaCIS.Core.Application/Triggers/AfterSaveTrigger/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs b/IRaCIS.Core.Application/Triggers/AfterSaveTrigger/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs index 7c5136458..fb328e4b6 100644 --- a/IRaCIS.Core.Application/Triggers/AfterSaveTrigger/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/AfterSaveTrigger/VisitTaskIsFrontTaskNeedSignButNotSignTrigger.cs @@ -30,7 +30,7 @@ namespace IRaCIS.Core.Application.Triggers } else { - //访视类型的任务 不影响肿瘤学任务的临床数据状态 + //访视类型、全局的任务 不影响肿瘤学任务的临床数据状态 visitTaskLambda = visitTaskLambda.And(x => x.ArmEnum != Arm.TumorArm); } diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs index eb955eee8..88b2a3322 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs @@ -193,7 +193,11 @@ public class VisitTask : BaseFullAuditEntity [Comment("在裁判任务上记录 裁判结果的任务ID(访视或者全局)")] public Guid? JudgeResultTaskId { get; set; } - [Comment("随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定")] + + + [Comment("随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.02 全局任务在截止访视号上+0.03 肿瘤0.06")] + + [DecimalPrecision(18,2)] public decimal VisitTaskNum { get; set; } [Comment("首次阅片时间")] public DateTime? FirstReadingTime { get; set; } diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs index 74dc28502..992e821af 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialUser.cs @@ -19,15 +19,20 @@ public class TrialUserRole : BaseFullDeleteAuditEntity #endregion + [Comment("这里实际是UserRoleId")] public Guid UserId { get; set; } public Guid TrialId { get; set; } - public DateTime? RemoveTime { get; set; } - - public DateTime? JoinTime { get; set; } public Guid TrialUserId { get; set; } + + #region 下个版本删除 + public DateTime? RemoveTime { get; set; } + + public DateTime? JoinTime { get; set; } + #endregion + } diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index b05bc360a..d8618ad05 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -1735,13 +1735,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common var entity = item.Entity as IdentityUser; - if (!_userInfo.IsNotNeedInspection) - { + await InsertInspection(entity, type, x => new InspectionConvertDTO { IsDistinctionInterface = type == AuditOpt.Update ? true : false, }); - } } // 项目参与人员 @@ -1753,33 +1751,30 @@ namespace IRaCIS.Core.Infra.EFCore.Common var identityUser = await _dbContext.IdentityUser.AsNoTracking().Where(x => x.Id == entity.IdentityUserId).FirstOrDefaultAsync(); - //if (type == AuditOpt.Update) - //{ - // extraIndentification = "/" + entity.IsDeleted.ToString(); - //} - - - //var user = await _dbContext.Users.Include(x => x.UserTypeRole).FirstOrDefaultAsync(x => x.Id == entity.UserId); - await InsertInspection(entity, type, x => new InspectionConvertDTO - { - //IsDistinctionInterface = true , - TrialId = x.TrialId, - IsDistinctionInterface=false, - ObjectRelationParentId = x.TrialId, - ExtraIndentification = extraIndentification, - //ObjectRelationParentId2 = x.IdentityUserId, - }, new + // 变更维护数据,会维护数据,不能插入稽查 + if (_userInfo.IsNotNeedInspection == false) { + await InsertInspection(entity, type, x => new InspectionConvertDTO + { + //IsDistinctionInterface = true , + TrialId = x.TrialId, + IsDistinctionInterface = false, + ObjectRelationParentId = x.TrialId, + ExtraIndentification = extraIndentification, + //ObjectRelationParentId2 = x.IdentityUserId, + }, new + { - identityUser.FullName, - identityUser.EMail, - identityUser.Code, - identityUser.UserCode, - identityUser.UserName, - identityUser.DepartmentName, - identityUser.Phone, - identityUser.OrganizationName, - }); + identityUser.FullName, + identityUser.EMail, + identityUser.Code, + identityUser.UserCode, + identityUser.UserName, + identityUser.DepartmentName, + identityUser.Phone, + identityUser.OrganizationName, + }); + } } // 项目人员