检查时间,审核状态回退
parent
0f9607674d
commit
bf9055c80f
|
@ -219,12 +219,14 @@ namespace IRaCIS.Core.Application.Services
|
|||
|
||||
isStudyNeedAdd = true;
|
||||
|
||||
//dataset.GetSingleValue<string>(DicomTag.StudyDate) + dataset.GetSingleValue<string>(DicomTag.StudyTime)
|
||||
|
||||
dicomStudy = new DicomStudy
|
||||
{
|
||||
Id = studyId,
|
||||
StudyInstanceUid = studyInstanceUid,
|
||||
/* StudyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyDate, DateTime.Now).Add(dataset.GetSingleValueOrDefault(DicomTag.StudyTime, DateTime.Now).TimeOfDay),*///dataset.GetDateTime(DicomTag.StudyDate, DicomTag.StudyTime),
|
||||
StudyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyDate,(DateTime?)null)?.Add(dataset.GetSingleValueOrDefault(DicomTag.StudyTime, TimeSpan.Zero)),
|
||||
StudyTime = dataset.GetSingleValueOrDefault(DicomTag.StudyDate,string.Empty)==string.Empty?null: dataset.GetSingleValue<DateTime>(DicomTag.StudyDate).Add(dataset.GetSingleValue<DateTime>(DicomTag.StudyTime).TimeOfDay) ,
|
||||
Modalities = dataset.GetSingleValueOrDefault(DicomTag.Modality, string.Empty),
|
||||
Description = dataset.GetSingleValueOrDefault(DicomTag.StudyDescription, string.Empty),
|
||||
InstitutionName = dataset.GetSingleValueOrDefault(DicomTag.InstitutionName, string.Empty),
|
||||
|
@ -358,7 +360,8 @@ namespace IRaCIS.Core.Application.Services
|
|||
SeriesInstanceUid = seriesInstanceUid,
|
||||
SeriesNumber = dataset.GetSingleValueOrDefault(DicomTag.SeriesNumber, 1),
|
||||
//SeriesTime = dataset.GetSingleValueOrDefault(DicomTag.SeriesDate, DateTime.Now).Add(dataset.GetSingleValueOrDefault(DicomTag.SeriesTime, DateTime.Now).TimeOfDay),
|
||||
SeriesTime = dataset.GetSingleValueOrDefault(DicomTag.SeriesDate, (DateTime?)null)?.Add(dataset.GetSingleValueOrDefault(DicomTag.SeriesTime, TimeSpan.Zero)),// dataset.GetDateTime(DicomTag.SeriesDate, DicomTag.SeriesTime),
|
||||
//SeriesTime = DateTime.TryParse(dataset.GetSingleValue<string>(DicomTag.SeriesDate) + dataset.GetSingleValue<string>(DicomTag.SeriesTime), out DateTime dt) ? dt : null,
|
||||
SeriesTime = dataset.GetSingleValueOrDefault(DicomTag.SeriesDate, string.Empty) == string.Empty ? null : dataset.GetSingleValue<DateTime>(DicomTag.SeriesDate).Add(dataset.GetSingleValue<DateTime>(DicomTag.SeriesTime).TimeOfDay),
|
||||
Modality = dataset.GetSingleValueOrDefault(DicomTag.Modality, string.Empty),
|
||||
Description = dataset.GetSingleValueOrDefault(DicomTag.SeriesDescription, string.Empty),
|
||||
SliceThickness = dataset.GetSingleValueOrDefault(DicomTag.SliceThickness, string.Empty),
|
||||
|
@ -413,7 +416,9 @@ namespace IRaCIS.Core.Application.Services
|
|||
SeriesInstanceUid = dicomSeries.SeriesInstanceUid,
|
||||
SopInstanceUid = sopInstanceUid,
|
||||
InstanceNumber = dataset.GetSingleValueOrDefault(DicomTag.InstanceNumber, 1),
|
||||
InstanceTime = dataset.GetSingleValueOrDefault(DicomTag.ContentDate,(DateTime?)null)?.Add(dataset.GetSingleValueOrDefault(DicomTag.ContentTime, TimeSpan.Zero)),
|
||||
InstanceTime = dataset.GetSingleValueOrDefault(DicomTag.ContentDate, string.Empty) == string.Empty ? null : dataset.GetSingleValue<DateTime>(DicomTag.ContentDate).Add(dataset.GetSingleValue<DateTime>(DicomTag.ContentTime).TimeOfDay),
|
||||
//InstanceTime = DateTime.TryParse(dataset.GetSingleValue<string>(DicomTag.ContentDate) + dataset.GetSingleValue<string>(DicomTag.ContentTime), out DateTime dt) ? dt : null,
|
||||
//InstanceTime = dataset.GetSingleValueOrDefault(DicomTag.ContentDate,(DateTime?)null)?.Add(dataset.GetSingleValueOrDefault(DicomTag.ContentTime, TimeSpan.Zero)),
|
||||
//dataset.GetSingleValueOrDefault(DicomTag.ContentDate,DateTime.Now);//, DicomTag.ContentTime)
|
||||
CPIStatus = false,
|
||||
ImageRows = dataset.GetSingleValueOrDefault(DicomTag.Rows, 0),
|
||||
|
|
|
@ -316,8 +316,11 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
|
||||
await _repository.AddAsync(new StudyMonitor()
|
||||
{
|
||||
FileCount = formCollection.Files.Count, FileSize = formCollection.Files.Sum(t => t.Length), IsDicom = false,
|
||||
IsDicomReUpload = false, StudyId = noneDicomStudyId,
|
||||
FileCount = formCollection.Files.Count,
|
||||
FileSize = formCollection.Files.Sum(t => t.Length), IsDicom = false,
|
||||
IsDicomReUpload = false,
|
||||
StudyId = noneDicomStudyId,
|
||||
|
||||
UploadStartTime = startTime, UploadFinishedTime = DateTime.Now, IP = _userInfo.IP,
|
||||
//TotalMillisecondsInterval = (DateTime.Now - startTime).TotalMilliseconds,
|
||||
TrialId = sv.TrialId,
|
||||
|
|
|
@ -1115,6 +1115,11 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
if (dbSubjectVisit == null) return Null404NotFound(dbSubjectVisit);
|
||||
|
||||
var trialConfig = await _trialRepository
|
||||
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification })
|
||||
.FirstOrDefaultAsync(t => t.TrialId == trialId)
|
||||
.IfNullThrowException();
|
||||
|
||||
if (obtaionOrCancel)
|
||||
{
|
||||
|
||||
|
@ -1131,11 +1136,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
#region 处理验证
|
||||
|
||||
var trialConfig = await _trialRepository
|
||||
.Select(t => new { TrialId = t.Id, t.QCProcessEnum, t.IsImageConsistencyVerification })
|
||||
.FirstOrDefaultAsync(t => t.TrialId == trialId)
|
||||
.IfNullThrowException();
|
||||
|
||||
if (dbSubjectVisit.IsTake)
|
||||
{
|
||||
return ResponseOutput.NotOk("当前已被领取,不允许领取");
|
||||
|
@ -1143,7 +1143,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
if (trialConfig.QCProcessEnum == TrialQCProcess.NotAudit)
|
||||
{
|
||||
return ResponseOutput.NotOk("项目配置为不审,没有领取或者取消QC Task");
|
||||
return ResponseOutput.NotOk("项目配置为不审,没有领取QC Task");
|
||||
}
|
||||
else if (trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit)
|
||||
{
|
||||
|
@ -1198,7 +1198,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
dbSubjectVisit.CurrentActionUserId = _userInfo.Id;
|
||||
|
||||
|
||||
dbSubjectVisit.CurrentActionUserExpireTime = DateTime.Now.AddHours(1);
|
||||
|
||||
|
||||
|
@ -1207,11 +1206,48 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (trialConfig.QCProcessEnum == TrialQCProcess.NotAudit)
|
||||
{
|
||||
return ResponseOutput.NotOk("项目配置为不审,没有取消QC Task");
|
||||
}
|
||||
else if (trialConfig.QCProcessEnum == TrialQCProcess.SingleAudit)
|
||||
{
|
||||
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.ToAudit;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
return ResponseOutput.NotOk("项目配置为单审,不满足SubmmitState:已提交 或者 AuditState:InPrimaryQC, 不允许释放");
|
||||
}
|
||||
}
|
||||
else if (trialConfig.QCProcessEnum == TrialQCProcess.DoubleAudit)
|
||||
{
|
||||
|
||||
//提交 并且初审通过 那么领取后进入 复审中
|
||||
if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.InSecondaryQC)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.PrimaryQCPassed;
|
||||
|
||||
}
|
||||
else if (dbSubjectVisit.SubmitState == SubmitStateEnum.Submitted && dbSubjectVisit.AuditState == AuditStateEnum.InPrimaryQC)
|
||||
{
|
||||
dbSubjectVisit.AuditState = AuditStateEnum.ToAudit;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
return ResponseOutput.NotOk("项目配置为复审,不满足提交状态:已提交 或者 审核状态:InPrimaryQC/InSecondaryQC, 不允许领取");
|
||||
}
|
||||
}
|
||||
|
||||
dbSubjectVisit.IsTake = false;
|
||||
|
||||
dbSubjectVisit.CurrentActionUserId = null;
|
||||
|
||||
|
||||
dbSubjectVisit.CurrentActionUserExpireTime = null;
|
||||
|
||||
}
|
||||
|
@ -1433,10 +1469,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
dbSubjectVisit.PreliminaryAuditUserId = _userInfo.Id;
|
||||
dbSubjectVisit.PreliminaryAuditTime = DateTime.Now;
|
||||
|
||||
dbSubjectVisit.IsTake = false;
|
||||
dbSubjectVisit.CurrentActionUserExpireTime = null;
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1460,8 +1492,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
dbSubjectVisit.PreliminaryAuditUserId = _userInfo.Id;
|
||||
dbSubjectVisit.PreliminaryAuditTime = DateTime.Now;
|
||||
|
||||
dbSubjectVisit.IsTake = false;
|
||||
dbSubjectVisit.CurrentActionUserExpireTime = null;
|
||||
|
||||
}
|
||||
else if (dbSubjectVisit.AuditState == AuditStateEnum.InSecondaryQC)
|
||||
{
|
||||
|
@ -1481,8 +1512,6 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
|
||||
dbSubjectVisit.ReviewAuditTime = DateTime.Now;
|
||||
|
||||
dbSubjectVisit.IsTake = false;
|
||||
dbSubjectVisit.CurrentActionUserExpireTime = null;
|
||||
|
||||
}
|
||||
else
|
||||
|
@ -1529,6 +1558,9 @@ namespace IRaCIS.Core.Application.Image.QA
|
|||
}
|
||||
}
|
||||
|
||||
dbSubjectVisit.IsTake = false;
|
||||
dbSubjectVisit.CurrentActionUserExpireTime = null;
|
||||
|
||||
//删除 软删除的物理文件
|
||||
|
||||
var instanceIdList = await _repository.Where<DicomInstance>(t => t.DicomSerie.IsDeleted && t.SubjectVisitId == subjectVisitId)
|
||||
|
|
Loading…
Reference in New Issue