修改监控
							parent
							
								
									839646e410
								
							
						
					
					
						commit
						f9183dc6f4
					
				| 
						 | 
					@ -206,6 +206,8 @@ namespace IRaCIS.Api.Controllers
 | 
				
			||||||
                        SubjectId = savedInfo.SubjectId,
 | 
					                        SubjectId = savedInfo.SubjectId,
 | 
				
			||||||
                        SubjectVisitId = savedInfo.SubjectVisitId,
 | 
					                        SubjectVisitId = savedInfo.SubjectVisitId,
 | 
				
			||||||
                        StudyId = archivedStudyIds[0],
 | 
					                        StudyId = archivedStudyIds[0],
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        StudyCode= studycode,
 | 
				
			||||||
                        UploadStartTime = startTime,
 | 
					                        UploadStartTime = startTime,
 | 
				
			||||||
                        UploadFinishedTime = DateTime.Now,
 | 
					                        UploadFinishedTime = DateTime.Now,
 | 
				
			||||||
                        //TotalMillisecondsInterval = (DateTime.Now- startTime).TotalMilliseconds,
 | 
					                        //TotalMillisecondsInterval = (DateTime.Now- startTime).TotalMilliseconds,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -132,103 +132,160 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
 | 
				
			||||||
        public async Task<PageOutput<UnionStudyMonitorModel>> GetDicomAndNoneDicomStudyMonitorList(StudyQuery studyQuery)
 | 
					        public async Task<PageOutput<UnionStudyMonitorModel>> GetDicomAndNoneDicomStudyMonitorList(StudyQuery studyQuery)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var dicomStudyQuery = _repository.Where<StudyMonitor>(t => t.TrialId == studyQuery.TrialId && t.IsDicom)
 | 
					            var StudyMonitorQuery = _repository.Where<StudyMonitor>(t => t.TrialId == studyQuery.TrialId && t.IsDicom)
 | 
				
			||||||
                    .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
 | 
					                 .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
 | 
				
			||||||
                    .WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
 | 
					                 .WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
 | 
				
			||||||
                    .WhereIf(!string.IsNullOrWhiteSpace(studyQuery.SubjectInfo), t => t.Subject.Code.Contains(studyQuery.SubjectInfo))
 | 
					                 .WhereIf(!string.IsNullOrWhiteSpace(studyQuery.SubjectInfo), t => t.Subject.Code.Contains(studyQuery.SubjectInfo))
 | 
				
			||||||
                    .Select(t => new UnionStudyMonitorModel()
 | 
					                 .WhereIf(studyQuery.SubjectId != null, t => t.SubjectId == studyQuery.SubjectId)
 | 
				
			||||||
                    {
 | 
					                 .WhereIf(studyQuery.SubjectVisitId != null, t => t.SubjectId == studyQuery.SubjectVisitId)
 | 
				
			||||||
                        TrialId = t.TrialId,
 | 
					                 .WhereIf(studyQuery.SiteId != null, t => t.SiteId == studyQuery.SiteId)
 | 
				
			||||||
                        SiteId = t.SiteId,
 | 
					 | 
				
			||||||
                        SubjectId = t.SubjectId,
 | 
					 | 
				
			||||||
                        SubjectVisitId = t.SubjectVisitId,
 | 
					 | 
				
			||||||
                        VisitName = t.SubjectVisit.VisitName,
 | 
					 | 
				
			||||||
                        VisitNum = t.SubjectVisit.VisitNum,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        SubjectCode = t.Subject.Code,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        TrialSiteAliasName = t.TrialSite.TrialSiteAliasName,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        TrialSiteCode = t.TrialSite.TrialSiteCode,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        Uploader = t.Uploader.FullName,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        UploadTime = t.CreateTime,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        IP = t.IP,
 | 
					 | 
				
			||||||
                        FileCount = t.FileCount,
 | 
					 | 
				
			||||||
                        FileSize = t.FileSize,
 | 
					 | 
				
			||||||
                        UploadFinishedTime = t.UploadFinishedTime,
 | 
					 | 
				
			||||||
                        UploadStartTime = t.UploadStartTime,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        TotalMillisecondsInterval = t.TotalMillisecondsInterval,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        IsDicomReUpload = t.IsDicomReUpload,
 | 
					 | 
				
			||||||
                        StudyId = t.Id,
 | 
					 | 
				
			||||||
                        IsDicom = t.IsDicom,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        StudyCode = t.DicomStudy.StudyCode
 | 
					 | 
				
			||||||
                        //DicomStudyCode = t.DicomStudy.StudyCode,
 | 
					 | 
				
			||||||
                        //NoneDicomCode = 0,
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            //.ProjectTo<UnionStudyViewDodel>(_mapper.ConfigurationProvider);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            var nodeDicomStudyQuery = _repository.Where<StudyMonitor>(t => t.TrialId == studyQuery.TrialId && t.IsDicom == false)
 | 
					 | 
				
			||||||
                .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
 | 
					 | 
				
			||||||
                .WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
 | 
					 | 
				
			||||||
                .WhereIf(!string.IsNullOrWhiteSpace(studyQuery.SubjectInfo), t => t.Subject.Code.Contains(studyQuery.SubjectInfo))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                 .Select(t => new UnionStudyMonitorModel()
 | 
					                 .Select(t => new UnionStudyMonitorModel()
 | 
				
			||||||
                 {
 | 
					                  {
 | 
				
			||||||
                     
 | 
					                      TrialId = t.TrialId,
 | 
				
			||||||
                     TrialId = t.TrialId,
 | 
					                      SiteId = t.SiteId,
 | 
				
			||||||
                     SiteId = t.SiteId,
 | 
					                      SubjectId = t.SubjectId,
 | 
				
			||||||
                     SubjectId = t.SubjectId,
 | 
					                      SubjectVisitId = t.SubjectVisitId,
 | 
				
			||||||
                     SubjectVisitId = t.SubjectVisitId,
 | 
					                      VisitName = t.SubjectVisit.VisitName,
 | 
				
			||||||
                     VisitName = t.SubjectVisit.VisitName,
 | 
					                      VisitNum = t.SubjectVisit.VisitNum,
 | 
				
			||||||
                     VisitNum = t.SubjectVisit.VisitNum,
 | 
					
 | 
				
			||||||
                     SubjectCode = t.Subject.Code,
 | 
					
 | 
				
			||||||
                     TrialSiteAliasName = t.TrialSite.TrialSiteAliasName,
 | 
					
 | 
				
			||||||
                     TrialSiteCode = t.TrialSite.TrialSiteCode,
 | 
					                      SubjectCode = t.Subject.Code,
 | 
				
			||||||
                     Uploader = t.Uploader.FullName,
 | 
					
 | 
				
			||||||
                     UploadTime = t.CreateTime,
 | 
					
 | 
				
			||||||
 | 
					                      TrialSiteAliasName = t.TrialSite.TrialSiteAliasName,
 | 
				
			||||||
                     IP = t.IP,
 | 
					
 | 
				
			||||||
                     FileCount = t.FileCount,
 | 
					                      TrialSiteCode = t.TrialSite.TrialSiteCode,
 | 
				
			||||||
                     FileSize = t.FileSize,
 | 
					
 | 
				
			||||||
                     UploadFinishedTime = t.UploadFinishedTime,
 | 
					                      Uploader = t.Uploader.FullName,
 | 
				
			||||||
                     UploadStartTime = t.UploadStartTime,
 | 
					
 | 
				
			||||||
 | 
					                      UploadTime = t.CreateTime,
 | 
				
			||||||
                     TotalMillisecondsInterval = t.TotalMillisecondsInterval,
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                     IsDicomReUpload = t.IsDicomReUpload,
 | 
					                      IP = t.IP,
 | 
				
			||||||
                     StudyId = t.Id,
 | 
					                      FileCount = t.FileCount,
 | 
				
			||||||
                     IsDicom = t.IsDicom,
 | 
					                      FileSize = t.FileSize,
 | 
				
			||||||
 | 
					                      UploadFinishedTime = t.UploadFinishedTime,
 | 
				
			||||||
                     StudyCode = t.NoneDicomStudy.StudyCode
 | 
					                      UploadStartTime = t.UploadStartTime,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                     //DicomStudyCode = string.Empty,
 | 
					                      TotalMillisecondsInterval = t.TotalMillisecondsInterval,
 | 
				
			||||||
                     //NoneDicomCode = t.NoneDicomStudy.Code,
 | 
					
 | 
				
			||||||
 | 
					                      IsDicomReUpload = t.IsDicomReUpload,
 | 
				
			||||||
                 });
 | 
					                      StudyId = t.Id,
 | 
				
			||||||
 | 
					                      IsDicom = t.IsDicom,
 | 
				
			||||||
            //.ProjectTo<UnionStudyViewDodel>(_mapper.ConfigurationProvider);
 | 
					
 | 
				
			||||||
 | 
					                      StudyCode = t.StudyCode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            return await StudyMonitorQuery.ToPagedListAsync(studyQuery.PageIndex, studyQuery.PageSize, string.IsNullOrEmpty(studyQuery.SortField) ? "UploadTime" : studyQuery.SortField, studyQuery.Asc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            #region 冗余查询
 | 
				
			||||||
 | 
					            //var dicomStudyQuery = _repository.Where<StudyMonitor>(t => t.TrialId == studyQuery.TrialId && t.IsDicom)
 | 
				
			||||||
 | 
					            //     .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
 | 
				
			||||||
 | 
					            //     .WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
 | 
				
			||||||
 | 
					            //     .WhereIf(!string.IsNullOrWhiteSpace(studyQuery.SubjectInfo), t => t.Subject.Code.Contains(studyQuery.SubjectInfo))
 | 
				
			||||||
 | 
					            //     .Select(t => new UnionStudyMonitorModel()
 | 
				
			||||||
 | 
					            //     {
 | 
				
			||||||
 | 
					            //         TrialId = t.TrialId,
 | 
				
			||||||
 | 
					            //         SiteId = t.SiteId,
 | 
				
			||||||
 | 
					            //         SubjectId = t.SubjectId,
 | 
				
			||||||
 | 
					            //         SubjectVisitId = t.SubjectVisitId,
 | 
				
			||||||
 | 
					            //         VisitName = t.SubjectVisit.VisitName,
 | 
				
			||||||
 | 
					            //         VisitNum = t.SubjectVisit.VisitNum,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         SubjectCode = t.Subject.Code,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         TrialSiteAliasName = t.TrialSite.TrialSiteAliasName,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         TrialSiteCode = t.TrialSite.TrialSiteCode,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         Uploader = t.Uploader.FullName,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         UploadTime = t.CreateTime,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         IP = t.IP,
 | 
				
			||||||
 | 
					            //         FileCount = t.FileCount,
 | 
				
			||||||
 | 
					            //         FileSize = t.FileSize,
 | 
				
			||||||
 | 
					            //         UploadFinishedTime = t.UploadFinishedTime,
 | 
				
			||||||
 | 
					            //         UploadStartTime = t.UploadStartTime,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         TotalMillisecondsInterval = t.TotalMillisecondsInterval,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         IsDicomReUpload = t.IsDicomReUpload,
 | 
				
			||||||
 | 
					            //         StudyId = t.Id,
 | 
				
			||||||
 | 
					            //         IsDicom = t.IsDicom,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         StudyCode = t.DicomStudy.StudyCode
 | 
				
			||||||
 | 
					            //            //DicomStudyCode = t.DicomStudy.StudyCode,
 | 
				
			||||||
 | 
					            //            //NoneDicomCode = 0,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ////.ProjectTo<UnionStudyViewDodel>(_mapper.ConfigurationProvider);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //var nodeDicomStudyQuery = _repository.Where<StudyMonitor>(t => t.TrialId == studyQuery.TrialId && t.IsDicom == false)
 | 
				
			||||||
 | 
					            //    .WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator, t => t.TrialSite.CRCUserList.Any(t => t.UserId == _userInfo.Id))
 | 
				
			||||||
 | 
					            //    .WhereIf(!string.IsNullOrEmpty(studyQuery.VisitPlanInfo), studyQuery.VisitPlanInfo.Contains('.') ? t => t.SubjectVisit.VisitNum.ToString().Contains(".") : t => t.SubjectVisit.VisitNum == decimal.Parse(studyQuery.VisitPlanInfo))
 | 
				
			||||||
 | 
					            //    .WhereIf(!string.IsNullOrWhiteSpace(studyQuery.SubjectInfo), t => t.Subject.Code.Contains(studyQuery.SubjectInfo))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //     .Select(t => new UnionStudyMonitorModel()
 | 
				
			||||||
 | 
					            //     {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         TrialId = t.TrialId,
 | 
				
			||||||
 | 
					            //         SiteId = t.SiteId,
 | 
				
			||||||
 | 
					            //         SubjectId = t.SubjectId,
 | 
				
			||||||
 | 
					            //         SubjectVisitId = t.SubjectVisitId,
 | 
				
			||||||
 | 
					            //         VisitName = t.SubjectVisit.VisitName,
 | 
				
			||||||
 | 
					            //         VisitNum = t.SubjectVisit.VisitNum,
 | 
				
			||||||
 | 
					            //         SubjectCode = t.Subject.Code,
 | 
				
			||||||
 | 
					            //         TrialSiteAliasName = t.TrialSite.TrialSiteAliasName,
 | 
				
			||||||
 | 
					            //         TrialSiteCode = t.TrialSite.TrialSiteCode,
 | 
				
			||||||
 | 
					            //         Uploader = t.Uploader.FullName,
 | 
				
			||||||
 | 
					            //         UploadTime = t.CreateTime,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         IP = t.IP,
 | 
				
			||||||
 | 
					            //         FileCount = t.FileCount,
 | 
				
			||||||
 | 
					            //         FileSize = t.FileSize,
 | 
				
			||||||
 | 
					            //         UploadFinishedTime = t.UploadFinishedTime,
 | 
				
			||||||
 | 
					            //         UploadStartTime = t.UploadStartTime,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         TotalMillisecondsInterval = t.TotalMillisecondsInterval,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         IsDicomReUpload = t.IsDicomReUpload,
 | 
				
			||||||
 | 
					            //         StudyId = t.Id,
 | 
				
			||||||
 | 
					            //         IsDicom = t.IsDicom,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         StudyCode = t.NoneDicomStudy.StudyCode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //         //DicomStudyCode = string.Empty,
 | 
				
			||||||
 | 
					            //         //NoneDicomCode = t.NoneDicomStudy.Code,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //     });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ////.ProjectTo<UnionStudyViewDodel>(_mapper.ConfigurationProvider);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //var unionQuery = dicomStudyQuery.Union(nodeDicomStudyQuery)
 | 
				
			||||||
 | 
					            //    .WhereIf(studyQuery.SubjectId != null, t => t.SubjectId == studyQuery.SubjectId)
 | 
				
			||||||
 | 
					            //    .WhereIf(studyQuery.SubjectVisitId != null, t => t.SubjectId == studyQuery.SubjectVisitId)
 | 
				
			||||||
 | 
					            //    .WhereIf(studyQuery.SiteId != null, t => t.SiteId == studyQuery.SiteId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //return await unionQuery.ToPagedListAsync(studyQuery.PageIndex, studyQuery.PageSize, string.IsNullOrEmpty(studyQuery.SortField) ? "UploadTime" : studyQuery.SortField, studyQuery.Asc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var unionQuery = dicomStudyQuery.Union(nodeDicomStudyQuery)
 | 
					 | 
				
			||||||
                .WhereIf(studyQuery.SubjectId != null, t => t.SubjectId == studyQuery.SubjectId)
 | 
					 | 
				
			||||||
                .WhereIf(studyQuery.SubjectVisitId != null, t => t.SubjectId == studyQuery.SubjectVisitId)
 | 
					 | 
				
			||||||
                .WhereIf(studyQuery.SiteId != null, t => t.SiteId == studyQuery.SiteId);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return await unionQuery.ToPagedListAsync(studyQuery.PageIndex, studyQuery.PageSize, string.IsNullOrEmpty(studyQuery.SortField) ? "UploadTime" : studyQuery.SortField, studyQuery.Asc);
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -36,6 +36,8 @@ namespace IRaCIS.Core.Application.Contracts
 | 
				
			||||||
        ///<summary> TypeValue</summary>
 | 
					        ///<summary> TypeValue</summary>
 | 
				
			||||||
        public string Type { get; set; } = String.Empty;
 | 
					        public string Type { get; set; } = String.Empty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public bool? IsEnable { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ///<summary> QCQuestionAddOrEdit  列表查询参数模型</summary>
 | 
					    ///<summary> QCQuestionAddOrEdit  列表查询参数模型</summary>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -119,17 +119,17 @@ namespace IRaCIS.Core.Application.Contracts
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [TypeFilter(typeof(TrialResourceFilter))]
 | 
					        [TypeFilter(typeof(TrialResourceFilter))]
 | 
				
			||||||
        [HttpDelete("{noneDicomStudyId:guid}/{trialId:guid}")]
 | 
					        [HttpDelete("{trialId:guid}/{noneDicomStudyId:guid}")]
 | 
				
			||||||
        public async Task<IResponseOutput> DeleteNoneDicomStudy(Guid noneDicomStudyId)
 | 
					        public async Task<IResponseOutput> DeleteNoneDicomStudy(Guid noneDicomStudyId)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var noneDicomStudy = (await _noneDicomStudyRepository.FirstOrDefaultAsync(t => t.Id == noneDicomStudyId)).IfNullThrowException();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            await _noneDicomStudyRepository.DeleteAsync(noneDicomStudy);
 | 
					            await _noneDicomStudyRepository.DeleteFromQueryAsync( noneDicomStudyId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            await _noneDicomStudyFileRepository.BatchDeleteNoTrackingAsync(t => t.NoneDicomStudyId == noneDicomStudyId);
 | 
					            await _noneDicomStudyFileRepository.BatchDeleteNoTrackingAsync(t => t.NoneDicomStudyId == noneDicomStudyId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            await _studyMonitorRepository.BatchDeleteNoTrackingAsync(t => t.StudyId == noneDicomStudyId);
 | 
					            //确认需求 不删除
 | 
				
			||||||
 | 
					            //await _studyMonitorRepository.BatchDeleteNoTrackingAsync(t => t.StudyId == noneDicomStudyId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            await _noneDicomStudyRepository.SaveChangesAsync();
 | 
					            await _noneDicomStudyRepository.SaveChangesAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -137,14 +137,13 @@ namespace IRaCIS.Core.Application.Contracts
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [HttpDelete("{noneDicomStudyFileId:guid}")]
 | 
					        [HttpDelete("{trialId:guid}/{noneDicomStudyFileId:guid}")]
 | 
				
			||||||
        public async Task<IResponseOutput> DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId)
 | 
					        public async Task<IResponseOutput> DeleteNoneDicomStudyFile(Guid noneDicomStudyFileId)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            var subjectVisitId = await _noneDicomStudyFileRepository.Where(t => t.Id == noneDicomStudyFileId).Select(t => t.NoneDicomStudy.SubjectVisitId).FirstOrDefaultAsync();
 | 
					            //var subjectVisitId = await _noneDicomStudyFileRepository.Where(t => t.Id == noneDicomStudyFileId).Select(t => t.NoneDicomStudy.SubjectVisitId).FirstOrDefaultAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var success = await _noneDicomStudyFileRepository.BatchDeleteNoTrackingAsync(t => t.Id == noneDicomStudyFileId);
 | 
					            var success = await _noneDicomStudyFileRepository.BatchDeleteNoTrackingAsync(t => t.Id == noneDicomStudyFileId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
            return ResponseOutput.Ok();
 | 
					            return ResponseOutput.Ok();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -231,6 +230,8 @@ namespace IRaCIS.Core.Application.Contracts
 | 
				
			||||||
            // 上传非Dicom 后  将状态改为待提交 分为普通上传 和QC后重传  普通上传时才改为待提交
 | 
					            // 上传非Dicom 后  将状态改为待提交 分为普通上传 和QC后重传  普通上传时才改为待提交
 | 
				
			||||||
            await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit });
 | 
					            await _repository.BatchUpdateAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var studyCode= await  _noneDicomStudyRepository.Where(t=>t.Id== noneDicomStudyId).Select(t => t.StudyCode).FirstOrDefaultAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            await _studyMonitorRepository.AddAsync(new StudyMonitor()
 | 
					            await _studyMonitorRepository.AddAsync(new StudyMonitor()
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                FileCount = formCollection.Files.Count,
 | 
					                FileCount = formCollection.Files.Count,
 | 
				
			||||||
| 
						 | 
					@ -238,7 +239,7 @@ namespace IRaCIS.Core.Application.Contracts
 | 
				
			||||||
                IsDicom = false,
 | 
					                IsDicom = false,
 | 
				
			||||||
                IsDicomReUpload = false,
 | 
					                IsDicomReUpload = false,
 | 
				
			||||||
                StudyId = noneDicomStudyId,
 | 
					                StudyId = noneDicomStudyId,
 | 
				
			||||||
 | 
					                StudyCode= studyCode,
 | 
				
			||||||
                UploadStartTime = startTime,
 | 
					                UploadStartTime = startTime,
 | 
				
			||||||
                UploadFinishedTime = DateTime.Now,
 | 
					                UploadFinishedTime = DateTime.Now,
 | 
				
			||||||
                IP = _userInfo.IP,
 | 
					                IP = _userInfo.IP,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,6 +30,7 @@ namespace IRaCIS.Core.Application.Contracts
 | 
				
			||||||
            var QCQuestionQueryable = _qcQuestionRepository
 | 
					            var QCQuestionQueryable = _qcQuestionRepository
 | 
				
			||||||
                .WhereIf(!string.IsNullOrWhiteSpace(queryQCQuestionConfigure.QuestionName), t => t.QuestionName.Contains(queryQCQuestionConfigure.QuestionName))
 | 
					                .WhereIf(!string.IsNullOrWhiteSpace(queryQCQuestionConfigure.QuestionName), t => t.QuestionName.Contains(queryQCQuestionConfigure.QuestionName))
 | 
				
			||||||
                .WhereIf(!string.IsNullOrWhiteSpace(queryQCQuestionConfigure.Type), t => t.Type.Contains(queryQCQuestionConfigure.Type))
 | 
					                .WhereIf(!string.IsNullOrWhiteSpace(queryQCQuestionConfigure.Type), t => t.Type.Contains(queryQCQuestionConfigure.Type))
 | 
				
			||||||
 | 
					                 .WhereIf(queryQCQuestionConfigure.IsEnable!=null, t => t.IsEnable==queryQCQuestionConfigure.IsEnable)
 | 
				
			||||||
             .ProjectTo<QCQuestionConfigureView>(_mapper.ConfigurationProvider);
 | 
					             .ProjectTo<QCQuestionConfigureView>(_mapper.ConfigurationProvider);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return await QCQuestionQueryable.ToListAsync();
 | 
					            return await QCQuestionQueryable.ToListAsync();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,6 +50,7 @@ namespace IRaCIS.Core.Domain.Models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public  int FileCount { get; set; }
 | 
					        public  int FileCount { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public string StudyCode { get; set; } = string.Empty;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public  Guid TrialId { get; set; }
 | 
					        public  Guid TrialId { get; set; }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue