修改QC复核 -二次提交-uat-9
continuous-integration/drone/push Build is passing Details

Uat_IRC_Net8
hang 2025-07-15 17:27:05 +08:00
parent 132a0a8eba
commit e11ab15e6c
2 changed files with 12 additions and 5 deletions

View File

@ -6,6 +6,7 @@ using IRaCIS.Core.Application.Helper;
using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Domain.Models;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infra.EFCore.Common; using IRaCIS.Core.Infra.EFCore.Common;
using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure;
@ -868,10 +869,14 @@ namespace IRaCIS.Core.Application
} }
else if (signConfirmDTO.SignCode == ((int)SignEnum.SecondReviewConfirm).ToString()) else if (signConfirmDTO.SignCode == ((int)SignEnum.SecondReviewConfirm).ToString())
{ {
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == signConfirmDTO.TrialId && t.AuditState == AuditStateEnum.QCPassed, u => new SubjectVisit() { SecondReviewState = SecondReviewState.WaitAudit }); var trialConfirmTime = _trialRepository.Where(t => t.Id == signConfirmDTO.TrialId).Select(t => t.QCQuestionConfirmedTime).FirstOrDefault();
//重复二次复核签名
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.Id == signConfirmDTO.TrialId && t.AuditState == AuditStateEnum.QCPassed
&& !t.TrialQCQuestionAnswerList.Any(t => t.SecondReviewTime == trialConfirmTime), u => new SubjectVisit() { SecondReviewState = SecondReviewState.WaitAudit });
//删除复审中间临时数据 //删除复审中间临时数据
await _qcQuestionAnswerRepository.BatchDeleteNoTrackingAsync(t => t.SubjectVisit.TrialId == signConfirmDTO.TrialId && t.SubjectVisit.AuditState != AuditStateEnum.QCPassed && t.CurrentQCEnum == CurrentQC.SecondReview); await _qcQuestionAnswerRepository.BatchDeleteNoTrackingAsync(t => t.SubjectVisit.TrialId == signConfirmDTO.TrialId && t.SubjectVisit.SecondReviewState != SecondReviewState.AuditPassed && t.CurrentQCEnum == CurrentQC.SecondReview);
} }
else if (signConfirmDTO.SignCode == ((int)SignEnum.TrialQCQuestionConfirm).ToString()) else if (signConfirmDTO.SignCode == ((int)SignEnum.TrialQCQuestionConfirm).ToString())
{ {
@ -1288,7 +1293,7 @@ namespace IRaCIS.Core.Application
[HttpGet("{trialId:guid}")] [HttpGet("{trialId:guid}")]
public async Task<TrialConfigDTO> GetTrialConfigInfo(Guid trialId) public async Task<TrialConfigDTO> GetTrialConfigInfo(Guid trialId)
{ {
var result= await _trialRepository.Where(t => t.Id == trialId).ProjectTo<TrialConfigDTO>(_mapper.ConfigurationProvider, new var result = await _trialRepository.Where(t => t.Id == trialId).ProjectTo<TrialConfigDTO>(_mapper.ConfigurationProvider, new
{ {
isEn_Us = _userInfo.IsEn_Us isEn_Us = _userInfo.IsEn_Us
@ -1301,7 +1306,7 @@ namespace IRaCIS.Core.Application
.Select(c => c.ModalityForEdit) .Select(c => c.ModalityForEdit)
.Distinct(), .Distinct(),
DicomStudyNameList= t.StudyList.Where(t => t.StudyName != "") DicomStudyNameList = t.StudyList.Where(t => t.StudyName != "")
.Select(c => c.StudyName) .Select(c => c.StudyName)
.Distinct(), .Distinct(),
@ -1315,7 +1320,7 @@ namespace IRaCIS.Core.Application
}).FirstOrDefault(); }).FirstOrDefault();
result.StudyUseModalityList= use.DicomModalityList.Union(use.NoneDicomModalityList).Distinct().ToList(); result.StudyUseModalityList = use.DicomModalityList.Union(use.NoneDicomModalityList).Distinct().ToList();
result.StudyUseStudyNameList = use.DicomStudyNameList.Union(use.NoneDicomStudyNameList).Distinct().ToList(); result.StudyUseStudyNameList = use.DicomStudyNameList.Union(use.NoneDicomStudyNameList).Distinct().ToList();

View File

@ -6,6 +6,8 @@ namespace IRaCIS.Core.Domain.Models;
public class SubjectVisit : BaseFullDeleteAuditEntity public class SubjectVisit : BaseFullDeleteAuditEntity
{ {
#region 导航属性 #region 导航属性
[JsonIgnore]
public List<TrialQCQuestionAnswer> TrialQCQuestionAnswerList { get; set; }
[JsonIgnore] [JsonIgnore]
public TrialSite TrialSite { get; set; } public TrialSite TrialSite { get; set; }