添加dicom删除稽查

Uat_Study
he 2022-04-12 16:52:55 +08:00
parent 8f3c5d6b71
commit 005bbf8419
1 changed files with 31 additions and 3 deletions

View File

@ -20,6 +20,7 @@ using WinSCP;
using Magicodes.ExporterAndImporter.Excel; using Magicodes.ExporterAndImporter.Excel;
using Newtonsoft.Json; using Newtonsoft.Json;
using Magicodes.ExporterAndImporter.Csv; using Magicodes.ExporterAndImporter.Csv;
using IRaCIS.Core.Application.Service.Inspection.Interface;
namespace IRaCIS.Core.Application.Image.QA namespace IRaCIS.Core.Application.Image.QA
{ {
@ -30,16 +31,19 @@ namespace IRaCIS.Core.Application.Image.QA
private readonly DicomFileStoreHelper _dicomFileStoreHelper; private readonly DicomFileStoreHelper _dicomFileStoreHelper;
private readonly IRepository<SubjectVisit> _subjectVisitRepository; private readonly IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<Trial> _trialRepository; private readonly IRepository<Trial> _trialRepository;
private readonly IInspectionService _sinspectionService;
private object _locker = new object(); private object _locker = new object();
public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository<SubjectVisit> subjectVisitRepository, public QCOperationService(DicomFileStoreHelper dicomFileStoreHelper, IRepository<SubjectVisit> subjectVisitRepository,
IRepository<Trial> trialRepository, IRepository<Trial> trialRepository,
IInspectionService sinspectionService,
IRepository<DicomStudy> _trialRepository IRepository<DicomStudy> _trialRepository
) )
{ {
_dicomFileStoreHelper = dicomFileStoreHelper; _dicomFileStoreHelper = dicomFileStoreHelper;
_subjectVisitRepository = subjectVisitRepository; _subjectVisitRepository = subjectVisitRepository;
this._trialRepository = trialRepository; this._trialRepository = trialRepository;
this._sinspectionService = sinspectionService;
} }
#region QC质疑 以及回复 关闭 #region QC质疑 以及回复 关闭
@ -935,7 +939,7 @@ namespace IRaCIS.Core.Application.Image.QA
/// <param name="ids"></param> /// <param name="ids"></param>
/// <param name="subjectVisitId"></param> /// <param name="subjectVisitId"></param>
/// <param name="trialId"></param> /// <param name="trialId"></param>
/// <returns></returns> /// <returns></returns>SeriesCount
[HttpPost, Route("{trialId:guid}/{subjectVisitId:guid}")] [HttpPost, Route("{trialId:guid}/{subjectVisitId:guid}")]
[TypeFilter(typeof(TrialResourceFilter))] [TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput> DeleteStudyList(Guid[] ids, Guid subjectVisitId, Guid trialId) public async Task<IResponseOutput> DeleteStudyList(Guid[] ids, Guid subjectVisitId, Guid trialId)
@ -946,8 +950,32 @@ namespace IRaCIS.Core.Application.Image.QA
{ {
return ResponseOutput.NotOk("CRC Has Submited Imagecan not delete"); return ResponseOutput.NotOk("CRC Has Submited Imagecan not delete");
} }
var DicomStudys = await _repository.GetQueryable<DicomStudy>().Where(x => ids.Contains(x.Id)).ToListAsync();
List<DataInspection> datas = new List<DataInspection>();
DicomStudys.ForEach(x =>
{
datas.Add(new DataInspection()
{
SiteId = x.SiteId,
SubjectId = x.SubjectId,
TrialId = x.TrialId,
SubjectVisitId=x.SubjectVisitId,
JsonDetail = JsonConvert.SerializeObject(new
{
studyUid=x.StudyCode,
modality=x.Modalities,
bodyPart=x.BodyPartForEdit,
seriesNum=x.SeriesCount,
fileNum = x.InstanceCount,
studyTime=x.StudyTime.ToString("yyyy-MM-dd")
})
});
});
var DicomStudys=
#region will calls error wried #region will calls error wried
//ids.ToList().ForEach(async id => //ids.ToList().ForEach(async id =>
@ -1015,7 +1043,7 @@ namespace IRaCIS.Core.Application.Image.QA
LatestScanDate = maxArray.Max() LatestScanDate = maxArray.Max()
}); });
await _sinspectionService.AddListInspectionRecordAsync(datas);
return ResponseOutput.Ok(); return ResponseOutput.Ok();
} }