修改查询映射
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2024-12-26 11:00:34 +08:00
parent 66922f8e7b
commit 6e0dc64981
17 changed files with 83 additions and 124 deletions

View File

@ -12715,7 +12715,7 @@
Dashboard统计、全局工作量统计、入组两个维度统计按照项目、按照人 Dashboard统计、全局工作量统计、入组两个维度统计按照项目、按照人
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.StatisticsService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Doctor},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Enroll},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Workload},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CRO},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Dictionary},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Hospital},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EnrollDetail},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialUserRole},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)"> <member name="M:IRaCIS.Core.Application.Service.StatisticsService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Doctor},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Enroll},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Workload},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.CRO},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Dictionary},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Hospital},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EnrollDetail},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.IdentityUser},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialUserRole},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary> <summary>
Dashboard统计、全局工作量统计、入组两个维度统计按照项目、按照人 Dashboard统计、全局工作量统计、入组两个维度统计按照项目、按照人
</summary> </summary>
@ -15539,7 +15539,7 @@
TrialSiteUserSurveyService TrialSiteUserSurveyService
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.Contracts.TrialSiteUserSurveyService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteUserSurvey},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteSurvey},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)"> <member name="M:IRaCIS.Core.Application.Contracts.TrialSiteUserSurveyService.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteUserSurvey},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserRole},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.IdentityUser},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteSurvey},AutoMapper.IMapper,IRaCIS.Core.Domain.Share.IUserInfo,Microsoft.Extensions.Localization.IStringLocalizer)">
<summary> <summary>
TrialSiteUserSurveyService TrialSiteUserSurveyService
</summary> </summary>

View File

@ -130,9 +130,9 @@ namespace IRaCIS.Core.Application.Service
TrialId = enroll.TrialId, TrialId = enroll.TrialId,
//ReadingType = enroll.Trial.ReadingType, //ReadingType = enroll.Trial.ReadingType,
DoctorUserId = user.Id, DoctorUserId = user.Id,
FullName = user.FullName, FullName = user.IdentityUser.FullName,
UserCode = user.UserCode, UserCode = user.IdentityUser.UserCode,
UserName = user.UserName, UserName = user.IdentityUser.UserName,
UserTypeEnum = user.UserTypeRole.UserTypeEnum, UserTypeEnum = user.UserTypeRole.UserTypeEnum,
ReadingCategoryList = enroll.EnrollReadingCategoryList.Select(t => t.ReadingCategory).ToList() ReadingCategoryList = enroll.EnrollReadingCategoryList.Select(t => t.ReadingCategory).ToList()
@ -156,9 +156,9 @@ namespace IRaCIS.Core.Application.Service
{ {
TrialId = allocationRule.TrialId, TrialId = allocationRule.TrialId,
DoctorUserId = user.Id, DoctorUserId = user.Id,
FullName = user.FullName, FullName = user.IdentityUser.FullName,
UserCode = user.UserCode, UserCode = user.IdentityUser.UserCode,
UserName = user.UserName, UserName = user.IdentityUser.UserName,
UserTypeEnum = user.UserTypeRole.UserTypeEnum, UserTypeEnum = user.UserTypeRole.UserTypeEnum,
ReadingCategoryList = selectQuery.TrialReadingCriterionId == null ? ReadingCategoryList = selectQuery.TrialReadingCriterionId == null ?

View File

@ -707,9 +707,9 @@ namespace IRaCIS.Core.Application.Service
DoctorUserList = t.SubjectDoctorList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsConfirmed && t.ArmEnum <= Arm.DoubleReadingArm2).Select(t => new UserSimpleInfo() DoctorUserList = t.SubjectDoctorList.Where(t => t.TrialReadingCriterionId == trialReadingCriterionId && t.IsConfirmed && t.ArmEnum <= Arm.DoubleReadingArm2).Select(t => new UserSimpleInfo()
{ {
UserId = t.Id, UserId = t.Id,
FullName = t.DoctorUser.FullName, FullName = t.DoctorUser.IdentityUser.FullName,
UserCode = t.DoctorUser.UserCode, UserCode = t.DoctorUser.IdentityUser.UserCode,
UserName = t.DoctorUser.UserName UserName = t.DoctorUser.IdentityUser.UserName
}).ToList(), }).ToList(),
ValidVisitCount = t.SubjectVisitTaskList.AsQueryable().Where(visitTaskFilter).GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2).Count(), ValidVisitCount = t.SubjectVisitTaskList.AsQueryable().Where(visitTaskFilter).GroupBy(t => new { t.SubjectId, t.VisitTaskNum }).Where(g => g.Count() == 2).Count(),
@ -830,9 +830,9 @@ namespace IRaCIS.Core.Application.Service
AnalysisDoctorUser = new UserSimpleInfo() AnalysisDoctorUser = new UserSimpleInfo()
{ {
UserId = user.Id, UserId = user.Id,
UserCode = user.UserCode, UserCode = user.IdentityUser.UserCode,
FullName = user.FullName, FullName = user.IdentityUser.FullName,
UserName = user.UserName UserName = user.IdentityUser.UserName
} }
}; };

