修改触发裁判逻辑

IRC_NewDev
hang 2024-10-28 17:36:57 +08:00
parent 6d628727bb
commit 14d9d8e7a5
3 changed files with 20 additions and 20 deletions

View File

@ -69,8 +69,4 @@
<ProjectReference Include="..\IRaCIS.Core.Infra.EFCore\IRaCIS.Core.Infra.EFCore.csproj" /> <ProjectReference Include="..\IRaCIS.Core.Infra.EFCore\IRaCIS.Core.Infra.EFCore.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Folder Include="Triggers\TempAbandon\" />
</ItemGroup>
</Project> </Project>

View File

@ -16653,17 +16653,6 @@
<param name="_qcChallengeRepository"></param> <param name="_qcChallengeRepository"></param>
<param name="_subjectVisitRepository"></param> <param name="_subjectVisitRepository"></param>
</member> </member>
<member name="M:IRaCIS.Core.Application.Triggers.JudgeVisitTaskTrigger.AfterSave(EntityFrameworkCore.Triggered.ITriggerContext{IRaCIS.Core.Domain.Models.VisitTask},System.Threading.CancellationToken)">
<summary>
因为维护状态先后顺序导致 裁判任务关联的 任务上的JudgeVisitTaskId==nulll 在这里需要重新设置下
比如 两个任务产生了裁判然后其中一个人申请了重阅影响了裁判需要清理之前任务的上裁判id (申请重阅,退回,里面分有序,无序,情况太多,所以不在那块逻辑修改,不然得加多个地方处理,在这里统一处理)
比如: 申请裁判任务重阅事务里面本来设置了任务上的裁判id,但是因为下面的逻辑,导致设置的值又被清理了,只能重新设置下
</summary>
<param name="context"></param>
<param name="cancellationToken"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Triggers.TrialCriterionSignTrigger"> <member name="T:IRaCIS.Core.Application.Triggers.TrialCriterionSignTrigger">
<summary> <summary>
因为可能先一致性核查通过,生成其他标准的任务了,新签名的标准也需要产生任务 因为可能先一致性核查通过,生成其他标准的任务了,新签名的标准也需要产生任务
@ -16684,6 +16673,17 @@
维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果 维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.Triggers.JudgeVisitTaskTrigger.AfterSave(EntityFrameworkCore.Triggered.ITriggerContext{IRaCIS.Core.Domain.Models.VisitTask},System.Threading.CancellationToken)">
<summary>
因为维护状态先后顺序导致 裁判任务关联的 任务上的JudgeVisitTaskId==nulll 在这里需要重新设置下
比如 两个任务产生了裁判然后其中一个人申请了重阅影响了裁判需要清理之前任务的上裁判id (申请重阅,退回,里面分有序,无序,情况太多,所以不在那块逻辑修改,不然得加多个地方处理,在这里统一处理)
比如: 申请裁判任务重阅事务里面本来设置了任务上的裁判id,但是因为下面的逻辑,导致设置的值又被清理了,只能重新设置下
</summary>
<param name="context"></param>
<param name="cancellationToken"></param>
<returns></returns>
</member>
<member name="T:IRaCIS.Core.Application.Triggers.SubjectTrigger"> <member name="T:IRaCIS.Core.Application.Triggers.SubjectTrigger">
<summary> <summary>
添加访视计划 要给改项目下的所有Subject 添加该访视 添加访视计划 要给改项目下的所有Subject 添加该访视

View File

@ -6,11 +6,9 @@ namespace IRaCIS.Core.Application.Triggers
public class JudgeVisitTaskTrigger( public class JudgeVisitTaskTrigger(
IRepository<VisitTask> _visitTaskRepository, IRepository<VisitTask> _visitTaskRepository,
IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository) : IAfterSaveTrigger<VisitTask> IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository) : IAfterSaveTrigger<VisitTask>,IBeforeSaveTrigger<VisitTask>
{ {
/// <summary> /// <summary>
/// 因为维护状态先后顺序导致 裁判任务关联的 任务上的JudgeVisitTaskId==nulll 在这里需要重新设置下 /// 因为维护状态先后顺序导致 裁判任务关联的 任务上的JudgeVisitTaskId==nulll 在这里需要重新设置下
/// ///
@ -39,7 +37,14 @@ namespace IRaCIS.Core.Application.Triggers
} }
} }
else if (context.ChangeType == ChangeType.Modified) }
//这个放在save 之前,不然可能先执行添加的修改为正确的,再执行修改的,又重置为空了 所以这里需要调整下 (裁判重阅,会修改裁判需要充值, 同时也会新增裁判任务)
public async Task BeforeSave(ITriggerContext<VisitTask> context, CancellationToken cancellationToken)
{
var visitTask = context.Entity;
if (context.ChangeType == ChangeType.Modified)
{ {
if (visitTask.ReadingCategory == ReadingCategory.Judge && (visitTask.TaskState == TaskState.Adbandon || visitTask.TaskState == TaskState.HaveReturned)) if (visitTask.ReadingCategory == ReadingCategory.Judge && (visitTask.TaskState == TaskState.Adbandon || visitTask.TaskState == TaskState.HaveReturned))
{ {
@ -53,6 +58,5 @@ namespace IRaCIS.Core.Application.Triggers
} }
} }
} }
} }
} }