Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
he 2025-01-20 11:17:26 +08:00
commit e76a5d189e
15 changed files with 57 additions and 44 deletions

View File

@ -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,

View File

@ -2606,7 +2606,7 @@ public class VisitTaskService(IRepository<VisitTask> _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 ;
}
/// <summary>

View File

@ -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
);

View File

@ -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<TrialEmailNoticeConfig, (string topicStr, string htmlBodyStr, bool isEn_us, Guid? onlyToUserId)> topicAndHtmlFunc, Guid? siteId = null, Guid? trialReadingCriterionId = null);
}
@ -20,7 +21,7 @@ namespace IRaCIS.Core.Application.Service
IRepository<TrialSiteUserRole> _trialSiteUserRoleRepository,
IOptionsMonitor<SystemEmailSendConfig> _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;

View File

@ -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;

View File

@ -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,

View File

@ -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]

View File

@ -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,

View File

@ -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,

View File

@ -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());

View File

@ -159,9 +159,9 @@ namespace IRaCIS.Core.Application.Service
/// 用户多账号,初次维护数据
/// </summary>
/// <returns></returns>
[AllowAnonymous]
public async Task<IResponseOutput> UserMutiAccount([FromServices] IRepository<IdentityUser> _identityUserRepository)
{
_userInfo.IsNotNeedInspection = true;
if ((await _identityUserRepository.FirstOrDefaultAsync()) == null)
{
@ -212,6 +212,7 @@ namespace IRaCIS.Core.Application.Service
/// </summary>
/// <param name="_trialIdentityUserRepository"></param>
/// <returns></returns>
[AllowAnonymous]
public async Task<IResponseOutput> UserTrialUser([FromServices] IRepository<TrialIdentityUser> _trialIdentityUserRepository, [FromServices] IRepository<TrialUserRole> _trialUserRoleReposiotry)
{
_userInfo.IsNotNeedInspection = true;
@ -263,6 +264,7 @@ namespace IRaCIS.Core.Application.Service
/// <param name="_trialIdentityUserRepository"></param>
/// <param name="_trialUserRoleReposiotry"></param>
/// <returns></returns>
[AllowAnonymous]
[UnitOfWork]
public async Task<IResponseOutput> ExternalTrialUser(
[FromServices] IRepository<TrialSiteUserSurvey> _trialSiteUserSurveyRepository,

View File

@ -30,7 +30,7 @@ namespace IRaCIS.Core.Application.Triggers
}
else
{
//访视类型的任务 不影响肿瘤学任务的临床数据状态
//访视类型、全局的任务 不影响肿瘤学任务的临床数据状态
visitTaskLambda = visitTaskLambda.And(x => x.ArmEnum != Arm.TumorArm);
}

View File

@ -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; }

View File

@ -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
}

View File

@ -1735,13 +1735,11 @@ namespace IRaCIS.Core.Infra.EFCore.Common
var entity = item.Entity as IdentityUser;
if (!_userInfo.IsNotNeedInspection)
{
await InsertInspection<IdentityUser>(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<TrialIdentityUser>(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<TrialIdentityUser>(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,
});
}
}
// 项目人员