View File

@ -17,9 +17,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap<TaskAllocationRule, TaskAllocationRuleView>() CreateMap<TaskAllocationRule, TaskAllocationRuleView>()
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName))
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)); .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName));
List<Guid> subjectIdList = new List<Guid>(); List<Guid> subjectIdList = new List<Guid>();
@ -27,9 +27,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap<TaskAllocationRule, DoctorVisitTaskStatView>() CreateMap<TaskAllocationRule, DoctorVisitTaskStatView>()
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName))
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName))
//.ForMember(o => o.ArmList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct())) //.ForMember(o => o.ArmList, t => t.MapFrom(u => u.DoctorVisitTaskList.Where(c => c.TrialId == u.TrialId).Select(t => t.ArmEnum).Distinct()))
.ForMember(o => o.TotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count())) .ForMember(o => o.TotalTaskCount, t => t.MapFrom(u => u.Trial.VisitTaskList.Count()))
@ -127,9 +127,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => /*u.IsAnalysisCreate == true ? u.BlindSubjectCode :*/ u.Subject.Code)) .ForMember(o => o.SubjectCode, t => t.MapFrom(u => /*u.IsAnalysisCreate == true ? u.BlindSubjectCode :*/ u.Subject.Code))
.ForMember(o => o.MedicalNo, t => t.MapFrom(u => u.Subject.MedicalNo)) .ForMember(o => o.MedicalNo, t => t.MapFrom(u => u.Subject.MedicalNo))
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName))
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName))
//.ForMember(o => o.IsClinicalDataSigned, t => t.MapFrom(u => u.Subject.ClinicalDataList.Any(c => c.IsSign && (c.ReadingId == u.SouceReadModuleId || c.ReadingId == u.SourceSubjectVisitId)))) //.ForMember(o => o.IsClinicalDataSigned, t => t.MapFrom(u => u.Subject.ClinicalDataList.Any(c => c.IsSign && (c.ReadingId == u.SouceReadModuleId || c.ReadingId == u.SourceSubjectVisitId))))
; ;
@ -176,9 +176,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap<VisitTask, HistoryReadingDoctorUser>() CreateMap<VisitTask, HistoryReadingDoctorUser>()
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName))
.ForMember(o => o.JudgeTaskCode, t => t.MapFrom(u => u.TaskCode)) .ForMember(o => o.JudgeTaskCode, t => t.MapFrom(u => u.TaskCode))
.ForMember(o => o.DoctorUserId, t => t.MapFrom(u => u.DoctorUser.Id)); .ForMember(o => o.DoctorUserId, t => t.MapFrom(u => u.DoctorUser.Id));
@ -195,9 +195,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap<SubjectUser, AssignDoctorView>() CreateMap<SubjectUser, AssignDoctorView>()
//.ForMember(o => o.AssignTime, t => t.MapFrom(u => u.AssignTime)) //.ForMember(o => o.AssignTime, t => t.MapFrom(u => u.AssignTime))
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName))
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)); .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName));
@ -253,9 +253,9 @@ namespace IRaCIS.Core.Application.Service
CreateMap<UserRole, UserSimpleInfo>() CreateMap<UserRole, UserSimpleInfo>()
.ForMember(o => o.UserId, t => t.MapFrom(u => u.Id)) .ForMember(o => o.UserId, t => t.MapFrom(u => u.Id))
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.FullName)); .ForMember(o => o.FullName, t => t.MapFrom(u => u.IdentityUser.FullName));
//.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.UserTypeRole.UserTypeShortName)); //.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.UserTypeRole.UserTypeShortName));

