修改用户类型

Uat_Study
hang 2023-07-04 15:53:38 +08:00
parent cc9807846e
commit e237d58906
8 changed files with 56 additions and 149 deletions

View File

@ -1,86 +0,0 @@
using IRaCIS.Core.Application.Auth;
using IRaCIS.Core.Domain.Share;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace IRaCIS.Core.API
{
public static class AuthorizationPolicySetup
{
public static void AddAuthorizationPolicySetup(this IServiceCollection services, IConfiguration configuration)
{
services.AddAuthorization(options =>
{
//影像质控策略 只允许 CRC IQC进行操作
options.AddPolicy(IRaCISPolicy.CRC_IQC, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ClinicalResearchCoordinator).ToString(), ((int)UserTypeEnum.IQC).ToString());
});
//一致性核查策略 只允许 CRC PM APM 进行操作
options.AddPolicy(IRaCISPolicy.PM_APM_CRC, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.ClinicalResearchCoordinator).ToString(), ((int)UserTypeEnum.APM).ToString());
});
options.AddPolicy(IRaCISPolicy.PM_APM, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.APM).ToString());
});
options.AddPolicy(IRaCISPolicy.PM_IQC, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.IQC).ToString());
});
options.AddPolicy(IRaCISPolicy.PM, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString());
});
options.AddPolicy(IRaCISPolicy.IQC, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.IQC).ToString());
});
options.AddPolicy(IRaCISPolicy.CRC, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ClinicalResearchCoordinator).ToString());
});
options.AddPolicy(IRaCISPolicy.PM_APM_CRC_QC, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(),((int)UserTypeEnum.ClinicalResearchCoordinator).ToString(), ((int)UserTypeEnum.APM).ToString(), ((int)UserTypeEnum.IQC).ToString());
});
options.AddPolicy(IRaCISPolicy.SPM_CPM, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.SPM).ToString(), ((int)UserTypeEnum.CPM).ToString());
});
options.AddPolicy(IRaCISPolicy.PM_APM_SPM_CPM, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.APM).ToString(),((int)UserTypeEnum.SPM).ToString(), ((int)UserTypeEnum.CPM).ToString());
});
options.AddPolicy(IRaCISPolicy.PM_APM_SPM_CPM_SMM_CMM, policyBuilder =>
{
policyBuilder.RequireClaim("userTypeEnumInt", ((int)UserTypeEnum.ProjectManager).ToString(), ((int)UserTypeEnum.APM).ToString(), ((int)UserTypeEnum.SPM).ToString(),
((int)UserTypeEnum.CPM).ToString(), ((int)UserTypeEnum.SMM).ToString(), ((int)UserTypeEnum.CMM).ToString());
});
});
}
}
}

View File

@ -21,11 +21,8 @@
"LoginMaxFailCount": 5,
"LoginFailLockMinutes": 30
"OpenLoginLimit": false,
"LoginMaxFailCount": 5,
"LoginFailLockMinutes": 1
},
"SystemEmailSendConfig": {

View File

@ -2536,6 +2536,13 @@
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalAnswerService.GetCRCBeConfirmList(IRaCIS.Core.Application.Service.Reading.Dto.GetCRCBeConfirmListInDto)">
<summary>
获取CRC待确认列表
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ClinicalAnswerService.CRCConfirmClinical(IRaCIS.Core.Application.Service.Reading.Dto.CRCConfirmClinicalInDto)">
<summary>
CRC 确认临床数据

View File

@ -113,13 +113,13 @@ namespace IRaCIS.Core.Application.Contracts
if (userTypeSelectEnum == UserTypeSelectEnum.ExternalUser)
{
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.CPM, UserTypeEnum.SMM, UserTypeEnum.CMM, UserTypeEnum.EA };
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.CPM, };
}
if (userTypeSelectEnum == UserTypeSelectEnum.InnerUser)
{
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA ,UserTypeEnum.MW};
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA ,};
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin)
{
@ -136,7 +136,7 @@ namespace IRaCIS.Core.Application.Contracts
if (userTypeSelectEnum == UserTypeSelectEnum.EnrollOrPD_EMailCopy)
{
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.ProjectManager, UserTypeEnum.APM, UserTypeEnum.CPM, UserTypeEnum.SPM, UserTypeEnum.SMM, UserTypeEnum.CMM };
userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.ProjectManager, UserTypeEnum.APM, UserTypeEnum.CPM, UserTypeEnum.SPM };
}

