This commit is contained in:
he
2023-03-31 13:23:43 +08:00
parent 57257a66ba
commit 032936982d
16 changed files with 206 additions and 88 deletions
@@ -1,4 +1,4 @@
//--------------------------------------------------------------------
//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-03-04 13:33:56
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
@@ -81,7 +81,8 @@ namespace IRaCIS.Core.Application.Service
{
if (existSysUser.LastName != addOrEditTrialExternalUser.LastName || existSysUser.FirstName != addOrEditTrialExternalUser.FirstName)
{
return ResponseOutput.NotOk($"该用户在系统中的用户名为:{existSysUser.LastName + " / " + existSysUser.FirstName} 电话:{existSysUser.Phone},与填写信息存在不一致项, 请将界面信息修改为与系统一致,再进行保存", new { existSysUser.LastName, existSysUser.FirstName, existSysUser.Phone, existSysUser.IsZhiZhun, existSysUser.IsTestUser }, ApiResponseCodeEnum.NeedTips);
//$"该用户在系统中的用户名为:{existSysUser.LastName + " / " + existSysUser.FirstName} 电话:{existSysUser.Phone},与填写信息存在不一致项, 请将界面信息修改为与系统一致,再进行保存",
return ResponseOutput.NotOk(_localizer["TrialExternalUser_Inconsistency", existSysUser.LastName + " / " + existSysUser.FirstName, existSysUser.Phone], new { existSysUser.LastName, existSysUser.FirstName, existSysUser.Phone, existSysUser.IsZhiZhun, existSysUser.IsTestUser }, ApiResponseCodeEnum.NeedTips);
}
}
@@ -92,7 +93,8 @@ namespace IRaCIS.Core.Application.Service
t.Email == addOrEditTrialExternalUser.Email &&
t.UserTypeId == addOrEditTrialExternalUser.UserTypeId && t.TrialId == addOrEditTrialExternalUser.TrialId))
{
return ResponseOutput.NotOk("系统已经存在与列表中填写的邮箱和用户类型相同的账户,请确认。");
//---系统已经存在与列表中填写的邮箱和用户类型相同的账户,请确认。
return ResponseOutput.NotOk(_localizer["TrialExternalUser_EmailTypeDuplicate"]);
}
@@ -157,7 +159,8 @@ namespace IRaCIS.Core.Application.Service
if (existUser.IsTestUser)
{
throw new BusinessValidationFailedException("正式类型 、培训类型的项目 不允许加入测试用户 ");
//---正式类型 、培训类型的项目 不允许加入测试用户
throw new BusinessValidationFailedException(_localizer["TrialExternalUser_TestUserNotAllowed"]);
}
}
@@ -167,7 +170,8 @@ namespace IRaCIS.Core.Application.Service
if (existUser.IsTestUser == false )
{
throw new BusinessValidationFailedException("测试项目 不允许加入正式用户 ");
//---测试项目 不允许加入正式用户
throw new BusinessValidationFailedException(_localizer["TrialExternalUser_FormalUserNotAllowed"]);
}
}
@@ -204,7 +208,8 @@ namespace IRaCIS.Core.Application.Service
}
else
{
return ResponseOutput.NotOk("人员信息不支持编辑,请删除后重新添加。");
//---人员信息不支持编辑,请删除后重新添加。
return ResponseOutput.NotOk(_localizer["TrialExternalUser_NotEditable"]);
}
}
@@ -220,7 +225,8 @@ namespace IRaCIS.Core.Application.Service
if (await _trialUserRepository.AnyAsync(t => t.TrialId == trialExternalUser.TrialId && t.UserId == trialExternalUser.SystemUserId))
{
return ResponseOutput.NotOk("当前用户已参与到项目,不允许删除");
//---当前用户已参与到项目,不允许删除
return ResponseOutput.NotOk(_localizer["TrialExternalUser_CannotDelete"]);
}
@@ -314,7 +320,11 @@ namespace IRaCIS.Core.Application.Service
{sysUserInfo.LastName + "/" + sysUserInfo.FirstName}:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{trialInfo.ResearchProgramNo} IRC供应商IRC相关工作
{
//您好,展影医疗作为 实验方案号:{trialInfo.ResearchProgramNo} 项目的IRC供应商,诚邀您参加该项目IRC相关工作,欢迎您提供指导和建议,非常感谢!
_localizer["TrialExternalUser_IRCInvitation", trialInfo.ResearchProgramNo]
}
</div>
@@ -377,7 +387,8 @@ namespace IRaCIS.Core.Application.Service
if (DateTime.Now > needUpdate.ExpireTime)
{
return ResponseOutput.NotOk("邀请加入时间已过期,重新被邀请后才可以进行确认操作");
//---邀请加入时间已过期,重新被邀请后才可以进行确认操作
return ResponseOutput.NotOk(_localizer["TrialExternalUser_InvitationExpired"]);
}
_mapper.Map(editTrialUserPreparation, needUpdate);
@@ -409,7 +420,8 @@ namespace IRaCIS.Core.Application.Service
//收件地址
messageToSend.To.Add(new MailboxAddress(String.Empty, needUpdate.Email));
//主题
messageToSend.Subject = $"[来自展影IRC] [{trialInfo.ResearchProgramNo}] 账户信息";
//$"[来自展影IRC] [{trialInfo.ResearchProgramNo}] 账户信息";
messageToSend.Subject = _localizer["TrialExternalUser_AccountInfo", trialInfo.ResearchProgramNo];
var builder = new BodyBuilder();
@@ -430,30 +442,63 @@ namespace IRaCIS.Core.Application.Service
<div style='line-height: 40px;font-size: 18px'>
{sysUserInfo.LastName + "/" + sysUserInfo.FirstName}:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{trialInfo.ResearchProgramNo}IRC相关工作
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{
// 您好,欢迎您参加项目 实验方案号:{trialInfo.ResearchProgramNo}IRC相关工作。该项目采用电子化工作流,系统及您的账号信息如下:
_localizer["TrialExternalUser_Welcome", trialInfo.ResearchProgramNo]
}
</div>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 80%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
: {trialInfo.TrialCode}
{
// 项目编号: {trialInfo.TrialCode}
_localizer["TrialExternalUser_ProjectNumber", trialInfo.TrialCode]
}
</div>
<div>
: {trialInfo.ResearchProgramNo}
{
// 试验方案号: {trialInfo.ResearchProgramNo}
_localizer["TrialExternalUser_ExperimentPlanNumber", trialInfo.ResearchProgramNo]
}
</div>
<div>
: {trialInfo.ExperimentName}
{
// 试验名称: {trialInfo.ExperimentName}
_localizer["TrialExternalUser_ExperimentName", trialInfo.ExperimentName]
}
</div>
<div>
: {sysUserInfo.UserName}
{
// 用户名: {sysUserInfo.UserName}
_localizer["TrialExternalUser_Username", sysUserInfo.UserName]
}
</div>
<div>
: {(sysUserInfo.IsFirstAdd ? verificationCode.ToString() + "(请在登录后进行修改)" : "***(您已有账号, 若忘记密码, 请通过邮箱找回)")}
</div>
{
// 密码: {(sysUserInfo.IsFirstAdd ? verificationCode.ToString() + "(请在登录后进行修改)" : "***(您已有账号, 若忘记密码, 请通过邮箱找回)")}
_localizer["TrialExternalUser_Password", verificationCode.ToString()]
}
</div>
<div>
: {sysUserInfo.UserTypeRole.UserTypeShortName}
{
// 角色: {sysUserInfo.UserTypeRole.UserTypeShortName}
_localizer["TrialExternalUser_Role", sysUserInfo.UserTypeRole.UserTypeShortName]
}
</div>
<div>
: {editTrialUserPreparation.BaseUrl}
{
// 系统登录地址: {editTrialUserPreparation.BaseUrl}
_localizer["TrialExternalUser_LoginUrl", editTrialUserPreparation.BaseUrl]
}
</div>
</div>
@@ -539,7 +584,8 @@ namespace IRaCIS.Core.Application.Service
if (DateTime.Now > needUpdate.ExpireTime)
{
return ResponseOutput.NotOk("邀请加入时间已过期,重新被邀请后才可以进行确认操作");
//---邀请加入时间已过期,重新被邀请后才可以进行确认操作
return ResponseOutput.NotOk(_localizer["TrialExternalUser_InvitationExpired"]);
}
_mapper.Map(editInfo, needUpdate);
@@ -549,7 +595,8 @@ namespace IRaCIS.Core.Application.Service
if (needUpdate.SystemUserId == null)
{
return ResponseOutput.NotOk("调研表系统用户Id 存储有问题");
//---调研表系统用户Id 存储有问题
return ResponseOutput.NotOk(_localizer["TrialExternalUser_UserIdStorageProblem"]);
}
var trialId = needUpdate.TrialSiteSurvey.TrialId;
@@ -579,7 +626,8 @@ namespace IRaCIS.Core.Application.Service
//收件地址
messageToSend.To.Add(new MailboxAddress(String.Empty, editInfo.IsJoin == true ? needUpdate.Email : revieweUser.EMail));
//主题
messageToSend.Subject = $"[来自展影IRC] [{trialInfo.ResearchProgramNo}] 账户信息";
// $"[来自展影IRC] [{trialInfo.ResearchProgramNo}] 账户信息";
messageToSend.Subject = _localizer["TrialExternalUser_IRCAccountInfo", trialInfo.ResearchProgramNo];
var builder = new BodyBuilder();
@@ -219,7 +219,8 @@ namespace IRaCIS.Application.Services
if (await _repository.AnyAsync<TrialSiteUser>(t => t.UserId == trialUser.UserId && t.TrialId == trialUser.TrialId))
{
return ResponseOutput.NotOk("Participant has participated in site maintenance");
//---人员已加入现场维护
return ResponseOutput.NotOk(_localizer["TrialMaint_PersonnelJoined"]);
}
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC && isDelete)
@@ -137,20 +137,23 @@ namespace IRaCIS.Application.Services
// 到时候 策略授权 统一改 归类
if (!(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SuperAdmin))
{
throw new BusinessValidationFailedException("只有PM/APM拥有操作权限!");
//---只有PM/APM拥有操作权限!
throw new BusinessValidationFailedException(_localizer["Trial_PMApmPermission"]);
}
//测试用户 只能创建非正式项目
if (_userInfo.IsTestUser && trialAddModel.TrialType != TrialType.NoneOfficial)
{
throw new BusinessValidationFailedException("测试用户 只能创建非正式项目");
//---测试用户 只能创建非正式项目
throw new BusinessValidationFailedException(_localizer["Trial_TestUserCreateOnlyNonFormal"]);
}
if (trialAddModel.Id == Guid.Empty || trialAddModel.Id == null)
{
if (await _trialRepository.AnyAsync(u => u.TrialCode == trialAddModel.TrialCode))
{
throw new BusinessValidationFailedException("已经存在相同的项目编号。");
//---已经存在相同的项目编号。
throw new BusinessValidationFailedException(_localizer["Trial_DuplicateProjectNumber"]);
}
var dbMaxCode = await _trialRepository.Where(t => t.CreateTime.Year == DateTime.Now.Year && t.TrialType == trialAddModel.TrialType).Select(t => t.Code).DefaultIfEmpty().MaxAsync();
@@ -205,13 +208,15 @@ namespace IRaCIS.Application.Services
if (!await _repository.AnyAsync<Trial>(u => u.Id == trialAddModel.Id && (u.TrialStatusStr == StaticData.TrialState.TrialInitializing || u.TrialStatusStr == StaticData.TrialState.TrialOngoing)))
{
throw new BusinessValidationFailedException("项目状态只有处于:初始化或者进行中时,才允许操作。");
//---项目状态只有处于:初始化或者进行中时,才允许操作。
throw new BusinessValidationFailedException(_localizer["Trial_InvalidProjectStatus"]);
}
// 判断项目Id 是否已经存在
if (await _repository.AnyAsync<Trial>(u => u.TrialCode == updateModel.TrialCode && u.Id != updateModel.Id))
{
throw new BusinessValidationFailedException("已经存在相同的项目编号。");
//---已经存在相同的项目编号。
throw new BusinessValidationFailedException(_localizer["Trial_DuplicateProjectNumber"]);
}
@@ -539,7 +544,8 @@ namespace IRaCIS.Application.Services
else
{
return ResponseOutput.NotOk("当前运行环境下,不允许删除项目数据。");
//---当前运行环境下,不允许删除项目数据。
return ResponseOutput.NotOk(_localizer["Trial_CannotDeleteProject"]);
}
@@ -668,4 +674,4 @@ namespace IRaCIS.Application.Services
}
}
}
@@ -250,17 +250,20 @@ namespace IRaCIS.Core.Application.Services
//if (await _repository.AnyAsync<TrialSiteUser>(t => t.TrialId == trialId && t.SiteId == siteId))
//{
// return ResponseOutput.NotOk("The site has been associated with CRC, and couldn't be deleted.");
//---The site has been associated with CRC, and couldn't be deleted.
// return ResponseOutput.NotOk(_localizer["TrialSite_CannotDeleteAssociatedCRC"]);
//}
if (await _repository.AnyAsync<Subject>(t => t.SiteId == siteId && t.TrialId == trialId))
{
return ResponseOutput.NotOk("The subjects has been added to this site, and couldn't be disable.");
//---The subjects has been added to this site, and couldn't be disable.
return ResponseOutput.NotOk(_localizer["TrialSite_ParticipantJoined"]);
}
//if (await _repository.AnyAsync<DicomStudy>(t => t.SiteId == siteId && t.TrialId == trialId))
//{
// return ResponseOutput.NotOk("The site has been uploaded study, and couldn't be deleted.");
//---The site has been uploaded study, and couldn't be deleted.
// return ResponseOutput.NotOk(_localizer["TrialSite_CannotDeleteUploadedData"]);
//}
@@ -269,7 +272,8 @@ namespace IRaCIS.Core.Application.Services
{
if (await _trialSiteRepository.AnyAsync(t => t.Id != editTrialSiteCommand.Id && t.TrialSiteCode == editTrialSiteCommand.TrialSiteCode && t.TrialId == editTrialSiteCommand.TrialId))
{
return ResponseOutput.NotOk("Code is not allowed to be repeated");
//---Code is not allowed to be repeated
return ResponseOutput.NotOk(_localizer["TrialSite_CodeDuplicate"]);
}
}
@@ -360,16 +364,19 @@ namespace IRaCIS.Core.Application.Services
if (await _repository.AnyAsync<TrialSiteUser>(t => t.TrialId == trialId && t.SiteId == siteId))
{
return ResponseOutput.NotOk("The site has been associated with CRC, and couldn't be deleted.");
//---The site has been associated with CRC, and couldn't be deleted.
return ResponseOutput.NotOk(_localizer["TrialSite_CannotDeleteAssociatedCRC"]);
}
if (await _repository.AnyAsync<Subject>(t => t.SiteId == siteId && t.TrialId == trialId))
{
return ResponseOutput.NotOk("The subjects has been added to this site, and couldn't be deleted.");
//---The subjects has been added to this site, and couldn't be deleted.
return ResponseOutput.NotOk(_localizer["TrialSite_CannotDeleteAssociatedSubject"]);
}
if (await _repository.AnyAsync<DicomStudy>(t => t.SiteId == siteId && t.TrialId == trialId))
{
return ResponseOutput.NotOk("The site has been uploaded study, and couldn't be deleted.");
//---The site has been uploaded study, and couldn't be deleted.
return ResponseOutput.NotOk(_localizer["TrialSite_CannotDeleteUploadedData"]);
}
await _repository.DeleteAsync(relation);
@@ -379,4 +386,4 @@ namespace IRaCIS.Core.Application.Services
}
}
}