View File

@ -582,7 +582,7 @@ namespace IRaCIS.Core.Application.Service
} }
saveItem.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; saveItem.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(IdentityUser)); saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(IdentityUser));

View File

@ -79,10 +79,10 @@ namespace IRaCIS.Core.Application.Service
CreateMap<TrialEmailNoticeConfigAddOrEdit, TrialEmailNoticeConfig>(); CreateMap<TrialEmailNoticeConfigAddOrEdit, TrialEmailNoticeConfig>();
CreateMap<TrialUserRole, TrialUserSelct>() CreateMap<TrialUserRole, TrialUserSelct>()
.ForMember(d => d.Phone, c => c.MapFrom(t => t.UserRole.Phone)) .ForMember(d => d.Phone, c => c.MapFrom(t => t.UserRole.IdentityUser.Phone))
.ForMember(d => d.Email, c => c.MapFrom(t => t.UserRole.EMail)) .ForMember(d => d.Email, c => c.MapFrom(t => t.UserRole.IdentityUser.EMail))
.ForMember(d => d.RealName, c => c.MapFrom(t => t.UserRole.FullName)) .ForMember(d => d.RealName, c => c.MapFrom(t => t.UserRole.IdentityUser.FullName))
.ForMember(d => d.UserName, c => c.MapFrom(t => t.UserRole.UserName)); .ForMember(d => d.UserName, c => c.MapFrom(t => t.UserRole.IdentityUser.UserName));
CreateMap<TrialEmailNoticeUser, EmailUserInfoDto>(); CreateMap<TrialEmailNoticeUser, EmailUserInfoDto>();

View File

@ -16,7 +16,6 @@ namespace IRaCIS.Core.Application.Service
CreateMap<UserTypeMenu, MenuTreeNode>().IncludeMembers(t => t.Menu); CreateMap<UserTypeMenu, MenuTreeNode>().IncludeMembers(t => t.Menu);
CreateMap<UserCommand, UserRole>().ForMember(d => d.UserCode, x => x.Ignore());
CreateMap<UserCommand, IdentityUser>() CreateMap<UserCommand, IdentityUser>()
.ForMember(d => d.UserCode, x => x.Ignore()) .ForMember(d => d.UserCode, x => x.Ignore())

View File

@ -145,9 +145,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName)) .ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName))
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode)) .ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode))
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code)) .ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code))
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName))
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName))
.ForMember(o => o.SubjectStatus, t => t.MapFrom(u => u.Subject.Status)); .ForMember(o => o.SubjectStatus, t => t.MapFrom(u => u.Subject.Status));
@ -161,9 +161,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName)) .ForMember(o => o.TrialReadingCriterionName, t => t.MapFrom(u => u.TrialReadingCriterion.CriterionName))
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode)) .ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindTrialSiteCode : u.Subject.TrialSite.TrialSiteCode))
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code)) .ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code))
.ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.UserCode)) .ForMember(o => o.UserCode, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserCode))
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName)) .ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.UserName))
.ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.FullName)) .ForMember(o => o.FullName, t => t.MapFrom(u => u.DoctorUser.IdentityUser.FullName))
.ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName)) .ForMember(o => o.UserTypeShortName, t => t.MapFrom(u => u.DoctorUser.UserTypeRole.UserTypeShortName))
.ForMember(o => o.SubjectStatus, t => t.MapFrom(u => u.Subject.Status)); .ForMember(o => o.SubjectStatus, t => t.MapFrom(u => u.Subject.Status));

View File

