CRC 修改 Modality
parent
0e7b4b5813
commit
505eb1b33b
|
@ -594,65 +594,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
[HttpPut("{trialId:guid}/{subjectVisitId:guid}/{studyId:guid}/{seriesId:guid}/{state:int}")]
|
[HttpPut("{trialId:guid}/{subjectVisitId:guid}/{studyId:guid}/{seriesId:guid}/{state:int}")]
|
||||||
[TypeFilter(typeof(TrialResourceFilter))]
|
[TypeFilter(typeof(TrialResourceFilter))]
|
||||||
[Authorize(Policy = IRaCISPolicy.IQC)]
|
[Authorize(Policy = IRaCISPolicy.IQC)]
|
||||||
public async Task<IResponseOutput> SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state)
|
public async Task<IResponseOutput> SetSeriesState(Guid subjectVisitId, Guid studyId, Guid seriesId, int state
|
||||||
{
|
|
||||||
|
|
||||||
await VerifyIsCanQCAsync(null, subjectVisitId);
|
|
||||||
|
|
||||||
var series = (await _repository.Where<DicomSeries>(t => t.Id == seriesId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException();
|
|
||||||
|
|
||||||
|
|
||||||
if (state == 1)
|
|
||||||
{
|
|
||||||
series.IsReading = false;
|
|
||||||
}
|
|
||||||
else if (state == 2)
|
|
||||||
{
|
|
||||||
series.IsReading = true;
|
|
||||||
}
|
|
||||||
else if (state == 4)
|
|
||||||
{
|
|
||||||
series.IsDeleted = true;
|
|
||||||
|
|
||||||
var study = (await _repository.Where<DicomStudy>(t => t.Id == studyId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException();
|
|
||||||
|
|
||||||
var instanceIdList = await _repository.Where<DicomInstance>(t => t.SeriesId == seriesId).Select(t => t.Id).ToListAsync();
|
|
||||||
|
|
||||||
//instanceIdList.ForEach(t =>
|
|
||||||
//{
|
|
||||||
// var path = _dicomFileStoreHelper.GetInstanceFilePath(study, seriesId, t.ToString());
|
|
||||||
|
|
||||||
// if (System.IO.File.Exists(path))
|
|
||||||
// {
|
|
||||||
// File.Delete(path);
|
|
||||||
// }
|
|
||||||
|
|
||||||
//});
|
|
||||||
|
|
||||||
study.InstanceCount = study.InstanceCount - instanceIdList.Count;
|
|
||||||
study.SeriesCount = study.SeriesCount - 1;
|
|
||||||
|
|
||||||
study.IsDeleted = study.SeriesCount == 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
else if (state == 5)
|
|
||||||
{
|
|
||||||
series.IsDeleted = false;
|
|
||||||
|
|
||||||
var study = (await _repository.Where<DicomStudy>(t => t.Id == studyId, true).IgnoreQueryFilters().FirstOrDefaultAsync()).IfNullThrowException();
|
|
||||||
|
|
||||||
|
|
||||||
var instanceIdList = await _repository.Where<DicomInstance>(t => t.SeriesId == seriesId).Select(t => t.Id).ToListAsync();
|
|
||||||
|
|
||||||
study.InstanceCount = study.InstanceCount + instanceIdList.Count;
|
|
||||||
|
|
||||||
study.SeriesCount = study.SeriesCount + 1;
|
|
||||||
|
|
||||||
study.IsDeleted = study.SeriesCount == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -661,12 +603,22 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost("{trialId:guid}")]
|
[HttpPost("{trialId:guid}")]
|
||||||
[TypeFilter(typeof(TrialResourceFilter))]
|
[TypeFilter(typeof(TrialResourceFilter))]
|
||||||
[Authorize(Policy = IRaCISPolicy.IQC)]
|
[Authorize(Policy = IRaCISPolicy.CRC_IQC)]
|
||||||
public async Task<IResponseOutput> UpdateModality(UpdateModalityCommand updateModalityCommand)
|
public async Task<IResponseOutput> UpdateModality(UpdateModalityCommand updateModalityCommand)
|
||||||
{
|
{
|
||||||
|
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC)
|
||||||
|
{
|
||||||
await VerifyIsCanQCAsync(null, updateModalityCommand.SubjectVisitId);
|
await VerifyIsCanQCAsync(null, updateModalityCommand.SubjectVisitId);
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(await _subjectVisitRepository.AnyAsync(t=>t.Id==updateModalityCommand.SubjectVisitId && t.SubmitState == SubmitStateEnum.Submitted))
|
||||||
|
{
|
||||||
|
throw new BusinessValidationFailedException("提交之后,不允许修改!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
DateTime time = DateTime.Now.AddMilliseconds(500);
|
DateTime time = DateTime.Now.AddMilliseconds(500);
|
||||||
if (updateModalityCommand.Type == 1)
|
if (updateModalityCommand.Type == 1)
|
||||||
|
|
Loading…
Reference in New Issue