diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DownloadAndUploadDTO.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DownloadAndUploadDTO.cs index 4203925a5..49786d306 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DownloadAndUploadDTO.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/DownloadAndUploadDTO.cs @@ -11,7 +11,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc.DTO { public Guid VisitTaskId { get; set; } - //public Guid SiteId { get; set; } + public Guid SiteId { get; set; } public Guid SubejctId { get; set; } @@ -21,6 +21,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc.DTO public string TaskName { get; set; } + public string CriterionModalitys { get; set; } + public Guid? SourceSubjectVisitId { get; set; } public PackState PackState { get; set; } diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs index 647b1220b..f9a5e6575 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs @@ -167,9 +167,29 @@ namespace IRaCIS.Core.Application.Contracts } + public class PriArchiveTaskStudyCommand + { + + [NotDefault] + public Guid TrialId { get; set; } + + [NotDefault] + public Guid SubjectId { get; set; } + + [NotDefault] + public Guid SubjectVisitId { get; set; } + + public decimal FileSize { get; set; } + + public bool IsDicomReUpload { get; set; } + + + public int FileCount { get; set; } + } + public class PreArchiveDicomStudyCommand { - //public string StudyInstanceUid { get; set; } + [NotDefault] public Guid TrialId { get; set; } diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 2b7d9d48a..c3a9b4f49 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -57,8 +57,12 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc .Select(u => new SubjectImageUploadDTO() { VisitTaskId = u.Id, + SubejctId = u.SubjectId, + SiteId=u.Subject.SiteId, + + CriterionModalitys= u.TrialReadingCriterion.CriterionModalitys, SubjectCode = u.IsSelfAnalysis == true ? u.Subject.Code : u.BlindSubjectCode, TaskBlindName = u.TaskBlindName, @@ -144,6 +148,39 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc #endregion } + + + + + [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] + + public async Task PreArchiveDicomStudy(PriArchiveTaskStudyCommand preArchiveStudyCommand) + { + + var studyMonitor = new StudyMonitor() + { + TrialId = preArchiveStudyCommand.TrialId, + SubjectId = preArchiveStudyCommand.SubjectId, + SubjectVisitId = preArchiveStudyCommand.SubjectVisitId, + + IsSuccess = false, + UploadStartTime = DateTime.Now, + IsDicom = true, + IP = _userInfo.IP, + + IsDicomReUpload = preArchiveStudyCommand.IsDicomReUpload, + FileSize = preArchiveStudyCommand.FileSize, + FileCount = preArchiveStudyCommand.FileCount, + + }; + + + var addEntity = await _studyMonitorRepository.AddAsync(studyMonitor, true); + + return ResponseOutput.Ok(addEntity.Id); + + } + [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] public async Task AddOrUpdateArchiveTaskStudy(TaskArchiveStudyCommand incommand) { diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 0841dc3a5..8d0545a1d 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1411,8 +1411,6 @@ namespace IRaCIS.Core.Application.Image.QA }); - - await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => trialInOrderCriterionIdList.Contains(x.TrialReadingCriterionId)&& x.SubjectId == dbSubjectVisit.SubjectId&& dbSubjectVisit.VisitNum<= x.VisitTaskNum && x.VisitTaskNum < Math.Ceiling(dbSubjectVisit.VisitNum+0.01m) // 当前的访视 全局 裁判 及之前 全都加急 && x.ReadingTaskState != ReadingTaskState.HaveSigned && x.TaskState == TaskState.Effect, x => new VisitTask() @@ -1466,14 +1464,14 @@ namespace IRaCIS.Core.Application.Image.QA dbSubjectVisit.IsUrgent = true; - //PD确认的紧急会把前面所有未QC完成的访视均标记为紧急 + ////PD确认的紧急会把前面所有未QC完成的访视均标记为紧急 - var previosSVlist = await _subjectVisitRepository.Where(t => t.SubjectId == dbSubjectVisit.SubjectId && t.VisitNum < dbSubjectVisit.VisitNum && t.IsUrgent == false && t.SubmitState == SubmitStateEnum.Submitted, true).ToListAsync(); + //var previosSVlist = await _subjectVisitRepository.Where(t => t.SubjectId == dbSubjectVisit.SubjectId && t.VisitNum < dbSubjectVisit.VisitNum && t.IsUrgent == false && t.SubmitState == SubmitStateEnum.Submitted, true).ToListAsync(); - previosSVlist.ForEach(t => - { - t.IsUrgent = true; - }); + //previosSVlist.ForEach(t => + //{ + // t.IsUrgent = true; + //}); } diff --git a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs index 81cb8e983..ce264d3c0 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs @@ -61,7 +61,7 @@ namespace IRaCIS.Core.Domain.Models public Guid TrialId { get; set; } - public Guid SiteId { get; set; } + public Guid SiteId { get; set; }=Guid.Empty; public Guid SubjectId { get; set; }