@ -871,7 +871,7 @@ namespace IRaCIS.Core.Application.Contracts
// 中心调研生成账号 都是外部的 // 中心调研生成账号 都是外部的
saveItem.IsZhiZhun = false; saveItem.IsZhiZhun = false;
saveItem.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; saveItem.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(UserRole)); saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(UserRole));
@ -1107,7 +1107,7 @@ namespace IRaCIS.Core.Application.Contracts
// 中心调研生成账号 都是外部的 // 中心调研生成账号 都是外部的
saveItem.IsZhiZhun = false; saveItem.IsZhiZhun = false;
saveItem.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; saveItem.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(IdentityUser)); saveItem.UserCode = AppSettings.GetCodeStr(saveItem.Code, nameof(IdentityUser));

View File

@ -17,6 +17,7 @@ namespace IRaCIS.Core.Application.Contracts
public class TrialSiteUserSurveyService(IRepository<TrialSiteUserSurvey> _trialSiteUserSurveyRepository, public class TrialSiteUserSurveyService(IRepository<TrialSiteUserSurvey> _trialSiteUserSurveyRepository,
IRepository<Trial> _trialRepository, IRepository<Trial> _trialRepository,
IRepository<UserRole> _userRoleRepository, IRepository<UserRole> _userRoleRepository,
IRepository<IdentityUser> _identityUserRepository,
IRepository<TrialSiteSurvey> _trialSiteSurveyRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialSiteUserSurveyService IRepository<TrialSiteSurvey> _trialSiteSurveyRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, ITrialSiteUserSurveyService
{ {
@ -56,7 +57,7 @@ namespace IRaCIS.Core.Application.Contracts
var item = addOrEditTrialSiteUserSurvey; var item = addOrEditTrialSiteUserSurvey;
//找下系统中是否存在该用户类型的 并且邮箱 或者手机的账户 //找下系统中是否存在该用户类型的 并且邮箱 或者手机的账户
var sysUserInfo = await _userRoleRepository.Where(t => t.UserTypeId == item.UserTypeId && t.EMail == item.Email).Include(t => t.UserTypeRole).FirstOrDefaultAsync(); var sysUserInfo = await _identityUserRepository.Where(t => t.EMail == item.Email,true).Include(t => t.UserRoleList).FirstOrDefaultAsync();
if (sysUserInfo != null) if (sysUserInfo != null)
{ {
@ -97,7 +98,7 @@ namespace IRaCIS.Core.Application.Contracts
if (addOrEditTrialSiteUserSurvey.UserTypeId != null) if (addOrEditTrialSiteUserSurvey.UserTypeId != null)
{ {
var existSysUser = await _userRoleRepository.Where(t => t.EMail == addOrEditTrialSiteUserSurvey.Email && t.UserTypeId == addOrEditTrialSiteUserSurvey.UserTypeId).Include(d => d.UserTypeRole).FirstOrDefaultAsync(); var existSysUser = await _identityUserRepository.Where(t => t.EMail == addOrEditTrialSiteUserSurvey.Email).FirstOrDefaultAsync();
if (existSysUser != null) if (existSysUser != null)
@ -109,7 +110,7 @@ namespace IRaCIS.Core.Application.Contracts
var optEntity = await _trialSiteUserSurveyRepository.InsertOrUpdateAsync(addOrEditTrialSiteUserSurvey, true, verifyExp1); var optEntity = await _trialSiteUserSurveyRepository.InsertOrUpdateAsync(addOrEditTrialSiteUserSurvey, true, verifyExp1);
//$"该用户在系统中账户名为:{existSysUser.LastName + " / " + existSysUser.FirstName} ,与填写信息存在不一致项, 现将界面信息修改为与系统一致,可进行保存" //$"该用户在系统中账户名为:{existSysUser.LastName + " / " + existSysUser.FirstName} ,与填写信息存在不一致项, 现将界面信息修改为与系统一致,可进行保存"
return ResponseOutput.NotOk(_localizer["TrialSiteUser_InconsistentInfo", existSysUser.UserTypeRole.UserTypeShortName, existSysUser.EMail, existSysUser.LastName + " / " + existSysUser.FirstName, existSysUser.Phone], return ResponseOutput.NotOk(_localizer["TrialSiteUser_InconsistentInfo", existSysUser.EMail, existSysUser.LastName + " / " + existSysUser.FirstName, existSysUser.Phone],
new { Id = optEntity.Id, existSysUser.LastName, existSysUser.FirstName, existSysUser.Phone }, ApiResponseCodeEnum.NeedTips); new { Id = optEntity.Id, existSysUser.LastName, existSysUser.FirstName, existSysUser.Phone }, ApiResponseCodeEnum.NeedTips);
} }

View File

@ -22,18 +22,18 @@ namespace IRaCIS.Core.Application.AutoMapper
CreateMap<TrialSiteUserRole, TrialSiteUserSurvey>() CreateMap<TrialSiteUserRole, TrialSiteUserSurvey>()
.ForMember(d => d.Id, u => u.Ignore()) .ForMember(d => d.Id, u => u.Ignore())
.ForMember(d => d.Phone, u => u.MapFrom(c => c.UserRole.Phone)) .ForMember(d => d.Phone, u => u.MapFrom(c => c.UserRole.IdentityUser.Phone))
.ForMember(d => d.Email, u => u.MapFrom(c => c.UserRole.EMail)) .ForMember(d => d.Email, u => u.MapFrom(c => c.UserRole.IdentityUser.EMail))
.ForMember(d => d.OrganizationName, u => u.MapFrom(c => c.UserRole.OrganizationName)) .ForMember(d => d.OrganizationName, u => u.MapFrom(c => c.UserRole.IdentityUser.OrganizationName))
.ForMember(d => d.UserTypeId, u => u.MapFrom(c => c.UserRole.UserTypeId)) .ForMember(d => d.UserTypeId, u => u.MapFrom(c => c.UserRole.UserTypeId))
.ForMember(d => d.IsHistoryUser, u => u.MapFrom(c => true)) .ForMember(d => d.IsHistoryUser, u => u.MapFrom(c => true))
.ForMember(d => d.IsHistoryUserOriginDeleted, u => u.MapFrom(c => c.IsDeleted)) .ForMember(d => d.IsHistoryUserOriginDeleted, u => u.MapFrom(c => c.IsDeleted))
.ForMember(d => d.IsHistoryUserDeleted, u => u.MapFrom(c => c.IsDeleted)) .ForMember(d => d.IsHistoryUserDeleted, u => u.MapFrom(c => c.IsDeleted))
.ForMember(d => d.FirstName, u => u.MapFrom(c => c.UserRole.FirstName)) .ForMember(d => d.FirstName, u => u.MapFrom(c => c.UserRole.IdentityUser.FirstName))
.ForMember(d => d.LastName, u => u.MapFrom(c => c.UserRole.LastName)) .ForMember(d => d.LastName, u => u.MapFrom(c => c.UserRole.IdentityUser.LastName))
.ForMember(d => d.IsGenerateAccount, u => u.MapFrom(c => true)) .ForMember(d => d.IsGenerateAccount, u => u.MapFrom(c => true))
.ForMember(d => d.IsGenerateSuccess, u => u.MapFrom(c => true)) .ForMember(d => d.IsGenerateSuccess, u => u.MapFrom(c => true))
.ForMember(d => d.SystemUserId, u => u.MapFrom(c => c.UserId)) .ForMember(d => d.SystemUserId, u => u.MapFrom(c => c.UserRole.IdentityUser.Id))
.ForMember(d => d.IsJoin, u => u.MapFrom(c => !c.IsDeleted)) .ForMember(d => d.IsJoin, u => u.MapFrom(c => !c.IsDeleted))
.ForMember(d => d.CreateUserRole, u => u.Ignore()); .ForMember(d => d.CreateUserRole, u => u.Ignore());

View File

@ -19,6 +19,7 @@ namespace IRaCIS.Core.Application.Service
IRepository<Hospital> _hospitalRepository, IRepository<Hospital> _hospitalRepository,
IRepository<EnrollDetail> _enrollDetailRepository, IRepository<EnrollDetail> _enrollDetailRepository,
IRepository<UserRole> _userRoleRepository, IRepository<UserRole> _userRoleRepository,
IRepository<IdentityUser> _identityUserRepository,
IRepository<TrialUserRole> _userTrialRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IStatisticsService IRepository<TrialUserRole> _userTrialRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IStatisticsService
{ {
@ -370,7 +371,7 @@ namespace IRaCIS.Core.Application.Service
public PageOutput<UserParticipateTrialStat> GetParticipateTrialStat(ParticipateQueryDto param) public PageOutput<UserParticipateTrialStat> GetParticipateTrialStat(ParticipateQueryDto param)
{ {
Expression<Func<UserRole, bool>> userLambda = x => true; Expression<Func<IdentityUser, bool>> userLambda = x => true;
Expression<Func<TrialUserRole, bool>> userTrialLambda = x => true; Expression<Func<TrialUserRole, bool>> userTrialLambda = x => true;
if (!string.IsNullOrEmpty(param.UserInfo)) if (!string.IsNullOrEmpty(param.UserInfo))
{ {
@ -406,7 +407,7 @@ namespace IRaCIS.Core.Application.Service
}); });
var userQuery = from trialStat in trialStatQuery var userQuery = from trialStat in trialStatQuery
join user in _userRoleRepository.Where(userLambda) on trialStat.UserId equals user.Id join user in _identityUserRepository.Where(userLambda) on trialStat.UserId equals user.Id
select new UserParticipateTrialStat select new UserParticipateTrialStat
{ {
Email = user.EMail, Email = user.EMail,

View File

@ -129,7 +129,7 @@ namespace IRaCIS.Core.Application.Service
// 外部人员生成账号 都是外部的 // 外部人员生成账号 都是外部的
generateUser.IsZhiZhun = false; generateUser.IsZhiZhun = false;
generateUser.Code = _userRoleRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1; generateUser.Code = _identityUserRepository.Select(t => t.Code).DefaultIfEmpty().Max() + 1;
generateUser.UserCode = AppSettings.GetCodeStr(generateUser.Code, nameof(UserRole)); generateUser.UserCode = AppSettings.GetCodeStr(generateUser.Code, nameof(UserRole));

View File

@ -132,10 +132,10 @@ namespace IRaCIS.Core.Application.Service
var query = _userRoleRepository.Where(t => t.UserTypeEnum != UserTypeEnum.SuperAdmin) var query = _userRoleRepository.Where(t => t.UserTypeEnum != UserTypeEnum.SuperAdmin)
//正式或者培训的项目 不能允许测试用户(必须正式用户) 同时必须是内部的用户 //正式或者培训的项目 不能允许测试用户(必须正式用户) 同时必须是内部的用户
.WhereIf(trialType == TrialType.OfficialTrial || trialType == TrialType.Training, t => t.IsTestUser == false && t.IdentityUser.IsZhiZhun) .WhereIf(trialType == TrialType.OfficialTrial || trialType == TrialType.Training, t => t.IdentityUser.IsTestUser == false && t.IdentityUser.IsZhiZhun)
//测试项目 可以加入 测试用户 或者内部正式用户 //测试项目 可以加入 测试用户 或者内部正式用户
.WhereIf(trialType == TrialType.NoneOfficial, t => t.IsTestUser == true || (t.IsTestUser == false && t.IdentityUser.IsZhiZhun)) .WhereIf(trialType == TrialType.NoneOfficial, t => t.IdentityUser.IsTestUser == true || (t.IdentityUser.IsTestUser == false && t.IdentityUser.IsZhiZhun))
.Where(t => userTypeEnums.Contains(t.UserTypeEnum)) .Where(t => userTypeEnums.Contains(t.UserTypeEnum))
.WhereIf(inQuery.UserTypeEnum != null, t => t.UserTypeEnum == inQuery.UserTypeEnum) .WhereIf(inQuery.UserTypeEnum != null, t => t.UserTypeEnum == inQuery.UserTypeEnum)
.WhereIf(!string.IsNullOrWhiteSpace(inQuery.UserRealName), t => t.IdentityUser.FullName.Contains(inQuery.UserRealName)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.UserRealName), t => t.IdentityUser.FullName.Contains(inQuery.UserRealName))

View File

@ -1,4 +1,5 @@
using Aliyun.OSS; using Aliyun.OSS;
using DocumentFormat.OpenXml.Spreadsheet;
using IRaCIS.Application.Contracts; using IRaCIS.Application.Contracts;
using IRaCIS.Core.Application.BusinessFilter; using IRaCIS.Core.Application.BusinessFilter;
using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Contracts;
@ -184,6 +185,16 @@ namespace IRaCIS.Core.Application.Service
await _identityUserRepository.SaveChangesAsync(); await _identityUserRepository.SaveChangesAsync();
} }
// UPDATE[User]
//SET
// UserName = IdentityUser.UserName,
// FirstName = IdentityUser.FirstName,
//LastName = IdentityUser.LastName,
// EMail = IdentityUser.EMail
//FROM[User]
//INNER JOIN IdentityUser
//ON[User].IdentityUserId = IdentityUser.Id
return ResponseOutput.Ok(); return ResponseOutput.Ok();

View File

@ -1,55 +0,0 @@
using EntityFrameworkCore.Triggered;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infrastructure;
using Microsoft.Extensions.Localization;
namespace IRaCIS.Core.Application.Triggers
{
// 统一处理 外部用户、中心调研(先添加 再发送邮件)、参与医生加入到项目 ----废弃
public class AddlTrialUserTrigger(
IStringLocalizer _localizer,
IRepository<Trial> _trialRepository,
IRepository<UserRole> _userRoleRepository) : IBeforeSaveTrigger<TrialUserRole>
{
public async Task BeforeSave(ITriggerContext<TrialUserRole> context, CancellationToken cancellationToken)
{
var trialUser = context.Entity;
if (context.ChangeType == ChangeType.Added)
{
//批量添加的时候使用Find 不会多次查询,优先从跟踪的内存中查找
var trialInfo = await _trialRepository.FindAsync(trialUser.TrialId);
// 必须包在同一个事务,有的时候是数据库还没用户,不能直接查询数据库
var user = await _userRoleRepository.FindAsync(trialUser.UserId);
if (trialInfo.TrialType == Domain.Share.TrialType.OfficialTrial || trialInfo.TrialType == Domain.Share.TrialType.Training)
{
if (user.IsTestUser)
{
//---正式类型 、培训类型的项目 不允许加入测试用户
throw new BusinessValidationFailedException(_localizer["AddlTrialUser_NoTestUser"]);
}
}
if (trialInfo.TrialType == TrialType.NoneOfficial)
{
if (user.IsTestUser == false)
{
//---测试项目 不允许加入正式用户
throw new BusinessValidationFailedException(_localizer["AddlTrialUser_NoFormalUser"]);
}
}
}
}
}
}

View File

@ -38,35 +38,37 @@ public class UserRole : BaseFullAuditEntity
public string LastName { get; set; } public string LastName { get; set; }
[Comment("自动切换下一个任务")]
public bool AutoCutNextTask { get; set; }
#region ºóÐøÉ¾³ýÓû§ÐÅÏ¢ #region ºóÐøÉ¾³ýÓû§ÐÅÏ¢
public int Code { get; set; } public int Code { get; set; }
public string UserCode { get; set; } public string UserCode { get; set; }
[StringLength(1000)]
public string EmailToken { get; set; }
public string Password { get; set; } public string Password { get; set; }
public bool PasswordChanged { get; set; }
public string Phone { get; set; } public string Phone { get; set; }
public string OrganizationName { get; set; }
[StringLength(1000)]
public string EmailToken { get; set; }
public bool PasswordChanged { get; set; }
public int? Sex { get; set; } public int? Sex { get; set; }
public UserStateEnum Status { get; set; } = UserStateEnum.Enable; public UserStateEnum Status { get; set; } = UserStateEnum.Enable;
public string OrganizationName { get; set; }
public string PositionName { get; set; } public string PositionName { get; set; }
[Comment("自动切换下一个任务")]
public bool AutoCutNextTask { get; set; }
public string DepartmentName { get; set; } public string DepartmentName { get; set; }
@ -148,7 +150,7 @@ public class IdentityUser: BaseFullAuditEntity
public string PositionName { get; set; } public string PositionName { get; set; }
[Comment("自动切换下一个任务")] [Comment("这个字段废除,放在用户角色上面,后续删除")]
public bool AutoCutNextTask { get; set; } public bool AutoCutNextTask { get; set; }
public string DepartmentName { get; set; } public string DepartmentName { get; set; }