修改裁判重阅问题
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-01-21 18:29:36 +08:00
parent a06e7a9a2c
commit 6860f9437b
3 changed files with 11 additions and 4 deletions

View File

@ -13203,7 +13203,7 @@
<param name="_readingConsistentClinicalDataRepository"></param> <param name="_readingConsistentClinicalDataRepository"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.TestService.UserMutiAccount(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.IdentityUser})"> <member name="M:IRaCIS.Core.Application.Service.TestService.UserMutiAccount(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.IdentityUser},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.UserPassWordLog})">
<summary> <summary>
用户多账号,初次维护数据 用户多账号,初次维护数据
</summary> </summary>

View File

@ -32,9 +32,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.SubmitUserName, u => u.MapFrom(s => s.SubmitUser.FullName)) .ForMember(d => d.SubmitUserName, u => u.MapFrom(s => s.SubmitUser.FullName))
.ForMember(d => d.ClinicalInformationTransmissionEnum, u => u.MapFrom(s => s.Trial.ClinicalInformationTransmissionEnum)) .ForMember(d => d.ClinicalInformationTransmissionEnum, u => u.MapFrom(s => s.Trial.ClinicalInformationTransmissionEnum))
.ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.IsBaseLine ? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any() .ForMember(d => d.IsHaveClinicalData, u => u.MapFrom(t => t.IsBaseLine ? t.PreviousHistoryList.Any() || t.PreviousOtherList.Any() || t.PreviousSurgeryList.Any()
|| t.ReadingClinicalDataList.Any(x => x.ClinicalDataTrialSet.UploadRole == Domain.Share.UploadRole.CRC && x.ReadingClinicalDataPDFList.Count > 0) || t.ReadingClinicalDataList.Any(x => x.ClinicalDataTrialSet.UploadRole == Domain.Share.UploadRole.CRC && x.ReadingClinicalDataPDFList.Count > 0)
|| t.PreviousSurgeryList.Any() : false)) : false))
.ForMember(d => d.DicomStudyCount, u => u.MapFrom(t => t.StudyList.Count())) .ForMember(d => d.DicomStudyCount, u => u.MapFrom(t => t.StudyList.Count()))
.ForMember(d => d.NoneDicomStudyCount, u => u.MapFrom(t => t.NoneDicomStudyList.Count(t => t.NoneDicomFileList.Any()))); .ForMember(d => d.NoneDicomStudyCount, u => u.MapFrom(t => t.NoneDicomStudyList.Count(t => t.NoneDicomFileList.Any())));

View File

@ -39,6 +39,7 @@ namespace IRaCIS.Core.Application.Triggers
} }
} }
//这里提交事务 多次 会进入多次 导致新生成的裁判任务设置了后再次进入又设置为null了
//这个放在save 之前,不然可能先执行添加的修改为正确的,再执行修改的,又重置为空了 所以这里需要调整下 (裁判重阅,会修改裁判需要充值, 同时也会新增裁判任务) //这个放在save 之前,不然可能先执行添加的修改为正确的,再执行修改的,又重置为空了 所以这里需要调整下 (裁判重阅,会修改裁判需要充值, 同时也会新增裁判任务)
public async Task BeforeSave(ITriggerContext<VisitTask> context, CancellationToken cancellationToken) public async Task BeforeSave(ITriggerContext<VisitTask> context, CancellationToken cancellationToken)
{ {
@ -53,7 +54,13 @@ namespace IRaCIS.Core.Application.Triggers
if (find != null) if (find != null)
{ {
var ids = new Guid[] { find.TaskIdOne, find.TaskIdTwo }; var ids = new Guid[] { find.TaskIdOne, find.TaskIdTwo };
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => ids.Contains(t.Id), u => new VisitTask() { JudgeVisitTaskId = null });
if(!_readingJudgeInfoRepository.Any(t=> ids.Contains(t.TaskIdOne) && t.CreateTime > find.CreateTime))
{
await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => ids.Contains(t.Id), u => new VisitTask() { JudgeVisitTaskId = null });
}
} }
} }
} }