View File

@ -115,7 +115,7 @@ namespace IRaCIS.Application.Services
{
var trialType = _trialRepository.Where(t => t.Id == trialUserQuery.TrialId).Select(t => t.TrialType).FirstOrDefault();
var userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA, UserTypeEnum.MW };
var userTypeEnums = new List<UserTypeEnum>() { UserTypeEnum.IQC, UserTypeEnum.APM, UserTypeEnum.MIM, UserTypeEnum.QA };
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin)
{
userTypeEnums.Add(UserTypeEnum.ProjectManager);

View File

@ -4,86 +4,84 @@
public enum UserTypeEnum
{
SuperAdmin = 1,
Admin = 2,
TA = 3,
//PM
ProjectManager=1,
ProjectManager = 4,
//CRC
ClinicalResearchCoordinator=2,
ClinicalResearchCoordinator = 5,
CRA = 6,
//IQC
IQC = 3,
IQC = 7,
////简历管理人员
//ResumeManager=4,
////简历运维人员
//ReviewerCoordinator = 5,
ReviewerCoordinator = 4,
PI = 8,
// 大屏展示
Dashboard = 6,
// 超级管理员用户类型,用于取代 SuperAdmin字段 数据库不内置这个用户类型和角色的配置,因为只允许有一个
SuperAdmin=8,
SR = 9,
MIM = 10,
IM = 11,
QA = 12,
CRA=9,
SPM=10,
APM=11,
CPM=12,
IndependentReviewer=13,
// 医学影像经理
MIM = 14,
QA=15,
EA=16,
SPM=20,
APM=21,
CPM=22,
MW=17,
IndependentReviewer=18,
SMM=18,
CMM=19,
AIR=21,
AIR = 21,
//医生用户类型暂不处理
ShareImage = 125,
Undefined = 0
Undefined=0
}
public enum UserTypeSelectEnum
{
None=0,
None = 0,
ExternalUser=1,
ExternalUser = 1,
InnerUser=2,
InnerUser = 2,
SiteSurvey=3,
SiteSurvey = 3,
EnrollOrPD_EmailReceive=4,
EnrollOrPD_EMailCopy=5,
EnrollOrPD_EmailReceive = 4,
EnrollOrPD_EMailCopy = 5,
}

View File

@ -6,11 +6,7 @@ namespace IRaCIS.Core.Domain.Models
{
public class UserType:Entity
{
//public Guid RoleId { get; set; }
//public List<TrialUser> TrialUserList { get; set; }
public UserTypeEnum UserTypeEnum { get; set; }
public string UserTypeName { get; set; }
@ -39,10 +35,5 @@ namespace IRaCIS.Core.Domain.Models
[JsonIgnore]
public List<User> UserList { get; set; }
//public bool IsInternal { get; set; }
//public UserTypeGroup Type { get; set; }
}
}

View File

@ -1860,7 +1860,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//确认重阅 区分用户类型
case "visittask/confirmrereading":
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM)
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
{
type = type + "/" + 1;
@ -2282,7 +2282,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
case "VisitTask/ConfirmReReading":
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM)
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager )
{
extraIdentification = "/" + 1;
}
@ -2816,7 +2816,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common
//同意重阅
case "VisitTask/ConfirmReReading":
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM)
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager )
{
type = type + "/" + 1;