非dicom 增加数字

Test.EIImageViewer
hang 2022-08-26 09:19:29 +08:00
parent 9eb138aa62
commit 175b0459df
8 changed files with 34 additions and 18 deletions

View File

@ -613,7 +613,7 @@ namespace IRaCIS.Core.API.Controllers
[HttpPost("NoneDicomStudy/UploadNoneDicomFile/{trialId:guid}/{subjectVisitId:guid}/{noneDicomStudyId:guid}")]
[TypeFilter(typeof(TrialResourceFilter))]
[Authorize(Policy = IRaCISPolicy.CRC)]
public async Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId)
public async Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId, [FromServices] IRepository<NoneDicomStudy> _noneDicomStudyRepository)
{
var startTime = DateTime.Now;
@ -637,7 +637,9 @@ namespace IRaCIS.Core.API.Controllers
//// 上传非Dicom 后 将状态改为待提交 分为普通上传 和QC后重传 普通上传时才改为待提交
//await _repository.UpdatePartialFromQueryAsync<SubjectVisit>(t => t.Id == subjectVisitId && t.SubmitState == SubmitStateEnum.None, u => new SubjectVisit() { SubmitState = SubmitStateEnum.ToSubmit });
var studyCode = await _repository.Where<NoneDicomStudy>(t => t.Id == noneDicomStudyId).Select(t => t.StudyCode).FirstOrDefaultAsync();
var noneDicomStudy = await _noneDicomStudyRepository.FirstOrDefaultAsync((t => t.Id == noneDicomStudyId));
noneDicomStudy.FileCount = noneDicomStudy.FileCount + formCollection.Files.Count;
await _repository.AddAsync(new StudyMonitor()
{
@ -646,7 +648,7 @@ namespace IRaCIS.Core.API.Controllers
IsDicom = false,
IsDicomReUpload = false,
StudyId = noneDicomStudyId,
StudyCode = studyCode,
StudyCode = noneDicomStudy.StudyCode,
UploadStartTime = startTime,
UploadFinishedTime = DateTime.Now,
IP = _userInfo.IP,

View File

@ -273,7 +273,7 @@
<param name="taskMedicalReviewId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadNoneDicomFile(Microsoft.AspNetCore.Http.IFormCollection,System.Guid,System.Guid)">
<member name="M:IRaCIS.Core.API.Controllers.StudyController.UploadNoneDicomFile(Microsoft.AspNetCore.Http.IFormCollection,System.Guid,System.Guid,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.NoneDicomStudy})">
<summary>
上传非Dicom 文件 支持压缩包 多文件上传
</summary>

View File

@ -24,21 +24,21 @@ namespace IRaCIS.Core.Application.Contracts
public NoneDicomStudyService(IRepository<NoneDicomStudy> noneDicomStudyRepository,
IRepository<NoneDicomStudyFile> noneDicomStudyFileRepository)
{
_noneDicomStudyRepository = noneDicomStudyRepository;
_noneDicomStudyFileRepository = noneDicomStudyFileRepository;
}
[HttpGet]
public async Task<List<NoneDicomStudyView>> GetNoneDicomStudyList( [FromQuery,NotDefault] Guid subjectVisitId,Guid? nonedicomStudyId)
public async Task<List<NoneDicomStudyView>> GetNoneDicomStudyList([FromQuery, NotDefault] Guid subjectVisitId, Guid? nonedicomStudyId)
{
var noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId).WhereIf(nonedicomStudyId!=null , t => t.Id== nonedicomStudyId)
var noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId).WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId)
.ProjectTo<NoneDicomStudyView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken });
@ -55,7 +55,7 @@ namespace IRaCIS.Core.Application.Contracts
await QCCommon.VerifyStudyImageDataAsync(_repository, addOrEditNoneDicomStudy.SubjectId, addOrEditNoneDicomStudy.SubjectVisitId, addOrEditNoneDicomStudy.ImageDate);
NoneDicomStudy? optEntity = null;
using (await _mutex.LockAsync())
{
@ -72,7 +72,7 @@ namespace IRaCIS.Core.Application.Contracts
}
else
{
optEntity = await _noneDicomStudyRepository.UpdateFromDTOAsync(addOrEditNoneDicomStudy);
}
@ -96,7 +96,7 @@ namespace IRaCIS.Core.Application.Contracts
//提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除
await QCCommon.VerifyIsCRCSubmmitAsync(_repository,_userInfo, subjectVisitId);
await QCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId);
await _noneDicomStudyRepository.DeleteFromQueryAsync(noneDicomStudyId);
@ -118,7 +118,14 @@ namespace IRaCIS.Core.Application.Contracts
//提交了 但是IQC同意的时候 是可以删除的 | 普通提交后也不能删除
await QCCommon.VerifyIsCRCSubmmitAsync(_repository, _userInfo, subjectVisitId);
var success = await _noneDicomStudyFileRepository.DeleteFromQueryAsync(t => t.Id == noneDicomStudyFileId, true);
var noneDicomStudyFile = await _noneDicomStudyFileRepository.FirstOrDefaultAsync(t => t.Id == noneDicomStudyFileId);
var success = await _noneDicomStudyFileRepository.DeleteAsync(noneDicomStudyFile, true);
//维护文件数量数字
var noneDicomStudy = await _noneDicomStudyRepository.FirstOrDefaultAsync(t => t.Id == noneDicomStudyFile.NoneDicomStudyId);
noneDicomStudy.FileCount = await _noneDicomStudyFileRepository.CountAsync(t => t.NoneDicomStudyId == noneDicomStudyFile.NoneDicomStudyId);
await _noneDicomStudyRepository.SaveChangesAsync();
return ResponseOutput.Ok();
}

