diff --git a/IRaCIS.Core.API/Controllers/InspectionController.cs b/IRaCIS.Core.API/Controllers/InspectionController.cs
index 29970c85a..95e21113e 100644
--- a/IRaCIS.Core.API/Controllers/InspectionController.cs
+++ b/IRaCIS.Core.API/Controllers/InspectionController.cs
@@ -140,7 +140,7 @@ namespace IRaCIS.Core.API.Controllers
///
///
///
- [HttpPost, Route("Inspection/Inspection/AddOrUpdateNoneDicomStudy")]
+ [HttpPost, Route("Inspection/noneDicomStudy/AddOrUpdateNoneDicomStudy")]
[UnitOfWork]
public async Task AddOrUpdateNoneDicomStudy(DataInspectionDto opt)
{
diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index f3a8d1bde..eee852d82 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -703,7 +703,12 @@
-
+
+
+ 上传非Dicom 文件 支持压缩包
+
+
+
上传非Dicom 文件 支持压缩包
diff --git a/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyFileViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyFileViewModel.cs
index d79a8f583..474e18520 100644
--- a/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyFileViewModel.cs
+++ b/IRaCIS.Core.Application/Service/QC/DTO/NoneDicomStudyFileViewModel.cs
@@ -3,6 +3,9 @@
// 生成时间 2021-12-06 10:56:50
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
+using IRaCIS.Core.Application.Service.Inspection.DTO;
+using Microsoft.AspNetCore.Http;
+
namespace IRaCIS.Core.Application.Contracts
{
/// NoneDicomStudyFileView 列表视图模型
@@ -19,6 +22,15 @@ namespace IRaCIS.Core.Application.Contracts
}
+
+ public class UploadNoneDicomFileDto
+ {
+ public Guid subjectVisitId { get; set; }
+ public Guid noneDicomStudyId { get; set; }
+
+ public string AuditInfo { get; set; } = string.Empty;
+ }
+
public class NoneDicomStudyAndFile
{
public string NoneDicomStudyCode { get; set; } = string.Empty;
diff --git a/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs
index 7ceb36381..0467bfb06 100644
--- a/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs
+++ b/IRaCIS.Core.Application/Service/QC/Interface/INoneDicomStudyService.cs
@@ -18,6 +18,6 @@ namespace IRaCIS.Core.Application.Contracts
Task> GetNoneDicomStudyFileList(Guid noneDicomStudyId);
Task> GetNoneDicomStudyList(Guid subjectVisitId);
Task> GetVisitNoneDicomStudyFileList(Guid subjectVisitId);
- Task UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId, [FromServices] IWebHostEnvironment _hostEnvironment);
+ Task UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId);
}
}
\ No newline at end of file
diff --git a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs
index 9a38f64bd..0b79a70e1 100644
--- a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs
+++ b/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs
@@ -10,6 +10,9 @@ using IRaCIS.Core.Domain.Share;
using SharpCompress.Archives;
using IRaCIS.Core.Application.Filter;
using IRaCIS.Core.Infra.EFCore;
+using Newtonsoft.Json;
+using IRaCIS.Core.Application.Service.Inspection.Interface;
+using IRaCIS.Core.Application.Service.Inspection.DTO;
namespace IRaCIS.Core.Application.Contracts
{
@@ -20,11 +23,22 @@ namespace IRaCIS.Core.Application.Contracts
public class NoneDicomStudyService : BaseService, INoneDicomStudyService
{
private readonly IRepository _noneDicomStudyRepository;
+ private readonly IHttpContextAccessor _httpContext;
+ private readonly IWebHostEnvironment _hostEnvironment;
+ private readonly IInspectionService _inspectionService;
private readonly IRepository _noneDicomStudyFileRepository;
- public NoneDicomStudyService(IRepository noneDicomStudyRepository,IRepository noneDicomStudyFileRepository)
+ public NoneDicomStudyService(IRepository noneDicomStudyRepository,
+ IHttpContextAccessor httpContext,
+ IWebHostEnvironment hostEnvironment,
+ IInspectionService inspectionService,
+ IRepository noneDicomStudyFileRepository)
{
_noneDicomStudyRepository = noneDicomStudyRepository;
+
+ this._httpContext = httpContext;
+ this._hostEnvironment = hostEnvironment;
+ this._inspectionService = inspectionService;
_noneDicomStudyFileRepository = noneDicomStudyFileRepository;
}
@@ -158,6 +172,23 @@ namespace IRaCIS.Core.Application.Contracts
return await _repository.Where(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId).ProjectTo(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync();
}
+ ///
+ /// 上传非Dicom 文件 支持压缩包
+ ///
+ [HttpPost]
+ public async Task NewUploadNoneDicomFile([FromForm]UploadNoneDicomFileDto fileDto)
+ {
+ var file = this._httpContext.HttpContext?.Request.Form;
+ var result= await UploadNoneDicomFile(file, fileDto.subjectVisitId, fileDto.noneDicomStudyId);
+ if (result.IsSuccess)
+ {
+ await _inspectionService.AddInspectionRecordAsync(
+ JsonConvert.DeserializeObject(fileDto.AuditInfo));
+ }
+
+ return result;
+ }
+
///
/// 上传非Dicom 文件 支持压缩包
@@ -167,10 +198,10 @@ namespace IRaCIS.Core.Application.Contracts
///
///
///
- //[DisableRequestSizeLimit]
- [RequestSizeLimit(1_073_741_824)]
- [HttpPost("{noneDicomStudyId:guid}/{subjectVisitId:guid}")]
- public async Task UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId, [FromServices] IWebHostEnvironment _hostEnvironment)
+ //[DisableRequestSizeLimit]
+ [RequestSizeLimit(1_073_741_824)]
+ [HttpPost("{noneDicomStudyId:guid}/{subjectVisitId:guid}")]
+ public async Task UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId)
{
var rootPath = Directory.GetParent(_hostEnvironment.ContentRootPath.TrimEnd('\\')).IfNullThrowException().FullName;
diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs
index f07d1a865..e6bfe167a 100644
--- a/IRaCIS.Core.Application/Service/Visit/SubjectService.cs
+++ b/IRaCIS.Core.Application/Service/Visit/SubjectService.cs
@@ -149,6 +149,7 @@ namespace IRaCIS.Application.Services
SubjectId = mapedSubject.Id,
SubjectCode = subjectCommand.Code,
SubjectVisitId = item.Id,
+
BlindName = item.BlindName,
SubjectVisitName = item.VisitName,
IsSign = false,
diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs
index a887efdd3..db6fc0f8e 100644
--- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs
+++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs
@@ -143,8 +143,7 @@ namespace IRaCIS.Core.Application.Services
{
TrialId = svCommand.TrialId,
SiteId = svCommand.SiteId,
- SubjectId = svCommand.Id,
-
+ SubjectId = svCommand.SubjectId,
SubjectVisitId = svCommand.Id,
SubjectVisitName = svCommand.VisitName,
IsSign = false,
diff --git a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs
index 41b4c394e..6f141e8c1 100644
--- a/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs
+++ b/IRaCIS.Core.Application/Service/Visit/VisitPlanService.cs
@@ -339,11 +339,25 @@ namespace IRaCIS.Application.Services
//找到访视计划修改的Item
var changedList = await _visitStageRepository.Where(t => t.TrialId == trialId && t.IsConfirmed == false)
- .Select(t => new { t.Trial.IsHaveFirstGiveMedicineDate, t.Id, t.VisitName, t.VisitWindowLeft, t.VisitWindowRight, t.VisitDay, t.VisitNum, t.IsBaseLine }).ToListAsync();
-
+ .Select(t => new { t.Trial.IsHaveFirstGiveMedicineDate, t.Id, t.VisitName, t.TrialId, t.VisitWindowLeft, t.VisitWindowRight, t.VisitDay, t.VisitNum, t.IsBaseLine }).ToListAsync();
+ var createtime = DateTime.Now.AddSeconds(1);
changedList.ForEach(x =>
{
-
+ datas.Add(new DataInspection()
+ {
+ IsSign = false,
+ SubjectVisitId = x.Id,
+ CreateTime = createtime,
+ SubjectVisitName = x.VisitName,
+ VisitStageId=x.Id,
+ TrialId = x.TrialId,
+ JsonDetail = JsonConvert.SerializeObject(new
+ {
+ IsConfirmed = true,
+ VisitPlanStatus = true,
+ }),
+ Identification = "Edit|Visit Plan Template|Data|Tria"
+ });
});
@@ -466,7 +480,7 @@ namespace IRaCIS.Application.Services
- var createtime = DateTime.Now.AddSeconds(1);
+
var list = await _subjectVisitRepository.Where(t => t.TrialId == trialId && t.VisitStageId == changedItem.Id).ToListAsync();
list.ForEach(x =>