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
2024-10-29 13:56:38 +08:00
6 changed files with 69 additions and 65 deletions
@@ -69,8 +69,4 @@
<ProjectReference Include="..\IRaCIS.Core.Infra.EFCore\IRaCIS.Core.Infra.EFCore.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Triggers\TempAbandon\" />
</ItemGroup>
</Project>
@@ -16660,17 +16660,6 @@
<param name="_qcChallengeRepository"></param>
<param name="_subjectVisitRepository"></param>
</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">
<summary>
因为可能先一致性核查通过,生成其他标准的任务了,新签名的标准也需要产生任务
@@ -16691,6 +16680,17 @@
维护 IsFrontTaskNeedSignButNotSign 字段 另外附加评估结果
</summary>
</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">
<summary>
添加访视计划 要给改项目下的所有Subject 添加该访视
@@ -1663,7 +1663,7 @@ namespace IRaCIS.Core.Application.Service.Common
if (judegeList.Count > 0)
{
var maxFinishedJudge = judegeList.Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned).FirstOrDefault();
var maxFinishedJudge = judegeList.Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned).OrderByDescending(t=>t.VisitTaskNum).FirstOrDefault();
var maxNotFinishedJudge = judegeList.Where(t => t.ReadingTaskState != ReadingTaskState.HaveSigned).FirstOrDefault();
@@ -2341,6 +2341,7 @@ namespace IRaCIS.Core.Application.Service.Common
var doctor2List = _visitTaskRepository.Where(comonTaskFilter).Where(t => t.ReadingTaskState == ReadingTaskState.HaveSigned)
.GroupBy(t => new { t.DoctorUserId, t.DoctorUser.UserName, t.DoctorUser.FullName })
//有全局裁判
.Where(g => g.Any(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null))
.Select(g => new DoctorJudgeRatio()
{
@@ -2349,7 +2350,7 @@ namespace IRaCIS.Core.Application.Service.Common
FullName = g.Key.FullName,
//触发裁判的阅片期的数量
TotalJudgeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Judge && t.SouceReadModuleId != null).Select(t => t.SouceReadModuleId).Distinct().Count(),
TotalJudgeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.SouceReadModuleId != null && t.JudgeVisitTaskId != null).Select(t => t.SouceReadModuleId).Distinct().Count(),
JudgeAgreeCount = g.Where(t => t.ReadingCategory == ReadingCategory.Global && t.JudgeVisitTaskId != null && t.JudgeVisitTask.JudgeResultTaskId == t.Id)
.Select(t => t.SouceReadModuleId).Distinct().Count(),
@@ -6,11 +6,9 @@ namespace IRaCIS.Core.Application.Triggers
public class JudgeVisitTaskTrigger(
IRepository<VisitTask> _visitTaskRepository,
IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository) : IAfterSaveTrigger<VisitTask>
IRepository<ReadingJudgeInfo> _readingJudgeInfoRepository) : IAfterSaveTrigger<VisitTask>,IBeforeSaveTrigger<VisitTask>
{
/// <summary>
/// 因为维护状态先后顺序导致 裁判任务关联的 任务上的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))
{
@@ -53,6 +58,5 @@ namespace IRaCIS.Core.Application.Triggers
}
}
}
}
}