View File

@ -285,7 +285,7 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.FullFilePath, u => u.MapFrom(s => s.Path + "?access_token=" + token));
CreateMap<NoneDicomStudy, NoneDicomStudyView>()
.ForMember(d => d.FileCount, u => u.MapFrom(s => s.NoneDicomFileList.Count))
//.ForMember(d => d.FileCount, u => u.MapFrom(s => s.NoneDicomFileList.Count))
.ForMember(d => d.NoneDicomStudyFileList, u => u.MapFrom(s => s.NoneDicomFileList))
.ForMember(d => d.CodeView, u => u.MapFrom(s => s.StudyCode));

View File

@ -15,16 +15,19 @@ namespace IRaCIS.Core.Domain.Models
[Table("NoneDicomStudy")]
public class NoneDicomStudy : Entity, IAuditUpdate, IAuditAdd
{
[JsonIgnore]
public List<NoneDicomStudyFile> NoneDicomFileList { get; set; }
[JsonIgnore]
public SubjectVisit SubjectVisit { get; set; }
[JsonIgnore]
public TrialSite TrialSite { get; set; }
[JsonIgnore]
public Subject Subject { get; set; }
public string StudyCode { get; set; } = string.Empty;
public int FileCount { get; set; }
public int Code { get; set; }
/// <summary>

View File

@ -15,7 +15,7 @@ namespace IRaCIS.Core.Domain.Models
public class NoneDicomStudyFile : Entity, IAuditAdd
{
[ForeignKey("NoneDicomStudyId")]
[JsonIgnore]
public NoneDicomStudy NoneDicomStudy { get; set; }
[Required]

View File

@ -23,3 +23,6 @@ update Doctor set Physician='Staff',PhysicianCN='ҽʦ' where RankId='82411c2e-
update DataInspection set JsonDetail= replace(cast(JsonDetail as varchar(max)),'Insepection','CommonData')
update ReadingClinicalData set FileCount=(select count(*) from ReadingClinicalDataPDF where ReadingClinicalDataId =ReadingClinicalData.Id)
update NoneDicomStudy set FileCount=(select count(*) from NoneDicomStudyFile where NoneDicomStudyId =NoneDicomStudy.Id)

View File

@ -1103,7 +1103,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common
Data = AddJsonItem(entityObj, otherItem),
//准确来讲 此处称之为 RelationData 更贴合
CommonData = AddJsonItem(generalData, otherItem)
CommonData = otherItem
//CommonData = AddJsonItem(generalData, otherItem)
}.ToJsonStr();