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

This commit is contained in:
he
2025-08-05 16:56:10 +08:00
3 changed files with 58 additions and 21 deletions
@@ -1717,12 +1717,12 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment)
{
// PM申请 SPM / CPM审批
if (requestReReadingType == RequestReReadingType.TrialGroupApply)
{
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
}
//if (requestReReadingType == RequestReReadingType.TrialGroupApply)
//{
// filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
//}
//IR 申请 PM审批
else
if (requestReReadingType != RequestReReadingType.TrialGroupApply)
{
// 1.1 基线任务影响BM任务
@@ -1741,8 +1741,11 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
}
else
{
//默认影响的都是该标准的任务
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId);
if (requestReReadingType != RequestReReadingType.TrialGroupApply)
{
//默认影响的都是该标准的任务
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId);
}
}
//PM申请 SPM / CPM审批 回退访视,因此这里不生成访视任务 影响多个标准的任务
@@ -2643,7 +2646,7 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
/// <param name="applyId"> 申请记录的Id</param>
/// <returns></returns>
[HttpGet("{taskId:guid}/{isReReading:bool}")]
public async Task<(List<InfluenceTaskInfo>, object)> GetReReadingOrBackInfluenceTaskList(Guid taskId, bool isReReading, Guid? applyId)
public async Task<IResponseOutput<List<InfluenceTaskInfo>>> GetReReadingOrBackInfluenceTaskList(Guid taskId, bool isReReading, Guid? applyId)
{
var isIRAppyTaskInfluenced = false;
@@ -2661,13 +2664,16 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
//IR 申请1.1 基线重阅,影响附加评估所有的任务
var isIR1Point1AdditionalAssessmentBaseline = false;
//是IR 申请 PM 审批流程
var isIRApplyPMApprovalProcess = (IsPMOrAPm() && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUserRole.UserTypeEnum == UserTypeEnum.IndependentReviewer))
|| (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null);
//附加评估 IR 和PM 看到的影响列表不一样
if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment)
{
// IR 申请 PM 同意
if (((IsPMOrAPm() && applyId != null && await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUserRole.UserTypeEnum == UserTypeEnum.IndependentReviewer))
|| (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null)))
if (isIRApplyPMApprovalProcess)
{
// 1.1 基线任务影响BM任务
@@ -2686,18 +2692,20 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
}
}
//(1、PM回退,PM申请重阅,SPM同意回退)
else
{
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
//(1、PM回退,PM申请重阅,SPM同意回退)--20250804-感觉这里没用,不用限制
//else
//{
// filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
}
//}
}
else
{
//默认影响的都是该标准的任务
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId);
if (isReReading == true && isIRApplyPMApprovalProcess)
{
//默认影响的都是该标准的任务
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == filterObj.TrialReadingCriterionId);
}
}
@@ -2938,8 +2946,8 @@ public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
}
#endregion
return (list, new { IsIRAppyTaskInfluenced = isIRAppyTaskInfluenced });
//IsIRAppyTaskInfluenced 列表中存在IR已申请重阅的任务!
return ResponseOutput.Ok(list, new { IsIRAppyTaskInfluenced = isIRAppyTaskInfluenced });
}
@@ -88,7 +88,7 @@ namespace IRaCIS.Core.Application.Service.Common
var query = from qa in _trialQCQuestionAnswerRepository.Where(t => t.SubjectVisit.TrialId == trialId &&
(t.SubjectVisit.AuditState == AuditStateEnum.QCPassed ||
(t.SubjectVisit.AuditState == AuditStateEnum.QCPassed && t.SecondReviewTime == null ||
(t.SubjectVisit.SecondReviewState == SecondReviewState.AuditPassed && t.SecondReviewTime <= t.SubjectVisit.Trial.QCQuestionConfirmedTime) ||
(t.SubjectVisit.SecondReviewState == SecondReviewState.WaitAudit && t.SecondReviewTime < t.SubjectVisit.Trial.QCQuestionConfirmedTime)))
join u in _userRoleRepository.AsQueryable() on qa.UpdateUserId equals u.Id