+
Thank you for using our IRC imaging system.
-
- {1}, the verification code is {2}. Enter the verification code within 3 minutes for subsequent operations. Please ignore this email if not by yourself.
+
+ {1}, the verification code is {2}. Please enter this code within 3 minutes for follow-up operations.
+
+
+ If you are not the intended person, please ignore this email.
-
-
+
Best regards,
-
Extensive Imaging
+
Extensive Imaging
diff --git a/IRaCIS.Core.Application/Service/Common/MailService.cs b/IRaCIS.Core.Application/Service/Common/MailService.cs
index f784e4c89..5f6e58120 100644
--- a/IRaCIS.Core.Application/Service/Common/MailService.cs
+++ b/IRaCIS.Core.Application/Service/Common/MailService.cs
@@ -186,7 +186,6 @@ namespace IRaCIS.Application.Services
builder.HtmlBody = string.Format(templateInfo,
- "",
//---您正在进行邮箱重置密码操作
_localizer["Mail_ResettingPassword "],
verificationCode
@@ -254,7 +253,6 @@ namespace IRaCIS.Application.Services
builder.HtmlBody = string.Format(templateInfo,
- "",
//---您正在参与展影医疗IRC项目
_localizer["Mail_IRCProject"],
verificationCode
@@ -321,7 +319,6 @@ namespace IRaCIS.Application.Services
builder.HtmlBody = string.Format(templateInfo,
- "",
//---您正在参与展影医疗IRC项目中心调研工作
_localizer["Mail_CenterResearchReminder"],
verificationCode
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs
index d3604a473..f7672f53f 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/PersonalWorkstationViewModel.cs
@@ -268,11 +268,15 @@ namespace IRaCIS.Core.Application.Contracts
public string TrialStatusStr { get; set; }
-
public int? ExpetiedTaskCount { get; set; }
+
public int? ReReadingApprovalCount { get; set; }
+
+ public int? PendingReconciliation { get; set; }
+
+
}
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
index 49710b2be..8268127c3 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/PersonalWorkstation.cs
@@ -887,6 +887,11 @@ namespace IRaCIS.Core.Application
[FromServices] IRepository
_taskMedicalReviewRepository)
{
+ var isPM = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager;
+ var isCRC = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator;
+ var isIQC = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC;
+ var isMIM = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.MIM;
+ var isSPMOrCPM = _userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM;
var query = _trialRepository.AsQueryable().IgnoreQueryFilters()
@@ -906,6 +911,10 @@ 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,
+ ReReadingApprovalCount= isPM? t.VisitTaskReReadingList.Where(t=>t.OriginalReReadingTask.ReReadingApplyState==ReReadingApplyState.DocotorHaveApplyed).Count():0,
+ PendingReconciliation=isPM? t.SubjectVisitList.Where(t=>t.CheckState==CheckStateEnum.ToCheck).Count():0,
+
});
diff --git a/IRaCIS.Core.Domain/SQLFile/20230613.sql b/IRaCIS.Core.Domain/SQLFile/20230613.sql
new file mode 100644
index 000000000..0eafb3ce4
--- /dev/null
+++ b/IRaCIS.Core.Domain/SQLFile/20230613.sql
@@ -0,0 +1,8 @@
+--同步重阅申请表结构后,再维护该字段
+
+UPDATE VisitTaskReReading
+SET TrialId = VisitTask.TrialId
+FROM VisitTaskReReading
+INNER JOIN VisitTask ON VisitTaskReReading.OriginalReReadingTaskId = VisitTask.Id;
+
+delete VisitTaskReReading where TrialId is NULL
\ No newline at end of file
diff --git a/IRaCIS.Core.Domain/Trial/Trial.cs b/IRaCIS.Core.Domain/Trial/Trial.cs
index ad71a19eb..86afacb29 100644
--- a/IRaCIS.Core.Domain/Trial/Trial.cs
+++ b/IRaCIS.Core.Domain/Trial/Trial.cs
@@ -27,6 +27,9 @@ namespace IRaCIS.Core.Domain.Models
public List SubjectDoctorUserList { get; set; } = new List();
[JsonIgnore]
public List VisitTaskList { get; set; } = new List() { };
+
+ [JsonIgnore]
+ public List VisitTaskReReadingList { get; set; }
[JsonIgnore]
public List TrialSiteSurveyList { get; set; } = new List();